Documentation
¶
Overview ¶
Package egVar provides variable naming functionalities.
egVar provides variable naming manipulation, available from danverbraganza/varcaser.
Example ¶
for standalone test, change package to `main` and the next func def to, func main() {
package main import ( "os" "github.com/go-easygen/easygen" "github.com/go-easygen/easygen/egVar" ) // for standalone test, change package to `main` and the next func def to, // func main() { func main() { // Equivalent testing on commandline: // easygen test/listfunc2 tmpl0 := egVar.NewTemplate().Customize() tmpl := tmpl0.Funcs(easygen.FuncDefs()).Funcs(egVar.FuncDefs()) err := easygen.Process(tmpl, os.Stdout, "../test/listfunc2") if err != nil { panic(err) } } // To show the full code in GoDoc type dummy struct { }
Output: some-init-method 5 5 someInitMethod SomeInitMethod
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type EgVar ¶
EgVar -- EasyGen variable naming
pre-configed varcaser caser converters the names are self-explanatory from their definitions https://github.com/danverbraganza/varcaser/
ls - LowerSnakeCase: lower_snake_case ss - ScreamingSnakeCase: SCREAMING_SNAKE_CASE lk - KebabCase: kebab-case ScreamingKebabCase: SCREAMING-KEBAB-CASE hh - HttpHeaderCase: HTTP-Header-Case UpperCamelCase: UpperCamelCase (renders HTTP as Http) LowerCamelCase: lowerCamelCase (renders HTTP as Http) uc - UpperCamelCaseKeepCaps: UpperCamelCaseKeepCaps (renders HTTP as HTTP) lc - LowerCamelCaseKeepCaps: lowerCamelCaseKeepCaps (renders HTTP as hTTP)
Example (Output) ¶
package main import ( "fmt" "os" "github.com/go-easygen/easygen" "github.com/go-easygen/easygen/egVar" ) func main() { // EgVar variable names converting full coverage test tmpl0 := egVar.NewTemplate().Customize() tmpl := tmpl0.Funcs(easygen.FuncDefs()).Funcs(egVar.FuncDefs()) fmt.Println("\n## From lk - KebabCase => CamelCase/SnakeCase") easygen.Process0(tmpl, os.Stdout, "{{.Name}}: {{clk2lc .Name}} {{clk2uc .Name}}\n", "../test/listfunc2") easygen.Process0(tmpl, os.Stdout, "{{.Name}}: {{clk2ls .Name}} {{clk2ss .Name}}\n", "../test/listfunc2") fmt.Println("\n## From ls/ss - LowerSnakeCase/ScreamingSnakeCase") easygen.Process0(tmpl, os.Stdout, "{{clk2ls .Name}} {{clk2ss .Name}} =>\n", "../test/listfunc2") fmt.Println("### From ls") easygen.Process0(tmpl, os.Stdout, " {{clk2ls .Name | cls2lc}} {{clk2ls .Name | cls2uc}}\n", "../test/listfunc2") easygen.Process0(tmpl, os.Stdout, " {{clk2ls .Name | cls2ss}} {{clk2ls .Name | cls2lk}} {{clk2ls .Name | cls2hh}}\n", "../test/listfunc2") easygen.Process0(tmpl, os.Stdout, " {{clk2ls .NameHTTP | cls2lc}} {{clk2ls .NameHTTP | cls2uc}}\n", "../test/listfunc2") easygen.Process0(tmpl, os.Stdout, " {{clk2ls .NameHTTP | cls2ss}} {{clk2ls .NameHTTP | cls2lk}} {{clk2ls .NameHTTP | cls2hh}}\n", "../test/listfunc2") fmt.Println("### From ss") easygen.Process0(tmpl, os.Stdout, " {{clk2ss .Name | css2lc}} {{clk2ss .Name | css2uc}}\n", "../test/listfunc2") easygen.Process0(tmpl, os.Stdout, " {{clk2ss .Name | css2ls}} {{clk2ss .Name | css2lk}} {{clk2ss .Name | css2hh}}\n", "../test/listfunc2") easygen.Process0(tmpl, os.Stdout, " {{clk2ss .NameHTTP | css2lc}} {{clk2ss .NameHTTP | css2uc}}\n", "../test/listfunc2") easygen.Process0(tmpl, os.Stdout, " {{clk2ss .NameHTTP | css2ls}} {{clk2ss .NameHTTP | css2lk}} {{clk2ss .NameHTTP | css2hh}}\n", "../test/listfunc2") fmt.Println("\n## From lc/uc - LowerCamelCase/UpperCamelCaseKeepCaps") easygen.Process0(tmpl, os.Stdout, "{{clk2lc .Name}} {{clk2uc .Name}} =>\n", "../test/listfunc2") easygen.Process0(tmpl, os.Stdout, "{{clk2lc .Name}}: {{clk2lc .Name | clc2uc}} {{clk2lc .Name | clc2ls}} {{clk2lc .Name | clc2ss}}\n", "../test/listfunc2") easygen.Process0(tmpl, os.Stdout, "{{clk2uc .Name}}: {{clk2uc .Name | cuc2lc}} {{clk2uc .Name | cuc2ls}} {{clk2uc .Name | cuc2ss}}\n", "../test/listfunc2") easygen.Process0(tmpl, os.Stdout, "{{.NameMixed}}: {{clc2uc .NameMixed}} {{clc2uc .NameMixed | cuc2lc}} {{clc2ls .NameMixed}} {{clc2ls .NameMixed | cls2lc}}\n", "../test/listfunc2") easygen.Process0(tmpl, os.Stdout, "{{.NameMixed}}: {{clc2ls .NameMixed | cls2ss}} {{clc2ls .NameMixed | cls2lk}} {{clc2ls .NameMixed | cls2hh}}\n", "../test/listfunc2") }
Output: ## From lk - KebabCase => CamelCase/SnakeCase some-init-method: someInitMethod SomeInitMethod some-init-method: some_init_method SOME_INIT_METHOD ## From ls/ss - LowerSnakeCase/ScreamingSnakeCase some_init_method SOME_INIT_METHOD => ### From ls someInitMethod SomeInitMethod SOME_INIT_METHOD some-init-method Some-Init-Method httpHeaderCase HttpHeaderCase HTTP_HEADER_CASE http-header-case HTTP-Header-Case ### From ss someINITMETHOD SOMEINITMETHOD some_init_method some-init-method Some-Init-Method httpHEADERCASE HTTPHEADERCASE http_header_case http-header-case HTTP-Header-Case ## From lc/uc - LowerCamelCase/UpperCamelCaseKeepCaps someInitMethod SomeInitMethod => someInitMethod: SomeInitMethod some_init_method SOME_INIT_METHOD SomeInitMethod: someInitMethod some_init_method SOME_INIT_METHOD some_InitMethod: Some_InitMethod some_InitMethod some__init_method someInitMethod some_InitMethod: SOME__INIT_METHOD some--init-method Some--Init-Method
func NewTemplate ¶
func NewTemplate() *EgVar
NewTemplate returns a new Template for this specific package.
Click to show internal directories.
Click to hide internal directories.