blob: 78472cdbfda8657dc0642d196424b96d3d5911f5 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
Bram Moolenaar214641f2017-03-05 17:04:09 +01002" Language: readline(3) configuration file
Bram Moolenaar40962ec2018-01-28 22:47:25 +01003" Maintainer: Daniel Moch <daniel@danielmoch.com>
Bram Moolenaar214641f2017-03-05 17:04:09 +01004" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
Bram Moolenaar40962ec2018-01-28 22:47:25 +01005" Latest Revision: 2017-12-25
Bram Moolenaar071d4272004-06-13 20:20:40 +00006" readline_has_bash - if defined add support for bash specific
Bram Moolenaar42eeac32005-06-29 22:40:58 +00007" settings/functions
Bram Moolenaar071d4272004-06-13 20:20:40 +00008
Bram Moolenaar446beb42011-05-10 17:18:44 +02009if exists('b:current_syntax')
Bram Moolenaar071d4272004-06-13 20:20:40 +000010 finish
11endif
12
Bram Moolenaar42eeac32005-06-29 22:40:58 +000013let s:cpo_save = &cpo
14set cpo&vim
Bram Moolenaar071d4272004-06-13 20:20:40 +000015
Bram Moolenaar446cb832008-06-24 21:56:24 +000016setlocal iskeyword+=-
Bram Moolenaar071d4272004-06-13 20:20:40 +000017
Bram Moolenaar446beb42011-05-10 17:18:44 +020018syn match readlineKey contained
19 \ '\S'
20 \ nextgroup=readlineKeyTerminator
Bram Moolenaar071d4272004-06-13 20:20:40 +000021
Bram Moolenaar446beb42011-05-10 17:18:44 +020022syn match readlineBegin display '^'
23 \ nextgroup=readlineComment,
24 \ readlineConditional,
25 \ readlineInclude,
26 \ readlineKeyName,
27 \ readlineKey,
28 \ readlineKeySeq,
29 \ readlineKeyword
30 \ skipwhite
Bram Moolenaar071d4272004-06-13 20:20:40 +000031
Bram Moolenaar446beb42011-05-10 17:18:44 +020032syn region readlineComment contained display oneline
33 \ start='#'
34 \ end='$'
35 \ contains=readlineTodo,
36 \ @Spell
37
38syn keyword readlineTodo contained
39 \ TODO
40 \ FIXME
41 \ XXX
42 \ NOTE
43
44syn match readlineConditional contained
45 \ '$if\>'
46 \ nextgroup=readlineTest,
47 \ readlineTestApp
48 \ skipwhite
49
50syn keyword readlineTest contained
51 \ mode
52 \ nextgroup=readlineTestModeEq
53
54syn match readlineTestModeEq contained
55 \ '='
56 \ nextgroup=readlineEditingMode
57
58syn keyword readlineTest contained
59 \ term
60 \ nextgroup=readlineTestTermEq
61
62syn match readlineTestTermEq contained
63 \ '='
64 \ nextgroup=readlineTestTerm
65
66syn match readlineTestTerm contained
67 \ '\S\+'
68
69syn match readlineTestApp contained
70 \ '\S\+'
71
72syn match readlineConditional contained display
73 \ '$\%(else\|endif\)\>'
74
75syn match readlineInclude contained display
76 \ '$include\>'
77 \ nextgroup=readlinePath
78
79syn match readlinePath contained display
80 \ '.\+'
Bram Moolenaar42eeac32005-06-29 22:40:58 +000081
Bram Moolenaar071d4272004-06-13 20:20:40 +000082syn case ignore
Bram Moolenaar446beb42011-05-10 17:18:44 +020083syn match readlineKeyName contained display
84 \ nextgroup=readlineKeySeparator,
85 \ readlineKeyTerminator
86 \ '\%(Control\|Del\|Esc\|Escape\|LFD\|Meta\|Newline\|Ret\|Return\|Rubout\|Space\|Spc\|Tab\)'
Bram Moolenaar071d4272004-06-13 20:20:40 +000087syn case match
88
Bram Moolenaar446beb42011-05-10 17:18:44 +020089syn match readlineKeySeparator contained
90 \ '-'
91 \ nextgroup=readlineKeyName,
92 \ readlineKey
Bram Moolenaar071d4272004-06-13 20:20:40 +000093
Bram Moolenaar446beb42011-05-10 17:18:44 +020094syn match readlineKeyTerminator contained
95 \ ':'
96 \ nextgroup=readlineFunction
97 \ skipwhite
Bram Moolenaar071d4272004-06-13 20:20:40 +000098
Bram Moolenaar446beb42011-05-10 17:18:44 +020099syn region readlineKeySeq contained display oneline
100 \ start=+"+
101 \ skip=+\\\\\|\\"+
102 \ end=+"+
103 \ contains=readlineKeyEscape
104 \ nextgroup=readlineKeyTerminator
Bram Moolenaar071d4272004-06-13 20:20:40 +0000105
Bram Moolenaar446beb42011-05-10 17:18:44 +0200106syn match readlineKeyEscape contained display
107 \ +\\\([CM]-\|[e\\"'abdfnrtv]\|\o\{3}\|x\x\{2}\)+
108
109syn keyword readlineKeyword contained
110 \ set
111 \ nextgroup=readlineVariable
112 \ skipwhite
113
114syn keyword readlineVariable contained
115 \ nextgroup=readlineBellStyle
116 \ skipwhite
117 \ bell-style
118
119syn keyword readlineVariable contained
120 \ nextgroup=readlineBoolean
121 \ skipwhite
122 \ bind-tty-special-chars
Bram Moolenaar37c64c72017-09-19 22:06:03 +0200123 \ colored-stats
Bram Moolenaar446beb42011-05-10 17:18:44 +0200124 \ completion-ignore-case
125 \ completion-map-case
126 \ convert-meta
127 \ disable-completion
128 \ echo-control-characters
129 \ enable-keypad
130 \ enable-meta-key
131 \ expand-tilde
132 \ history-preserve-point
133 \ horizontal-scroll-mode
134 \ input-meta
135 \ meta-flag
136 \ mark-directories
137 \ mark-modified-lines
138 \ mark-symlinked-directories
139 \ match-hidden-files
140 \ menu-complete-display-prefix
141 \ output-meta
142 \ page-completions
143 \ print-completions-horizontally
144 \ revert-all-at-newline
145 \ show-all-if-ambiguous
146 \ show-all-if-unmodified
Bram Moolenaar37c64c72017-09-19 22:06:03 +0200147 \ show-mode-in-prompt
Bram Moolenaar446beb42011-05-10 17:18:44 +0200148 \ skip-completed-text
149 \ visible-stats
150
151syn keyword readlineVariable contained
152 \ nextgroup=readlineString
153 \ skipwhite
154 \ comment-begin
155 \ isearch-terminators
Bram Moolenaar40962ec2018-01-28 22:47:25 +0100156 \ vi-cmd-mode-string
157 \ vi-ins-mode-string
158 \ emacs-mode-string
Bram Moolenaar446beb42011-05-10 17:18:44 +0200159
160syn keyword readlineVariable contained
161 \ nextgroup=readlineNumber
162 \ skipwhite
163 \ completion-display-width
164 \ completion-prefix-display-length
165 \ completion-query-items
166 \ history-size
Bram Moolenaar37c64c72017-09-19 22:06:03 +0200167 \ keyseq-timeout
Bram Moolenaar446beb42011-05-10 17:18:44 +0200168
169syn keyword readlineVariable contained
170 \ nextgroup=readlineEditingMode
171 \ skipwhite
172 \ editing-mode
173
174syn keyword readlineVariable contained
175 \ nextgroup=readlineKeymap
176 \ skipwhite
177 \ keymap
178
179syn keyword readlineBellStyle contained
180 \ audible
181 \ visible
182 \ none
Bram Moolenaar071d4272004-06-13 20:20:40 +0000183
Bram Moolenaar071d4272004-06-13 20:20:40 +0000184syn case ignore
Bram Moolenaar446beb42011-05-10 17:18:44 +0200185syn keyword readlineBoolean contained
186 \ on
187 \ off
Bram Moolenaar071d4272004-06-13 20:20:40 +0000188syn case match
189
Bram Moolenaar446beb42011-05-10 17:18:44 +0200190syn region readlineString contained display oneline
191 \ matchgroup=readlineStringDelimiter
192 \ start=+"+
193 \ skip=+\\\\\|\\"+
194 \ end=+"+
Bram Moolenaar071d4272004-06-13 20:20:40 +0000195
Bram Moolenaar446beb42011-05-10 17:18:44 +0200196syn match readlineNumber contained display
197 \ '[+-]\d\+\>'
Bram Moolenaar071d4272004-06-13 20:20:40 +0000198
Bram Moolenaar446beb42011-05-10 17:18:44 +0200199syn keyword readlineEditingMode contained
200 \ emacs
201 \ vi
Bram Moolenaar071d4272004-06-13 20:20:40 +0000202
Bram Moolenaar446beb42011-05-10 17:18:44 +0200203syn match readlineKeymap contained display
204 \ 'emacs\%(-\%(standard\|meta\|ctlx\)\)\=\|vi\%(-\%(move\|command\|insert\)\)\='
Bram Moolenaar071d4272004-06-13 20:20:40 +0000205
Bram Moolenaar446beb42011-05-10 17:18:44 +0200206syn keyword readlineFunction contained
207 \ beginning-of-line
208 \ end-of-line
209 \ forward-char
210 \ backward-char
211 \ forward-word
212 \ backward-word
213 \ clear-screen
214 \ redraw-current-line
215 \
216 \ accept-line
217 \ previous-history
218 \ next-history
219 \ beginning-of-history
220 \ end-of-history
221 \ reverse-search-history
222 \ forward-search-history
223 \ non-incremental-reverse-search-history
224 \ non-incremental-forward-search-history
225 \ history-search-forward
226 \ history-search-backward
227 \ yank-nth-arg
228 \ yank-last-arg
229 \
230 \ delete-char
231 \ backward-delete-char
232 \ forward-backward-delete-char
233 \ quoted-insert
234 \ tab-insert
235 \ self-insert
236 \ transpose-chars
237 \ transpose-words
238 \ upcase-word
239 \ downcase-word
240 \ capitalize-word
241 \ overwrite-mode
242 \
243 \ kill-line
244 \ backward-kill-line
245 \ unix-line-discard
246 \ kill-whole-line
247 \ kill-word
248 \ backward-kill-word
249 \ unix-word-rubout
250 \ unix-filename-rubout
251 \ delete-horizontal-space
252 \ kill-region
253 \ copy-region-as-kill
254 \ copy-backward-word
255 \ copy-forward-word
256 \ yank
257 \ yank-pop
258 \
259 \ digit-argument
260 \ universal-argument
261 \
262 \ complete
263 \ possible-completions
264 \ insert-completions
265 \ menu-complete
Bram Moolenaard38b0552012-04-25 19:07:41 +0200266 \ menu-complete-backward
Bram Moolenaar446beb42011-05-10 17:18:44 +0200267 \ delete-char-or-list
268 \
269 \ start-kbd-macro
270 \ end-kbd-macro
271 \ call-last-kbd-macro
272 \
273 \ re-read-init-file
274 \ abort
275 \ do-uppercase-version
276 \ prefix-meta
277 \ undo
278 \ revert-line
279 \ tilde-expand
280 \ set-mark
281 \ exchange-point-and-mark
282 \ character-search
283 \ character-search-backward
284 \ skip-csi-sequence
285 \ insert-comment
286 \ dump-functions
287 \ dump-variables
288 \ dump-macros
289 \ emacs-editing-mode
290 \ vi-editing-mode
291 \
292 \ vi-eof-maybe
293 \ vi-movement-mode
294 \ vi-undo
295 \ vi-match
296 \ vi-tilde-expand
297 \ vi-complete
298 \ vi-char-search
299 \ vi-redo
300 \ vi-search
301 \ vi-arg-digit
302 \ vi-append-eol
303 \ vi-prev-word
304 \ vi-change-to
305 \ vi-delete-to
306 \ vi-end-word
307 \ vi-char-search
308 \ vi-fetch-history
309 \ vi-insert-beg
310 \ vi-search-again
311 \ vi-put
312 \ vi-replace
313 \ vi-subst
314 \ vi-char-search
315 \ vi-next-word
316 \ vi-yank-to
317 \ vi-first-print
318 \ vi-yank-arg
319 \ vi-goto-mark
320 \ vi-append-mode
321 \ vi-prev-word
322 \ vi-change-to
323 \ vi-delete-to
324 \ vi-end-word
325 \ vi-char-search
326 \ vi-insert-mode
327 \ vi-set-mark
328 \ vi-search-again
329 \ vi-put
330 \ vi-change-char
331 \ vi-subst
332 \ vi-char-search
333 \ vi-undo
334 \ vi-next-word
335 \ vi-delete
336 \ vi-yank-to
337 \ vi-column
338 \ vi-change-case
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000339
Bram Moolenaar071d4272004-06-13 20:20:40 +0000340if exists("readline_has_bash")
Bram Moolenaar446beb42011-05-10 17:18:44 +0200341 syn keyword readlineFunction contained
342 \ shell-expand-line
343 \ history-expand-line
344 \ magic-space
345 \ alias-expand-line
346 \ history-and-alias-expand-line
347 \ insert-last-argument
348 \ operate-and-get-next
349 \ forward-backward-delete-char
350 \ delete-char-or-list
351 \ complete-filename
352 \ possible-filename-completions
353 \ complete-username
354 \ possible-username-completions
355 \ complete-variable
356 \ possible-variable-completions
357 \ complete-hostname
358 \ possible-hostname-completions
359 \ complete-command
360 \ possible-command-completions
361 \ dynamic-complete-history
362 \ complete-into-braces
363 \ glob-expand-word
364 \ glob-list-expansions
365 \ display-shell-version
366 \ glob-complete-word
367 \ edit-and-execute-command
Bram Moolenaar071d4272004-06-13 20:20:40 +0000368endif
369
Bram Moolenaar446beb42011-05-10 17:18:44 +0200370hi def link readlineKey readlineKeySeq
371hi def link readlineComment Comment
372hi def link readlineTodo Todo
373hi def link readlineConditional Conditional
374hi def link readlineTest Type
375hi def link readlineDelimiter Delimiter
376hi def link readlineTestModeEq readlineEq
377hi def link readlineTestTermEq readlineEq
378hi def link readlineTestTerm readlineString
379hi def link readlineTestAppEq readlineEq
380hi def link readlineTestApp readlineString
381hi def link readlineInclude Include
382hi def link readlinePath String
383hi def link readlineKeyName SpecialChar
384hi def link readlineKeySeparator readlineKeySeq
385hi def link readlineKeyTerminator readlineDelimiter
386hi def link readlineKeySeq String
387hi def link readlineKeyEscape SpecialChar
388hi def link readlineKeyword Keyword
389hi def link readlineVariable Identifier
390hi def link readlineBellStyle Constant
391hi def link readlineBoolean Boolean
392hi def link readlineString String
393hi def link readlineStringDelimiter readlineString
394hi def link readlineNumber Number
395hi def link readlineEditingMode Constant
396hi def link readlineKeymap Constant
397hi def link readlineFunction Function
Bram Moolenaar071d4272004-06-13 20:20:40 +0000398
Bram Moolenaar446beb42011-05-10 17:18:44 +0200399let b:current_syntax = 'readline'
Bram Moolenaar071d4272004-06-13 20:20:40 +0000400
Bram Moolenaar42eeac32005-06-29 22:40:58 +0000401let &cpo = s:cpo_save
402unlet s:cpo_save