From 8c720f6b9d3217e2a9449ce13aac02406edbbb4e Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Sun, 26 Dec 2021 11:03:25 +0100 Subject: vim-patch:partial fa3b72348d88 (#16780) Update runtime files https://github.com/vim/vim/commit/fa3b72348d88343390fbe212cfc230fec1602fc2 omit doc/eval.txt (needs 8.2.3864) doc/map.txt (needs 8.2.3619) menu.vim (needs 8.2.0413) --- runtime/syntax/debcontrol.vim | 20 ++-- runtime/syntax/dep3patch.vim | 57 +++++++++++ runtime/syntax/dtd.vim | 6 +- runtime/syntax/xml.vim | 12 ++- runtime/syntax/zsh.vim | 223 +++--------------------------------------- 5 files changed, 89 insertions(+), 229 deletions(-) create mode 100644 runtime/syntax/dep3patch.vim (limited to 'runtime/syntax') diff --git a/runtime/syntax/debcontrol.vim b/runtime/syntax/debcontrol.vim index 25fc252de6..8b65ece4ca 100644 --- a/runtime/syntax/debcontrol.vim +++ b/runtime/syntax/debcontrol.vim @@ -3,7 +3,7 @@ " Maintainer: Debian Vim Maintainers " Former Maintainers: Gerfried Fuchs " Wichert Akkerman -" Last Change: 2020 Oct 26 +" Last Change: 2021 Nov 26 " URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debcontrol.vim " Standard syntax initialization @@ -91,6 +91,11 @@ syn case ignore " Handle all fields from deb-src-control(5) +" Catch-all for the legal fields +syn region debcontrolField matchgroup=debcontrolKey start="^\%(\%(XSBC-Original-\)\=Maintainer\|Standards-Version\|Bugs\|Origin\|X[SB]-Python-Version\|\%(XS-\)\=Vcs-Mtn\|\%(XS-\)\=Testsuite\%(-Triggers\)\=\|Build-Profiles\|Tag\|Subarchitecture\|Kernel-Version\|Installer-Menu-Item\): " end="$" contains=debcontrolVariable,debcontrolEmail oneline +syn region debcontrolMultiField matchgroup=debcontrolKey start="^\%(Build-\%(Conflicts\|Depends\)\%(-Arch\|-Indep\)\=\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Breaks\|Enhances\|Replaces\|Conflicts\|Provides\|Built-Using\|Uploaders\|X[SBC]\{0,3\}\%(Private-\)\=-[-a-zA-Z0-9]\+\): *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolEmail,debcontrolVariable,debcontrolComment +syn region debcontrolMultiFieldSpell matchgroup=debcontrolKey start="^Description: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolEmail,debcontrolVariable,debcontrolComment,@Spell + " Fields for which we do strict syntax checking syn region debcontrolStrictField matchgroup=debcontrolKey start="^Architecture: *" end="$" contains=debcontrolArchitecture,debcontrolSpace oneline syn region debcontrolStrictField matchgroup=debcontrolKey start="^Multi-Arch: *" end="$" contains=debcontrolMultiArch oneline @@ -99,20 +104,15 @@ syn region debcontrolStrictField matchgroup=debcontrolKey start="^Priority: *" e syn region debcontrolStrictField matchgroup=debcontrolKey start="^Section: *" end="$" contains=debcontrolSection oneline syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(XC-\)\=Package-Type: *" end="$" contains=debcontrolPackageType oneline syn region debcontrolStrictField matchgroup=debcontrolKey start="^Homepage: *" end="$" contains=debcontrolHTTPUrl oneline keepend -syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(XS-\)\=Vcs-\%(Browser\|Arch\|Bzr\|Darcs\|Hg\): *" end="$" contains=debcontrolHTTPUrl oneline keepend -syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(XS-\)\=Vcs-Svn: *" end="$" contains=debcontrolVcsSvn,debcontrolHTTPUrl oneline keepend -syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(XS-\)\=Vcs-Cvs: *" end="$" contains=debcontrolVcsCvs oneline keepend -syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(XS-\)\=Vcs-Git: *" end="$" contains=debcontrolVcsGit oneline keepend +syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(XS-[-a-zA-Z0-9]\+-\)\=Vcs-\%(Browser\|Arch\|Bzr\|Darcs\|Hg\): *" end="$" contains=debcontrolHTTPUrl oneline keepend +syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(XS-[-a-zA-Z0-9]\+-\)\=Vcs-Svn: *" end="$" contains=debcontrolVcsSvn,debcontrolHTTPUrl oneline keepend +syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(XS-[-a-zA-Z0-9]\+-\)\=Vcs-Cvs: *" end="$" contains=debcontrolVcsCvs oneline keepend +syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(XS-[-a-zA-Z0-9]\+-\)\=Vcs-Git: *" end="$" contains=debcontrolVcsGit oneline keepend syn region debcontrolStrictField matchgroup=debcontrolKey start="^Rules-Requires-Root: *" end="$" contains=debcontrolR3 oneline syn region debcontrolStrictField matchgroup=debcontrolKey start="^\%(Build-\)\=Essential: *" end="$" contains=debcontrolYesNo oneline syn region debcontrolStrictField matchgroup=debcontrolDeprecatedKey start="^\%(XS-\)\=DM-Upload-Allowed: *" end="$" contains=debcontrolDmUpload oneline -" Catch-all for the other legal fields -syn region debcontrolField matchgroup=debcontrolKey start="^\%(\%(XSBC-Original-\)\=Maintainer\|Standards-Version\|Bugs\|Origin\|X[SB]-Python-Version\|\%(XS-\)\=Vcs-Mtn\|\%(XS-\)\=Testsuite\%(-Triggers\)\=\|Build-Profiles\|Tag\|Subarchitecture\|Kernel-Version\|Installer-Menu-Item\): " end="$" contains=debcontrolVariable,debcontrolEmail oneline -syn region debcontrolMultiField matchgroup=debcontrolKey start="^\%(Build-\%(Conflicts\|Depends\)\%(-Arch\|-Indep\)\=\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Breaks\|Enhances\|Replaces\|Conflicts\|Provides\|Built-Using\|Uploaders\|X[SBC]\{0,3\}\%(Private-\)\=-[-a-zA-Z0-9]\+\): *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolEmail,debcontrolVariable,debcontrolComment -syn region debcontrolMultiFieldSpell matchgroup=debcontrolKey start="^Description: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolEmail,debcontrolVariable,debcontrolComment,@Spell - " Associate our matches and regions with pretty colours hi def link debcontrolKey Keyword hi def link debcontrolField Normal diff --git a/runtime/syntax/dep3patch.vim b/runtime/syntax/dep3patch.vim new file mode 100644 index 0000000000..8b2cee629c --- /dev/null +++ b/runtime/syntax/dep3patch.vim @@ -0,0 +1,57 @@ +" Vim syntax file +" Language: Debian DEP3 Patch headers +" Maintainer: Gabriel Filion +" Last Change: 2021-01-09 +" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/dep3patch.vim +" +" Specification of the DEP3 patch header format is available at: +" https://dep-team.pages.debian.net/deps/dep3/ + +" Standard syntax initialization +if exists('b:current_syntax') + finish +endif + +runtime! syntax/diff.vim +unlet! b:current_syntax + +let s:cpo_save = &cpo +set cpo&vim + +syn region dep3patchHeaders start="\%^" end="^\%(---\)\@=" contains=dep3patchKey,dep3patchMultiField + +syn case ignore + +syn region dep3patchMultiField matchgroup=dep3patchKey start="^\%(Description\|Subject\)\ze: *" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contained contains=@Spell +syn region dep3patchMultiField matchgroup=dep3patchKey start="^Origin\ze: *" end="$" contained contains=dep3patchHTTPUrl,dep3patchCommitID,dep3patchOriginCategory oneline keepend +syn region dep3patchMultiField matchgroup=dep3patchKey start="^Bug\%(-[[:graph:]]\+\)\?\ze: *" end="$" contained contains=dep3patchHTTPUrl oneline keepend +syn region dep3patchMultiField matchgroup=dep3patchKey start="^Forwarded\ze: *" end="$" contained contains=dep3patchHTTPUrl,dep3patchForwardedShort oneline keepend +syn region dep3patchMultiField matchgroup=dep3patchKey start="^\%(Author\|From\)\ze: *" end="$" contained contains=dep3patchEmail oneline keepend +syn region dep3patchMultiField matchgroup=dep3patchKey start="^\%(Reviewed-by\|Acked-by\)\ze: *" end="$" contained contains=dep3patchEmail oneline keepend +syn region dep3patchMultiField matchgroup=dep3patchKey start="^Last-Updated\ze: *" end="$" contained contains=dep3patchISODate oneline keepend +syn region dep3patchMultiField matchgroup=dep3patchKey start="^Applied-Upstream\ze: *" end="$" contained contains=dep3patchHTTPUrl,dep3patchCommitID oneline keepend + +syn match dep3patchHTTPUrl contained "\vhttps?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$" +syn match dep3patchCommitID contained "commit:[[:alnum:]]\+" +syn match dep3patchOriginCategory contained "\%(upstream\|backport\|vendor\|other\), " +syn match dep3patchForwardedShort contained "\%(yes\|no\|not-needed\), " +syn match dep3patchEmail "[_=[:alnum:]\.+-]\+@[[:alnum:]\./\-]\+" +syn match dep3patchEmail "<.\{-}>" +syn match dep3patchISODate "[[:digit:]]\{4}-[[:digit:]]\{2}-[[:digit:]]\{2}" + +" Associate our matches and regions with pretty colours +hi def link dep3patchKey Keyword +hi def link dep3patchOriginCategory Keyword +hi def link dep3patchForwardedShort Keyword +hi def link dep3patchMultiField Normal +hi def link dep3patchHTTPUrl Identifier +hi def link dep3patchCommitID Identifier +hi def link dep3patchEmail Identifier +hi def link dep3patchISODate Identifier + +let b:current_syntax = 'dep3patch' + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: ts=8 sw=2 diff --git a/runtime/syntax/dtd.vim b/runtime/syntax/dtd.vim index ef0592e1d1..58f07c98dd 100644 --- a/runtime/syntax/dtd.vim +++ b/runtime/syntax/dtd.vim @@ -45,7 +45,7 @@ if !exists("dtd_no_tag_errors") syn region dtdError contained start=++ endif -" if this is a html like comment hightlight also +" if this is a html like comment highlight also " the opening as Comment. syn region dtdComment start=++ contains=dtdTodo,@Spell @@ -99,8 +99,8 @@ syn match dtdEntity "&[^; \t]*;" contains=dtdEntityPunct syn match dtdEntityPunct contained "[&.;]" " Strings are between quotes -syn region dtdString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=dtdAttrDef,dtdAttrType,dtdEnum,dtdParamEntityInst,dtdEntity,dtdCard -syn region dtdString start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=dtdAttrDef,dtdAttrType,dtdEnum,dtdParamEntityInst,dtdEntity,dtdCard +syn region dtdString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=dtdAttrDef,dtdAttrType,dtdParamEntityInst,dtdEntity,dtdCard +syn region dtdString start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=dtdAttrDef,dtdAttrType,dtdParamEntityInst,dtdEntity,dtdCard " Enumeration of elements or data between parenthesis " diff --git a/runtime/syntax/xml.vim b/runtime/syntax/xml.vim index 7c9791a7cc..d99f8b467a 100644 --- a/runtime/syntax/xml.vim +++ b/runtime/syntax/xml.vim @@ -10,6 +10,7 @@ " 20190923 - Fix xmlEndTag to match xmlTag (vim/vim#884) " 20190924 - Fix xmlAttribute property (amadeus/vim-xml@d8ce1c946) " 20191103 - Enable spell checking globally +" 20210428 - Improve syntax synchronizing " CONFIGURATION: " syntax folding can be turned on by @@ -302,9 +303,12 @@ unlet b:current_syntax " synchronizing -" TODO !!! to be improved !!! -syn sync match xmlSyncDT grouphere xmlDocType +\_.\(+ + +" The following is slow on large documents (and the doctype is optional +" syn sync match xmlSyncDT grouphere xmlDocType +\_.\(+ if exists('g:xml_syntax_folding') @@ -313,7 +317,7 @@ if exists('g:xml_syntax_folding') syn sync match xmlSync groupthere xmlRegion +"']\+>+ endif -syn sync minlines=100 +syn sync minlines=100 maxlines=200 " The default highlighting. @@ -354,4 +358,4 @@ let b:current_syntax = "xml" let &cpo = s:xml_cpo_save unlet s:xml_cpo_save -" vim: ts=8 +" vim: ts=4 diff --git a/runtime/syntax/zsh.vim b/runtime/syntax/zsh.vim index 819c419228..bab89b916e 100644 --- a/runtime/syntax/zsh.vim +++ b/runtime/syntax/zsh.vim @@ -41,11 +41,12 @@ if get(g:, 'zsh_fold_enable', 0) setlocal foldmethod=syntax endif +syn match zshQuoted '\\.' syn match zshPOSIXQuoted '\\[xX][0-9a-fA-F]\{1,2}' syn match zshPOSIXQuoted '\\[0-7]\{1,3}' syn match zshPOSIXQuoted '\\u[0-9a-fA-F]\{1,4}' syn match zshPOSIXQuoted '\\U[1-9a-fA-F]\{1,8}' -syn match zshQuoted '\\.' + syn region zshString matchgroup=zshStringDelimiter start=+"+ end=+"+ \ contains=zshQuoted,@zshDerefs,@zshSubst fold syn region zshString matchgroup=zshStringDelimiter start=+'+ end=+'+ fold @@ -133,217 +134,15 @@ syn keyword zshCommands alias autoload bg bindkey break bye cap cd \ zmodload zparseopts zprof zpty zrecompile \ zregexparse zsocket zstyle ztcp -" Options, generated by: echo ${(j:\n:)options[(I)*]} | sort -" Create a list of option names from zsh source dir: -" #!/bin/zsh -" topdir=/path/to/zsh-xxx -" grep '^pindex([A-Za-z_]*)$' $topdir/Doc/Zsh/options.yo | -" while read opt -" do -" echo ${${(L)opt#pindex\(}%\)} -" done - +" Options, generated by from the zsh source with the make-options.zsh script. syn case ignore - -syn match zshOptStart /^\s*\%(\%(\%(un\)\?setopt\)\|set\s+[-+]o\)/ nextgroup=zshOption skipwhite -syn match zshOption / - \ \%(\%(\\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?alias_func_def\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?all_export\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?always_last_prompt\>\)\|\%(\%(no_\?\)\?always_lastprompt\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?always_to_end\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?append_create\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?append_history\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?auto_cd\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?auto_continue\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?auto_list\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?auto_menu\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?auto_name_dirs\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?auto_param_keys\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?auto_param_slash\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?auto_pushd\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?auto_remove_slash\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?auto_resume\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?bad_pattern\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?bang_hist\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?bare_glob_qual\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?bash_auto_list\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?bash_rematch\>\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?bg_nice\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?brace_ccl\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?brace_expand\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?bsd_echo\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?case_glob\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?case_match\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?c_bases\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?cdable_vars\>\)\|\%(\%(no_\?\)\?cd_able_vars\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?cd_silent\>\)\|\%(\%(no_\?\)\?cd_silent\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?chase_dots\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?chase_links\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?check_jobs\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?check_running_jobs\>\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?clobber_empty\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?combining_chars\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?complete_aliases\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?complete_in_word\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?continue_on_error\>\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?correct_all\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?c_precedences\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?csh_junkie_history\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?csh_junkie_loops\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?csh_junkie_quotes\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?csh_null_cmd\>\)\|\%(\%(no_\?\)\?cshnullcmd\>\)\|\%(\%(no_\?\)\?csh_null_cmd\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?csh_null_glob\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?debug_before_cmd\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?dot_glob\>\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?err_exit\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?err_return\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?eval_lineno\>\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?extended_glob\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?extended_history\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?flow_control\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?force_float\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?function_argzero\>\)\|\%(\%(no_\?\)\?function_arg_zero\>\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?global_export\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?global_rcs\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?glob_assign\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?glob_complete\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?glob_dots\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?globsubst\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?glob_star_short\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?hash_all\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?hash_cmds\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?hash_dirs\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?hash_executables_only\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?hash_list_all\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?hist_allow_clobber\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?hist_append\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?hist_beep\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?histexpand\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?histexpiredupsfirst\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?hist_fcntl_lock\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?hist_find_no_dups\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?hist_ignore_all_dups\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?hist_ignore_dups\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?hist_ignore_space\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?hist_lex_words\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?hist_no_functions\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?hist_no_store\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?hist_reduce_blanks\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?hist_save_by_copy\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?hist_save_no_dups\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?hist_subst_pattern\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?hist_verify\>\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?ignore_braces\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?ignore_close_braces\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?ignore_eof\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?inc_append_history\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?inc_append_history_time\>\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?interactive_comments\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?ksh_arrays\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?ksh_autoload\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?ksh_glob\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?ksh_option_print\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?ksh_typeset\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?ksh_zero_subscript\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?list_ambiguous\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?list_beep\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?list_packed\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?list_rows_first\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?list_types\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?local_loops\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?local_options\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?local_patterns\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?local_traps\>\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?long_list_jobs\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?magic_equal_subst\>\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?mail_warn\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?mail_warning\>\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?menu_complete\>\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?multi_byte\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?multi_func_def\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?multi_os\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?no_match\>\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?null_glob\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?numeric_glob_sort\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?octal_zeroes\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?one_cmd\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?over_strike\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?path_dirs\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?path_script\>\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?pipe_fail\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?posix_aliases\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?posix_arg_zero\>\)\|\%(\%(no_\?\)\?posix_argzero\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?posix_builtins\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?posix_cd\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?posix_identifiers\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?posix_jobs\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?posix_strings\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?posix_traps\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?print_eight_bit\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?print_exit_value\>\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?prompt_bang\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?prompt_cr\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?prompt_percent\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?prompt_sp\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?prompt_subst\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?prompt_vars\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?pushd_ignore_dups\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?pushd_minus\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?pushd_silent\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?pushd_to_home\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?rc_expandparam\>\)\|\%(\%(no_\?\)\?rc_expand_param\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?rc_quotes\>\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?rec_exact\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?re_match_pcre\>\)\|\%(\%(no_\?\)\?rematch_pcre\>\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?rm_star_silent\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?rm_star_wait\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?share_history\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?sh_file_expansion\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?sh_glob\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?shin_stdin\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?sh_nullcmd\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?sh_option_letters\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?short_loops\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?short_repeat\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?sh_word_split\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?single_command\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?single_line_zle\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?source_trace\>\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?sun_keyboard_hack\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?track_all\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?transient_rprompt\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?traps_async\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?type_set_silent\>\)\|\%(\%(no_\?\)\?typeset_silent\>\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?warn_nested_var\>\)\| - \ \%(\%(\\)\|\%(\%(no_\?\)\?warn_create_global\>\)\| - \ \%(\%(\\)\| - \ \%(\%(\\)/ nextgroup=zshOption,zshComment skipwhite contained - +syn match zshOptStart + \ /\v^\s*%(%(un)?setopt|set\s+[-+]o)/ + \ nextgroup=zshOption skipwhite +syn match zshOption nextgroup=zshOption,zshComment skipwhite contained /\v + \ <%(no_?)?%( + \ auto_?cd|auto_?pushd|cdable_?vars|cd_?silent|chase_?dots|chase_?links|posix_?cd|pushd_?ignore_?dups|pushd_?minus|pushd_?silent|pushd_?to_?home|always_?last_?prompt|always_?to_?end|auto_?list|auto_?menu|auto_?name_?dirs|auto_?param_?keys|auto_?param_?slash|auto_?remove_?slash|bash_?auto_?list|complete_?aliases|complete_?in_?word|glob_?complete|hash_?list_?all|list_?ambiguous|list_?beep|list_?packed|list_?rows_?first|list_?types|menu_?complete|rec_?exact|bad_?pattern|bare_?glob_?qual|brace_?ccl|case_?glob|case_?match|case_?paths|csh_?null_?glob|equals|extended_?glob|force_?float|glob|glob_?assign|glob_?dots|glob_?star_?short|glob_?subst|hist_?subst_?pattern|ignore_?braces|ignore_?close_?braces|ksh_?glob|magic_?equal_?subst|mark_?dirs|multibyte|nomatch|null_?glob|numeric_?glob_?sort|rc_?expand_?param|rematch_?pcre|sh_?glob|unset|warn_?create_?global|warn_?nested_?var|warnnestedvar|append_?history|bang_?hist|extended_?history|hist_?allow_?clobber|hist_?beep|hist_?expire_?dups_?first|hist_?fcntl_?lock|hist_?find_?no_?dups|hist_?ignore_?all_?dups|hist_?ignore_?dups|hist_?ignore_?space|hist_?lex_?words|hist_?no_?functions|hist_?no_?store|hist_?reduce_?blanks|hist_?save_?by_?copy|hist_?save_?no_?dups|hist_?verify|inc_?append_?history|inc_?append_?history_?time|share_?history|all_?export|global_?export|global_?rcs|rcs|aliases|clobber|clobber_?empty|correct|correct_?all|dvorak|flow_?control|ignore_?eof|interactive_?comments|hash_?cmds|hash_?dirs|hash_?executables_?only|mail_?warning|path_?dirs|path_?script|print_?eight_?bit|print_?exit_?value|rc_?quotes|rm_?star_?silent|rm_?star_?wait|short_?loops|short_?repeat|sun_?keyboard_?hack|auto_?continue|auto_?resume|bg_?nice|check_?jobs|check_?running_?jobs|hup|long_?list_?jobs|monitor|notify|posix_?jobs|prompt_?bang|prompt_?cr|prompt_?sp|prompt_?percent|prompt_?subst|transient_?rprompt|alias_?func_?def|c_?bases|c_?precedences|debug_?before_?cmd|err_?exit|err_?return|eval_?lineno|exec|function_?argzero|local_?loops|local_?options|local_?patterns|local_?traps|multi_?func_?def|multios|octal_?zeroes|pipe_?fail|source_?trace|typeset_?silent|typeset_?to_?unset|verbose|xtrace|append_?create|bash_?rematch|bsd_?echo|continue_?on_?error|csh_?junkie_?history|csh_?junkie_?loops|csh_?junkie_?quotes|csh_?nullcmd|ksh_?arrays|ksh_?autoload|ksh_?option_?print|ksh_?typeset|ksh_?zero_?subscript|posix_?aliases|posix_?argzero|posix_?builtins|posix_?identifiers|posix_?strings|posix_?traps|sh_?file_?expansion|sh_?nullcmd|sh_?option_?letters|sh_?word_?split|traps_?async|interactive|login|privileged|restricted|shin_?stdin|single_?command|beep|combining_?chars|emacs|overstrike|single_?line_?zle|vi|zle|brace_?expand|dot_?glob|hash_?all|hist_?append|hist_?expand|log|mail_?warn|one_?cmd|physical|prompt_?vars|stdin|track_?all|no_?match + \)>/ syn case match syn keyword zshTypes float integer local typeset declare private readonly @@ -365,7 +164,7 @@ syn region zshGlob start='(#' end=')' syn region zshMathSubst matchgroup=zshSubstDelim transparent \ start='\%(\$\?\)[<=>]\@