Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
zsh.vim362 linesDownload Raw Back to syntax
1" Vim syntax file2" Language:             Zsh shell script3" Maintainer:           Christian Brabandt <cb@256bit.org>4" Previous Maintainer:  Nikolai Weibull <now@bitwi.se>5" Latest Revision:      2025 Feb 186" License:              Vim (see :h license)7" Repository:           https://github.com/chrisbra/vim-zsh8 9if exists("b:current_syntax")10  finish11endif12 13let s:cpo_save = &cpo14set cpo&vim15 16function! s:ContainedGroup()17  " needs 7.4.2008 for execute() function18  let result='TOP'19    " vim-pandoc syntax defines the @langname cluster for embedded syntax languages20    " However, if no syntax is defined yet, `syn list @zsh` will return21    " "No syntax items defined", so make sure the result is actually a valid syn cluster22    for cluster in ['markdownHighlight_zsh', 'zsh']23      try24      " markdown syntax defines embedded clusters as @markdownhighlight_<lang>,25      " pandoc just uses @<lang>, so check both for both clusters26        let a=split(execute('syn list @'. cluster), "\n")27        if len(a) == 2 && a[0] =~# '^---' && a[1] =~? cluster28          return  '@'. cluster29        endif30      catch /E392/31        " ignore32      endtry33    endfor34    return result35endfunction36 37let s:contained=s:ContainedGroup()38 39syn iskeyword @,48-57,_,192-255,#,-40 41syn match   zshQuoted           '\\.'42syn match   zshPOSIXQuoted      '\\[xX][0-9a-fA-F]\{1,2}'43syn match   zshPOSIXQuoted      '\\[0-7]\{1,3}'44syn match   zshPOSIXQuoted      '\\u[0-9a-fA-F]\{1,4}'45syn match   zshPOSIXQuoted      '\\U[1-9a-fA-F]\{1,8}'46 47syn region  zshString           matchgroup=zshStringDelimiter start=+"+ end=+"+48                                \ contains=@Spell,zshQuoted,@zshDerefs,@zshSubstQuoted fold49syn region  zshString           matchgroup=zshStringDelimiter start=+'+ end=+'+ fold50                                \ contains=@Spell51syn region  zshPOSIXString      matchgroup=zshStringDelimiter start=+\$'+52                                \ skip=+\\[\\']+ end=+'+ contains=zshPOSIXQuoted,zshQuoted53syn match   zshJobSpec          '%\(\d\+\|?\=\w\+\|[%+-]\)'54 55syn match   zshNumber           '[+-]\=\<\d\+\>'56syn match   zshNumber           '[+-]\=\<0x\x\+\>'57syn match   zshNumber           '[+-]\=\<0\o\+\>'58syn match   zshNumber           '[+-]\=\d\+#[-+]\=\w\+\>'59syn match   zshNumber           '[+-]\=\d\+\.\d\+\>'60 61syn keyword zshPrecommand       noglob nocorrect exec command builtin - time62 63syn keyword zshDelimiter        do done end64 65syn keyword zshConditional      if then elif else fi esac select66 67syn keyword zshCase             case nextgroup=zshCaseWord skipwhite68syn match zshCaseWord           /\S\+/ nextgroup=zshCaseIn skipwhite contained transparent69syn keyword zshCaseIn           in nextgroup=zshComment,zshCasePattern skipwhite skipnl contained70syn match zshCasePattern        /\S[^)]*)/ contained71 72syn keyword zshRepeat           while until repeat73 74syn keyword zshRepeat           for foreach nextgroup=zshVariable skipwhite75 76syn keyword zshException        always77 78syn keyword zshKeyword          function nextgroup=zshKSHFunction skipwhite79 80syn match   zshKSHFunction      contained '\w\S\+'81syn match   zshFunction         '^\s*\k\+\ze\s*()'82 83syn match   zshOperator         '||\|&&\|;\|&!\='84 85                                " <<<, <, <>, and variants.86syn match   zshRedir            '\d\=\(<<<\|<&\s*[0-9p-]\=\|<>\?\)'87                                " >, >>, and variants.88syn match   zshRedir            '\d\=\(>&\s*[0-9p-]\=\|&>>\?\|>>\?&\?\)[|!]\='89                                " | and |&, but only if it's not preceded or90                                " followed by a | to avoid matching ||.91syn match   zshRedir            '|\@1<!|&\=|\@!'92 93syn region  zshHereDoc          matchgroup=zshRedir94                                \ start='<\@<!<<\s*\z([^<]\S*\)'95                                \ end='^\z1$'96                                \ contains=@Spell,@zshSubst,@zshDerefs,zshQuoted,zshPOSIXString97syn region  zshHereDoc          matchgroup=zshRedir98                                \ start='<\@<!<<\s*\\\z(\S\+\)'99                                \ end='^\z1$'100                                \ contains=@Spell101syn region  zshHereDoc          matchgroup=zshRedir102                                \ start='<\@<!<<-\s*\\\=\z(\S\+\)'103                                \ end='^\t*\z1$'104                                \ contains=@Spell105syn region  zshHereDoc          matchgroup=zshRedir106                                \ start=+<\@<!<<\s*\(["']\)\z(\S\+\)\1+107                                \ end='^\z1$'108                                \ contains=@Spell109syn region  zshHereDoc          matchgroup=zshRedir110                                \ start=+<\@<!<<-\s*\(["']\)\z(\S\+\)\1+111                                \ end='^\t*\z1$'112                                \ contains=@Spell113 114syn match   zshVariable         '\<\h\w*' contained115 116syn match   zshVariableDef      '\<\h\w*\ze+\=='117" XXX: how safe is this?118syn region  zshVariableDef      oneline119                                \ start='\$\@<!\<\h\w*\[' end='\]\ze+\?=\?'120                                \ contains=@zshSubst121 122syn cluster zshDerefs           contains=zshShortDeref,zshLongDeref,zshDeref,zshDollarVar123 124syn match zshShortDeref       '\$[!#$*@?_-]\w\@!'125syn match zshShortDeref       '\$[=^~]*[#+]*\d\+\>'126 127syn match zshLongDeref        '\$\%(ARGC\|argv\|status\|pipestatus\|CPUTYPE\|EGID\|EUID\|ERRNO\|GID\|HOST\|LINENO\|LOGNAME\)'128syn match zshLongDeref        '\$\%(MACHTYPE\|OLDPWD OPTARG\|OPTIND\|OSTYPE\|PPID\|PWD\|RANDOM\|SECONDS\|SHLVL\|signals\)'129syn match zshLongDeref        '\$\%(TRY_BLOCK_ERROR\|TTY\|TTYIDLE\|UID\|USERNAME\|VENDOR\|ZSH_NAME\|ZSH_VERSION\|REPLY\|reply\|TERM\)'130 131syn match zshDollarVar        '\$\h\w*'132syn match zshDeref            '\$[=^~]*[#+]*\h\w*\>'133 134syn match   zshCommands         '\%(^\|\s\)[.:]\ze\s'135syn keyword zshCommands         alias autoload bg bindkey break bye cap cd136                                \ chdir clone comparguments compcall compctl137                                \ compdescribe compfiles compgroups compquote138                                \ comptags comptry compvalues continue dirs139                                \ disable disown echo echotc echoti emulate140                                \ enable eval exec exit export false fc fg141                                \ functions getcap getln getopts hash history142                                \ jobs kill let limit log logout popd print143                                \ printf prompt pushd pushln pwd r read144                                \ rehash return sched set setcap shift145                                \ source stat suspend test times trap true146                                \ ttyctl type ulimit umask unalias unfunction147                                \ unhash unlimit unset  vared wait148                                \ whence where which zcompile zformat zftp zle149                                \ zmodload zparseopts zprof zpty zrecompile150                                \ zregexparse zsocket zstyle ztcp151 152" Options, generated by from the zsh source with the make-options.zsh script.153syn case ignore154syn match   zshOptStart155            \ /\v^\s*%(%(un)?setopt|set\s+[-+]o)/156            \ nextgroup=zshOption skipwhite157 158" this list is generated using the make-options.zsh script and the zsh source repository159syn keyword zshOption nextgroup=zshOption,zshComment skipwhite contained160           \ auto_cd no_auto_cd autocd noautocd auto_pushd no_auto_pushd autopushd noautopushd cdable_vars161           \ no_cdable_vars cdablevars nocdablevars cd_silent no_cd_silent cdsilent nocdsilent chase_dots162           \ no_chase_dots chasedots nochasedots chase_links no_chase_links chaselinks nochaselinks posix_cd163           \ posixcd no_posix_cd noposixcd pushd_ignore_dups no_pushd_ignore_dups pushdignoredups164           \ nopushdignoredups pushd_minus no_pushd_minus pushdminus nopushdminus pushd_silent no_pushd_silent165           \ pushdsilent nopushdsilent pushd_to_home no_pushd_to_home pushdtohome nopushdtohome166           \ always_last_prompt no_always_last_prompt alwayslastprompt noalwayslastprompt always_to_end167           \ no_always_to_end alwaystoend noalwaystoend auto_list no_auto_list autolist noautolist auto_menu168           \ no_auto_menu automenu noautomenu auto_name_dirs no_auto_name_dirs autonamedirs noautonamedirs169           \ auto_param_keys no_auto_param_keys autoparamkeys noautoparamkeys auto_param_slash170           \ no_auto_param_slash autoparamslash noautoparamslash auto_remove_slash no_auto_remove_slash171           \ autoremoveslash noautoremoveslash bash_auto_list no_bash_auto_list bashautolist nobashautolist172           \ complete_aliases no_complete_aliases completealiases nocompletealiases complete_in_word173           \ no_complete_in_word completeinword nocompleteinword glob_complete no_glob_complete globcomplete174           \ noglobcomplete hash_list_all no_hash_list_all hashlistall nohashlistall list_ambiguous175           \ no_list_ambiguous listambiguous nolistambiguous list_beep no_list_beep listbeep nolistbeep176           \ list_packed no_list_packed listpacked nolistpacked list_rows_first no_list_rows_first listrowsfirst177           \ nolistrowsfirst list_types no_list_types listtypes nolisttypes menu_complete no_menu_complete178           \ menucomplete nomenucomplete rec_exact no_rec_exact recexact norecexact bad_pattern no_bad_pattern179           \ badpattern nobadpattern bare_glob_qual no_bare_glob_qual bareglobqual nobareglobqual brace_ccl180           \ no_brace_ccl braceccl nobraceccl case_glob no_case_glob caseglob nocaseglob case_match181           \ no_case_match casematch nocasematch case_paths no_case_paths casepaths nocasepaths csh_null_glob182           \ no_csh_null_glob cshnullglob nocshnullglob equals no_equals noequals extended_glob no_extended_glob183           \ extendedglob noextendedglob force_float no_force_float forcefloat noforcefloat glob no_glob noglob184           \ glob_assign no_glob_assign globassign noglobassign glob_dots no_glob_dots globdots noglobdots185           \ glob_star_short no_glob_star_short globstarshort noglobstarshort glob_subst no_glob_subst globsubst186           \ noglobsubst hist_subst_pattern no_hist_subst_pattern histsubstpattern nohistsubstpattern187           \ ignore_braces no_ignore_braces ignorebraces noignorebraces ignore_close_braces188           \ no_ignore_close_braces ignoreclosebraces noignoreclosebraces ksh_glob no_ksh_glob kshglob nokshglob189           \ magic_equal_subst no_magic_equal_subst magicequalsubst nomagicequalsubst mark_dirs no_mark_dirs190           \ markdirs nomarkdirs multibyte no_multibyte nomultibyte nomatch no_nomatch nonomatch null_glob191           \ no_null_glob nullglob nonullglob numeric_glob_sort no_numeric_glob_sort numericglobsort192           \ nonumericglobsort rc_expand_param no_rc_expand_param rcexpandparam norcexpandparam rematch_pcre193           \ no_rematch_pcre rematchpcre norematchpcre sh_glob no_sh_glob shglob noshglob unset no_unset nounset194           \ warn_create_global no_warn_create_global warncreateglobal nowarncreateglobal warn_nested_var195           \ no_warn_nested_var warnnestedvar no_warnnestedvar nowarnnestedvar append_history no_append_history196           \ appendhistory noappendhistory bang_hist no_bang_hist banghist nobanghist extended_history197           \ no_extended_history extendedhistory noextendedhistory hist_allow_clobber no_hist_allow_clobber198           \ histallowclobber nohistallowclobber hist_beep no_hist_beep histbeep nohistbeep199           \ hist_expire_dups_first no_hist_expire_dups_first histexpiredupsfirst nohistexpiredupsfirst200           \ hist_fcntl_lock no_hist_fcntl_lock histfcntllock nohistfcntllock hist_find_no_dups201           \ no_hist_find_no_dups histfindnodups nohistfindnodups hist_ignore_all_dups no_hist_ignore_all_dups202           \ histignorealldups nohistignorealldups hist_ignore_dups no_hist_ignore_dups histignoredups203           \ nohistignoredups hist_ignore_space no_hist_ignore_space histignorespace nohistignorespace204           \ hist_lex_words no_hist_lex_words histlexwords nohistlexwords hist_no_functions no_hist_no_functions205           \ histnofunctions nohistnofunctions hist_no_store no_hist_no_store histnostore nohistnostore206           \ hist_reduce_blanks no_hist_reduce_blanks histreduceblanks nohistreduceblanks hist_save_by_copy207           \ no_hist_save_by_copy histsavebycopy nohistsavebycopy hist_save_no_dups no_hist_save_no_dups208           \ histsavenodups nohistsavenodups hist_verify no_hist_verify histverify nohistverify209           \ inc_append_history no_inc_append_history incappendhistory noincappendhistory210           \ inc_append_history_time no_inc_append_history_time incappendhistorytime noincappendhistorytime211           \ share_history no_share_history sharehistory nosharehistory all_export no_all_export allexport212           \ noallexport global_export no_global_export globalexport noglobalexport global_rcs no_global_rcs213           \ globalrcs noglobalrcs rcs no_rcs norcs aliases no_aliases noaliases clobber no_clobber noclobber214           \ clobber_empty no_clobber_empty clobberempty noclobberempty correct no_correct nocorrect correct_all215           \ no_correct_all correctall nocorrectall dvorak no_dvorak nodvorak flow_control no_flow_control216           \ flowcontrol noflowcontrol ignore_eof no_ignore_eof ignoreeof noignoreeof interactive_comments217           \ no_interactive_comments interactivecomments nointeractivecomments hash_cmds no_hash_cmds hashcmds218           \ nohashcmds hash_dirs no_hash_dirs hashdirs nohashdirs hash_executables_only219           \ no_hash_executables_only hashexecutablesonly nohashexecutablesonly mail_warning no_mail_warning220           \ mailwarning nomailwarning path_dirs no_path_dirs pathdirs nopathdirs path_script no_path_script221           \ pathscript nopathscript print_eight_bit no_print_eight_bit printeightbit noprinteightbit222           \ print_exit_value no_print_exit_value printexitvalue noprintexitvalue rc_quotes no_rc_quotes223           \ rcquotes norcquotes rm_star_silent no_rm_star_silent rmstarsilent normstarsilent rm_star_wait224           \ no_rm_star_wait rmstarwait normstarwait short_loops no_short_loops shortloops noshortloops225           \ short_repeat no_short_repeat shortrepeat noshortrepeat sun_keyboard_hack no_sun_keyboard_hack226           \ sunkeyboardhack nosunkeyboardhack auto_continue no_auto_continue autocontinue noautocontinue227           \ auto_resume no_auto_resume autoresume noautoresume bg_nice no_bg_nice bgnice nobgnice check_jobs228           \ no_check_jobs checkjobs nocheckjobs check_running_jobs no_check_running_jobs checkrunningjobs229           \ nocheckrunningjobs hup no_hup nohup long_list_jobs no_long_list_jobs longlistjobs nolonglistjobs230           \ monitor no_monitor nomonitor notify no_notify nonotify posix_jobs posixjobs no_posix_jobs231           \ noposixjobs prompt_bang no_prompt_bang promptbang nopromptbang prompt_cr no_prompt_cr promptcr232           \ nopromptcr prompt_sp no_prompt_sp promptsp nopromptsp prompt_percent no_prompt_percent233           \ promptpercent nopromptpercent prompt_subst no_prompt_subst promptsubst nopromptsubst234           \ transient_rprompt no_transient_rprompt transientrprompt notransientrprompt alias_func_def235           \ no_alias_func_def aliasfuncdef noaliasfuncdef c_bases no_c_bases cbases nocbases c_precedences236           \ no_c_precedences cprecedences nocprecedences debug_before_cmd no_debug_before_cmd debugbeforecmd237           \ nodebugbeforecmd err_exit no_err_exit errexit noerrexit err_return no_err_return errreturn238           \ noerrreturn eval_lineno no_eval_lineno evallineno noevallineno exec no_exec noexec function_argzero239           \ no_function_argzero functionargzero nofunctionargzero local_loops no_local_loops localloops240           \ nolocalloops local_options no_local_options localoptions nolocaloptions local_patterns241           \ no_local_patterns localpatterns nolocalpatterns local_traps no_local_traps localtraps nolocaltraps242           \ multi_func_def no_multi_func_def multifuncdef nomultifuncdef multios no_multios nomultios243           \ octal_zeroes no_octal_zeroes octalzeroes nooctalzeroes pipe_fail no_pipe_fail pipefail nopipefail244           \ source_trace no_source_trace sourcetrace nosourcetrace typeset_silent no_typeset_silent245           \ typesetsilent notypesetsilent typeset_to_unset no_typeset_to_unset typesettounset notypesettounset246           \ verbose no_verbose noverbose xtrace no_xtrace noxtrace append_create no_append_create appendcreate247           \ noappendcreate bash_rematch no_bash_rematch bashrematch nobashrematch bsd_echo no_bsd_echo bsdecho248           \ nobsdecho continue_on_error no_continue_on_error continueonerror nocontinueonerror249           \ csh_junkie_history no_csh_junkie_history cshjunkiehistory nocshjunkiehistory csh_junkie_loops250           \ no_csh_junkie_loops cshjunkieloops nocshjunkieloops csh_junkie_quotes no_csh_junkie_quotes251           \ cshjunkiequotes nocshjunkiequotes csh_nullcmd no_csh_nullcmd cshnullcmd nocshnullcmd ksh_arrays252           \ no_ksh_arrays ksharrays noksharrays ksh_autoload no_ksh_autoload kshautoload nokshautoload253           \ ksh_option_print no_ksh_option_print kshoptionprint nokshoptionprint ksh_typeset no_ksh_typeset254           \ kshtypeset nokshtypeset ksh_zero_subscript no_ksh_zero_subscript kshzerosubscript255           \ nokshzerosubscript posix_aliases no_posix_aliases posixaliases noposixaliases posix_argzero256           \ no_posix_argzero posixargzero noposixargzero posix_builtins no_posix_builtins posixbuiltins257           \ noposixbuiltins posix_identifiers no_posix_identifiers posixidentifiers noposixidentifiers258           \ posix_strings no_posix_strings posixstrings noposixstrings posix_traps no_posix_traps posixtraps259           \ noposixtraps sh_file_expansion no_sh_file_expansion shfileexpansion noshfileexpansion sh_nullcmd260           \ no_sh_nullcmd shnullcmd noshnullcmd sh_option_letters no_sh_option_letters shoptionletters261           \ noshoptionletters sh_word_split no_sh_word_split shwordsplit noshwordsplit traps_async262           \ no_traps_async trapsasync notrapsasync interactive no_interactive nointeractive login no_login263           \ nologin privileged no_privileged noprivileged restricted no_restricted norestricted shin_stdin264           \ no_shin_stdin shinstdin noshinstdin single_command no_single_command singlecommand nosinglecommand265           \ beep no_beep nobeep combining_chars no_combining_chars combiningchars nocombiningchars emacs266           \ no_emacs noemacs overstrike no_overstrike nooverstrike single_line_zle no_single_line_zle267           \ singlelinezle nosinglelinezle vi no_vi novi zle no_zle nozle brace_expand no_brace_expand268           \ braceexpand nobraceexpand dot_glob no_dot_glob dotglob nodotglob hash_all no_hash_all hashall269           \ nohashall hist_append no_hist_append histappend nohistappend hist_expand no_hist_expand histexpand270           \ nohistexpand log no_log nolog mail_warn no_mail_warn mailwarn nomailwarn one_cmd no_one_cmd onecmd271           \ noonecmd physical no_physical nophysical prompt_vars no_prompt_vars promptvars nopromptvars stdin272           \ no_stdin nostdin track_all no_track_all trackall notrackall273syn case match274 275syn keyword zshTypes            float integer local typeset declare private readonly276 277" XXX: this may be too much278" syn match   zshSwitches         '\s\zs--\=[a-zA-Z0-9-]\+'279 280" TODO: $[...] is the same as $((...)), so add that as well.281syn cluster zshSubst            contains=zshSubst,zshOldSubst,zshMathSubst282syn cluster zshSubstQuoted      contains=zshSubstQuoted,zshOldSubst,zshMathSubst283exe 'syn region  zshSubst       matchgroup=zshSubstDelim transparent start=/\$(/ skip=/\\)/ end=/)/ contains='.s:contained. '  fold'284exe 'syn region  zshSubstQuoted matchgroup=zshSubstDelim transparent start=/\$(/ skip=/\\)/ end=/)/ contains='.s:contained. '  fold'285syn region  zshSubstQuoted       matchgroup=zshSubstDelim start='\${' skip='\\}' end='}' contains=@zshSubst,zshBrackets,zshQuoted fold286syn region  zshParentheses      transparent start='(' skip='\\)' end=')' fold287syn region  zshGlob             start='(#' end=')'288syn region  zshMathSubst        matchgroup=zshSubstDelim transparent289                                \ start='\%(\$\?\)[<=>]\@<!((' skip='\\)' end='))'290                                \ contains=zshParentheses,@zshSubst,zshNumber,291                                \ @zshDerefs,zshString fold292" The ms=s+1 prevents matching zshBrackets several times on opening brackets293" (see https://github.com/chrisbra/vim-zsh/issues/21#issuecomment-576330348)294syn region  zshBrackets         contained transparent start='{'ms=s+1 skip='\\}'295                                \ end='}' fold296exe 'syn region  zshBrackets    transparent start=/{/ms=s+1 skip=/\\}/ end=/}/ contains='.s:contained. ' fold'297 298syn region  zshSubst            matchgroup=zshSubstDelim start='\${' skip='\\}'299                                \ end='}' contains=@zshSubst,zshBrackets,zshQuoted,zshString fold300exe 'syn region  zshOldSubst    matchgroup=zshSubstDelim start=/`/ skip=/\\[\\`]/ end=/`/ contains='.s:contained. ',zshOldSubst fold'301 302syn sync    minlines=50 maxlines=90303syn sync    match zshHereDocSync    grouphere   NONE '<<-\=\s*\%(\\\=\S\+\|\(["']\)\S\+\1\)'304syn sync    match zshHereDocEndSync groupthere  NONE '^\s*EO\a\+\>'305 306syn keyword zshTodo             contained TODO FIXME XXX NOTE307 308syn region  zshComment          oneline start='\%(^\|\s\+\)#' end='$'309                                \ contains=zshTodo,@Spell fold310 311syn region  zshComment          start='^\s*#' end='^\%(\s*#\)\@!'312                                \ contains=zshTodo,@Spell fold313 314syn match   zshPreProc          '^\%1l#\%(!\|compdef\|autoload\).*$'315 316hi def link zshTodo             Todo317hi def link zshComment          Comment318hi def link zshPreProc          PreProc319hi def link zshQuoted           SpecialChar320hi def link zshPOSIXQuoted      SpecialChar321hi def link zshString           String322hi def link zshStringDelimiter  zshString323hi def link zshPOSIXString      zshString324hi def link zshJobSpec          Special325hi def link zshPrecommand       Special326hi def link zshDelimiter        Keyword327hi def link zshConditional      Conditional328hi def link zshCase             zshConditional329hi def link zshCaseIn           zshCase330hi def link zshException        Exception331hi def link zshRepeat           Repeat332hi def link zshKeyword          Keyword333hi def link zshFunction         None334hi def link zshKSHFunction      zshFunction335hi def link zshHereDoc          String336hi def link zshOperator         Operator337hi def link zshRedir            Operator338hi def link zshVariable         None339hi def link zshVariableDef      zshVariable340hi def link zshDereferencing    PreProc341hi def link zshShortDeref       zshDereferencing342hi def link zshLongDeref        zshDereferencing343hi def link zshDeref            zshDereferencing344hi def link zshDollarVar        zshDereferencing345hi def link zshCommands         Keyword346hi def link zshOptStart         Keyword347hi def link zshOption           Constant348hi def link zshTypes            Type349hi def link zshSwitches         Special350hi def link zshNumber           Number351hi def link zshSubst            PreProc352hi def link zshSubstQuoted      zshSubst353hi def link zshMathSubst        zshSubst354hi def link zshOldSubst         zshSubst355hi def link zshSubstDelim       zshSubst356hi def link zshGlob             zshSubst357 358let b:current_syntax = "zsh"359 360let &cpo = s:cpo_save361unlet s:cpo_save362 
codekingpro/portable-devtools · Team Ai