blob: ee5563e6bdfb32ecaea85c86636e6208974cebe1 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: Vim help file
3" Maintainer: Bram Moolenaar (Bram@vim.org)
Bram Moolenaar203d04d2013-06-06 21:36:40 +02004" Last Change: 2013 Jun 02
Bram Moolenaar071d4272004-06-13 20:20:40 +00005
Bram Moolenaard857f0e2005-06-21 22:37:39 +00006" Quit when a (custom) syntax file was already loaded
7if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +00008 finish
9endif
10
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010011let s:cpo_save = &cpo
12set cpo&vim
13
Bram Moolenaar5c736222010-01-06 20:54:52 +010014syn match helpHeadline "^[-A-Z .][-A-Z0-9 .()]*[ \t]\+\*"me=e-1
Bram Moolenaar6c35bea2012-07-25 17:49:10 +020015syn match helpSectionDelim "^===.*===$"
16syn match helpSectionDelim "^---.*--$"
Bram Moolenaard28478b2010-07-18 23:29:58 +020017syn region helpExample matchgroup=helpIgnore start=" >$" start="^>$" end="^[^ \t]"me=e-1 end="^<"
Bram Moolenaar071d4272004-06-13 20:20:40 +000018if has("ebcdic")
Bram Moolenaar18144c82006-04-12 21:52:12 +000019 syn match helpHyperTextJump "\\\@<!|[^"*|]\+|" contains=helpBar
Bram Moolenaar7fc904b2006-04-13 20:37:35 +000020 syn match helpHyperTextEntry "\*[^"*|]\+\*\s"he=e-1 contains=helpStar
21 syn match helpHyperTextEntry "\*[^"*|]\+\*$" contains=helpStar
Bram Moolenaar071d4272004-06-13 20:20:40 +000022else
Bram Moolenaar18144c82006-04-12 21:52:12 +000023 syn match helpHyperTextJump "\\\@<!|[#-)!+-~]\+|" contains=helpBar
Bram Moolenaar7fc904b2006-04-13 20:37:35 +000024 syn match helpHyperTextEntry "\*[#-)!+-~]\+\*\s"he=e-1 contains=helpStar
25 syn match helpHyperTextEntry "\*[#-)!+-~]\+\*$" contains=helpStar
Bram Moolenaar071d4272004-06-13 20:20:40 +000026endif
Bram Moolenaar97293012011-07-18 19:40:27 +020027if has("conceal")
Bram Moolenaarfa13eef2013-02-06 17:34:04 +010028 syn match helpBar contained "|" conceal
29 syn match helpBacktick contained "`" conceal
Bram Moolenaar97293012011-07-18 19:40:27 +020030 syn match helpStar contained "\*" conceal
31else
Bram Moolenaarfa13eef2013-02-06 17:34:04 +010032 syn match helpBar contained "|"
33 syn match helpBacktick contained "`"
Bram Moolenaar97293012011-07-18 19:40:27 +020034 syn match helpStar contained "\*"
35endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000036syn match helpNormal "|.*====*|"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010037syn match helpNormal "|||"
Bram Moolenaar071d4272004-06-13 20:20:40 +000038syn match helpNormal ":|vim:|" " for :help modeline
39syn match helpVim "Vim version [0-9.a-z]\+"
40syn match helpVim "VIM REFERENCE.*"
41syn match helpOption "'[a-z]\{2,\}'"
42syn match helpOption "'t_..'"
Bram Moolenaar0187ca02013-04-12 15:09:51 +020043syn match helpCommand "`[^` ]\+`"hs=s+1,he=e-1 contains=helpBacktick
Bram Moolenaar071d4272004-06-13 20:20:40 +000044syn match helpHeader "\s*\zs.\{-}\ze\s\=\~$" nextgroup=helpIgnore
Bram Moolenaar166af9b2010-11-16 20:34:40 +010045syn match helpGraphic ".* \ze`$" nextgroup=helpIgnore
Bram Moolenaar97293012011-07-18 19:40:27 +020046if has("conceal")
47 syn match helpIgnore "." contained conceal
48else
49 syn match helpIgnore "." contained
50endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000051syn keyword helpNote note Note NOTE note: Note: NOTE: Notes Notes:
52syn match helpSpecial "\<N\>"
53syn match helpSpecial "\<N\.$"me=e-1
54syn match helpSpecial "\<N\.\s"me=e-2
55syn match helpSpecial "(N\>"ms=s+1
56syn match helpSpecial "\[N]"
57" avoid highlighting N N in help.txt
58syn match helpSpecial "N N"he=s+1
59syn match helpSpecial "Nth"me=e-2
60syn match helpSpecial "N-1"me=e-2
61syn match helpSpecial "{[-a-zA-Z0-9'":%#=[\]<>.,]\+}"
62syn match helpSpecial "{[-a-zA-Z0-9'"*+/:%#=[\]<>.,]\+}"
63syn match helpSpecial "\s\[[-a-z^A-Z0-9_]\{2,}]"ms=s+1
64syn match helpSpecial "<[-a-zA-Z0-9_]\+>"
65syn match helpSpecial "<[SCM]-.>"
66syn match helpNormal "<---*>"
67syn match helpSpecial "\[range]"
68syn match helpSpecial "\[line]"
69syn match helpSpecial "\[count]"
70syn match helpSpecial "\[offset]"
71syn match helpSpecial "\[cmd]"
72syn match helpSpecial "\[num]"
73syn match helpSpecial "\[+num]"
74syn match helpSpecial "\[-num]"
75syn match helpSpecial "\[+cmd]"
76syn match helpSpecial "\[++opt]"
77syn match helpSpecial "\[arg]"
78syn match helpSpecial "\[arguments]"
79syn match helpSpecial "\[ident]"
80syn match helpSpecial "\[addr]"
81syn match helpSpecial "\[group]"
82syn match helpSpecial "CTRL-."
83syn match helpSpecial "CTRL-Break"
84syn match helpSpecial "CTRL-PageUp"
85syn match helpSpecial "CTRL-PageDown"
86syn match helpSpecial "CTRL-Insert"
87syn match helpSpecial "CTRL-Del"
88syn match helpSpecial "CTRL-{char}"
89syn region helpNotVi start="{Vi[: ]" start="{not" start="{only" end="}" contains=helpLeadBlank,helpHyperTextJump
90syn match helpLeadBlank "^\s\+" contained
91
92" Highlight group items in their own color.
93syn match helpComment "\t[* ]Comment\t\+[a-z].*"
94syn match helpConstant "\t[* ]Constant\t\+[a-z].*"
95syn match helpString "\t[* ]String\t\+[a-z].*"
96syn match helpCharacter "\t[* ]Character\t\+[a-z].*"
97syn match helpNumber "\t[* ]Number\t\+[a-z].*"
98syn match helpBoolean "\t[* ]Boolean\t\+[a-z].*"
99syn match helpFloat "\t[* ]Float\t\+[a-z].*"
100syn match helpIdentifier "\t[* ]Identifier\t\+[a-z].*"
101syn match helpFunction "\t[* ]Function\t\+[a-z].*"
102syn match helpStatement "\t[* ]Statement\t\+[a-z].*"
103syn match helpConditional "\t[* ]Conditional\t\+[a-z].*"
104syn match helpRepeat "\t[* ]Repeat\t\+[a-z].*"
105syn match helpLabel "\t[* ]Label\t\+[a-z].*"
106syn match helpOperator "\t[* ]Operator\t\+["a-z].*"
107syn match helpKeyword "\t[* ]Keyword\t\+[a-z].*"
108syn match helpException "\t[* ]Exception\t\+[a-z].*"
109syn match helpPreProc "\t[* ]PreProc\t\+[a-z].*"
110syn match helpInclude "\t[* ]Include\t\+[a-z].*"
111syn match helpDefine "\t[* ]Define\t\+[a-z].*"
112syn match helpMacro "\t[* ]Macro\t\+[a-z].*"
113syn match helpPreCondit "\t[* ]PreCondit\t\+[a-z].*"
114syn match helpType "\t[* ]Type\t\+[a-z].*"
115syn match helpStorageClass "\t[* ]StorageClass\t\+[a-z].*"
116syn match helpStructure "\t[* ]Structure\t\+[a-z].*"
117syn match helpTypedef "\t[* ]Typedef\t\+[Aa-z].*"
118syn match helpSpecial "\t[* ]Special\t\+[a-z].*"
119syn match helpSpecialChar "\t[* ]SpecialChar\t\+[a-z].*"
120syn match helpTag "\t[* ]Tag\t\+[a-z].*"
121syn match helpDelimiter "\t[* ]Delimiter\t\+[a-z].*"
122syn match helpSpecialComment "\t[* ]SpecialComment\t\+[a-z].*"
123syn match helpDebug "\t[* ]Debug\t\+[a-z].*"
124syn match helpUnderlined "\t[* ]Underlined\t\+[a-z].*"
125syn match helpError "\t[* ]Error\t\+[a-z].*"
126syn match helpTodo "\t[* ]Todo\t\+[a-z].*"
127
Bram Moolenaar3991dab2006-03-27 17:01:56 +0000128syn match helpURL `\v<(((https?|ftp|gopher)://|(mailto|file|news):)[^' <>"]+|(www|web|w3)[a-z0-9_-]*\.[a-z0-9._-]+\.[^' <>"]+)[a-zA-Z0-9/]`
Bram Moolenaar071d4272004-06-13 20:20:40 +0000129
130" Additionally load a language-specific syntax file "help_ab.vim".
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000131let s:i = match(expand("%"), '\.\a\ax$')
132if s:i > 0
133 exe "runtime syntax/help_" . strpart(expand("%"), s:i + 1, 2) . ".vim"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000134endif
135
Bram Moolenaard04b7502010-07-08 22:27:55 +0200136" Italian
Bram Moolenaar7abcaab2010-07-12 23:05:41 +0200137if v:lang =~ '\<IT\>' || v:lang =~ '_IT\>' || v:lang =~? "italian"
138 syn keyword helpNote nota Nota NOTA nota: Nota: NOTA: notare Notare NOTARE notare: Notare: NOTARE:
Bram Moolenaard04b7502010-07-08 22:27:55 +0200139 syn match helpSpecial "Nma"me=e-2
140 syn match helpSpecial "Nme"me=e-2
141 syn match helpSpecial "Nmi"me=e-2
142 syn match helpSpecial "Nmo"me=e-2
143 syn match helpSpecial "\[interv.]"
144 syn region helpNotVi start="{non" start="{solo" start="{disponibile" end="}" contains=helpLeadBlank,helpHyperTextJump
145endif
146
Bram Moolenaar071d4272004-06-13 20:20:40 +0000147syn sync minlines=40
148
149
150" Define the default highlighting.
Bram Moolenaard857f0e2005-06-21 22:37:39 +0000151" Only used when an item doesn't have highlighting yet
Bram Moolenaard857f0e2005-06-21 22:37:39 +0000152hi def link helpIgnore Ignore
153hi def link helpHyperTextJump Subtitle
Bram Moolenaar18144c82006-04-12 21:52:12 +0000154hi def link helpBar Ignore
Bram Moolenaarfa13eef2013-02-06 17:34:04 +0100155hi def link helpBacktick Ignore
Bram Moolenaar7fc904b2006-04-13 20:37:35 +0000156hi def link helpStar Ignore
Bram Moolenaard857f0e2005-06-21 22:37:39 +0000157hi def link helpHyperTextEntry String
158hi def link helpHeadline Statement
159hi def link helpHeader PreProc
160hi def link helpSectionDelim PreProc
161hi def link helpVim Identifier
Bram Moolenaard38b0552012-04-25 19:07:41 +0200162hi def link helpCommand Comment
Bram Moolenaard857f0e2005-06-21 22:37:39 +0000163hi def link helpExample Comment
164hi def link helpOption Type
165hi def link helpNotVi Special
166hi def link helpSpecial Special
167hi def link helpNote Todo
168hi def link Subtitle Identifier
Bram Moolenaar071d4272004-06-13 20:20:40 +0000169
Bram Moolenaard857f0e2005-06-21 22:37:39 +0000170hi def link helpComment Comment
171hi def link helpConstant Constant
172hi def link helpString String
173hi def link helpCharacter Character
174hi def link helpNumber Number
175hi def link helpBoolean Boolean
176hi def link helpFloat Float
177hi def link helpIdentifier Identifier
178hi def link helpFunction Function
179hi def link helpStatement Statement
180hi def link helpConditional Conditional
181hi def link helpRepeat Repeat
182hi def link helpLabel Label
183hi def link helpOperator Operator
184hi def link helpKeyword Keyword
185hi def link helpException Exception
186hi def link helpPreProc PreProc
187hi def link helpInclude Include
188hi def link helpDefine Define
189hi def link helpMacro Macro
190hi def link helpPreCondit PreCondit
191hi def link helpType Type
192hi def link helpStorageClass StorageClass
193hi def link helpStructure Structure
194hi def link helpTypedef Typedef
195hi def link helpSpecialChar SpecialChar
196hi def link helpTag Tag
197hi def link helpDelimiter Delimiter
198hi def link helpSpecialComment SpecialComment
199hi def link helpDebug Debug
200hi def link helpUnderlined Underlined
201hi def link helpError Error
202hi def link helpTodo Todo
Bram Moolenaare344bea2005-09-01 20:46:49 +0000203hi def link helpURL String
Bram Moolenaar071d4272004-06-13 20:20:40 +0000204
205let b:current_syntax = "help"
206
Bram Moolenaar6ee8d892012-01-10 14:55:01 +0100207let &cpo = s:cpo_save
208unlet s:cpo_save
Bram Moolenaar071d4272004-06-13 20:20:40 +0000209" vim: ts=8 sw=2