1" Vim syntax file 2" Language: Vim help file 3" Maintainer: Bram Moolenaar ([email protected]) 4" Last Change: 2005 Sep 01 5 6" Quit when a (custom) syntax file was already loaded 7if exists("b:current_syntax") 8 finish 9endif 10 11syn match helpHeadline "^[A-Z ]\+[ ]\+\*"me=e-1 12syn match helpSectionDelim "^=\{3,}.*===$" 13syn match helpSectionDelim "^-\{3,}.*--$" 14syn region helpExample matchgroup=helpIgnore start=" >$" start="^>$" end="^[^ \t]"me=e-1 end="^<" 15if has("ebcdic") 16 syn match helpHyperTextJump "\\\@<!|[^"*|]\+|" 17 syn match helpHyperTextEntry "\*[^"*|]\+\*\s"he=e-1 18 syn match helpHyperTextEntry "\*[^"*|]\+\*$" 19else 20 syn match helpHyperTextJump "\\\@<!|[#-)!+-~]\+|" 21 syn match helpHyperTextEntry "\*[#-)!+-~]\+\*\s"he=e-1 22 syn match helpHyperTextEntry "\*[#-)!+-~]\+\*$" 23endif 24syn match helpNormal "|.*====*|" 25syn match helpNormal ":|vim:|" " for :help modeline 26syn match helpVim "Vim version [0-9.a-z]\+" 27syn match helpVim "VIM REFERENCE.*" 28syn match helpOption "'[a-z]\{2,\}'" 29syn match helpOption "'t_..'" 30syn match helpHeader "\s*\zs.\{-}\ze\s\=\~$" nextgroup=helpIgnore 31syn match helpIgnore "." contained 32syn keyword helpNote note Note NOTE note: Note: NOTE: Notes Notes: 33syn match helpSpecial "\<N\>" 34syn match helpSpecial "\<N\.$"me=e-1 35syn match helpSpecial "\<N\.\s"me=e-2 36syn match helpSpecial "(N\>"ms=s+1 37syn match helpSpecial "\[N]" 38" avoid highlighting N N in help.txt 39syn match helpSpecial "N N"he=s+1 40syn match helpSpecial "Nth"me=e-2 41syn match helpSpecial "N-1"me=e-2 42syn match helpSpecial "{[-a-zA-Z0-9'":%#=[\]<>.,]\+}" 43syn match helpSpecial "{[-a-zA-Z0-9'"*+/:%#=[\]<>.,]\+}" 44syn match helpSpecial "\s\[[-a-z^A-Z0-9_]\{2,}]"ms=s+1 45syn match helpSpecial "<[-a-zA-Z0-9_]\+>" 46syn match helpSpecial "<[SCM]-.>" 47syn match helpNormal "<---*>" 48syn match helpSpecial "\[range]" 49syn match helpSpecial "\[line]" 50syn match helpSpecial "\[count]" 51syn match helpSpecial "\[offset]" 52syn match helpSpecial "\[cmd]" 53syn match helpSpecial "\[num]" 54syn match helpSpecial "\[+num]" 55syn match helpSpecial "\[-num]" 56syn match helpSpecial "\[+cmd]" 57syn match helpSpecial "\[++opt]" 58syn match helpSpecial "\[arg]" 59syn match helpSpecial "\[arguments]" 60syn match helpSpecial "\[ident]" 61syn match helpSpecial "\[addr]" 62syn match helpSpecial "\[group]" 63syn match helpSpecial "CTRL-." 64syn match helpSpecial "CTRL-Break" 65syn match helpSpecial "CTRL-PageUp" 66syn match helpSpecial "CTRL-PageDown" 67syn match helpSpecial "CTRL-Insert" 68syn match helpSpecial "CTRL-Del" 69syn match helpSpecial "CTRL-{char}" 70syn region helpNotVi start="{Vi[: ]" start="{not" start="{only" end="}" contains=helpLeadBlank,helpHyperTextJump 71syn match helpLeadBlank "^\s\+" contained 72 73" Highlight group items in their own color. 74syn match helpComment "\t[* ]Comment\t\+[a-z].*" 75syn match helpConstant "\t[* ]Constant\t\+[a-z].*" 76syn match helpString "\t[* ]String\t\+[a-z].*" 77syn match helpCharacter "\t[* ]Character\t\+[a-z].*" 78syn match helpNumber "\t[* ]Number\t\+[a-z].*" 79syn match helpBoolean "\t[* ]Boolean\t\+[a-z].*" 80syn match helpFloat "\t[* ]Float\t\+[a-z].*" 81syn match helpIdentifier "\t[* ]Identifier\t\+[a-z].*" 82syn match helpFunction "\t[* ]Function\t\+[a-z].*" 83syn match helpStatement "\t[* ]Statement\t\+[a-z].*" 84syn match helpConditional "\t[* ]Conditional\t\+[a-z].*" 85syn match helpRepeat "\t[* ]Repeat\t\+[a-z].*" 86syn match helpLabel "\t[* ]Label\t\+[a-z].*" 87syn match helpOperator "\t[* ]Operator\t\+["a-z].*" 88syn match helpKeyword "\t[* ]Keyword\t\+[a-z].*" 89syn match helpException "\t[* ]Exception\t\+[a-z].*" 90syn match helpPreProc "\t[* ]PreProc\t\+[a-z].*" 91syn match helpInclude "\t[* ]Include\t\+[a-z].*" 92syn match helpDefine "\t[* ]Define\t\+[a-z].*" 93syn match helpMacro "\t[* ]Macro\t\+[a-z].*" 94syn match helpPreCondit "\t[* ]PreCondit\t\+[a-z].*" 95syn match helpType "\t[* ]Type\t\+[a-z].*" 96syn match helpStorageClass "\t[* ]StorageClass\t\+[a-z].*" 97syn match helpStructure "\t[* ]Structure\t\+[a-z].*" 98syn match helpTypedef "\t[* ]Typedef\t\+[Aa-z].*" 99syn match helpSpecial "\t[* ]Special\t\+[a-z].*" 100syn match helpSpecialChar "\t[* ]SpecialChar\t\+[a-z].*" 101syn match helpTag "\t[* ]Tag\t\+[a-z].*" 102syn match helpDelimiter "\t[* ]Delimiter\t\+[a-z].*" 103syn match helpSpecialComment "\t[* ]SpecialComment\t\+[a-z].*" 104syn match helpDebug "\t[* ]Debug\t\+[a-z].*" 105syn match helpUnderlined "\t[* ]Underlined\t\+[a-z].*" 106syn match helpError "\t[* ]Error\t\+[a-z].*" 107syn match helpTodo "\t[* ]Todo\t\+[a-z].*" 108 109syn match helpURL `\v<(((https?|ftp|gopher)://|(mailto|file|news):)[^' <>"]+|(www|web|w3)[a-z0-9_-]*\.[a-z0-9._-]+\.[^' <>"]+)[a-z0-9/]` 110 111" Additionally load a language-specific syntax file "help_ab.vim". 112let s:i = match(expand("%"), '\.\a\ax$') 113if s:i > 0 114 exe "runtime syntax/help_" . strpart(expand("%"), s:i + 1, 2) . ".vim" 115endif 116 117syn sync minlines=40 118 119 120" Define the default highlighting. 121" Only used when an item doesn't have highlighting yet 122hi def link helpExampleStart helpIgnore 123hi def link helpIgnore Ignore 124hi def link helpHyperTextJump Subtitle 125hi def link helpHyperTextEntry String 126hi def link helpHeadline Statement 127hi def link helpHeader PreProc 128hi def link helpSectionDelim PreProc 129hi def link helpVim Identifier 130hi def link helpExample Comment 131hi def link helpOption Type 132hi def link helpNotVi Special 133hi def link helpSpecial Special 134hi def link helpNote Todo 135hi def link Subtitle Identifier 136 137hi def link helpComment Comment 138hi def link helpConstant Constant 139hi def link helpString String 140hi def link helpCharacter Character 141hi def link helpNumber Number 142hi def link helpBoolean Boolean 143hi def link helpFloat Float 144hi def link helpIdentifier Identifier 145hi def link helpFunction Function 146hi def link helpStatement Statement 147hi def link helpConditional Conditional 148hi def link helpRepeat Repeat 149hi def link helpLabel Label 150hi def link helpOperator Operator 151hi def link helpKeyword Keyword 152hi def link helpException Exception 153hi def link helpPreProc PreProc 154hi def link helpInclude Include 155hi def link helpDefine Define 156hi def link helpMacro Macro 157hi def link helpPreCondit PreCondit 158hi def link helpType Type 159hi def link helpStorageClass StorageClass 160hi def link helpStructure Structure 161hi def link helpTypedef Typedef 162hi def link helpSpecialChar SpecialChar 163hi def link helpTag Tag 164hi def link helpDelimiter Delimiter 165hi def link helpSpecialComment SpecialComment 166hi def link helpDebug Debug 167hi def link helpUnderlined Underlined 168hi def link helpError Error 169hi def link helpTodo Todo 170hi def link helpURL String 171 172let b:current_syntax = "help" 173 174" vim: ts=8 sw=2 175