7
|
1 " Vim syntax file
|
6823
|
2 " Language: Zsh shell script
|
|
3 " Maintainer: Christian Brabandt <cb@256bit.org>
|
|
4 " Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
|
5 " Latest Revision: 2015-05-29
|
|
6 " License: Vim (see :h license)
|
|
7 " Repository: https://github.com/chrisbra/vim-zsh
|
7
|
8
|
1125
|
9 if exists("b:current_syntax")
|
7
|
10 finish
|
|
11 endif
|
|
12
|
1125
|
13 let s:cpo_save = &cpo
|
|
14 set cpo&vim
|
|
15
|
1624
|
16 setlocal iskeyword+=-
|
1125
|
17
|
|
18 syn keyword zshTodo contained TODO FIXME XXX NOTE
|
|
19
|
6823
|
20 syn region zshComment oneline start='\%(^\|\s*\)#' end='$'
|
1125
|
21 \ contains=zshTodo,@Spell
|
|
22
|
|
23 syn match zshPreProc '^\%1l#\%(!\|compdef\|autoload\).*$'
|
|
24
|
|
25 syn match zshQuoted '\\.'
|
|
26 syn region zshString matchgroup=zshStringDelimiter start=+"+ end=+"+
|
|
27 \ contains=zshQuoted,@zshDerefs,@zshSubst
|
|
28 syn region zshString matchgroup=zshStringDelimiter start=+'+ end=+'+
|
|
29 " XXX: This should probably be more precise, but Zsh seems a bit confused about it itself
|
|
30 syn region zshPOSIXString matchgroup=zshStringDelimiter start=+\$'+
|
|
31 \ end=+'+ contains=zshQuoted
|
|
32 syn match zshJobSpec '%\(\d\+\|?\=\w\+\|[%+-]\)'
|
|
33
|
|
34 syn keyword zshPrecommand noglob nocorrect exec command builtin - time
|
|
35
|
6823
|
36 syn keyword zshDelimiter do done end
|
1125
|
37
|
|
38 syn keyword zshConditional if then elif else fi case in esac select
|
|
39
|
1698
|
40 syn keyword zshRepeat while until repeat
|
|
41
|
|
42 syn keyword zshRepeat for foreach nextgroup=zshVariable skipwhite
|
1125
|
43
|
|
44 syn keyword zshException always
|
|
45
|
|
46 syn keyword zshKeyword function nextgroup=zshKSHFunction skipwhite
|
|
47
|
|
48 syn match zshKSHFunction contained '\k\+'
|
|
49 syn match zshFunction '^\s*\k\+\ze\s*()'
|
|
50
|
|
51 syn match zshOperator '||\|&&\|;\|&!\='
|
7
|
52
|
1125
|
53 syn match zshRedir '\d\=\(<\|<>\|<<<\|<&\s*[0-9p-]\=\)'
|
|
54 syn match zshRedir '\d\=\(>\|>>\|>&\s*[0-9p-]\=\|&>\|>>&\|&>>\)[|!]\='
|
|
55 syn match zshRedir '|&\='
|
|
56
|
1698
|
57 syn region zshHereDoc matchgroup=zshRedir
|
|
58 \ start='<\@<!<<\s*\z([^<]\S*\)'
|
|
59 \ end='^\z1\>'
|
|
60 \ contains=@zshSubst
|
|
61 syn region zshHereDoc matchgroup=zshRedir
|
|
62 \ start='<\@<!<<\s*\\\z(\S\+\)'
|
|
63 \ end='^\z1\>'
|
|
64 \ contains=@zshSubst
|
1125
|
65 syn region zshHereDoc matchgroup=zshRedir
|
1698
|
66 \ start='<\@<!<<-\s*\\\=\z(\S\+\)'
|
|
67 \ end='^\s*\z1\>'
|
|
68 \ contains=@zshSubst
|
1125
|
69 syn region zshHereDoc matchgroup=zshRedir
|
6823
|
70 \ start=+<\@<!<<\s*\(["']\)\z(\S\+\)\1+
|
1698
|
71 \ end='^\z1\>'
|
|
72 syn region zshHereDoc matchgroup=zshRedir
|
|
73 \ start=+<\@<!<<-\s*\(["']\)\z(\S\+\)\1+
|
1125
|
74 \ end='^\s*\z1\>'
|
|
75
|
1698
|
76 syn match zshVariable '\<\h\w*' contained
|
|
77
|
|
78 syn match zshVariableDef '\<\h\w*\ze+\=='
|
1125
|
79 " XXX: how safe is this?
|
1698
|
80 syn region zshVariableDef oneline
|
1125
|
81 \ start='\$\@<!\<\h\w*\[' end='\]\ze+\=='
|
|
82 \ contains=@zshSubst
|
|
83
|
|
84 syn cluster zshDerefs contains=zshShortDeref,zshLongDeref,zshDeref
|
7
|
85
|
1125
|
86 if !exists("g:zsh_syntax_variables")
|
|
87 let s:zsh_syntax_variables = 'all'
|
|
88 else
|
|
89 let s:zsh_syntax_variables = g:zsh_syntax_variables
|
|
90 endif
|
|
91
|
|
92 if s:zsh_syntax_variables =~ 'short\|all'
|
|
93 syn match zshShortDeref '\$[!#$*@?_-]\w\@!'
|
|
94 syn match zshShortDeref '\$[=^~]*[#+]*\d\+\>'
|
|
95 endif
|
7
|
96
|
1125
|
97 if s:zsh_syntax_variables =~ 'long\|all'
|
|
98 syn match zshLongDeref '\$\%(ARGC\|argv\|status\|pipestatus\|CPUTYPE\|EGID\|EUID\|ERRNO\|GID\|HOST\|LINENO\|LOGNAME\)'
|
|
99 syn match zshLongDeref '\$\%(MACHTYPE\|OLDPWD OPTARG\|OPTIND\|OSTYPE\|PPID\|PWD\|RANDOM\|SECONDS\|SHLVL\|signals\)'
|
|
100 syn match zshLongDeref '\$\%(TRY_BLOCK_ERROR\|TTY\|TTYIDLE\|UID\|USERNAME\|VENDOR\|ZSH_NAME\|ZSH_VERSION\|REPLY\|reply\|TERM\)'
|
|
101 endif
|
|
102
|
|
103 if s:zsh_syntax_variables =~ 'all'
|
|
104 syn match zshDeref '\$[=^~]*[#+]*\h\w*\>'
|
|
105 else
|
1698
|
106 syn match zshDeref transparent contains=NONE '\$[=^~]*[#+]*\h\w*\>'
|
1125
|
107 endif
|
7
|
108
|
1125
|
109 syn match zshCommands '\%(^\|\s\)[.:]\ze\s'
|
|
110 syn keyword zshCommands alias autoload bg bindkey break bye cap cd
|
|
111 \ chdir clone comparguments compcall compctl
|
|
112 \ compdescribe compfiles compgroups compquote
|
|
113 \ comptags comptry compvalues continue dirs
|
|
114 \ disable disown echo echotc echoti emulate
|
|
115 \ enable eval exec exit export false fc fg
|
|
116 \ functions getcap getln getopts hash history
|
|
117 \ jobs kill let limit log logout popd print
|
|
118 \ printf pushd pushln pwd r read readonly
|
|
119 \ rehash return sched set setcap setopt shift
|
|
120 \ source stat suspend test times trap true
|
|
121 \ ttyctl type ulimit umask unalias unfunction
|
|
122 \ unhash unlimit unset unsetopt vared wait
|
|
123 \ whence where which zcompile zformat zftp zle
|
|
124 \ zmodload zparseopts zprof zpty zregexparse
|
|
125 \ zsocket zstyle ztcp
|
|
126
|
6823
|
127 " Options, generated by: echo ${(j:\n:)options[(I)*]} | sort
|
|
128 syn case ignore
|
|
129 syn keyword zshOptions aliases allexport all_export alwayslastprompt
|
|
130 \ always_lastprompt alwaystoend always_to_end
|
|
131 \ appendhistory append_history autocd autocontinue
|
|
132 \ auto_continue autolist auto_list
|
|
133 \ automenu auto_menu autonamedirs auto_name_dirs
|
|
134 \ autoparamkeys auto_param_keys autoparamslash
|
|
135 \ auto_param_slash autopushd auto_pushd autoremoveslash
|
|
136 \ auto_remove_slash autoresume auto_resume badpattern
|
|
137 \ banghist bang_hist bareglobqual bare_glob_qual
|
|
138 \ bashautolist bash_auto_list bashrematch bash_rematch
|
|
139 \ beep bgnice braceccl brace_ccl braceexpand brace_expand
|
|
140 \ bsdecho bsd_echo caseglob case_glob casematch case_match
|
|
141 \ cbases cdablevars cd_able_vars chasedots chase_dots
|
|
142 \ chaselinks chase_links checkjobs check_jobs
|
|
143 \ clobber combiningchars combining_chars completealiases
|
|
144 \ complete_aliases completeinword complete_in_word
|
|
145 \ continueonerror continue_on_error correct
|
|
146 \ correctall correct_all cprecedences c_precedences
|
|
147 \ cshjunkiehistory csh_junkie_history cshjunkieloops
|
|
148 \ csh_junkie_loops cshjunkiequotes csh_junkie_quotes
|
|
149 \ cshnullcmd csh_null_cmd cshnullglob csh_null_glob
|
|
150 \ debugbeforecmd debug_before_cmd dotglob dot_glob dvorak
|
|
151 \ emacs equals errexit err_exit errreturn err_return evallineno
|
|
152 \ eval_lineno exec extendedglob extended_glob extendedhistory
|
|
153 \ extended_history flowcontrol flow_control forcefloat
|
|
154 \ force_float functionargzero function_arg_zero glob globalexport
|
|
155 \ global_export globalrcs global_rcs globassign glob_assign
|
|
156 \ globcomplete glob_complete globdots glob_dots glob_subst
|
|
157 \ globsubst hashall hash_all hashcmds hash_cmds hashdirs
|
|
158 \ hash_dirs hashexecutablesonly hash_executables_only hashlistall
|
|
159 \ hash_list_all histallowclobber hist_allow_clobber histappend
|
|
160 \ hist_append histbeep hist_beep hist_expand hist_expire_dups_first
|
|
161 \ histexpand histexpiredupsfirst histfcntllock hist_fcntl_lock
|
|
162 \ histfindnodups hist_find_no_dups histignorealldups
|
|
163 \ hist_ignore_all_dups histignoredups hist_ignore_dups
|
|
164 \ histignorespace hist_ignore_space histlexwords hist_lex_words
|
|
165 \ histnofunctions hist_no_functions histnostore hist_no_store
|
|
166 \ histreduceblanks hist_reduce_blanks histsavebycopy
|
|
167 \ hist_save_by_copy histsavenodups hist_save_no_dups
|
|
168 \ histsubstpattern hist_subst_pattern histverify hist_verify
|
|
169 \ hup ignorebraces ignore_braces ignoreclosebraces ignore_close_braces
|
|
170 \ ignoreeof ignore_eof incappendhistory inc_append_history
|
|
171 \ incappendhistorytime inc_append_history_time interactive
|
|
172 \ interactivecomments interactive_comments ksharrays ksh_arrays
|
|
173 \ kshautoload ksh_autoload kshglob ksh_glob kshoptionprint
|
|
174 \ ksh_option_print kshtypeset ksh_typeset kshzerosubscript
|
|
175 \ ksh_zero_subscript listambiguous list_ambiguous listbeep
|
|
176 \ list_beep listpacked list_packed listrowsfirst list_rows_first
|
|
177 \ listtypes list_types localloops local_loops localoptions
|
|
178 \ local_options localpatterns local_patterns localtraps
|
|
179 \ local_traps log login longlistjobs long_list_jobs magicequalsubst
|
|
180 \ magic_equal_subst mailwarn mail_warn mail_warning mark_dirs
|
|
181 \ mailwarning markdirs menucomplete menu_complete monitor
|
|
182 \ multibyte multi_byte multifuncdef multi_func_def multios
|
|
183 \ multi_os nomatch no_match notify nullglob null_glob numericglobsort
|
|
184 \ numeric_glob_sort octalzeroes octal_zeroes onecmd one_cmd
|
|
185 \ overstrike over_strike pathdirs path_dirs pathscript
|
|
186 \ path_script physical pipefail pipe_fail posixaliases
|
|
187 \ posix_aliases posixargzero posix_arg_zero posixbuiltins
|
|
188 \ posix_builtins posixcd posix_cd posixidentifiers posix_identifiers
|
|
189 \ posixjobs posix_jobs posixstrings posix_strings posixtraps
|
|
190 \ posix_traps printeightbit print_eight_bit printexitvalue
|
|
191 \ print_exit_value privileged promptbang prompt_bang promptcr
|
|
192 \ prompt_cr promptpercent prompt_percent promptsp prompt_sp
|
|
193 \ promptsubst prompt_subst promptvars prompt_vars pushdignoredups
|
|
194 \ pushd_ignore_dups pushdminus pushd_minus pushdsilent pushd_silent
|
|
195 \ pushdtohome pushd_to_home rcexpandparam rc_expandparam rcquotes
|
|
196 \ rc_quotes rcs recexact rec_exact rematchpcre re_match_pcre
|
|
197 \ restricted rmstarsilent rm_star_silent rmstarwait rm_star_wait
|
|
198 \ sharehistory share_history shfileexpansion sh_file_expansion
|
|
199 \ shglob sh_glob shinstdin shin_stdin shnullcmd sh_nullcmd
|
|
200 \ shoptionletters sh_option_letters shortloops short_loops shwordsplit
|
|
201 \ sh_word_split singlecommand single_command singlelinezle single_line_zle
|
|
202 \ sourcetrace source_trace stdin sunkeyboardhack sun_keyboard_hack
|
|
203 \ trackall track_all transientrprompt transient_rprompt
|
|
204 \ trapsasync trapasync typesetsilent type_set_silent unset verbose vi
|
|
205 \ warncreateglobal warn_create_global xtrace zle
|
|
206
|
|
207 syn keyword zshOptions noaliases no_aliases noallexport no_allexport noall_export no_all_export noalwayslastprompt no_alwayslastprompt
|
|
208 \ noalways_lastprompt no_always_lastprompt noalwaystoend no_alwaystoend noalways_to_end no_always_to_end
|
|
209 \ noappendhistory no_appendhistory noappend_history no_append_history noautocd no_autocd noautocontinue no_autocontinue
|
|
210 \ noauto_continue no_auto_continue noautolist no_autolist noauto_list no_auto_list
|
|
211 \ noautomenu no_automenu noauto_menu no_auto_menu noautonamedirs no_autonamedirs noauto_name_dirs no_auto_name_dirs
|
|
212 \ noautoparamkeys no_autoparamkeys noauto_param_keys no_auto_param_keys noautoparamslash no_autoparamslash
|
|
213 \ noauto_param_slash no_auto_param_slash noautopushd no_autopushd noauto_pushd no_auto_pushd noautoremoveslash no_autoremoveslash
|
|
214 \ noauto_remove_slash no_auto_remove_slash noautoresume no_autoresume noauto_resume no_auto_resume nobadpattern no_badpattern
|
|
215 \ nobanghist no_banghist nobang_hist no_bang_hist nobareglobqual no_bareglobqual nobare_glob_qual no_bare_glob_qual
|
|
216 \ nobashautolist no_bashautolist nobash_auto_list no_bash_auto_list nobashrematch no_bashrematch nobash_rematch no_bash_rematch
|
|
217 \ nobeep no_beep nobgnice no_bgnice nobraceccl no_braceccl nobrace_ccl no_brace_ccl nobraceexpand no_braceexpand nobrace_expand no_brace_expand
|
|
218 \ nobsdecho no_bsdecho nobsd_echo no_bsd_echo nocaseglob no_caseglob nocase_glob no_case_glob nocasematch no_casematch nocase_match no_case_match
|
|
219 \ nocbases no_cbases nocdablevars no_cdablevars nocd_able_vars no_cd_able_vars nochasedots no_chasedots nochase_dots no_chase_dots
|
|
220 \ nochaselinks no_chaselinks nochase_links no_chase_links nocheckjobs no_checkjobs nocheck_jobs no_check_jobs
|
|
221 \ noclobber no_clobber nocombiningchars no_combiningchars nocombining_chars no_combining_chars nocompletealiases no_completealiases
|
|
222 \ nocomplete_aliases no_complete_aliases nocompleteinword no_completeinword nocomplete_in_word no_complete_in_word
|
|
223 \ nocontinueonerror no_continueonerror nocontinue_on_error no_continue_on_error nocorrect no_correct
|
|
224 \ nocorrectall no_correctall nocorrect_all no_correct_all nocprecedences no_cprecedences noc_precedences no_c_precedences
|
|
225 \ nocshjunkiehistory no_cshjunkiehistory nocsh_junkie_history no_csh_junkie_history nocshjunkieloops no_cshjunkieloops
|
|
226 \ nocsh_junkie_loops no_csh_junkie_loops nocshjunkiequotes no_cshjunkiequotes nocsh_junkie_quotes no_csh_junkie_quotes
|
|
227 \ nocshnullcmd no_cshnullcmd nocsh_null_cmd no_csh_null_cmd nocshnullglob no_cshnullglob nocsh_null_glob no_csh_null_glob
|
|
228 \ nodebugbeforecmd no_debugbeforecmd nodebug_before_cmd no_debug_before_cmd nodotglob no_dotglob nodot_glob no_dot_glob nodvorak no_dvorak
|
|
229 \ noemacs no_emacs noequals no_equals noerrexit no_errexit noerr_exit no_err_exit noerrreturn no_errreturn noerr_return no_err_return noevallineno no_evallineno
|
|
230 \ noeval_lineno no_eval_lineno noexec no_exec noextendedglob no_extendedglob noextended_glob no_extended_glob noextendedhistory no_extendedhistory
|
|
231 \ noextended_history no_extended_history noflowcontrol no_flowcontrol noflow_control no_flow_control noforcefloat no_forcefloat
|
|
232 \ noforce_float no_force_float nofunctionargzero no_functionargzero nofunction_arg_zero no_function_arg_zero noglob no_glob noglobalexport no_globalexport
|
|
233 \ noglobal_export no_global_export noglobalrcs no_globalrcs noglobal_rcs no_global_rcs noglobassign no_globassign noglob_assign no_glob_assign
|
|
234 \ noglobcomplete no_globcomplete noglob_complete no_glob_complete noglobdots no_globdots noglob_dots no_glob_dots noglob_subst no_glob_subst
|
|
235 \ noglobsubst no_globsubst nohashall no_hashall nohash_all no_hash_all nohashcmds no_hashcmds nohash_cmds no_hash_cmds nohashdirs no_hashdirs
|
|
236 \ nohash_dirs no_hash_dirs nohashexecutablesonly no_hashexecutablesonly nohash_executables_only no_hash_executables_only nohashlistall no_hashlistall
|
|
237 \ nohash_list_all no_hash_list_all nohistallowclobber no_histallowclobber nohist_allow_clobber no_hist_allow_clobber nohistappend no_histappend
|
|
238 \ nohist_append no_hist_append nohistbeep no_histbeep nohist_beep no_hist_beep nohist_expand no_hist_expand nohist_expire_dups_first no_hist_expire_dups_first
|
|
239 \ nohistexpand no_histexpand nohistexpiredupsfirst no_histexpiredupsfirst nohistfcntllock no_histfcntllock nohist_fcntl_lock no_hist_fcntl_lock
|
|
240 \ nohistfindnodups no_histfindnodups nohist_find_no_dups no_hist_find_no_dups nohistignorealldups no_histignorealldups
|
|
241 \ nohist_ignore_all_dups no_hist_ignore_all_dups nohistignoredups no_histignoredups nohist_ignore_dups no_hist_ignore_dups
|
|
242 \ nohistignorespace no_histignorespace nohist_ignore_space no_hist_ignore_space nohistlexwords no_histlexwords nohist_lex_words no_hist_lex_words
|
|
243 \ nohistnofunctions no_histnofunctions nohist_no_functions no_hist_no_functions nohistnostore no_histnostore nohist_no_store no_hist_no_store
|
|
244 \ nohistreduceblanks no_histreduceblanks nohist_reduce_blanks no_hist_reduce_blanks nohistsavebycopy no_histsavebycopy
|
|
245 \ nohist_save_by_copy no_hist_save_by_copy nohistsavenodups no_histsavenodups nohist_save_no_dups no_hist_save_no_dups
|
|
246 \ nohistsubstpattern no_histsubstpattern nohist_subst_pattern no_hist_subst_pattern nohistverify no_histverify nohist_verify no_hist_verify
|
|
247 \ nohup no_hup noignorebraces no_ignorebraces noignore_braces no_ignore_braces noignoreclosebraces no_ignoreclosebraces noignore_close_braces no_ignore_close_braces
|
|
248 \ noignoreeof no_ignoreeof noignore_eof no_ignore_eof noincappendhistory no_incappendhistory noinc_append_history no_inc_append_history
|
|
249 \ noincappendhistorytime no_incappendhistorytime noinc_append_history_time no_inc_append_history_time nointeractive no_interactive
|
|
250 \ nointeractivecomments no_interactivecomments nointeractive_comments no_interactive_comments noksharrays no_ksharrays noksh_arrays no_ksh_arrays
|
|
251 \ nokshautoload no_kshautoload noksh_autoload no_ksh_autoload nokshglob no_kshglob noksh_glob no_ksh_glob nokshoptionprint no_kshoptionprint
|
|
252 \ noksh_option_print no_ksh_option_print nokshtypeset no_kshtypeset noksh_typeset no_ksh_typeset nokshzerosubscript no_kshzerosubscript
|
|
253 \ noksh_zero_subscript no_ksh_zero_subscript nolistambiguous no_listambiguous nolist_ambiguous no_list_ambiguous nolistbeep no_listbeep
|
|
254 \ nolist_beep no_list_beep nolistpacked no_listpacked nolist_packed no_list_packed nolistrowsfirst no_listrowsfirst nolist_rows_first no_list_rows_first
|
|
255 \ nolisttypes no_listtypes nolist_types no_list_types nolocalloops no_localloops nolocal_loops no_local_loops nolocaloptions no_localoptions
|
|
256 \ nolocal_options no_local_options nolocalpatterns no_localpatterns nolocal_patterns no_local_patterns nolocaltraps no_localtraps
|
|
257 \ nolocal_traps no_local_traps nolog no_log nologin no_login nolonglistjobs no_longlistjobs nolong_list_jobs no_long_list_jobs nomagicequalsubst no_magicequalsubst
|
|
258 \ nomagic_equal_subst no_magic_equal_subst nomailwarn no_mailwarn nomail_warn no_mail_warn nomail_warning no_mail_warning nomark_dirs no_mark_dirs
|
|
259 \ nomailwarning no_mailwarning nomarkdirs no_markdirs nomenucomplete no_menucomplete nomenu_complete no_menu_complete nomonitor no_monitor
|
|
260 \ nomultibyte no_multibyte nomulti_byte no_multi_byte nomultifuncdef no_multifuncdef nomulti_func_def no_multi_func_def nomultios no_multios
|
|
261 \ nomulti_os no_multi_os nonomatch no_nomatch nono_match no_no_match nonotify no_notify nonullglob no_nullglob nonull_glob no_null_glob nonumericglobsort no_numericglobsort
|
|
262 \ nonumeric_glob_sort no_numeric_glob_sort nooctalzeroes no_octalzeroes nooctal_zeroes no_octal_zeroes noonecmd no_onecmd noone_cmd no_one_cmd
|
|
263 \ nooverstrike no_overstrike noover_strike no_over_strike nopathdirs no_pathdirs nopath_dirs no_path_dirs nopathscript no_pathscript
|
|
264 \ nopath_script no_path_script nophysical no_physical nopipefail no_pipefail nopipe_fail no_pipe_fail noposixaliases no_posixaliases
|
|
265 \ noposix_aliases no_posix_aliases noposixargzero no_posixargzero noposix_arg_zero no_posix_arg_zero noposixbuiltins no_posixbuiltins
|
|
266 \ noposix_builtins no_posix_builtins noposixcd no_posixcd noposix_cd no_posix_cd noposixidentifiers no_posixidentifiers noposix_identifiers no_posix_identifiers
|
|
267 \ noposixjobs no_posixjobs noposix_jobs no_posix_jobs noposixstrings no_posixstrings noposix_strings no_posix_strings noposixtraps no_posixtraps
|
|
268 \ noposix_traps no_posix_traps noprinteightbit no_printeightbit noprint_eight_bit no_print_eight_bit noprintexitvalue no_printexitvalue
|
|
269 \ noprint_exit_value no_print_exit_value noprivileged no_privileged nopromptbang no_promptbang noprompt_bang no_prompt_bang nopromptcr no_promptcr
|
|
270 \ noprompt_cr no_prompt_cr nopromptpercent no_promptpercent noprompt_percent no_prompt_percent nopromptsp no_promptsp noprompt_sp no_prompt_sp
|
|
271 \ nopromptsubst no_promptsubst noprompt_subst no_prompt_subst nopromptvars no_promptvars noprompt_vars no_prompt_vars nopushdignoredups no_pushdignoredups
|
|
272 \ nopushd_ignore_dups no_pushd_ignore_dups nopushdminus no_pushdminus nopushd_minus no_pushd_minus nopushdsilent no_pushdsilent nopushd_silent no_pushd_silent
|
|
273 \ nopushdtohome no_pushdtohome nopushd_to_home no_pushd_to_home norcexpandparam no_rcexpandparam norc_expandparam no_rc_expandparam norcquotes no_rcquotes
|
|
274 \ norc_quotes no_rc_quotes norcs no_rcs norecexact no_recexact norec_exact no_rec_exact norematchpcre no_rematchpcre nore_match_pcre no_re_match_pcre
|
|
275 \ norestricted no_restricted normstarsilent no_rmstarsilent norm_star_silent no_rm_star_silent normstarwait no_rmstarwait norm_star_wait no_rm_star_wait
|
|
276 \ nosharehistory no_sharehistory noshare_history no_share_history noshfileexpansion no_shfileexpansion nosh_file_expansion no_sh_file_expansion
|
|
277 \ noshglob no_shglob nosh_glob no_sh_glob noshinstdin no_shinstdin noshin_stdin no_shin_stdin noshnullcmd no_shnullcmd nosh_nullcmd no_sh_nullcmd
|
|
278 \ noshoptionletters no_shoptionletters nosh_option_letters no_sh_option_letters noshortloops no_shortloops noshort_loops no_short_loops noshwordsplit no_shwordsplit
|
|
279 \ nosh_word_split no_sh_word_split nosinglecommand no_singlecommand nosingle_command no_single_command nosinglelinezle no_singlelinezle nosingle_line_zle no_single_line_zle
|
|
280 \ nosourcetrace no_sourcetrace nosource_trace no_source_trace nostdin no_stdin nosunkeyboardhack no_sunkeyboardhack nosun_keyboard_hack no_sun_keyboard_hack
|
|
281 \ notrackall no_trackall notrack_all no_track_all notransientrprompt no_transientrprompt notransient_rprompt no_transient_rprompt
|
|
282 \ notrapsasync no_trapsasync notrapasync no_trapasync notypesetsilent no_typesetsilent notype_set_silent no_type_set_silent nounset no_unset noverbose no_verbose novi no_vi
|
|
283 \ nowarncreateglobal no_warncreateglobal nowarn_create_global no_warn_create_global noxtrace no_xtrace nozle no_zle
|
|
284 syn case match
|
|
285
|
1125
|
286 syn keyword zshTypes float integer local typeset declare
|
7
|
287
|
1125
|
288 " XXX: this may be too much
|
|
289 " syn match zshSwitches '\s\zs--\=[a-zA-Z0-9-]\+'
|
7
|
290
|
1125
|
291 syn match zshNumber '[+-]\=\<\d\+\>'
|
|
292 syn match zshNumber '[+-]\=\<0x\x\+\>'
|
|
293 syn match zshNumber '[+-]\=\<0\o\+\>'
|
|
294 syn match zshNumber '[+-]\=\d\+#[-+]\=\w\+\>'
|
|
295 syn match zshNumber '[+-]\=\d\+\.\d\+\>'
|
7
|
296
|
1698
|
297 " TODO: $[...] is the same as $((...)), so add that as well.
|
1125
|
298 syn cluster zshSubst contains=zshSubst,zshOldSubst,zshMathSubst
|
|
299 syn region zshSubst matchgroup=zshSubstDelim transparent
|
|
300 \ start='\$(' skip='\\)' end=')' contains=TOP
|
|
301 syn region zshParentheses transparent start='(' skip='\\)' end=')'
|
|
302 syn region zshMathSubst matchgroup=zshSubstDelim transparent
|
|
303 \ start='\$((' skip='\\)'
|
|
304 \ matchgroup=zshSubstDelim end='))'
|
|
305 \ contains=zshParentheses,@zshSubst,zshNumber,
|
|
306 \ @zshDerefs,zshString
|
|
307 syn region zshBrackets contained transparent start='{' skip='\\}'
|
|
308 \ end='}'
|
|
309 syn region zshSubst matchgroup=zshSubstDelim start='\${' skip='\\}'
|
1698
|
310 \ end='}' contains=@zshSubst,zshBrackets,zshQuoted,zshString
|
1125
|
311 syn region zshOldSubst matchgroup=zshSubstDelim start=+`+ skip=+\\`+
|
|
312 \ end=+`+ contains=TOP,zshOldSubst
|
7
|
313
|
6823
|
314 syn sync minlines=50 maxlines=90
|
1698
|
315 syn sync match zshHereDocSync grouphere NONE '<<-\=\s*\%(\\\=\S\+\|\(["']\)\S\+\1\)'
|
|
316 syn sync match zshHereDocEndSync groupthere NONE '^\s*EO\a\+\>'
|
|
317
|
1125
|
318 hi def link zshTodo Todo
|
|
319 hi def link zshComment Comment
|
|
320 hi def link zshPreProc PreProc
|
|
321 hi def link zshQuoted SpecialChar
|
|
322 hi def link zshString String
|
|
323 hi def link zshStringDelimiter zshString
|
|
324 hi def link zshPOSIXString zshString
|
|
325 hi def link zshJobSpec Special
|
|
326 hi def link zshPrecommand Special
|
|
327 hi def link zshDelimiter Keyword
|
|
328 hi def link zshConditional Conditional
|
|
329 hi def link zshException Exception
|
|
330 hi def link zshRepeat Repeat
|
|
331 hi def link zshKeyword Keyword
|
|
332 hi def link zshFunction None
|
|
333 hi def link zshKSHFunction zshFunction
|
|
334 hi def link zshHereDoc String
|
6823
|
335 hi def link zshOperator None
|
|
336 hi def link zshRedir Operator
|
1125
|
337 hi def link zshVariable None
|
1698
|
338 hi def link zshVariableDef zshVariable
|
1125
|
339 hi def link zshDereferencing PreProc
|
|
340 if s:zsh_syntax_variables =~ 'short\|all'
|
|
341 hi def link zshShortDeref zshDereferencing
|
|
342 else
|
|
343 hi def link zshShortDeref None
|
|
344 endif
|
|
345 if s:zsh_syntax_variables =~ 'long\|all'
|
|
346 hi def link zshLongDeref zshDereferencing
|
|
347 else
|
|
348 hi def link zshLongDeref None
|
|
349 endif
|
|
350 if s:zsh_syntax_variables =~ 'all'
|
|
351 hi def link zshDeref zshDereferencing
|
|
352 else
|
|
353 hi def link zshDeref None
|
|
354 endif
|
|
355 hi def link zshCommands Keyword
|
6823
|
356 hi def link zshOptions Constant
|
1125
|
357 hi def link zshTypes Type
|
|
358 hi def link zshSwitches Special
|
|
359 hi def link zshNumber Number
|
|
360 hi def link zshSubst PreProc
|
|
361 hi def link zshMathSubst zshSubst
|
|
362 hi def link zshOldSubst zshSubst
|
|
363 hi def link zshSubstDelim zshSubst
|
7
|
364
|
|
365 let b:current_syntax = "zsh"
|
|
366
|
1125
|
367 let &cpo = s:cpo_save
|
|
368 unlet s:cpo_save
|