vim9script # Extra functionality for displaying Vim help . # Called when editing the doc/syntax.txt file export def HighlightGroups() var save_cursor = getcurpos() var buf: number = bufnr('%') var start: number = search('\*highlight-groups\*', 'c') var end: number = search('^======') for lnum in range(start, end) var word: string = getline(lnum)->matchstr('^\w\+\ze\t') if word->hlexists() var type = 'help-hl-' .. word if prop_type_list({bufnr: buf})->index(type) != -1 # was called before, delete existing properties prop_remove({type: type, bufnr: buf}) prop_type_delete(type, {bufnr: buf}) endif prop_type_add(type, { bufnr: buf, highlight: word, combine: false, }) prop_add(lnum, 1, {length: word->strlen(), type: type}) endif endfor setpos('.', save_cursor) enddef