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