blob: d363d8889225f383c06be5269905b50b5885d376 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: Vim help file
3" Maintainer: Bram Moolenaar (Bram@vim.org)
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +00004" Last Change: 2005 Mar 31
Bram Moolenaar071d4272004-06-13 20:20:40 +00005
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".
Bram Moolenaar13fcaaf2005-04-15 21:13:42 +0000114let s:i = match(expand("%"), '\.\a\ax$')
115if s:i > 0
116 exe "runtime syntax/help_" . strpart(expand("%"), s:i + 1, 2) . ".vim"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000117endif
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