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