From 66791d940bc60d004835307a86dd98a14cbc9553 Mon Sep 17 00:00:00 2001 From: "Gabriel A. Giovanini" Date: Sun, 31 Mar 2024 21:18:58 +0200 Subject: feat: Provide the all fields to be used format --- template.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'template.go') diff --git a/template.go b/template.go index 8d84f2e..bb8d502 100644 --- a/template.go +++ b/template.go @@ -5,6 +5,7 @@ import ( html "html/template" "io" "os" + "strings" text "text/template" ) @@ -16,6 +17,11 @@ var ( templateFunc = map[string]any{ "DerefI": func(i *int) int { return *i }, "DerefS": func(i *string) string { return *i }, + "Format": func(e *Entry, format string) string { + p := e.Properties() + p["commit"] = strings.Replace(*e.Commit, "-dirty", "", -1) + return tsprintf(format, p) + }, } ) @@ -43,3 +49,10 @@ func GetTemplate(templateType, filePath string) (Templater, error) { return nil, errors.New("Invalid template type") } } + +func tsprintf(format string, params map[string]string) string { + for key, val := range params { + format = strings.Replace(format, "%{"+key+"}s", val, -1) + } + return format +} -- cgit v1.2.3