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