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