mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			412 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			412 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" Vim syntax file
 | 
						|
" Language:             readline(3) configuration file
 | 
						|
" Maintainer:           Daniel Moch <daniel@danielmoch.com>
 | 
						|
" Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
 | 
						|
" Latest Revision:      2018-07-26
 | 
						|
"                       Add new functions for Readline 7 / Bash 4.4
 | 
						|
"                       (credit: Github user bewuethr)
 | 
						|
 | 
						|
if exists('b:current_syntax')
 | 
						|
  finish
 | 
						|
endif
 | 
						|
 | 
						|
let s:cpo_save = &cpo
 | 
						|
set cpo&vim
 | 
						|
 | 
						|
setlocal iskeyword+=-
 | 
						|
 | 
						|
syn match   readlineKey         contained
 | 
						|
                              \ '\S'
 | 
						|
                              \ nextgroup=readlineKeyTerminator
 | 
						|
 | 
						|
syn match   readlineBegin       display '^'
 | 
						|
                              \ nextgroup=readlineComment,
 | 
						|
                              \           readlineConditional,
 | 
						|
                              \           readlineInclude,
 | 
						|
                              \           readlineKeyName,
 | 
						|
                              \           readlineKey,
 | 
						|
                              \           readlineKeySeq,
 | 
						|
                              \           readlineKeyword
 | 
						|
                              \ skipwhite
 | 
						|
 | 
						|
syn region  readlineComment     contained display oneline
 | 
						|
                                \ start='#'
 | 
						|
                                \ end='$'
 | 
						|
                                \ contains=readlineTodo,
 | 
						|
                                \          @Spell
 | 
						|
 | 
						|
syn keyword readlineTodo        contained
 | 
						|
                              \ TODO
 | 
						|
                              \ FIXME
 | 
						|
                              \ XXX
 | 
						|
                              \ NOTE
 | 
						|
 | 
						|
syn match   readlineConditional contained
 | 
						|
                              \ '$if\>'
 | 
						|
                              \ nextgroup=readlineTest,
 | 
						|
                              \           readlineTestApp
 | 
						|
                              \ skipwhite
 | 
						|
 | 
						|
syn keyword readlineTest        contained
 | 
						|
                              \ mode
 | 
						|
                              \ nextgroup=readlineTestModeEq
 | 
						|
 | 
						|
syn match   readlineTestModeEq  contained
 | 
						|
                              \ '='
 | 
						|
                              \ nextgroup=readlineEditingMode
 | 
						|
 | 
						|
syn keyword readlineTest        contained
 | 
						|
                              \ term
 | 
						|
                              \ nextgroup=readlineTestTermEq
 | 
						|
 | 
						|
syn match   readlineTestTermEq  contained
 | 
						|
                              \ '='
 | 
						|
                              \ nextgroup=readlineTestTerm
 | 
						|
 | 
						|
syn match   readlineTestTerm    contained
 | 
						|
                              \ '\S\+'
 | 
						|
 | 
						|
syn match   readlineTestApp     contained
 | 
						|
                              \ '\S\+'
 | 
						|
 | 
						|
syn match   readlineConditional contained display
 | 
						|
                              \ '$\%(else\|endif\)\>'
 | 
						|
 | 
						|
syn match   readlineInclude     contained display
 | 
						|
                              \ '$include\>'
 | 
						|
                              \ nextgroup=readlinePath
 | 
						|
 | 
						|
syn match   readlinePath        contained display
 | 
						|
                              \ '.\+'
 | 
						|
 | 
						|
syn case ignore
 | 
						|
syn match   readlineKeyName     contained display
 | 
						|
                              \ nextgroup=readlineKeySeparator,
 | 
						|
                              \           readlineKeyTerminator
 | 
						|
                              \ '\%(Control\|Del\|Esc\|Escape\|LFD\|Meta\|Newline\|Ret\|Return\|Rubout\|Space\|Spc\|Tab\)'
 | 
						|
syn case match
 | 
						|
 | 
						|
syn match   readlineKeySeparator  contained
 | 
						|
                                \ '-'
 | 
						|
                                \ nextgroup=readlineKeyName,
 | 
						|
                                \           readlineKey
 | 
						|
 | 
						|
syn match   readlineKeyTerminator contained
 | 
						|
                                \ ':'
 | 
						|
                                \ nextgroup=readlineFunction
 | 
						|
                                \ skipwhite
 | 
						|
 | 
						|
syn region  readlineKeySeq     contained display oneline
 | 
						|
                              \ start=+"+
 | 
						|
                              \ skip=+\\\\\|\\"+
 | 
						|
                              \ end=+"+
 | 
						|
                              \ contains=readlineKeyEscape
 | 
						|
                              \ nextgroup=readlineKeyTerminator
 | 
						|
 | 
						|
syn match   readlineKeyEscape   contained display
 | 
						|
                              \ +\\\([CM]-\|[e\\"'abdfnrtv]\|\o\{3}\|x\x\{2}\)+
 | 
						|
 | 
						|
syn keyword readlineKeyword     contained
 | 
						|
                              \ set
 | 
						|
                              \ nextgroup=readlineVariable
 | 
						|
                              \ skipwhite
 | 
						|
 | 
						|
syn keyword readlineVariable    contained
 | 
						|
                              \ nextgroup=readlineBellStyle
 | 
						|
                              \ skipwhite
 | 
						|
                              \ bell-style
 | 
						|
 | 
						|
syn keyword readlineVariable    contained
 | 
						|
                              \ nextgroup=readlineBoolean
 | 
						|
                              \ skipwhite
 | 
						|
                              \ bind-tty-special-chars
 | 
						|
                              \ blink-matching-paren
 | 
						|
                              \ colored-completion-prefix
 | 
						|
                              \ colored-stats
 | 
						|
                              \ completion-ignore-case
 | 
						|
                              \ completion-map-case
 | 
						|
                              \ convert-meta
 | 
						|
                              \ disable-completion
 | 
						|
                              \ echo-control-characters
 | 
						|
                              \ enable-bracketed-paste
 | 
						|
                              \ enable-keypad
 | 
						|
                              \ enable-meta-key
 | 
						|
                              \ expand-tilde
 | 
						|
                              \ history-preserve-point
 | 
						|
                              \ horizontal-scroll-mode
 | 
						|
                              \ input-meta
 | 
						|
                              \ meta-flag
 | 
						|
                              \ mark-directories
 | 
						|
                              \ mark-modified-lines
 | 
						|
                              \ mark-symlinked-directories
 | 
						|
                              \ match-hidden-files
 | 
						|
                              \ menu-complete-display-prefix
 | 
						|
                              \ output-meta
 | 
						|
                              \ page-completions
 | 
						|
                              \ print-completions-horizontally
 | 
						|
                              \ revert-all-at-newline
 | 
						|
                              \ show-all-if-ambiguous
 | 
						|
                              \ show-all-if-unmodified
 | 
						|
                              \ show-mode-in-prompt
 | 
						|
                              \ skip-completed-text
 | 
						|
                              \ visible-stats
 | 
						|
 | 
						|
syn keyword readlineVariable    contained
 | 
						|
                              \ nextgroup=readlineString
 | 
						|
                              \ skipwhite
 | 
						|
                              \ comment-begin
 | 
						|
                              \ isearch-terminators
 | 
						|
                              \ vi-cmd-mode-string
 | 
						|
                              \ vi-ins-mode-string
 | 
						|
                              \ emacs-mode-string
 | 
						|
 | 
						|
syn keyword readlineVariable    contained
 | 
						|
                              \ nextgroup=readlineNumber
 | 
						|
                              \ skipwhite
 | 
						|
                              \ completion-display-width
 | 
						|
                              \ completion-prefix-display-length
 | 
						|
                              \ completion-query-items
 | 
						|
                              \ history-size
 | 
						|
                              \ keyseq-timeout
 | 
						|
 | 
						|
syn keyword readlineVariable    contained
 | 
						|
                              \ nextgroup=readlineEditingMode
 | 
						|
                              \ skipwhite
 | 
						|
                              \ editing-mode
 | 
						|
 | 
						|
syn keyword readlineVariable    contained
 | 
						|
                              \ nextgroup=readlineKeymap
 | 
						|
                              \ skipwhite
 | 
						|
                              \ keymap
 | 
						|
 | 
						|
syn keyword readlineBellStyle   contained
 | 
						|
                              \ audible
 | 
						|
                              \ visible
 | 
						|
                              \ none
 | 
						|
 | 
						|
syn case ignore
 | 
						|
syn keyword readlineBoolean     contained
 | 
						|
                              \ on
 | 
						|
                              \ off
 | 
						|
syn case match
 | 
						|
 | 
						|
syn region  readlineString      contained display oneline
 | 
						|
                              \ matchgroup=readlineStringDelimiter
 | 
						|
                              \ start=+"+
 | 
						|
                              \ skip=+\\\\\|\\"+
 | 
						|
                              \ end=+"+
 | 
						|
 | 
						|
syn match   readlineNumber      contained display
 | 
						|
                              \ '[+-]\d\+\>'
 | 
						|
 | 
						|
syn keyword readlineEditingMode contained
 | 
						|
                              \ emacs
 | 
						|
                              \ vi
 | 
						|
 | 
						|
syn match   readlineKeymap      contained display
 | 
						|
                              \ 'emacs\%(-\%(standard\|meta\|ctlx\)\)\=\|vi\%(-\%(move\|command\|insert\)\)\='
 | 
						|
 | 
						|
syn keyword readlineFunction    contained
 | 
						|
                              \ beginning-of-line
 | 
						|
                              \ end-of-line
 | 
						|
                              \ forward-char
 | 
						|
                              \ backward-char
 | 
						|
                              \ forward-word
 | 
						|
                              \ backward-word
 | 
						|
                              \ clear-screen
 | 
						|
                              \ redraw-current-line
 | 
						|
                              \
 | 
						|
                              \ accept-line
 | 
						|
                              \ previous-history
 | 
						|
                              \ next-history
 | 
						|
                              \ beginning-of-history
 | 
						|
                              \ end-of-history
 | 
						|
                              \ reverse-search-history
 | 
						|
                              \ forward-search-history
 | 
						|
                              \ non-incremental-reverse-search-history
 | 
						|
                              \ non-incremental-forward-search-history
 | 
						|
                              \ history-search-forward
 | 
						|
                              \ history-search-backward
 | 
						|
                              \ yank-nth-arg
 | 
						|
                              \ yank-last-arg
 | 
						|
                              \
 | 
						|
                              \ delete-char
 | 
						|
                              \ backward-delete-char
 | 
						|
                              \ forward-backward-delete-char
 | 
						|
                              \ quoted-insert
 | 
						|
                              \ tab-insert
 | 
						|
                              \ self-insert
 | 
						|
                              \ transpose-chars
 | 
						|
                              \ transpose-words
 | 
						|
                              \ upcase-word
 | 
						|
                              \ downcase-word
 | 
						|
                              \ capitalize-word
 | 
						|
                              \ overwrite-mode
 | 
						|
                              \
 | 
						|
                              \ kill-line
 | 
						|
                              \ backward-kill-line
 | 
						|
                              \ unix-line-discard
 | 
						|
                              \ kill-whole-line
 | 
						|
                              \ kill-word
 | 
						|
                              \ backward-kill-word
 | 
						|
                              \ unix-word-rubout
 | 
						|
                              \ unix-filename-rubout
 | 
						|
                              \ delete-horizontal-space
 | 
						|
                              \ kill-region
 | 
						|
                              \ copy-region-as-kill
 | 
						|
                              \ copy-backward-word
 | 
						|
                              \ copy-forward-word
 | 
						|
                              \ yank
 | 
						|
                              \ yank-pop
 | 
						|
                              \
 | 
						|
                              \ digit-argument
 | 
						|
                              \ universal-argument
 | 
						|
                              \
 | 
						|
                              \ complete
 | 
						|
                              \ possible-completions
 | 
						|
                              \ insert-completions
 | 
						|
                              \ menu-complete
 | 
						|
                              \ menu-complete-backward
 | 
						|
                              \ delete-char-or-list
 | 
						|
                              \
 | 
						|
                              \ start-kbd-macro
 | 
						|
                              \ end-kbd-macro
 | 
						|
                              \ call-last-kbd-macro
 | 
						|
                              \ print-last-kbd-macro
 | 
						|
                              \
 | 
						|
                              \ re-read-init-file
 | 
						|
                              \ abort
 | 
						|
                              \ do-uppercase-version
 | 
						|
                              \ prefix-meta
 | 
						|
                              \ undo
 | 
						|
                              \ revert-line
 | 
						|
                              \ tilde-expand
 | 
						|
                              \ set-mark
 | 
						|
                              \ exchange-point-and-mark
 | 
						|
                              \ character-search
 | 
						|
                              \ character-search-backward
 | 
						|
                              \ skip-csi-sequence
 | 
						|
                              \ insert-comment
 | 
						|
                              \ dump-functions
 | 
						|
                              \ dump-variables
 | 
						|
                              \ dump-macros
 | 
						|
                              \ emacs-editing-mode
 | 
						|
                              \ vi-editing-mode
 | 
						|
                              \
 | 
						|
                              \ vi-eof-maybe
 | 
						|
                              \ vi-movement-mode
 | 
						|
                              \ vi-undo
 | 
						|
                              \ vi-match
 | 
						|
                              \ vi-tilde-expand
 | 
						|
                              \ vi-complete
 | 
						|
                              \ vi-char-search
 | 
						|
                              \ vi-redo
 | 
						|
                              \ vi-search
 | 
						|
                              \ vi-arg-digit
 | 
						|
                              \ vi-append-eol
 | 
						|
                              \ vi-prev-word
 | 
						|
                              \ vi-change-to
 | 
						|
                              \ vi-delete-to
 | 
						|
                              \ vi-end-word
 | 
						|
                              \ vi-char-search
 | 
						|
                              \ vi-fetch-history
 | 
						|
                              \ vi-insert-beg
 | 
						|
                              \ vi-search-again
 | 
						|
                              \ vi-put
 | 
						|
                              \ vi-replace
 | 
						|
                              \ vi-subst
 | 
						|
                              \ vi-char-search
 | 
						|
                              \ vi-next-word
 | 
						|
                              \ vi-yank-to
 | 
						|
                              \ vi-first-print
 | 
						|
                              \ vi-yank-arg
 | 
						|
                              \ vi-goto-mark
 | 
						|
                              \ vi-append-mode
 | 
						|
                              \ vi-prev-word
 | 
						|
                              \ vi-change-to
 | 
						|
                              \ vi-delete-to
 | 
						|
                              \ vi-end-word
 | 
						|
                              \ vi-char-search
 | 
						|
                              \ vi-insert-mode
 | 
						|
                              \ vi-set-mark
 | 
						|
                              \ vi-search-again
 | 
						|
                              \ vi-put
 | 
						|
                              \ vi-change-char
 | 
						|
                              \ vi-subst
 | 
						|
                              \ vi-char-search
 | 
						|
                              \ vi-undo
 | 
						|
                              \ vi-next-word
 | 
						|
                              \ vi-delete
 | 
						|
                              \ vi-yank-to
 | 
						|
                              \ vi-column
 | 
						|
                              \ vi-change-case
 | 
						|
 | 
						|
if exists("readline_has_bash")
 | 
						|
  syn keyword readlineFunction  contained
 | 
						|
                              \ shell-forward-word
 | 
						|
                              \ shell-backward-word
 | 
						|
                              \ shell-expand-line
 | 
						|
                              \ history-expand-line
 | 
						|
                              \ magic-space
 | 
						|
                              \ alias-expand-line
 | 
						|
                              \ history-and-alias-expand-line
 | 
						|
                              \ insert-last-argument
 | 
						|
                              \ operate-and-get-next
 | 
						|
                              \ forward-backward-delete-char
 | 
						|
                              \ shell-kill-word
 | 
						|
                              \ shell-backward-kill-word
 | 
						|
                              \ delete-char-or-list
 | 
						|
                              \ complete-filename
 | 
						|
                              \ possible-filename-completions
 | 
						|
                              \ complete-username
 | 
						|
                              \ possible-username-completions
 | 
						|
                              \ complete-variable
 | 
						|
                              \ possible-variable-completions
 | 
						|
                              \ complete-hostname
 | 
						|
                              \ possible-hostname-completions
 | 
						|
                              \ complete-command
 | 
						|
                              \ possible-command-completions
 | 
						|
                              \ dynamic-complete-history
 | 
						|
                              \ dabbrev-expand
 | 
						|
                              \ complete-into-braces
 | 
						|
                              \ glob-expand-word
 | 
						|
                              \ glob-list-expansions
 | 
						|
                              \ display-shell-version
 | 
						|
                              \ glob-complete-word
 | 
						|
                              \ edit-and-execute-command
 | 
						|
endif
 | 
						|
 | 
						|
hi def link readlineKey           readlineKeySeq
 | 
						|
hi def link readlineComment       Comment
 | 
						|
hi def link readlineTodo          Todo
 | 
						|
hi def link readlineConditional   Conditional
 | 
						|
hi def link readlineTest          Type
 | 
						|
hi def link readlineDelimiter     Delimiter
 | 
						|
hi def link readlineTestModeEq    readlineEq
 | 
						|
hi def link readlineTestTermEq    readlineEq
 | 
						|
hi def link readlineTestTerm      readlineString
 | 
						|
hi def link readlineTestAppEq     readlineEq
 | 
						|
hi def link readlineTestApp       readlineString
 | 
						|
hi def link readlineInclude       Include
 | 
						|
hi def link readlinePath          String
 | 
						|
hi def link readlineKeyName       SpecialChar
 | 
						|
hi def link readlineKeySeparator  readlineKeySeq
 | 
						|
hi def link readlineKeyTerminator readlineDelimiter
 | 
						|
hi def link readlineKeySeq        String
 | 
						|
hi def link readlineKeyEscape     SpecialChar
 | 
						|
hi def link readlineKeyword       Keyword
 | 
						|
hi def link readlineVariable      Identifier
 | 
						|
hi def link readlineBellStyle     Constant
 | 
						|
hi def link readlineBoolean       Boolean
 | 
						|
hi def link readlineString        String
 | 
						|
hi def link readlineStringDelimiter readlineString
 | 
						|
hi def link readlineNumber        Number
 | 
						|
hi def link readlineEditingMode   Constant
 | 
						|
hi def link readlineKeymap        Constant
 | 
						|
hi def link readlineFunction      Function
 | 
						|
 | 
						|
let b:current_syntax = 'readline'
 | 
						|
 | 
						|
let &cpo = s:cpo_save
 | 
						|
unlet s:cpo_save
 |