#!/usr/bin/awk -f function ansi(s) { if (s == "none" || s == "NONE") { return s } return s "_ansi" } function tpl(s) { if (s == "none" || s == "NONE") { return "NONE" } return "{{ " s " }}" } function strip_underscore(s) { if (substr(s, 1, 1) == "_") { return substr(s, 2) } return s } /^#/ { $0 = "\"" substr($0, 2) } /^[_[:upper:]]/ && NF == 3 { $0 = "hi " strip_underscore($1) " guifg=" tpl($2) \ " ctermfg=" tpl(ansi($2)) " guibg=" tpl($3) \ " ctermbg=" tpl(ansi($3)) " cterm=NONE" } /^[_[:upper:]]/ && NF > 3 { line = "hi " strip_underscore($1) " guifg=" tpl($2) \ " ctermfg=" tpl(ansi($2)) " guibg=" tpl($3) \ " ctermbg=" tpl(ansi($3)) " cterm=" for (i=4; i <= NF; i++) { line = line $i if (i < NF) { line = line "," } } $0 = line } /^[_[:upper:]]/ && NF == 2 { $0 = "hi! link " strip_underscore($1) " " $2 } { print }