feat: add the contains, hasPrefix, hasSuffix, replace, lower and upper functions to the template functions map

This PR adds the strings.Contains, strings.HasPrefix, strings.HasSuffix, strings.Replace, strings.Lower and strings.Upper to the set of functions
available for usage in the changelog template.
The added functions can be used to manipulate commit messages before rendering the changelog.
This commit is contained in:
atosatto 2019-02-10 22:34:19 +01:00
parent 44fcaed553
commit dc128028e6

View file

@ -7,6 +7,7 @@ import (
"io"
"os"
"path/filepath"
"strings"
"text/template"
"time"
@ -302,9 +303,34 @@ func (gen *Generator) render(w io.Writer, unreleased *Unreleased, versions []*Ve
}
fmap := template.FuncMap{
// format the input time according to layout
"datetime": func(layout string, input time.Time) string {
return input.Format(layout)
},
// check whether substs is withing s
"contains": func(s, substr string) bool {
return strings.Contains(s, substr)
},
// check whether s begins with prefix
"hasPrefix": func(s, prefix string) bool {
return strings.HasPrefix(s, prefix)
},
// check whether s ends with suffix
"hasSuffix": func(s, suffix string) bool {
return strings.HasSuffix(s, suffix)
},
// replace the first n instances of old with new
"replace": func(s, old, new string, n int) string {
return strings.Replace(s, old, new, n)
},
// lower case a string
"lower": func(s string) string {
return strings.ToLower(s)
},
// upper case a string
"upper": func(s string) string {
return strings.ToUpper(s)
},
}
fname := filepath.Base(gen.config.Template)