Skip to content

Linter for Go text/template (and html/template) template files

License

Notifications You must be signed in to change notification settings

sourcegraph/go-template-lint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

go-template-lint

go-template-lint is a linter for Go text/template (and html/template) template files.

Checks

  • unused template functions (e.g., your FuncMap defines f but none of your templates call it)

Usage

go get sourcegraph.com/sourcegraph/go-template-lint
go-template-lint -f=<file-with-FuncMap.go> -t=<file-with-template-[][]string-list> -td=<base-template-dir>

The file-with-FuncMap.go option should be a Go source file that contains a FuncMap literal, such as:

package foo

import "text/template" // html/template and/or other import aliases are also detected

// ...
// can be nested in any block
  template.FuncMap{
    "f": myFunc,
    "g": func(v string) string { /* ... */ },
  }
// ...

The file-with-template-[][]string-list.go option should be a Go source file that contains a list of top-level templates and other template files (relative to the Go file) to include, such as:

package foo

// ...
// can be nested in any block
  [][]string{
    {"profile.html", "common.html", "layout.html"},
    {"edit.html", "common.html", "layout.html"},
  }
// ...

The base-template-dir should be the directory that contains your Go templates and that the template filenames in your code are relative to. For example, if the template files above (profile,html, common.html, etc.) were stored in app/templates, we'd use -td=app/templates.

About

Linter for Go text/template (and html/template) template files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages