neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

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