From 9ae38b43e4893be4cd840eef9e8efdd9f473b289 Mon Sep 17 00:00:00 2001 From: Christian Date: Wed, 18 Nov 2020 10:59:45 +0100 Subject: [PATCH] highlighter: vim9 script implementation of s:GetHiCmd --- autoload/airline/highlighter.vim | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/autoload/airline/highlighter.vim b/autoload/airline/highlighter.vim index 72909cd1..ccba84b0 100644 --- a/autoload/airline/highlighter.vim +++ b/autoload/airline/highlighter.vim @@ -433,6 +433,31 @@ else endif return colors[0:1] + [fg, bg] + [colors[4]] enddef + def s:GetHiCmd(list: list): 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): void # {{{2 # TODO: is clrs: list correct? Should probably be list instead # convert all themes to use strings in cterm color definition