7
|
1 " Vim syntax file
|
11062
|
2 " Language: readline(3) configuration file
|
13125
|
3 " Maintainer: Daniel Moch <daniel@danielmoch.com>
|
11062
|
4 " Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
14421
|
5 " Latest Revision: 2018-07-26
|
|
6 " Add new functions for Readline 7 / Bash 4.4
|
|
7 " (credit: Github user bewuethr)
|
7
|
8
|
2826
|
9 if exists('b:current_syntax')
|
7
|
10 finish
|
|
11 endif
|
|
12
|
375
|
13 let s:cpo_save = &cpo
|
|
14 set cpo&vim
|
|
15
|
1621
|
16 setlocal iskeyword+=-
|
375
|
17
|
2826
|
18 syn match readlineKey contained
|
|
19 \ '\S'
|
|
20 \ nextgroup=readlineKeyTerminator
|
|
21
|
|
22 syn match readlineBegin display '^'
|
|
23 \ nextgroup=readlineComment,
|
|
24 \ readlineConditional,
|
|
25 \ readlineInclude,
|
|
26 \ readlineKeyName,
|
|
27 \ readlineKey,
|
|
28 \ readlineKeySeq,
|
|
29 \ readlineKeyword
|
|
30 \ skipwhite
|
|
31
|
|
32 syn region readlineComment contained display oneline
|
|
33 \ start='#'
|
|
34 \ end='$'
|
|
35 \ contains=readlineTodo,
|
|
36 \ @Spell
|
|
37
|
|
38 syn keyword readlineTodo contained
|
|
39 \ TODO
|
|
40 \ FIXME
|
|
41 \ XXX
|
|
42 \ NOTE
|
|
43
|
|
44 syn match readlineConditional contained
|
|
45 \ '$if\>'
|
|
46 \ nextgroup=readlineTest,
|
|
47 \ readlineTestApp
|
|
48 \ skipwhite
|
7
|
49
|
2826
|
50 syn keyword readlineTest contained
|
|
51 \ mode
|
|
52 \ nextgroup=readlineTestModeEq
|
|
53
|
|
54 syn match readlineTestModeEq contained
|
|
55 \ '='
|
|
56 \ nextgroup=readlineEditingMode
|
|
57
|
|
58 syn keyword readlineTest contained
|
|
59 \ term
|
|
60 \ nextgroup=readlineTestTermEq
|
|
61
|
|
62 syn match readlineTestTermEq contained
|
|
63 \ '='
|
|
64 \ nextgroup=readlineTestTerm
|
7
|
65
|
2826
|
66 syn match readlineTestTerm contained
|
|
67 \ '\S\+'
|
|
68
|
|
69 syn match readlineTestApp contained
|
|
70 \ '\S\+'
|
|
71
|
|
72 syn match readlineConditional contained display
|
|
73 \ '$\%(else\|endif\)\>'
|
|
74
|
|
75 syn match readlineInclude contained display
|
|
76 \ '$include\>'
|
|
77 \ nextgroup=readlinePath
|
|
78
|
|
79 syn match readlinePath contained display
|
|
80 \ '.\+'
|
7
|
81
|
|
82 syn case ignore
|
2826
|
83 syn match readlineKeyName contained display
|
|
84 \ nextgroup=readlineKeySeparator,
|
|
85 \ readlineKeyTerminator
|
|
86 \ '\%(Control\|Del\|Esc\|Escape\|LFD\|Meta\|Newline\|Ret\|Return\|Rubout\|Space\|Spc\|Tab\)'
|
7
|
87 syn case match
|
|
88
|
2826
|
89 syn match readlineKeySeparator contained
|
|
90 \ '-'
|
|
91 \ nextgroup=readlineKeyName,
|
|
92 \ readlineKey
|
|
93
|
|
94 syn match readlineKeyTerminator contained
|
|
95 \ ':'
|
|
96 \ nextgroup=readlineFunction
|
|
97 \ skipwhite
|
|
98
|
|
99 syn region readlineKeySeq contained display oneline
|
|
100 \ start=+"+
|
|
101 \ skip=+\\\\\|\\"+
|
|
102 \ end=+"+
|
|
103 \ contains=readlineKeyEscape
|
|
104 \ nextgroup=readlineKeyTerminator
|
|
105
|
|
106 syn match readlineKeyEscape contained display
|
|
107 \ +\\\([CM]-\|[e\\"'abdfnrtv]\|\o\{3}\|x\x\{2}\)+
|
|
108
|
|
109 syn keyword readlineKeyword contained
|
|
110 \ set
|
|
111 \ nextgroup=readlineVariable
|
|
112 \ skipwhite
|
|
113
|
14421
|
114 syn keyword readlineVariable contained
|
2826
|
115 \ nextgroup=readlineBellStyle
|
|
116 \ skipwhite
|
|
117 \ bell-style
|
7
|
118
|
2826
|
119 syn keyword readlineVariable contained
|
|
120 \ nextgroup=readlineBoolean
|
|
121 \ skipwhite
|
|
122 \ bind-tty-special-chars
|
14421
|
123 \ blink-matching-paren
|
|
124 \ colored-completion-prefix
|
12499
|
125 \ colored-stats
|
2826
|
126 \ completion-ignore-case
|
|
127 \ completion-map-case
|
|
128 \ convert-meta
|
|
129 \ disable-completion
|
|
130 \ echo-control-characters
|
14421
|
131 \ enable-bracketed-paste
|
2826
|
132 \ enable-keypad
|
|
133 \ enable-meta-key
|
|
134 \ expand-tilde
|
|
135 \ history-preserve-point
|
|
136 \ horizontal-scroll-mode
|
|
137 \ input-meta
|
|
138 \ meta-flag
|
|
139 \ mark-directories
|
|
140 \ mark-modified-lines
|
|
141 \ mark-symlinked-directories
|
|
142 \ match-hidden-files
|
|
143 \ menu-complete-display-prefix
|
|
144 \ output-meta
|
|
145 \ page-completions
|
|
146 \ print-completions-horizontally
|
|
147 \ revert-all-at-newline
|
|
148 \ show-all-if-ambiguous
|
|
149 \ show-all-if-unmodified
|
12499
|
150 \ show-mode-in-prompt
|
2826
|
151 \ skip-completed-text
|
|
152 \ visible-stats
|
7
|
153
|
2826
|
154 syn keyword readlineVariable contained
|
|
155 \ nextgroup=readlineString
|
|
156 \ skipwhite
|
|
157 \ comment-begin
|
|
158 \ isearch-terminators
|
13125
|
159 \ vi-cmd-mode-string
|
|
160 \ vi-ins-mode-string
|
|
161 \ emacs-mode-string
|
2826
|
162
|
|
163 syn keyword readlineVariable contained
|
|
164 \ nextgroup=readlineNumber
|
|
165 \ skipwhite
|
|
166 \ completion-display-width
|
|
167 \ completion-prefix-display-length
|
|
168 \ completion-query-items
|
|
169 \ history-size
|
12499
|
170 \ keyseq-timeout
|
7
|
171
|
2826
|
172 syn keyword readlineVariable contained
|
|
173 \ nextgroup=readlineEditingMode
|
|
174 \ skipwhite
|
|
175 \ editing-mode
|
|
176
|
|
177 syn keyword readlineVariable contained
|
|
178 \ nextgroup=readlineKeymap
|
|
179 \ skipwhite
|
|
180 \ keymap
|
|
181
|
|
182 syn keyword readlineBellStyle contained
|
|
183 \ audible
|
|
184 \ visible
|
|
185 \ none
|
375
|
186
|
7
|
187 syn case ignore
|
2826
|
188 syn keyword readlineBoolean contained
|
|
189 \ on
|
|
190 \ off
|
7
|
191 syn case match
|
|
192
|
2826
|
193 syn region readlineString contained display oneline
|
|
194 \ matchgroup=readlineStringDelimiter
|
|
195 \ start=+"+
|
|
196 \ skip=+\\\\\|\\"+
|
|
197 \ end=+"+
|
7
|
198
|
2826
|
199 syn match readlineNumber contained display
|
|
200 \ '[+-]\d\+\>'
|
7
|
201
|
2826
|
202 syn keyword readlineEditingMode contained
|
|
203 \ emacs
|
|
204 \ vi
|
|
205
|
|
206 syn match readlineKeymap contained display
|
|
207 \ 'emacs\%(-\%(standard\|meta\|ctlx\)\)\=\|vi\%(-\%(move\|command\|insert\)\)\='
|
7
|
208
|
2826
|
209 syn keyword readlineFunction contained
|
|
210 \ beginning-of-line
|
|
211 \ end-of-line
|
|
212 \ forward-char
|
|
213 \ backward-char
|
|
214 \ forward-word
|
|
215 \ backward-word
|
|
216 \ clear-screen
|
|
217 \ redraw-current-line
|
|
218 \
|
|
219 \ accept-line
|
|
220 \ previous-history
|
|
221 \ next-history
|
|
222 \ beginning-of-history
|
|
223 \ end-of-history
|
|
224 \ reverse-search-history
|
|
225 \ forward-search-history
|
|
226 \ non-incremental-reverse-search-history
|
|
227 \ non-incremental-forward-search-history
|
|
228 \ history-search-forward
|
|
229 \ history-search-backward
|
|
230 \ yank-nth-arg
|
|
231 \ yank-last-arg
|
|
232 \
|
|
233 \ delete-char
|
|
234 \ backward-delete-char
|
|
235 \ forward-backward-delete-char
|
|
236 \ quoted-insert
|
|
237 \ tab-insert
|
|
238 \ self-insert
|
|
239 \ transpose-chars
|
|
240 \ transpose-words
|
|
241 \ upcase-word
|
|
242 \ downcase-word
|
|
243 \ capitalize-word
|
|
244 \ overwrite-mode
|
|
245 \
|
|
246 \ kill-line
|
|
247 \ backward-kill-line
|
|
248 \ unix-line-discard
|
|
249 \ kill-whole-line
|
|
250 \ kill-word
|
|
251 \ backward-kill-word
|
|
252 \ unix-word-rubout
|
|
253 \ unix-filename-rubout
|
|
254 \ delete-horizontal-space
|
|
255 \ kill-region
|
|
256 \ copy-region-as-kill
|
|
257 \ copy-backward-word
|
|
258 \ copy-forward-word
|
|
259 \ yank
|
|
260 \ yank-pop
|
|
261 \
|
|
262 \ digit-argument
|
|
263 \ universal-argument
|
|
264 \
|
|
265 \ complete
|
|
266 \ possible-completions
|
|
267 \ insert-completions
|
|
268 \ menu-complete
|
3492
|
269 \ menu-complete-backward
|
2826
|
270 \ delete-char-or-list
|
|
271 \
|
|
272 \ start-kbd-macro
|
|
273 \ end-kbd-macro
|
|
274 \ call-last-kbd-macro
|
14421
|
275 \ print-last-kbd-macro
|
2826
|
276 \
|
|
277 \ re-read-init-file
|
|
278 \ abort
|
|
279 \ do-uppercase-version
|
|
280 \ prefix-meta
|
|
281 \ undo
|
|
282 \ revert-line
|
|
283 \ tilde-expand
|
|
284 \ set-mark
|
|
285 \ exchange-point-and-mark
|
|
286 \ character-search
|
|
287 \ character-search-backward
|
|
288 \ skip-csi-sequence
|
|
289 \ insert-comment
|
|
290 \ dump-functions
|
|
291 \ dump-variables
|
|
292 \ dump-macros
|
|
293 \ emacs-editing-mode
|
|
294 \ vi-editing-mode
|
|
295 \
|
|
296 \ vi-eof-maybe
|
|
297 \ vi-movement-mode
|
|
298 \ vi-undo
|
|
299 \ vi-match
|
|
300 \ vi-tilde-expand
|
|
301 \ vi-complete
|
|
302 \ vi-char-search
|
|
303 \ vi-redo
|
|
304 \ vi-search
|
|
305 \ vi-arg-digit
|
|
306 \ vi-append-eol
|
|
307 \ vi-prev-word
|
|
308 \ vi-change-to
|
|
309 \ vi-delete-to
|
|
310 \ vi-end-word
|
|
311 \ vi-char-search
|
|
312 \ vi-fetch-history
|
|
313 \ vi-insert-beg
|
|
314 \ vi-search-again
|
|
315 \ vi-put
|
|
316 \ vi-replace
|
|
317 \ vi-subst
|
|
318 \ vi-char-search
|
|
319 \ vi-next-word
|
|
320 \ vi-yank-to
|
|
321 \ vi-first-print
|
|
322 \ vi-yank-arg
|
|
323 \ vi-goto-mark
|
|
324 \ vi-append-mode
|
|
325 \ vi-prev-word
|
|
326 \ vi-change-to
|
|
327 \ vi-delete-to
|
|
328 \ vi-end-word
|
|
329 \ vi-char-search
|
|
330 \ vi-insert-mode
|
|
331 \ vi-set-mark
|
|
332 \ vi-search-again
|
|
333 \ vi-put
|
|
334 \ vi-change-char
|
|
335 \ vi-subst
|
|
336 \ vi-char-search
|
|
337 \ vi-undo
|
|
338 \ vi-next-word
|
|
339 \ vi-delete
|
|
340 \ vi-yank-to
|
|
341 \ vi-column
|
|
342 \ vi-change-case
|
7
|
343
|
|
344 if exists("readline_has_bash")
|
2826
|
345 syn keyword readlineFunction contained
|
14421
|
346 \ shell-forward-word
|
|
347 \ shell-backward-word
|
2826
|
348 \ shell-expand-line
|
|
349 \ history-expand-line
|
|
350 \ magic-space
|
|
351 \ alias-expand-line
|
|
352 \ history-and-alias-expand-line
|
|
353 \ insert-last-argument
|
|
354 \ operate-and-get-next
|
|
355 \ forward-backward-delete-char
|
14421
|
356 \ shell-kill-word
|
|
357 \ shell-backward-kill-word
|
2826
|
358 \ delete-char-or-list
|
|
359 \ complete-filename
|
|
360 \ possible-filename-completions
|
|
361 \ complete-username
|
|
362 \ possible-username-completions
|
|
363 \ complete-variable
|
|
364 \ possible-variable-completions
|
|
365 \ complete-hostname
|
|
366 \ possible-hostname-completions
|
|
367 \ complete-command
|
|
368 \ possible-command-completions
|
|
369 \ dynamic-complete-history
|
14421
|
370 \ dabbrev-expand
|
2826
|
371 \ complete-into-braces
|
|
372 \ glob-expand-word
|
|
373 \ glob-list-expansions
|
|
374 \ display-shell-version
|
|
375 \ glob-complete-word
|
|
376 \ edit-and-execute-command
|
7
|
377 endif
|
|
378
|
2826
|
379 hi def link readlineKey readlineKeySeq
|
|
380 hi def link readlineComment Comment
|
|
381 hi def link readlineTodo Todo
|
|
382 hi def link readlineConditional Conditional
|
|
383 hi def link readlineTest Type
|
|
384 hi def link readlineDelimiter Delimiter
|
|
385 hi def link readlineTestModeEq readlineEq
|
|
386 hi def link readlineTestTermEq readlineEq
|
|
387 hi def link readlineTestTerm readlineString
|
|
388 hi def link readlineTestAppEq readlineEq
|
|
389 hi def link readlineTestApp readlineString
|
|
390 hi def link readlineInclude Include
|
|
391 hi def link readlinePath String
|
|
392 hi def link readlineKeyName SpecialChar
|
|
393 hi def link readlineKeySeparator readlineKeySeq
|
|
394 hi def link readlineKeyTerminator readlineDelimiter
|
|
395 hi def link readlineKeySeq String
|
|
396 hi def link readlineKeyEscape SpecialChar
|
|
397 hi def link readlineKeyword Keyword
|
|
398 hi def link readlineVariable Identifier
|
|
399 hi def link readlineBellStyle Constant
|
|
400 hi def link readlineBoolean Boolean
|
|
401 hi def link readlineString String
|
|
402 hi def link readlineStringDelimiter readlineString
|
|
403 hi def link readlineNumber Number
|
|
404 hi def link readlineEditingMode Constant
|
|
405 hi def link readlineKeymap Constant
|
|
406 hi def link readlineFunction Function
|
7
|
407
|
2826
|
408 let b:current_syntax = 'readline'
|
7
|
409
|
375
|
410 let &cpo = s:cpo_save
|
|
411 unlet s:cpo_save
|