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