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