]> git.wincent.com - vim-docvim.git/blob - after/syntax/vim.vim
Add highlighting of pre-fenced regions
[vim-docvim.git] / after / syntax / vim.vim
1 syntax region docvimBlock start='\v^ *""' end='\v\zs\ze^( *$|[^"])'
2 syntax region docvimPre start='\v^\s*"\s+\zs```\s*$' end='\v^\s*"\s+```\s*$' containedin=docvimBlock contained keepend
3
4 syntax match docvimAnnotation '@command' containedin=docvimBlock contained
5 syntax match docvimAnnotation '@dedent' containedin=docvimBlock contained
6 syntax match docvimAnnotation '@footer' containedin=docvimBlock contained
7 syntax match docvimAnnotation '@function' containedin=docvimBlock contained
8 syntax match docvimAnnotation '@header' containedin=docvimBlock contained
9 syntax match docvimAnnotation '@indent' containedin=docvimBlock contained
10 syntax match docvimAnnotation '@mapping' containedin=docvimBlock contained
11 syntax match docvimAnnotation '@option' containedin=docvimBlock contained
12 syntax match docvimAnnotation '@param' containedin=docvimBlock contained
13 syntax match docvimAnnotation '@plugin' containedin=docvimBlock contained
14 syntax match docvimAnnotation '@private' containedin=docvimBlock contained
15 syntax match docvimBackticks '\v`[^ `]+`' containedin=docvimBlock contained
16 syntax match docvimBlockquote '\v^\s*"\s+\zs\>\s+.+$' containedin=docvimBlock contained
17 syntax match docvimCrossReference '\v\c\|:?[a-z0-9()<>-]+\|' containedin=docvimBlock contained
18 syntax match docvimHeading '\v^\s*"\s+\zs#\s+.+$' containedin=docvimBlock contained
19 syntax match docvimPreComment '\v^\s*"' containedin=docvimPre contained
20 syntax match docvimSetting "\v'[a-z]{2,}'" containedin=docvimBlock contained
21 syntax match docvimSetting "\v't_..'" containedin=docvimBlock contained
22 syntax match docvimSpecial '\v\<CSM-.\>' containedin=docvimBlock contained
23 syntax match docvimSpecial '\v\<[-a-zA-Z0-9_]+\>' containedin=docvimBlock contained
24 syntax match docvimSubheading '\v^\s*"\s+\zs##\s+.+$' containedin=docvimBlock contained
25 syntax match docvimTarget '\v\c\*:?[a-z0-9()<>-]+\*' containedin=docvimBlock contained
26
27 " Stolen from $VIMRUNTIME/syntax/help.vim:
28 syntax match docvimURL `\v<(((https?|ftp|gopher)://|(mailto|file|news):)[^'     <>"]+|(www|web|w3)[a-z0-9_-]*\.[a-z0-9._-]+\.[^'        <>"]+)[a-zA-Z0-9/]` containedin=docvimBlock contained
29
30 if has('conceal')
31   syntax match docvimBacktick '\v`' containedin=docvimBackticks contained conceal
32   syntax match docvimBar '\v\|' containedin=docvimCrossReference contained conceal
33   syntax match docvimHeadingPrefix '\v# ' containedin=docvimHeading contained conceal
34   syntax match docvimStar '\v\*' containedin=docvimTarget contained conceal
35   syntax match docvimSubheadingPrefix '\v## ' containedin=docvimSubheading contained conceal
36 else
37   syntax match docvimBacktick '\v`' containedin=docvimBackticks contained
38   syntax match docvimBar '\v\|' containedin=docvimCrossReference contained
39   syntax match docvimHeadingPrefix '\v# ' containedin=docvimHeading contained
40   syntax match docvimStar '\v\*' containedin=docvimTarget contained
41   syntax match docvimSubheadingPrefix '\v## ' containedin=docvimSubheading contained
42 endif
43
44 highlight default link docvimAnnotation String
45 highlight default link docvimBacktick Ignore
46 highlight default link docvimBackticks Ignore
47 highlight default link docvimBar Ignore
48 highlight default link docvimBlock Normal
49 highlight default link docvimBlockquote Comment
50 highlight default link docvimComment Normal
51 highlight default link docvimCrossReference Identifier
52 highlight default link docvimHeading Identifier
53 highlight default link docvimHeadingPrefix Identifier
54 highlight default link docvimPre Ignore
55 highlight default link docvimSetting Type
56 highlight default link docvimSpecial Special
57 highlight default link docvimStar Ignore
58 highlight default link docvimSubheading PreProc
59 highlight default link docvimTarget String
60 highlight default link docvimURL String