diff options
author | Tim Culverhouse <tim@timculverhouse.com> | 2023-02-27 09:18:16 -0600 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2023-03-02 23:04:35 +0100 |
commit | d9a8edd8e9269aa1189d55c8d13caa05084435f5 (patch) | |
tree | 65ee1373e485902a82155f6b52ebee59403b91e7 /lib/state | |
parent | 8f8e22dbdd4f9e2ff1604e47e0fc78ff5912d633 (diff) | |
download | aerc-d9a8edd8e9269aa1189d55c8d13caa05084435f5.tar.gz |
templates: allow inline user styles
Allow custom user-defined styles in a styleset. The styles can take any
name, and must be under the [user] ini section. All attributes apply to
user defined styles.
Example:
[user]
red.fg=red
red.bold=true
Add a .Style function which accepts the name of a user-defined style and
applies it to the string.
{{.Style "red" "foo"}}
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Acked-by: Robin Jarry <robin@jarry.cc>
Diffstat (limited to 'lib/state')
-rw-r--r-- | lib/state/templates.go | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/state/templates.go b/lib/state/templates.go index 2d5e39f5..d5631b11 100644 --- a/lib/state/templates.go +++ b/lib/state/templates.go @@ -6,6 +6,7 @@ import ( "time" "git.sr.ht/~rjarry/aerc/config" + "git.sr.ht/~rjarry/aerc/lib/parse" "git.sr.ht/~rjarry/aerc/models" sortthread "github.com/emersion/go-imap-sortthread" "github.com/emersion/go-message/mail" @@ -449,3 +450,9 @@ func (d *TemplateData) TrayInfo() string { func (d *TemplateData) PendingKeys() string { return config.FormatKeyStrokes(d.pendingKeys) } + +func (d *TemplateData) Style(name string, content string) string { + cfg := config.Ui.ForAccount(d.Account()) + style := cfg.GetUserStyle(name) + return parse.ApplyStyle(style, content) +} |