github.com/Ryooooooga/zouch@v0.3.9/pkg/commands/preview.go (about) 1 package commands 2 3 import ( 4 "fmt" 5 6 "github.com/Ryooooooga/zouch/pkg/errors" 7 ) 8 9 func (cmd *Command) Preview(files []string) error { 10 if len(files) == 0 { 11 return errors.ShowHelpAndExitError("no files specified") 12 } 13 14 for _, filename := range files { 15 if err := cmd.previewFile(filename); err != nil { 16 return err 17 } 18 } 19 20 return nil 21 } 22 23 func (cmd *Command) previewFile(filename string) error { 24 tpl, err := cmd.Templates.FindTemplate(filename) 25 if err != nil { 26 return err 27 } 28 if tpl == nil { 29 return fmt.Errorf("template for %s does not exist", filename) 30 } 31 32 data := templateVariables(filename, tpl) 33 34 if err := cmd.Renderer.RenderTemplate(cmd.Output, tpl, data); err != nil { 35 return err 36 } 37 38 return nil 39 }