xref: /vim-8.2.3635/runtime/syntax/help.vim (revision 89a9c159)
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