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