...

Source file src/github.com/shurcooL/vfsgen/options.go

Documentation: github.com/shurcooL/vfsgen

     1  package vfsgen
     2  
     3  import (
     4  	"fmt"
     5  	"strings"
     6  )
     7  
     8  // Options for vfsgen code generation.
     9  type Options struct {
    10  	// Filename of the generated Go code output (including extension).
    11  	// If left empty, it defaults to "{{toLower .VariableName}}_vfsdata.go".
    12  	Filename string
    13  
    14  	// PackageName is the name of the package in the generated code.
    15  	// If left empty, it defaults to "main".
    16  	PackageName string
    17  
    18  	// BuildTags are the optional build tags in the generated code.
    19  	// The build tags syntax is specified by the go tool.
    20  	BuildTags string
    21  
    22  	// VariableName is the name of the http.FileSystem variable in the generated code.
    23  	// If left empty, it defaults to "assets".
    24  	VariableName string
    25  
    26  	// VariableComment is the comment of the http.FileSystem variable in the generated code.
    27  	// If left empty, it defaults to "{{.VariableName}} statically implements the virtual filesystem provided to vfsgen.".
    28  	VariableComment string
    29  }
    30  
    31  // fillMissing sets default values for mandatory options that are left empty.
    32  func (opt *Options) fillMissing() {
    33  	if opt.PackageName == "" {
    34  		opt.PackageName = "main"
    35  	}
    36  	if opt.VariableName == "" {
    37  		opt.VariableName = "assets"
    38  	}
    39  	if opt.Filename == "" {
    40  		opt.Filename = fmt.Sprintf("%s_vfsdata.go", strings.ToLower(opt.VariableName))
    41  	}
    42  	if opt.VariableComment == "" {
    43  		opt.VariableComment = fmt.Sprintf("%s statically implements the virtual filesystem provided to vfsgen.", opt.VariableName)
    44  	}
    45  }
    46  

View as plain text