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