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