diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-12-20 20:46:17 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-12-21 10:23:00 +0100 |
commit | 1773d71d5b40f5a6a14edca417d2818607a499f1 (patch) | |
tree | 0b63843378c705b8c9f4b8f6d9f18db58315233d /tpl | |
parent | 8a58ebb311fd079f65068e7e37725e4d43f17ab5 (diff) |
tpl: Add a warnf template func
Fixes #6628
Diffstat (limited to 'tpl')
-rw-r--r-- | tpl/fmt/fmt.go | 13 | ||||
-rw-r--r-- | tpl/fmt/init.go | 6 |
2 files changed, 18 insertions, 1 deletions
diff --git a/tpl/fmt/fmt.go b/tpl/fmt/fmt.go index 8b24648cb..7e0258650 100644 --- a/tpl/fmt/fmt.go +++ b/tpl/fmt/fmt.go @@ -23,12 +23,16 @@ import ( // New returns a new instance of the fmt-namespaced template functions. func New(d *deps.Deps) *Namespace { - return &Namespace{helpers.NewDistinctLogger(d.Log.ERROR)} + return &Namespace{ + errorLogger: helpers.NewDistinctLogger(d.Log.ERROR), + warnLogger: helpers.NewDistinctLogger(d.Log.WARN), + } } // Namespace provides template functions for the "fmt" namespace. type Namespace struct { errorLogger *helpers.DistinctLogger + warnLogger *helpers.DistinctLogger } // Print returns string representation of the passed arguments. @@ -53,3 +57,10 @@ func (ns *Namespace) Errorf(format string, a ...interface{}) string { ns.errorLogger.Printf(format, a...) return _fmt.Sprintf(format, a...) } + +// Warnf formats according to a format specifier and logs a WARNING. +// It returns an empty string. +func (ns *Namespace) Warnf(format string, a ...interface{}) string { + ns.warnLogger.Printf(format, a...) + return "" +} diff --git a/tpl/fmt/init.go b/tpl/fmt/init.go index 117055801..14568b45a 100644 --- a/tpl/fmt/init.go +++ b/tpl/fmt/init.go @@ -57,6 +57,12 @@ func init() { }, ) + ns.AddMethodMapping(ctx.Warnf, + []string{"warnf"}, + [][2]string{ + {`{{ warnf "%s." "warning" }}`, ``}, + }, + ) return ns } |