blob: 8f72048ab829aa5d33737e4fd343ed0fe7181379 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: readline configuration file
3" Maintainer: Nikolai Weibull <source@pcppopper.org>
4" URL: http://www.pcppopper.org/vim/syntax/pcp/readline/
5" Latest Revision: 2004-05-22
6" arch-tag: 6d8e7da4-b39c-4bf7-8e6a-d9135f993457
7" Variables:
8" readline_has_bash - if defined add support for bash specific
9" settings/functions
10
11if version < 600
12 syntax clear
13elseif exists("b:current_syntax")
14 finish
15endif
16
17" Set iskeyword since we need `-' (and potentially others) in keywords.
18" For version 5.x: Set it globally
19" For version 6.x: Set it locally
20if version >= 600
21 command -nargs=1 SetIsk setlocal iskeyword=<args>
22else
23 command -nargs=1 SetIsk set iskeyword=<args>
24endif
25SetIsk 48-57,65-90,97-122,-
26delcommand SetIsk
27
28" comments
29syn region readlineComment display oneline matchgroup=readlineComment start="^\s*#" end="$" contains=readlineTodo
30
31" todo
32syn keyword readlineTodo contained TODO FIXME XXX NOTE
33
34" strings (argh...not the way i want it, but fine..."
35syn match readlineString "^\s*[A-Za-z-]\+:"me=e-1 contains=readlineKeys
36syn region readlineString display oneline start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=readlineKeysTwo
37
38" special key
39syn case ignore
40syn keyword readlineKeys contained Control Meta Del Esc Escape LFD Newline Ret Return Rubout Space Spc Tab
41syn case match
42
43syn match readlineKeysTwo contained +\\\([CM]-\|[e\\"'abdfnrtv]\|\o\{3}\|x\x\{3}\)+
44
45" keymaps
46syn match readlineKeymaps contained "emacs\(-standard\|-meta\|-ctlx\)\="
47syn match readlineKeymaps contained "vi\(-move\|-command\|-insert\)\="
48
49" bell styles
50syn keyword readlineBellStyles contained audible visible none
51
52" numbers
53syn match readlineNumber contained "\<\d\+\>"
54
55" booleans
56syn case ignore
57syn keyword readlineBoolean contained on off
58syn case match
59
60" conditionals
61syn keyword readlineIfOps contained mode term
62
63syn region readlineConditional display oneline transparent matchgroup=readlineConditional start="^\s*$if" end="$" contains=readlineIfOps,readlineKeymaps
64syn match readlineConditional "^\s*$\(else\|endif\)\>"
65
66" include
67syn match readlineInclude "^\s*$include\>"
68
69" settings
70
71syn region readlineSet display oneline transparent matchgroup=readlineKeyword start="^\s*set\>" end="$"me=e-1 contains=readlineNumber,readlineBoolean,readlineKeymaps,readlineBellStyles,readlineSettings
72
73syn keyword readlineSettings contained bell-style comment-begin completion-ignore-case
74syn keyword readlineSettings contained completion-query-items convert-meta disable-completion editing-mode enable-keypad
75syn keyword readlineSettings contained expand-tilde horizontal-scroll-mode mark-directories keymap mark-modified-lines meta-flag
76syn keyword readlineSettings contained input-meta output-meta print-completions-horizontally show-all-if-ambiguous visible-stats
77syn keyword readlineSettings contained prefer-visible-bell blink-matching-paren
78syn keyword readlineSettings contained match-hidden-files history-preserve-point isearch-terminators
79
80" bash extensions
81if exists("readline_has_bash")
82 "syn keyword readlineSettings contained
83endif
84
85" key bindings
86syn region readlineBinding display oneline transparent matchgroup=readlineKeyword start=":" end="$" contains=readlineKeys,readlineFunctions
87
88syn match readlineFunctions contained "\<\(beginning\|end\)-of-line\>"
89syn match readlineFunctions contained "\<\(backward\|forward\)-\(char\|word\)\>"
90syn match readlineFunctions contained "\<\(previous\|next\|\(beginning\|end\)-of\|\(non-incremental-\)\=\(reverse\|forward\)-search\)-history\>"
91syn match readlineFunctions contained "\<history-search-\(forward\|backward\)\>"
92syn match readlineFunctions contained "\<yank-\(nth\|last\)-arg\>"
93syn match readlineFunctions contained "\<\(backward-\)\=kill-\(\(whole-\)\=line\|word\)\>"
94syn match readlineFunctions contained "\<\(start\|end\|call-last\)-kbd-macro\>"
95syn match readlineFunctions contained "\<dump-\(functions\|variables\|macros\)\>"
96syn match readlineFunctions contained "\<non-incremental-\(reverse\|forward\)-search-history-again\>"
97syn keyword readlineFunctions contained clear-screen redraw-current-line accept-line delete-char backward-delete-char quoted-insert tab-insert
98syn keyword readlineFunctions contained self-insert transpose-chars transpose-words downcase-word capitalize-word unix-word-rubout
99syn keyword readlineFunctions contained delete-horizontal-space kill-region copy-region-as-kill copy-backward-word copy-forward-word yank yank-pop
100syn keyword readlineFunctions contained digit-argument universal-argument complete possible-completions insert-completions menu-complete
101syn keyword readlineFunctions contained re-read-init-file abort do-uppercase-version prefix-meta undo revert-line tilde-expand set-mark
102syn keyword readlineFunctions contained exchange-point-and-mark character-search character-search-backward insert-comment emacs-editing-mode vi-editing-mode
103syn keyword readlineFunctions contained unix-line-discard upcase-word backward-delete-word vi-eof-maybe vi-movement-mode vi-match vi-tilde-expand
104syn keyword readlineFunctions contained vi-complete vi-char-search vi-redo vi-search vi-arg-digit vi-append-eol vi-prev-word vi-change-to vi-delete-to
105syn keyword readlineFunctions contained vi-end-word vi-fetch-history vi-insert-beg vi-search-again vi-put vi-replace vi-subst vi-yank-to vi-first-print
106syn keyword readlineFunctions contained vi-yank-arg vi-goto-mark vi-append-mode vi-insertion-mode prev-history vi-set-mark vi-search-again vi-put vi-change-char
107syn keyword readlineFunctions contained vi-subst vi-delete vi-yank-to vi-column vi-change-case vi-overstrike vi-overstrike-delete
108syn keyword readlineFunctions contained do-lowercase-version delete-char-or-list tty-status arrow-key-prefix
109syn keyword readlineFunctions contained vi-back-to-indent vi-bword vi-bWord vi-eword vi-eWord vi-fword vi-fWord vi-next-word
110
111" bash extensions
112if exists("readline_has_bash")
113 syn keyword readlineFunctions contained shell-expand-line history-expand-line magic-space alias-expand-line history-and-alias-expand-line insert-last-argument
114 syn keyword readlineFunctions contained operate-and-get-next forward-backward-delete-char delete-char-or-list complete-filename possible-filename-completions
115 syn keyword readlineFunctions contained complete-username possible-username-completions complete-variable possible-variable-completions complete-hostname
116 syn keyword readlineFunctions contained possible-hostname-completions complete-command possible-command-completions dynamic-complete-history complete-into-braces
117 syn keyword readlineFunctions contained glob-expand-word glob-list-expansions display-shell-version
118 syn keyword readlineFunctions contained glob-complete-word edit-and-execute-command
119endif
120
121" Define the default highlighting.
122" For version 5.7 and earlier: only when not done already
123" For version 5.8 and later: only when an item doesn't have highlighting yet
124if version >= 508 || !exists("did_readline_syn_inits")
125 if version < 508
126 let did_readline_syn_inits = 1
127 command -nargs=+ HiLink hi link <args>
128 else
129 command -nargs=+ HiLink hi def link <args>
130 endif
131
132 HiLink readlineComment Comment
133 HiLink readlineTodo Todo
134 HiLink readlineString String
135 HiLink readlineKeys SpecialChar
136 HiLink readlineKeysTwo SpecialChar
137 HiLink readlineKeymaps Constant
138 HiLink readlineBellStyles Constant
139 HiLink readlineNumber Number
140 HiLink readlineBoolean Boolean
141 HiLink readlineIfOps Type
142 HiLink readlineConditional Conditional
143 HiLink readlineInclude Include
144 HiLink readlineKeyword Keyword
145 HiLink readlineSettings Type
146 HiLink readlineFunctions Type
147 delcommand HiLink
148endif
149
150let b:current_syntax = "readline"
151
152" vim: set sts=2 sw=2: