blob: e0afd1f97d5226ec11a5a042fbb2d68247e3c54f [file] [log] [blame]
Bram Moolenaarb3c90772022-05-06 16:32:46 +01001vim9script
2
3# Extra functionality for displaying Vim help .
4
5# Called when editing the doc/syntax.txt file
6export def HighlightGroups()
7 var buf: number = bufnr('%')
8 var lnum: number = search('\*highlight-groups\*', 'cn')
9 while getline(lnum) !~ '===' && lnum < line('$')
Bram Moolenaar63f32602022-06-09 20:45:54 +010010 var word: string = getline(lnum)->matchstr('^\w\+\ze\s')
Bram Moolenaarb3c90772022-05-06 16:32:46 +010011 if word->hlexists()
Bram Moolenaarde216732022-05-12 17:24:49 +010012 var name = 'help-hl-' .. word
13 if prop_type_list({bufnr: buf})->match(name) == -1
14 prop_type_add('help-hl-' .. word, {
15 bufnr: buf,
16 highlight: word,
17 combine: false,
18 })
19 else
20 # was called before, delete existing properties
21 prop_remove({type: name, bufnr: buf})
22 endif
Bram Moolenaarb3c90772022-05-06 16:32:46 +010023 prop_add(lnum, 1, {length: word->strlen(), type: 'help-hl-' .. word})
24 endif
25 ++lnum
26 endwhile
27enddef