blob: 06306d513e589178fbf0eaf000e87f635c143984 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
Bram Moolenaar42eeac32005-06-29 22:40:58 +00002" Language: readline(3) configuration file
Bram Moolenaar57657d82006-04-21 22:12:41 +00003" Maintainer: Nikolai Weibull <now@bitwi.se>
Bram Moolenaar446beb42011-05-10 17:18:44 +02004" Latest Revision: 2011-05-02
Bram Moolenaar071d4272004-06-13 20:20:40 +00005" readline_has_bash - if defined add support for bash specific
Bram Moolenaar42eeac32005-06-29 22:40:58 +00006" settings/functions
Bram Moolenaar071d4272004-06-13 20:20:40 +00007
Bram Moolenaar446beb42011-05-10 17:18:44 +02008if exists('b:current_syntax')
Bram Moolenaar071d4272004-06-13 20:20:40 +00009 finish
10endif
11
Bram Moolenaar42eeac32005-06-29 22:40:58 +000012let s:cpo_save = &cpo
13set cpo&vim
Bram Moolenaar071d4272004-06-13 20:20:40 +000014
Bram Moolenaar446cb832008-06-24 21:56:24 +000015setlocal iskeyword+=-
Bram Moolenaar071d4272004-06-13 20:20:40 +000016
Bram Moolenaar446beb42011-05-10 17:18:44 +020017syn match readlineKey contained
18 \ '\S'
19 \ nextgroup=readlineKeyTerminator
Bram Moolenaar071d4272004-06-13 20:20:40 +000020
Bram Moolenaar446beb42011-05-10 17:18:44 +020021syn match readlineBegin display '^'
22 \ nextgroup=readlineComment,
23 \ readlineConditional,
24 \ readlineInclude,
25 \ readlineKeyName,
26 \ readlineKey,
27 \ readlineKeySeq,
28 \ readlineKeyword
29 \ skipwhite
Bram Moolenaar071d4272004-06-13 20:20:40 +000030
Bram Moolenaar446beb42011-05-10 17:18:44 +020031syn region readlineComment contained display oneline
32 \ start='#'
33 \ end='$'
34 \ contains=readlineTodo,
35 \ @Spell
36
37syn keyword readlineTodo contained
38 \ TODO
39 \ FIXME
40 \ XXX
41 \ NOTE
42
43syn match readlineConditional contained
44 \ '$if\>'
45 \ nextgroup=readlineTest,
46 \ readlineTestApp
47 \ skipwhite
48
49syn keyword readlineTest contained
50 \ mode
51 \ nextgroup=readlineTestModeEq
52
53syn match readlineTestModeEq contained
54 \ '='
55 \ nextgroup=readlineEditingMode
56
57syn keyword readlineTest contained
58 \ term
59 \ nextgroup=readlineTestTermEq
60
61syn match readlineTestTermEq contained
62 \ '='
63 \ nextgroup=readlineTestTerm
64
65syn match readlineTestTerm contained
66 \ '\S\+'
67
68syn match readlineTestApp contained
69 \ '\S\+'
70
71syn match readlineConditional contained display
72 \ '$\%(else\|endif\)\>'
73
74syn match readlineInclude contained display
75 \ '$include\>'
76 \ nextgroup=readlinePath
77
78syn match readlinePath contained display
79 \ '.\+'
Bram Moolenaar42eeac32005-06-29 22:40:58 +000080
Bram Moolenaar071d4272004-06-13 20:20:40 +000081syn case ignore
Bram Moolenaar446beb42011-05-10 17:18:44 +020082syn match readlineKeyName contained display
83 \ nextgroup=readlineKeySeparator,
84 \ readlineKeyTerminator
85 \ '\%(Control\|Del\|Esc\|Escape\|LFD\|Meta\|Newline\|Ret\|Return\|Rubout\|Space\|Spc\|Tab\)'
Bram Moolenaar071d4272004-06-13 20:20:40 +000086syn case match
87
Bram Moolenaar446beb42011-05-10 17:18:44 +020088syn match readlineKeySeparator contained
89 \ '-'
90 \ nextgroup=readlineKeyName,
91 \ readlineKey
Bram Moolenaar071d4272004-06-13 20:20:40 +000092
Bram Moolenaar446beb42011-05-10 17:18:44 +020093syn match readlineKeyTerminator contained
94 \ ':'
95 \ nextgroup=readlineFunction
96 \ skipwhite
Bram Moolenaar071d4272004-06-13 20:20:40 +000097
Bram Moolenaar446beb42011-05-10 17:18:44 +020098syn region readlineKeySeq contained display oneline
99 \ start=+"+
100 \ skip=+\\\\\|\\"+
101 \ end=+"+
102 \ contains=readlineKeyEscape
103 \ nextgroup=readlineKeyTerminator
Bram Moolenaar071d4272004-06-13 20:20:40 +0000104
Bram Moolenaar446beb42011-05-10 17:18:44 +0200105syn match readlineKeyEscape contained display
106 \ +\\\([CM]-\|[e\\"'abdfnrtv]\|\o\{3}\|x\x\{2}\)+
107
108syn keyword readlineKeyword contained
109 \ set
110 \ nextgroup=readlineVariable
111 \ skipwhite
112
113syn keyword readlineVariable contained
114 \ nextgroup=readlineBellStyle
115 \ skipwhite
116 \ bell-style
117
118syn keyword readlineVariable contained
119 \ nextgroup=readlineBoolean
120 \ skipwhite
121 \ bind-tty-special-chars
122 \ completion-ignore-case
123 \ completion-map-case
124 \ convert-meta
125 \ disable-completion
126 \ echo-control-characters
127 \ enable-keypad
128 \ enable-meta-key
129 \ expand-tilde
130 \ history-preserve-point
131 \ horizontal-scroll-mode
132 \ input-meta
133 \ meta-flag
134 \ mark-directories
135 \ mark-modified-lines
136 \ mark-symlinked-directories
137 \ match-hidden-files
138 \ menu-complete-display-prefix
139 \ output-meta
140 \ page-completions
141 \ print-completions-horizontally
142 \ revert-all-at-newline
143 \ show-all-if-ambiguous
144 \ show-all-if-unmodified
145 \ skip-completed-text
146 \ visible-stats
147
148syn keyword readlineVariable contained
149 \ nextgroup=readlineString
150 \ skipwhite
151 \ comment-begin
152 \ isearch-terminators
153
154syn keyword readlineVariable contained
155 \ nextgroup=readlineNumber
156 \ skipwhite
157 \ completion-display-width
158 \ completion-prefix-display-length
159 \ completion-query-items
160 \ history-size
161
162syn keyword readlineVariable contained
163 \ nextgroup=readlineEditingMode
164 \ skipwhite
165 \ editing-mode
166
167syn keyword readlineVariable contained
168 \ nextgroup=readlineKeymap
169 \ skipwhite
170 \ keymap
171
172syn keyword readlineBellStyle contained
173 \ audible
174 \ visible
175 \ none
Bram Moolenaar071d4272004-06-13 20:20:40 +0000176
Bram Moolenaar071d4272004-06-13 20:20:40 +0000177syn case ignore
Bram Moolenaar446beb42011-05-10 17:18:44 +0200178syn keyword readlineBoolean contained
179 \ on
180 \ off
Bram Moolenaar071d4272004-06-13 20:20:40 +0000181syn case match
182
Bram Moolenaar446beb42011-05-10 17:18:44 +0200183syn region readlineString contained display oneline
184 \ matchgroup=readlineStringDelimiter
185 \ start=+"+
186 \ skip=+\\\\\|\\"+
187 \ end=+"+
Bram Moolenaar071d4272004-06-13 20:20:40 +0000188
Bram Moolenaar446beb42011-05-10 17:18:44 +0200189syn match readlineNumber contained display
190 \ '[+-]\d\+\>'
Bram Moolenaar071d4272004-06-13 20:20:40 +0000191
Bram Moolenaar446beb42011-05-10 17:18:44 +0200192syn keyword readlineEditingMode contained
193 \ emacs
194 \ vi
Bram Moolenaar071d4272004-06-13 20:20:40 +0000195
Bram Moolenaar446beb42011-05-10 17:18:44 +0200196syn match readlineKeymap contained display
197 \ 'emacs\%(-\%(standard\|meta\|ctlx\)\)\=\|vi\%(-\%(move\|command\|insert\)\)\='
Bram Moolenaar071d4272004-06-13 20:20:40 +0000198
Bram Moolenaar446beb42011-05-10 17:18:44 +0200199syn keyword readlineFunction contained
200 \ beginning-of-line
201 \ end-of-line
202 \ forward-char
203 \ backward-char
204 \ forward-word
205 \ backward-word
206 \ clear-screen
207 \ redraw-current-line
208 \
209 \ accept-line
210 \ previous-history
211 \ next-history
212 \ beginning-of-history
213 \ end-of-history
214 \ reverse-search-history
215 \ forward-search-history
216 \ non-incremental-reverse-search-history
217 \ non-incremental-forward-search-history
218 \ history-search-forward
219 \ history-search-backward
220 \ yank-nth-arg
221 \ yank-last-arg
222 \
223 \ delete-char
224 \ backward-delete-char
225 \ forward-backward-delete-char
226 \ quoted-insert
227 \ tab-insert
228 \ self-insert
229 \ transpose-chars
230 \ transpose-words
231 \ upcase-word
232 \ downcase-word
233 \ capitalize-word
234 \ overwrite-mode
235 \
236 \ kill-line
237 \ backward-kill-line
238 \ unix-line-discard
239 \ kill-whole-line
240 \ kill-word
241 \ backward-kill-word
242 \ unix-word-rubout
243 \ unix-filename-rubout
244 \ delete-horizontal-space
245 \ kill-region
246 \ copy-region-as-kill
247 \ copy-backward-word
248 \ copy-forward-word
249 \ yank
250 \ yank-pop
251 \
252 \ digit-argument
253 \ universal-argument
254 \
255 \ complete
256 \ possible-completions
257 \ insert-completions
258 \ menu-complete
259 \ menu-complete-or-backward
260 \ delete-char-or-list
261 \
262 \ start-kbd-macro
263 \ end-kbd-macro
264 \ call-last-kbd-macro
265 \
266 \ re-read-init-file
267 \ abort
268 \ do-uppercase-version
269 \ prefix-meta
270 \ undo
271 \ revert-line
272 \ tilde-expand
273 \ set-mark
274 \ exchange-point-and-mark
275 \ character-search
276 \ character-search-backward
277 \ skip-csi-sequence
278 \ insert-comment
279 \ dump-functions
280 \ dump-variables
281 \ dump-macros
282 \ emacs-editing-mode
283 \ vi-editing-mode
284 \
285 \ vi-eof-maybe
286 \ vi-movement-mode
287 \ vi-undo
288 \ vi-match
289 \ vi-tilde-expand
290 \ vi-complete
291 \ vi-char-search
292 \ vi-redo
293 \ vi-search
294 \ vi-arg-digit
295 \ vi-append-eol
296 \ vi-prev-word
297 \ vi-change-to
298 \ vi-delete-to
299 \ vi-end-word
300 \ vi-char-search
301 \ vi-fetch-history
302 \ vi-insert-beg
303 \ vi-search-again
304 \ vi-put
305 \ vi-replace
306 \ vi-subst
307 \ vi-char-search
308 \ vi-next-word
309 \ vi-yank-to
310 \ vi-first-print
311 \ vi-yank-arg
312 \ vi-goto-mark
313 \ vi-append-mode
314 \ vi-prev-word
315 \ vi-change-to
316 \ vi-delete-to
317 \ vi-end-word
318 \ vi-char-search
319 \ vi-insert-mode
320 \ vi-set-mark
321 \ vi-search-again
322 \ vi-put
323 \ vi-change-char
324 \ vi-subst
325 \ vi-char-search
326 \ vi-undo
327 \ vi-next-word
328 \ vi-delete
329 \ vi-yank-to
330 \ vi-column
331 \ vi-change-case
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000332
Bram Moolenaar071d4272004-06-13 20:20:40 +0000333if exists("readline_has_bash")
Bram Moolenaar446beb42011-05-10 17:18:44 +0200334 syn keyword readlineFunction contained
335 \ shell-expand-line
336 \ history-expand-line
337 \ magic-space
338 \ alias-expand-line
339 \ history-and-alias-expand-line
340 \ insert-last-argument
341 \ operate-and-get-next
342 \ forward-backward-delete-char
343 \ delete-char-or-list
344 \ complete-filename
345 \ possible-filename-completions
346 \ complete-username
347 \ possible-username-completions
348 \ complete-variable
349 \ possible-variable-completions
350 \ complete-hostname
351 \ possible-hostname-completions
352 \ complete-command
353 \ possible-command-completions
354 \ dynamic-complete-history
355 \ complete-into-braces
356 \ glob-expand-word
357 \ glob-list-expansions
358 \ display-shell-version
359 \ glob-complete-word
360 \ edit-and-execute-command
Bram Moolenaar071d4272004-06-13 20:20:40 +0000361endif
362
Bram Moolenaar446beb42011-05-10 17:18:44 +0200363hi def link readlineKey readlineKeySeq
364hi def link readlineComment Comment
365hi def link readlineTodo Todo
366hi def link readlineConditional Conditional
367hi def link readlineTest Type
368hi def link readlineDelimiter Delimiter
369hi def link readlineTestModeEq readlineEq
370hi def link readlineTestTermEq readlineEq
371hi def link readlineTestTerm readlineString
372hi def link readlineTestAppEq readlineEq
373hi def link readlineTestApp readlineString
374hi def link readlineInclude Include
375hi def link readlinePath String
376hi def link readlineKeyName SpecialChar
377hi def link readlineKeySeparator readlineKeySeq
378hi def link readlineKeyTerminator readlineDelimiter
379hi def link readlineKeySeq String
380hi def link readlineKeyEscape SpecialChar
381hi def link readlineKeyword Keyword
382hi def link readlineVariable Identifier
383hi def link readlineBellStyle Constant
384hi def link readlineBoolean Boolean
385hi def link readlineString String
386hi def link readlineStringDelimiter readlineString
387hi def link readlineNumber Number
388hi def link readlineEditingMode Constant
389hi def link readlineKeymap Constant
390hi def link readlineFunction Function
Bram Moolenaar071d4272004-06-13 20:20:40 +0000391
Bram Moolenaar446beb42011-05-10 17:18:44 +0200392let b:current_syntax = 'readline'
Bram Moolenaar071d4272004-06-13 20:20:40 +0000393
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000394let &cpo = s:cpo_save
395unlet s:cpo_save