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  }