blob: e600de73ad685e9b3879f106a9728b07a92645d7 [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 Moolenaarc81e5e72007-05-05 18:24:42 +00004" Last Change: 2006 May 13
Bram Moolenaar071d4272004-06-13 20:20:40 +00005
Bram Moolenaard857f0e2005-06-21 22:37:39 +00006" Quit when a (custom) syntax file was already loaded
7if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +00008 finish
9endif
10
Bram Moolenaar7b89edc2006-04-06 20:21:51 +000011syn match helpHeadline "^[-A-Z .]\+[ \t]\+\*"me=e-1
Bram Moolenaar071d4272004-06-13 20:20:40 +000012syn match helpSectionDelim "^=\{3,}.*===$"
13syn match helpSectionDelim "^-\{3,}.*--$"
14syn region helpExample matchgroup=helpIgnore start=" >$" start="^>$" end="^[^ \t]"me=e-1 end="^<"
15if has("ebcdic")
Bram Moolenaar18144c82006-04-12 21:52:12 +000016 syn match helpHyperTextJump "\\\@<!|[^"*|]\+|" contains=helpBar
Bram Moolenaar7fc904b2006-04-13 20:37:35 +000017 syn match helpHyperTextEntry "\*[^"*|]\+\*\s"he=e-1 contains=helpStar
18 syn match helpHyperTextEntry "\*[^"*|]\+\*$" contains=helpStar
Bram Moolenaar071d4272004-06-13 20:20:40 +000019else
Bram Moolenaar18144c82006-04-12 21:52:12 +000020 syn match helpHyperTextJump "\\\@<!|[#-)!+-~]\+|" contains=helpBar
Bram Moolenaar7fc904b2006-04-13 20:37:35 +000021 syn match helpHyperTextEntry "\*[#-)!+-~]\+\*\s"he=e-1 contains=helpStar
22 syn match helpHyperTextEntry "\*[#-)!+-~]\+\*$" contains=helpStar
Bram Moolenaar071d4272004-06-13 20:20:40 +000023endif
Bram Moolenaar18144c82006-04-12 21:52:12 +000024syn match helpBar contained "|"
Bram Moolenaar7fc904b2006-04-13 20:37:35 +000025syn match helpStar contained "\*"
Bram Moolenaar071d4272004-06-13 20:20:40 +000026syn 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 helpIgnore "." contained
34syn keyword helpNote note Note NOTE note: Note: NOTE: Notes Notes:
35syn match helpSpecial "\<N\>"
36syn match helpSpecial "\<N\.$"me=e-1
37syn match helpSpecial "\<N\.\s"me=e-2
38syn match helpSpecial "(N\>"ms=s+1
39syn match helpSpecial "\[N]"
40" avoid highlighting N N in help.txt
41syn match helpSpecial "N N"he=s+1
42syn match helpSpecial "Nth"me=e-2
43syn match helpSpecial "N-1"me=e-2
44syn match helpSpecial "{[-a-zA-Z0-9'":%#=[\]<>.,]\+}"
45syn match helpSpecial "{[-a-zA-Z0-9'"*+/:%#=[\]<>.,]\+}"
46syn match helpSpecial "\s\[[-a-z^A-Z0-9_]\{2,}]"ms=s+1
47syn match helpSpecial "<[-a-zA-Z0-9_]\+>"
48syn match helpSpecial "<[SCM]-.>"
49syn match helpNormal "<---*>"
50syn match helpSpecial "\[range]"
51syn match helpSpecial "\[line]"
52syn match helpSpecial "\[count]"
53syn match helpSpecial "\[offset]"
54syn match helpSpecial "\[cmd]"
55syn match helpSpecial "\[num]"
56syn match helpSpecial "\[+num]"
57syn match helpSpecial "\[-num]"
58syn match helpSpecial "\[+cmd]"
59syn match helpSpecial "\[++opt]"
60syn match helpSpecial "\[arg]"
61syn match helpSpecial "\[arguments]"
62syn match helpSpecial "\[ident]"
63syn match helpSpecial "\[addr]"
64syn match helpSpecial "\[group]"
65syn match helpSpecial "CTRL-."
66syn match helpSpecial "CTRL-Break"
67syn match helpSpecial "CTRL-PageUp"
68syn match helpSpecial "CTRL-PageDown"
69syn match helpSpecial "CTRL-Insert"
70syn match helpSpecial "CTRL-Del"
71syn match helpSpecial "CTRL-{char}"
72syn region helpNotVi start="{Vi[: ]" start="{not" start="{only" end="}" contains=helpLeadBlank,helpHyperTextJump
73syn match helpLeadBlank "^\s\+" contained
74
75" Highlight group items in their own color.
76syn match helpComment "\t[* ]Comment\t\+[a-z].*"
77syn match helpConstant "\t[* ]Constant\t\+[a-z].*"
78syn match helpString "\t[* ]String\t\+[a-z].*"
79syn match helpCharacter "\t[* ]Character\t\+[a-z].*"
80syn match helpNumber "\t[* ]Number\t\+[a-z].*"
81syn match helpBoolean "\t[* ]Boolean\t\+[a-z].*"
82syn match helpFloat "\t[* ]Float\t\+[a-z].*"
83syn match helpIdentifier "\t[* ]Identifier\t\+[a-z].*"
84syn match helpFunction "\t[* ]Function\t\+[a-z].*"
85syn match helpStatement "\t[* ]Statement\t\+[a-z].*"
86syn match helpConditional "\t[* ]Conditional\t\+[a-z].*"
87syn match helpRepeat "\t[* ]Repeat\t\+[a-z].*"
88syn match helpLabel "\t[* ]Label\t\+[a-z].*"
89syn match helpOperator "\t[* ]Operator\t\+["a-z].*"
90syn match helpKeyword "\t[* ]Keyword\t\+[a-z].*"
91syn match helpException "\t[* ]Exception\t\+[a-z].*"
92syn match helpPreProc "\t[* ]PreProc\t\+[a-z].*"
93syn match helpInclude "\t[* ]Include\t\+[a-z].*"
94syn match helpDefine "\t[* ]Define\t\+[a-z].*"
95syn match helpMacro "\t[* ]Macro\t\+[a-z].*"
96syn match helpPreCondit "\t[* ]PreCondit\t\+[a-z].*"
97syn match helpType "\t[* ]Type\t\+[a-z].*"
98syn match helpStorageClass "\t[* ]StorageClass\t\+[a-z].*"
99syn match helpStructure "\t[* ]Structure\t\+[a-z].*"
100syn match helpTypedef "\t[* ]Typedef\t\+[Aa-z].*"
101syn match helpSpecial "\t[* ]Special\t\+[a-z].*"
102syn match helpSpecialChar "\t[* ]SpecialChar\t\+[a-z].*"
103syn match helpTag "\t[* ]Tag\t\+[a-z].*"
104syn match helpDelimiter "\t[* ]Delimiter\t\+[a-z].*"
105syn match helpSpecialComment "\t[* ]SpecialComment\t\+[a-z].*"
106syn match helpDebug "\t[* ]Debug\t\+[a-z].*"
107syn match helpUnderlined "\t[* ]Underlined\t\+[a-z].*"
108syn match helpError "\t[* ]Error\t\+[a-z].*"
109syn match helpTodo "\t[* ]Todo\t\+[a-z].*"
110
Bram Moolenaar3991dab2006-03-27 17:01:56 +0000111syn match helpURL `\v<(((https?|ftp|gopher)://|(mailto|file|news):)[^' <>"]+|(www|web|w3)[a-z0-9_-]*\.[a-z0-9._-]+\.[^' <>"]+)[a-zA-Z0-9/]`
Bram Moolenaar071d4272004-06-13 20:20:40 +0000112
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.
Bram Moolenaard857f0e2005-06-21 22:37:39 +0000123" Only used when an item doesn't have highlighting yet
124hi def link helpExampleStart helpIgnore
125hi def link helpIgnore Ignore
126hi def link helpHyperTextJump Subtitle
Bram Moolenaar18144c82006-04-12 21:52:12 +0000127hi def link helpBar Ignore
Bram Moolenaar7fc904b2006-04-13 20:37:35 +0000128hi def link helpStar Ignore
Bram Moolenaard857f0e2005-06-21 22:37:39 +0000129hi def link helpHyperTextEntry String
130hi def link helpHeadline Statement
131hi def link helpHeader PreProc
132hi def link helpSectionDelim PreProc
133hi def link helpVim Identifier
134hi def link helpExample Comment
135hi def link helpOption Type
136hi def link helpNotVi Special
137hi def link helpSpecial Special
138hi def link helpNote Todo
139hi def link Subtitle Identifier
Bram Moolenaar071d4272004-06-13 20:20:40 +0000140
Bram Moolenaard857f0e2005-06-21 22:37:39 +0000141hi def link helpComment Comment
142hi def link helpConstant Constant
143hi def link helpString String
144hi def link helpCharacter Character
145hi def link helpNumber Number
146hi def link helpBoolean Boolean
147hi def link helpFloat Float
148hi def link helpIdentifier Identifier
149hi def link helpFunction Function
150hi def link helpStatement Statement
151hi def link helpConditional Conditional
152hi def link helpRepeat Repeat
153hi def link helpLabel Label
154hi def link helpOperator Operator
155hi def link helpKeyword Keyword
156hi def link helpException Exception
157hi def link helpPreProc PreProc
158hi def link helpInclude Include
159hi def link helpDefine Define
160hi def link helpMacro Macro
161hi def link helpPreCondit PreCondit
162hi def link helpType Type
163hi def link helpStorageClass StorageClass
164hi def link helpStructure Structure
165hi def link helpTypedef Typedef
166hi def link helpSpecialChar SpecialChar
167hi def link helpTag Tag
168hi def link helpDelimiter Delimiter
169hi def link helpSpecialComment SpecialComment
170hi def link helpDebug Debug
171hi def link helpUnderlined Underlined
172hi def link helpError Error
173hi def link helpTodo Todo
Bram Moolenaare344bea2005-09-01 20:46:49 +0000174hi def link helpURL String
Bram Moolenaar071d4272004-06-13 20:20:40 +0000175
176let b:current_syntax = "help"
177
178" vim: ts=8 sw=2