blob: 807c78b8c4fee8fcd409ff16bd20150af102541f [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 Moolenaardd007ed2013-07-09 15:44:17 +02004" Last Change: 2013 Jul 07
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 Moolenaardd007ed2013-07-09 15:44:17 +020017if 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000022if has("ebcdic")
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 +000026else
Bram Moolenaar18144c82006-04-12 21:52:12 +000027 syn match helpHyperTextJump "\\\@<!|[#-)!+-~]\+|" contains=helpBar
Bram Moolenaar7fc904b2006-04-13 20:37:35 +000028 syn match helpHyperTextEntry "\*[#-)!+-~]\+\*\s"he=e-1 contains=helpStar
29 syn match helpHyperTextEntry "\*[#-)!+-~]\+\*$" contains=helpStar
Bram Moolenaar071d4272004-06-13 20:20:40 +000030endif
Bram Moolenaar97293012011-07-18 19:40:27 +020031if has("conceal")
Bram Moolenaarfa13eef2013-02-06 17:34:04 +010032 syn match helpBar contained "|" conceal
33 syn match helpBacktick contained "`" conceal
Bram Moolenaar97293012011-07-18 19:40:27 +020034 syn match helpStar contained "\*" conceal
35else
Bram Moolenaarfa13eef2013-02-06 17:34:04 +010036 syn match helpBar contained "|"
37 syn match helpBacktick contained "`"
Bram Moolenaar97293012011-07-18 19:40:27 +020038 syn match helpStar contained "\*"
39endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000040syn match helpNormal "|.*====*|"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010041syn match helpNormal "|||"
Bram Moolenaar071d4272004-06-13 20:20:40 +000042syn match helpNormal ":|vim:|" " for :help modeline
43syn match helpVim "Vim version [0-9.a-z]\+"
44syn match helpVim "VIM REFERENCE.*"
45syn match helpOption "'[a-z]\{2,\}'"
46syn match helpOption "'t_..'"
Bram Moolenaar0187ca02013-04-12 15:09:51 +020047syn match helpCommand "`[^` ]\+`"hs=s+1,he=e-1 contains=helpBacktick
Bram Moolenaar071d4272004-06-13 20:20:40 +000048syn match helpHeader "\s*\zs.\{-}\ze\s\=\~$" nextgroup=helpIgnore
Bram Moolenaar166af9b2010-11-16 20:34:40 +010049syn match helpGraphic ".* \ze`$" nextgroup=helpIgnore
Bram Moolenaar97293012011-07-18 19:40:27 +020050if has("conceal")
51 syn match helpIgnore "." contained conceal
52else
53 syn match helpIgnore "." contained
54endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000055syn keyword helpNote note Note NOTE note: Note: NOTE: Notes Notes:
56syn match helpSpecial "\<N\>"
57syn match helpSpecial "\<N\.$"me=e-1
58syn match helpSpecial "\<N\.\s"me=e-2
59syn match helpSpecial "(N\>"ms=s+1
60syn match helpSpecial "\[N]"
61" avoid highlighting N N in help.txt
62syn match helpSpecial "N N"he=s+1
63syn match helpSpecial "Nth"me=e-2
64syn match helpSpecial "N-1"me=e-2
Bram Moolenaar071d4272004-06-13 20:20:40 +000065syn match helpSpecial "{[-a-zA-Z0-9'"*+/:%#=[\]<>.,]\+}"
66syn match helpSpecial "\s\[[-a-z^A-Z0-9_]\{2,}]"ms=s+1
67syn match helpSpecial "<[-a-zA-Z0-9_]\+>"
68syn match helpSpecial "<[SCM]-.>"
69syn match helpNormal "<---*>"
70syn match helpSpecial "\[range]"
71syn match helpSpecial "\[line]"
72syn match helpSpecial "\[count]"
73syn match helpSpecial "\[offset]"
74syn match helpSpecial "\[cmd]"
75syn match helpSpecial "\[num]"
76syn match helpSpecial "\[+num]"
77syn match helpSpecial "\[-num]"
78syn match helpSpecial "\[+cmd]"
79syn match helpSpecial "\[++opt]"
80syn match helpSpecial "\[arg]"
81syn match helpSpecial "\[arguments]"
82syn match helpSpecial "\[ident]"
83syn match helpSpecial "\[addr]"
84syn match helpSpecial "\[group]"
85syn match helpSpecial "CTRL-."
86syn match helpSpecial "CTRL-Break"
87syn match helpSpecial "CTRL-PageUp"
88syn match helpSpecial "CTRL-PageDown"
89syn match helpSpecial "CTRL-Insert"
90syn match helpSpecial "CTRL-Del"
91syn match helpSpecial "CTRL-{char}"
92syn region helpNotVi start="{Vi[: ]" start="{not" start="{only" end="}" contains=helpLeadBlank,helpHyperTextJump
93syn match helpLeadBlank "^\s\+" contained
94
95" Highlight group items in their own color.
96syn match helpComment "\t[* ]Comment\t\+[a-z].*"
97syn match helpConstant "\t[* ]Constant\t\+[a-z].*"
98syn match helpString "\t[* ]String\t\+[a-z].*"
99syn match helpCharacter "\t[* ]Character\t\+[a-z].*"
100syn match helpNumber "\t[* ]Number\t\+[a-z].*"
101syn match helpBoolean "\t[* ]Boolean\t\+[a-z].*"
102syn match helpFloat "\t[* ]Float\t\+[a-z].*"
103syn match helpIdentifier "\t[* ]Identifier\t\+[a-z].*"
104syn match helpFunction "\t[* ]Function\t\+[a-z].*"
105syn match helpStatement "\t[* ]Statement\t\+[a-z].*"
106syn match helpConditional "\t[* ]Conditional\t\+[a-z].*"
107syn match helpRepeat "\t[* ]Repeat\t\+[a-z].*"
108syn match helpLabel "\t[* ]Label\t\+[a-z].*"
109syn match helpOperator "\t[* ]Operator\t\+["a-z].*"
110syn match helpKeyword "\t[* ]Keyword\t\+[a-z].*"
111syn match helpException "\t[* ]Exception\t\+[a-z].*"
112syn match helpPreProc "\t[* ]PreProc\t\+[a-z].*"
113syn match helpInclude "\t[* ]Include\t\+[a-z].*"
114syn match helpDefine "\t[* ]Define\t\+[a-z].*"
115syn match helpMacro "\t[* ]Macro\t\+[a-z].*"
116syn match helpPreCondit "\t[* ]PreCondit\t\+[a-z].*"
117syn match helpType "\t[* ]Type\t\+[a-z].*"
118syn match helpStorageClass "\t[* ]StorageClass\t\+[a-z].*"
119syn match helpStructure "\t[* ]Structure\t\+[a-z].*"
120syn match helpTypedef "\t[* ]Typedef\t\+[Aa-z].*"
121syn match helpSpecial "\t[* ]Special\t\+[a-z].*"
122syn match helpSpecialChar "\t[* ]SpecialChar\t\+[a-z].*"
123syn match helpTag "\t[* ]Tag\t\+[a-z].*"
124syn match helpDelimiter "\t[* ]Delimiter\t\+[a-z].*"
125syn match helpSpecialComment "\t[* ]SpecialComment\t\+[a-z].*"
126syn match helpDebug "\t[* ]Debug\t\+[a-z].*"
127syn match helpUnderlined "\t[* ]Underlined\t\+[a-z].*"
128syn match helpError "\t[* ]Error\t\+[a-z].*"
129syn match helpTodo "\t[* ]Todo\t\+[a-z].*"
130
Bram Moolenaar3991dab2006-03-27 17:01:56 +0000131syn 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 +0000132
133" Additionally load a language-specific syntax file "help_ab.vim".
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000134let s:i = match(expand("%"), '\.\a\ax$')
135if s:i > 0
136 exe "runtime syntax/help_" . strpart(expand("%"), s:i + 1, 2) . ".vim"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000137endif
138
Bram Moolenaard04b7502010-07-08 22:27:55 +0200139" Italian
Bram Moolenaar7abcaab2010-07-12 23:05:41 +0200140if v:lang =~ '\<IT\>' || v:lang =~ '_IT\>' || v:lang =~? "italian"
141 syn keyword helpNote nota Nota NOTA nota: Nota: NOTA: notare Notare NOTARE notare: Notare: NOTARE:
Bram Moolenaard04b7502010-07-08 22:27:55 +0200142 syn match helpSpecial "Nma"me=e-2
143 syn match helpSpecial "Nme"me=e-2
144 syn match helpSpecial "Nmi"me=e-2
145 syn match helpSpecial "Nmo"me=e-2
146 syn match helpSpecial "\[interv.]"
147 syn region helpNotVi start="{non" start="{solo" start="{disponibile" end="}" contains=helpLeadBlank,helpHyperTextJump
148endif
149
Bram Moolenaar071d4272004-06-13 20:20:40 +0000150syn sync minlines=40
151
152
153" Define the default highlighting.
Bram Moolenaard857f0e2005-06-21 22:37:39 +0000154" Only used when an item doesn't have highlighting yet
Bram Moolenaard857f0e2005-06-21 22:37:39 +0000155hi def link helpIgnore Ignore
156hi def link helpHyperTextJump Subtitle
Bram Moolenaar18144c82006-04-12 21:52:12 +0000157hi def link helpBar Ignore
Bram Moolenaarfa13eef2013-02-06 17:34:04 +0100158hi def link helpBacktick Ignore
Bram Moolenaar7fc904b2006-04-13 20:37:35 +0000159hi def link helpStar Ignore
Bram Moolenaard857f0e2005-06-21 22:37:39 +0000160hi def link helpHyperTextEntry String
161hi def link helpHeadline Statement
162hi def link helpHeader PreProc
163hi def link helpSectionDelim PreProc
164hi def link helpVim Identifier
Bram Moolenaard38b0552012-04-25 19:07:41 +0200165hi def link helpCommand Comment
Bram Moolenaard857f0e2005-06-21 22:37:39 +0000166hi def link helpExample Comment
167hi def link helpOption Type
168hi def link helpNotVi Special
169hi def link helpSpecial Special
170hi def link helpNote Todo
171hi def link Subtitle Identifier
Bram Moolenaar071d4272004-06-13 20:20:40 +0000172
Bram Moolenaard857f0e2005-06-21 22:37:39 +0000173hi def link helpComment Comment
174hi def link helpConstant Constant
175hi def link helpString String
176hi def link helpCharacter Character
177hi def link helpNumber Number
178hi def link helpBoolean Boolean
179hi def link helpFloat Float
180hi def link helpIdentifier Identifier
181hi def link helpFunction Function
182hi def link helpStatement Statement
183hi def link helpConditional Conditional
184hi def link helpRepeat Repeat
185hi def link helpLabel Label
186hi def link helpOperator Operator
187hi def link helpKeyword Keyword
188hi def link helpException Exception
189hi def link helpPreProc PreProc
190hi def link helpInclude Include
191hi def link helpDefine Define
192hi def link helpMacro Macro
193hi def link helpPreCondit PreCondit
194hi def link helpType Type
195hi def link helpStorageClass StorageClass
196hi def link helpStructure Structure
197hi def link helpTypedef Typedef
198hi def link helpSpecialChar SpecialChar
199hi def link helpTag Tag
200hi def link helpDelimiter Delimiter
201hi def link helpSpecialComment SpecialComment
202hi def link helpDebug Debug
203hi def link helpUnderlined Underlined
204hi def link helpError Error
205hi def link helpTodo Todo
Bram Moolenaare344bea2005-09-01 20:46:49 +0000206hi def link helpURL String
Bram Moolenaar071d4272004-06-13 20:20:40 +0000207
208let b:current_syntax = "help"
209
Bram Moolenaar6ee8d892012-01-10 14:55:01 +0100210let &cpo = s:cpo_save
211unlet s:cpo_save
Bram Moolenaar071d4272004-06-13 20:20:40 +0000212" vim: ts=8 sw=2