highlighter: vim9 script implementation of s:GetHiCmd

This commit is contained in:
Christian 2020-11-18 10:59:45 +01:00 committed by Christian Brabandt
parent 2441084898
commit 9ae38b43e4
No known key found for this signature in database
GPG Key ID: F3F92DA383FDDE09

View File

@ -433,6 +433,31 @@ else
endif endif
return colors[0:1] + [fg, bg] + [colors[4]] return colors[0:1] + [fg, bg] + [colors[4]]
enddef enddef
def s:GetHiCmd(list: list<string>): string # {{{2
# list needs to have 5 items!
var res: string
var i = -1
var item: string
while i < 4
i += 1
item = get(list, i, '')
if item is ''
continue
endif
if i == 0
res = res .. ' guifg=' .. item
elseif i == 1
res = res .. ' guibg=' .. item
elseif i == 2
res = res .. ' ctermfg=' .. item
elseif i == 3
res = res .. ' ctermbg=' .. item
elseif i == 4
res = res .. printf(' gui=%s cterm=%s term=%s', item, item, item)
endif
endwhile
return res
enddef
def airline#highlighter#exec(group: string, clrs: list<any>): void # {{{2 def airline#highlighter#exec(group: string, clrs: list<any>): void # {{{2
# TODO: is clrs: list<any> correct? Should probably be list<number> instead # TODO: is clrs: list<any> correct? Should probably be list<number> instead
# convert all themes to use strings in cterm color definition # convert all themes to use strings in cterm color definition