ref(highlite): add tohex() function

This gets around having a bunch of long `string.format()` commands which
don't closely convey the meaning of what we want to do here.
This commit is contained in:
Iron-E 2020-12-05 17:43:14 -05:00
parent f643c9304d
commit 20bc365437
No known key found for this signature in database
GPG Key ID: 19B71B7B7B021D22
1 changed files with 5 additions and 6 deletions

View File

@ -83,6 +83,8 @@ end or function(command, style)
command[#command+1]=' cterm='..style command[#command+1]=' cterm='..style
end end
local function tohex(rgb) return string.format('#%06x', rgb) end
-- Load specific &bg instructions -- Load specific &bg instructions
local function use_background_with(attributes) local function use_background_with(attributes)
return setmetatable( return setmetatable(
@ -104,18 +106,15 @@ function highlite.group(group_name)
if not no_errors then group_definition = {} end if not no_errors then group_definition = {} end
-- the string.fmt expression to convert RGB to HEX
local fmt = '#%06x'
-- the style of the highlight group -- the style of the highlight group
local style = vim.tbl_filter(filter_group_style, vim.tbl_keys(group_definition)) local style = vim.tbl_filter(filter_group_style, vim.tbl_keys(group_definition))
if group_definition.special then if group_definition.special then
style.color = string.format(fmt, group_definition.special) style.color = tohex(group_definition.special)
end end
return { return {
['fg'] = group_definition.foreground and string.format(fmt, group_definition.foreground) or _NONE, ['fg'] = group_definition.foreground and tohex(group_definition.foreground) or _NONE,
['bg'] = group_definition.background and string.format(fmt, group_definition.background) or _NONE, ['bg'] = group_definition.background and tohex(group_definition.background) or _NONE,
['blend'] = group_definition.blend, ['blend'] = group_definition.blend,
['style'] = style or _NONE ['style'] = style or _NONE
} }