readline.vim (17487B)
1 " Vim syntax file 2 " Language: readline(3) configuration file 3 " Maintainer: Daniel Moch <daniel@danielmoch.com> 4 " Previous Maintainer: Nikolai Weibull <now@bitwi.se> 5 " Latest Revision: 2018-07-26 6 " Add new functions for Readline 7 / Bash 4.4 7 " (credit: Github user bewuethr) 8 9 if exists('b:current_syntax') 10 finish 11 endif 12 13 let s:cpo_save = &cpo 14 set cpo&vim 15 16 setlocal iskeyword+=- 17 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 49 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 65 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 \ '.\+' 81 82 syn case ignore 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\)' 87 syn case match 88 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 114 syn keyword readlineVariable contained 115 \ nextgroup=readlineBellStyle 116 \ skipwhite 117 \ bell-style 118 119 syn keyword readlineVariable contained 120 \ nextgroup=readlineBoolean 121 \ skipwhite 122 \ bind-tty-special-chars 123 \ blink-matching-paren 124 \ colored-completion-prefix 125 \ colored-stats 126 \ completion-ignore-case 127 \ completion-map-case 128 \ convert-meta 129 \ disable-completion 130 \ echo-control-characters 131 \ enable-bracketed-paste 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 150 \ show-mode-in-prompt 151 \ skip-completed-text 152 \ visible-stats 153 154 syn keyword readlineVariable contained 155 \ nextgroup=readlineString 156 \ skipwhite 157 \ comment-begin 158 \ isearch-terminators 159 \ vi-cmd-mode-string 160 \ vi-ins-mode-string 161 \ emacs-mode-string 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 170 \ keyseq-timeout 171 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 186 187 syn case ignore 188 syn keyword readlineBoolean contained 189 \ on 190 \ off 191 syn case match 192 193 syn region readlineString contained display oneline 194 \ matchgroup=readlineStringDelimiter 195 \ start=+"+ 196 \ skip=+\\\\\|\\"+ 197 \ end=+"+ 198 199 syn match readlineNumber contained display 200 \ '[+-]\d\+\>' 201 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\)\)\=' 208 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 269 \ menu-complete-backward 270 \ delete-char-or-list 271 \ 272 \ start-kbd-macro 273 \ end-kbd-macro 274 \ call-last-kbd-macro 275 \ print-last-kbd-macro 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 343 344 if exists("readline_has_bash") 345 syn keyword readlineFunction contained 346 \ shell-forward-word 347 \ shell-backward-word 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 356 \ shell-kill-word 357 \ shell-backward-kill-word 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 370 \ dabbrev-expand 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 377 endif 378 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 407 408 let b:current_syntax = 'readline' 409 410 let &cpo = s:cpo_save 411 unlet s:cpo_save