blob: 00cc79cfdbe53bbc648d3d3bb89daee93cf32f9d [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('$')
10 var word: string = getline(lnum)->matchstr('^\w\+\ze\t')
11 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