xref: /vim-8.2.3635/runtime/syntax/help.vim (revision 19a09a18)
1" Vim syntax file
2" Language:	Vim help file
3" Maintainer:	Bram Moolenaar ([email protected])
4" Last Change:	2004 May 17
5
6" For version 5.x: Clear all syntax items
7" For version 6.x: Quit when a syntax file was already loaded
8if version < 600
9  syntax clear
10elseif exists("b:current_syntax")
11  finish
12endif
13
14syn match helpHeadline		"^[A-Z ]\+[ ]\+\*"me=e-1
15syn match helpSectionDelim	"^=\{3,}.*===$"
16syn match helpSectionDelim	"^-\{3,}.*--$"
17syn region helpExample		matchgroup=helpIgnore start=" >$" start="^>$" end="^[^ \t]"me=e-1 end="^<"
18if has("ebcdic")
19  syn match helpHyperTextJump	"\\\@<!|[^"*|]\+|"
20  syn match helpHyperTextEntry	"\*[^"*|]\+\*\s"he=e-1
21  syn match helpHyperTextEntry	"\*[^"*|]\+\*$"
22else
23  syn match helpHyperTextJump	"\\\@<!|[#-)!+-~]\+|"
24  syn match helpHyperTextEntry	"\*[#-)!+-~]\+\*\s"he=e-1
25  syn match helpHyperTextEntry	"\*[#-)!+-~]\+\*$"
26endif
27syn match helpNormal		"|.*====*|"
28syn match helpNormal		":|vim:|"	" for :help modeline
29syn match helpVim		"Vim version [0-9.a-z]\+"
30syn match helpVim		"VIM REFERENCE.*"
31syn match helpOption		"'[a-z]\{2,\}'"
32syn match helpOption		"'t_..'"
33syn match helpHeader		"\s*\zs.\{-}\ze\s\=\~$" nextgroup=helpIgnore
34syn match helpIgnore		"." contained
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
112
113" Additionally load a language-specific syntax file "help_ab.vim".
114let i = match(expand("%"), '\.\a\ax$')
115if i > 0
116  exe "runtime syntax/help_" . strpart(expand("%"), i + 1, 2) . ".vim"
117endif
118
119syn sync minlines=40
120
121
122" Define the default highlighting.
123" For version 5.7 and earlier: only when not done already
124" For version 5.8 and later: only when an item doesn't have highlighting yet
125if version >= 508 || !exists("did_help_syntax_inits")
126  if version < 508
127    let did_help_syntax_inits = 1
128    command -nargs=+ HiLink hi link <args>
129  else
130    command -nargs=+ HiLink hi def link <args>
131  endif
132
133  HiLink helpExampleStart	helpIgnore
134  HiLink helpIgnore		Ignore
135  HiLink helpHyperTextJump	Subtitle
136  HiLink helpHyperTextEntry	String
137  HiLink helpHeadline		Statement
138  HiLink helpHeader		PreProc
139  HiLink helpSectionDelim	PreProc
140  HiLink helpVim		Identifier
141  HiLink helpExample		Comment
142  HiLink helpOption		Type
143  HiLink helpNotVi		Special
144  HiLink helpSpecial		Special
145  HiLink helpNote		Todo
146  HiLink Subtitle		Identifier
147
148  HiLink helpComment		Comment
149  HiLink helpConstant		Constant
150  HiLink helpString		String
151  HiLink helpCharacter		Character
152  HiLink helpNumber		Number
153  HiLink helpBoolean		Boolean
154  HiLink helpFloat		Float
155  HiLink helpIdentifier		Identifier
156  HiLink helpFunction		Function
157  HiLink helpStatement		Statement
158  HiLink helpConditional	Conditional
159  HiLink helpRepeat		Repeat
160  HiLink helpLabel		Label
161  HiLink helpOperator		Operator
162  HiLink helpKeyword		Keyword
163  HiLink helpException		Exception
164  HiLink helpPreProc		PreProc
165  HiLink helpInclude		Include
166  HiLink helpDefine		Define
167  HiLink helpMacro		Macro
168  HiLink helpPreCondit		PreCondit
169  HiLink helpType		Type
170  HiLink helpStorageClass	StorageClass
171  HiLink helpStructure		Structure
172  HiLink helpTypedef		Typedef
173  HiLink helpSpecialChar	SpecialChar
174  HiLink helpTag		Tag
175  HiLink helpDelimiter		Delimiter
176  HiLink helpSpecialComment	SpecialComment
177  HiLink helpDebug		Debug
178  HiLink helpUnderlined		Underlined
179  HiLink helpError		Error
180  HiLink helpTodo		Todo
181
182  delcommand HiLink
183endif
184
185let b:current_syntax = "help"
186
187" vim: ts=8 sw=2
188