1" Vim syntax file 2" Language: Vim help file 3" Maintainer: Bram Moolenaar ([email protected]) 4" Last Change: 2021 Jun 13 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 .()_]*\ze\(\s\+\*\|$\)" 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 helpNormal "vim9\[cmd]" 80syn match helpSpecial "\[num]" 81syn match helpSpecial "\[+num]" 82syn match helpSpecial "\[-num]" 83syn match helpSpecial "\[+cmd]" 84syn match helpSpecial "\[++opt]" 85syn match helpSpecial "\[arg]" 86syn match helpSpecial "\[arguments]" 87syn match helpSpecial "\[ident]" 88syn match helpSpecial "\[addr]" 89syn match helpSpecial "\[group]" 90" Don't highlight [converted] and others that do not have a tag 91syn match helpNormal "\[\(readonly\|fifo\|socket\|converted\|crypted\)]" 92 93syn match helpSpecial "CTRL-." 94syn match helpSpecial "CTRL-SHIFT-." 95syn match helpSpecial "CTRL-Break" 96syn match helpSpecial "CTRL-PageUp" 97syn match helpSpecial "CTRL-PageDown" 98syn match helpSpecial "CTRL-Insert" 99syn match helpSpecial "CTRL-Del" 100syn match helpSpecial "CTRL-{char}" 101syn region helpNotVi start="{Vi[: ]" start="{not" start="{only" end="}" contains=helpLeadBlank,helpHyperTextJump 102syn match helpLeadBlank "^\s\+" contained 103 104" Highlight group items in their own color. 105syn match helpComment "\t[* ]Comment\t\+[a-z].*" 106syn match helpConstant "\t[* ]Constant\t\+[a-z].*" 107syn match helpString "\t[* ]String\t\+[a-z].*" 108syn match helpCharacter "\t[* ]Character\t\+[a-z].*" 109syn match helpNumber "\t[* ]Number\t\+[a-z].*" 110syn match helpBoolean "\t[* ]Boolean\t\+[a-z].*" 111syn match helpFloat "\t[* ]Float\t\+[a-z].*" 112syn match helpIdentifier "\t[* ]Identifier\t\+[a-z].*" 113syn match helpFunction "\t[* ]Function\t\+[a-z].*" 114syn match helpStatement "\t[* ]Statement\t\+[a-z].*" 115syn match helpConditional "\t[* ]Conditional\t\+[a-z].*" 116syn match helpRepeat "\t[* ]Repeat\t\+[a-z].*" 117syn match helpLabel "\t[* ]Label\t\+[a-z].*" 118syn match helpOperator "\t[* ]Operator\t\+["a-z].*" 119syn match helpKeyword "\t[* ]Keyword\t\+[a-z].*" 120syn match helpException "\t[* ]Exception\t\+[a-z].*" 121syn match helpPreProc "\t[* ]PreProc\t\+[a-z].*" 122syn match helpInclude "\t[* ]Include\t\+[a-z].*" 123syn match helpDefine "\t[* ]Define\t\+[a-z].*" 124syn match helpMacro "\t[* ]Macro\t\+[a-z].*" 125syn match helpPreCondit "\t[* ]PreCondit\t\+[a-z].*" 126syn match helpType "\t[* ]Type\t\+[a-z].*" 127syn match helpStorageClass "\t[* ]StorageClass\t\+[a-z].*" 128syn match helpStructure "\t[* ]Structure\t\+[a-z].*" 129syn match helpTypedef "\t[* ]Typedef\t\+[Aa-z].*" 130syn match helpSpecial "\t[* ]Special\t\+[a-z].*" 131syn match helpSpecialChar "\t[* ]SpecialChar\t\+[a-z].*" 132syn match helpTag "\t[* ]Tag\t\+[a-z].*" 133syn match helpDelimiter "\t[* ]Delimiter\t\+[a-z].*" 134syn match helpSpecialComment "\t[* ]SpecialComment\t\+[a-z].*" 135syn match helpDebug "\t[* ]Debug\t\+[a-z].*" 136syn match helpUnderlined "\t[* ]Underlined\t\+[a-z].*" 137syn match helpError "\t[* ]Error\t\+[a-z].*" 138syn match helpTodo "\t[* ]Todo\t\+[a-z].*" 139 140syn match helpURL `\v<(((https?|ftp|gopher)://|(mailto|file|news):)[^' <>"]+|(www|web|w3)[a-z0-9_-]*\.[a-z0-9._-]+\.[^' <>"]+)[a-zA-Z0-9/]` 141 142" Additionally load a language-specific syntax file "help_ab.vim". 143let s:i = match(expand("%"), '\.\a\ax$') 144if s:i > 0 145 exe "runtime syntax/help_" . strpart(expand("%"), s:i + 1, 2) . ".vim" 146endif 147 148" Italian 149if v:lang =~ '\<IT\>' || v:lang =~ '_IT\>' || v:lang =~? "italian" 150 syn keyword helpNote nota Nota NOTA nota: Nota: NOTA: notare Notare NOTARE notare: Notare: NOTARE: 151 syn match helpSpecial "Nma"me=e-2 152 syn match helpSpecial "Nme"me=e-2 153 syn match helpSpecial "Nmi"me=e-2 154 syn match helpSpecial "Nmo"me=e-2 155 syn match helpSpecial "\[interv.]" 156 syn region helpNotVi start="{non" start="{solo" start="{disponibile" end="}" contains=helpLeadBlank,helpHyperTextJump 157endif 158 159syn sync minlines=40 160 161 162" Define the default highlighting. 163" Only used when an item doesn't have highlighting yet 164hi def link helpIgnore Ignore 165hi def link helpHyperTextJump Identifier 166hi def link helpBar Ignore 167hi def link helpBacktick Ignore 168hi def link helpStar Ignore 169hi def link helpHyperTextEntry String 170hi def link helpHeadline Statement 171hi def link helpHeader PreProc 172hi def link helpSectionDelim PreProc 173hi def link helpVim Identifier 174hi def link helpCommand Comment 175hi def link helpExample Comment 176hi def link helpOption Type 177hi def link helpNotVi Special 178hi def link helpSpecial Special 179hi def link helpNote Todo 180hi def link helpWarning Todo 181hi def link helpDeprecated Todo 182 183hi def link helpComment Comment 184hi def link helpConstant Constant 185hi def link helpString String 186hi def link helpCharacter Character 187hi def link helpNumber Number 188hi def link helpBoolean Boolean 189hi def link helpFloat Float 190hi def link helpIdentifier Identifier 191hi def link helpFunction Function 192hi def link helpStatement Statement 193hi def link helpConditional Conditional 194hi def link helpRepeat Repeat 195hi def link helpLabel Label 196hi def link helpOperator Operator 197hi def link helpKeyword Keyword 198hi def link helpException Exception 199hi def link helpPreProc PreProc 200hi def link helpInclude Include 201hi def link helpDefine Define 202hi def link helpMacro Macro 203hi def link helpPreCondit PreCondit 204hi def link helpType Type 205hi def link helpStorageClass StorageClass 206hi def link helpStructure Structure 207hi def link helpTypedef Typedef 208hi def link helpSpecialChar SpecialChar 209hi def link helpTag Tag 210hi def link helpDelimiter Delimiter 211hi def link helpSpecialComment SpecialComment 212hi def link helpDebug Debug 213hi def link helpUnderlined Underlined 214hi def link helpError Error 215hi def link helpTodo Todo 216hi def link helpURL String 217 218let b:current_syntax = "help" 219 220let &cpo = s:cpo_save 221unlet s:cpo_save 222" vim: ts=8 sw=2 223