1*2286304cSBram Moolenaar" Vim syntax file 2*2286304cSBram Moolenaar" Language: tcsh scripts 3*2286304cSBram Moolenaar" Maintainer: Doug Kearns <[email protected]> 4*2286304cSBram Moolenaar" Previous Maintainer: Gautam Iyer <[email protected]> where NoSpam=gmail (Original Author) 5*2286304cSBram Moolenaar" Last Change: 2021 Oct 15 6*2286304cSBram Moolenaar 7071d4279SBram Moolenaar" Description: We break up each statement into a "command" and an "end" part. 8071d4279SBram Moolenaar" All groups are either a "command" or part of the "end" of a statement (ie 9071d4279SBram Moolenaar" everything after the "command"). This is because blindly highlighting tcsh 10071d4279SBram Moolenaar" statements as keywords caused way too many false positives. Eg: 11071d4279SBram Moolenaar" 12071d4279SBram Moolenaar" set history=200 13071d4279SBram Moolenaar" 14071d4279SBram Moolenaar" causes history to come up as a keyword, which we want to avoid. 15071d4279SBram Moolenaar 16071d4279SBram Moolenaar" Quit when a syntax file was already loaded 17a7241f5fSBram Moolenaarif exists('b:current_syntax') 18071d4279SBram Moolenaar finish 19071d4279SBram Moolenaarendif 20071d4279SBram Moolenaar 21a7241f5fSBram Moolenaarlet s:oldcpo = &cpo 22a7241f5fSBram Moolenaarset cpo&vim " Line continuation is used 23a7241f5fSBram Moolenaar 24*2286304cSBram Moolenaarsyn iskeyword @,48-57,_,192-255,- 25a7241f5fSBram Moolenaar 26071d4279SBram Moolenaarsyn case match 27071d4279SBram Moolenaar 28*2286304cSBram Moolenaar" ----- Clusters ----- {{{1 29071d4279SBram Moolenaarsyn cluster tcshModifiers contains=tcshModifier,tcshModifierError 30071d4279SBram Moolenaarsyn cluster tcshQuoteList contains=tcshDQuote,tcshSQuote,tcshBQuote 31*2286304cSBram Moolenaarsyn cluster tcshStatementEnds contains=@tcshQuoteList,tcshComment,@tcshVarList,tcshRedir,tcshMeta,tcshHereDoc,tcshSpecial,tcshArgument 32a7241f5fSBram Moolenaarsyn cluster tcshStatements contains=tcshBuiltin,tcshCommands,tcshIf,tcshWhile 33071d4279SBram Moolenaarsyn cluster tcshVarList contains=tcshUsrVar,tcshArgv,tcshSubst 34a7241f5fSBram Moolenaarsyn cluster tcshConditions contains=tcshCmdSubst,tcshParenExpr,tcshOperator,tcshNumber,@tcshVarList 35a7241f5fSBram Moolenaar 36*2286304cSBram Moolenaar" ----- Errors ----- {{{1 37a7241f5fSBram Moolenaar" Define first, so can be easily overridden. 38a7241f5fSBram Moolenaarsyn match tcshError contained '\v\S.+' 39071d4279SBram Moolenaar 40*2286304cSBram Moolenaar" ----- Statements ----- {{{1 41071d4279SBram Moolenaar" Tcsh commands: Any filename / modifiable variable (must be first!) 42071d4279SBram Moolenaarsyn match tcshCommands '\v[a-zA-Z0-9\\./_$:-]+' contains=tcshSpecial,tcshUsrVar,tcshArgv,tcshVarError nextgroup=tcshStatementEnd 43071d4279SBram Moolenaar 44a7241f5fSBram Moolenaar" Builtin commands except those treated specially. Currently (un)set(env), 45a7241f5fSBram Moolenaar" (un)alias, if, while, else, bindkey 46*2286304cSBram Moolenaarsyn keyword tcshBuiltin nextgroup=tcshStatementEnd alloc bg break breaksw builtins bye case cd chdir complete continue default dirs echo echotc end endif endsw eval exec exit fg filetest foreach getspath getxvers glob goto hashstat history hup inlib jobs kill limit log login logout ls ls-F migrate newgrp nice nohup notify onintr popd printenv pushd rehash repeat rootnode sched setpath setspath settc setty setxvers shift source stop suspend switch telltc termname time umask uncomplete unhash universe unlimit ver wait warp watchlog where which 47071d4279SBram Moolenaar 48a7241f5fSBram Moolenaar" StatementEnd is anything after a built-in / command till the lexical end of a 49071d4279SBram Moolenaar" statement (;, |, ||, |&, && or end of line) 50a7241f5fSBram Moolenaarsyn region tcshStatementEnd transparent contained matchgroup=tcshBuiltin start='' end='\v\\@<!(;|\|[|&]?|\&\&|$)' contains=@tcshStatementEnds 51071d4279SBram Moolenaar 52071d4279SBram Moolenaar" set expressions (Contains shell variables) 53*2286304cSBram Moolenaarsyn keyword tcshShellVar contained addsuffix afsuser ampm anyerror argv autocorrect autoexpand autolist autologout autorehash backslash_quote catalog cdpath cdtohome color colorcat command compat_expr complete continue continue_args correct csubstnonl cwd dextract dirsfile dirstack dspmbyte dunique echo echo_style edit editors ellipsis euid euser fignore filec gid globdot globstar group highlight histchars histdup histfile histlit history home ignoreeof implicitcd inputmode killdup killring listflags listjobs listlinks listmax listmaxrows loginsh logout mail matchbeep nobeep noclobber noding noglob nokanji nonomatch nostat notify oid owd padhour parseoctal path printexitvalue prompt prompt2 prompt3 promptchars pushdtohome pushdsilent recexact recognize_only_executables rmstar rprompt savedirs savehist sched shell shlvl status symlinks tcsh term time tperiod tty uid user verbose version vimode visiblebell watch who wordchars 54a7241f5fSBram Moolenaarsyn keyword tcshBuiltin nextgroup=tcshSetEnd set unset 55a7241f5fSBram Moolenaarsyn region tcshSetEnd contained transparent matchgroup=tcshBuiltin start='' skip='\\$' end='$\|;' contains=tcshShellVar,@tcshStatementEnds 56071d4279SBram Moolenaar 57a7241f5fSBram Moolenaar" setenv expressions (Contains environment variables) 58071d4279SBram Moolenaarsyn keyword tcshEnvVar contained AFSUSER COLUMNS DISPLAY EDITOR GROUP HOME HOST HOSTTYPE HPATH LANG LC_CTYPE LINES LS_COLORS MACHTYPE NOREBIND OSTYPE PATH PWD REMOTEHOST SHLVL SYSTYPE TERM TERMCAP USER VENDOR VISUAL 59a7241f5fSBram Moolenaarsyn keyword tcshBuiltin nextgroup=tcshEnvEnd setenv unsetenv 60a7241f5fSBram Moolenaarsyn region tcshEnvEnd contained transparent matchgroup=tcshBuiltin start='' skip='\\$' end='$\|;' contains=tcshEnvVar,@tcshStatementEnds 61071d4279SBram Moolenaar 62071d4279SBram Moolenaar" alias and unalias (contains special aliases) 639964e468SBram Moolenaarsyn keyword tcshAliases contained beepcmd cwdcmd jobcmd helpcommand periodic precmd postcmd shell 64a7241f5fSBram Moolenaarsyn keyword tcshBuiltin nextgroup=tcshAliCmd skipwhite alias unalias 655c73622aSBram Moolenaarsyn match tcshAliCmd contained nextgroup=tcshAliEnd skipwhite '\v(\w|-)+' contains=tcshAliases 66a7241f5fSBram Moolenaarsyn region tcshAliEnd contained transparent matchgroup=tcshBuiltin start='' skip='\\$' end='$\|;' contains=@tcshStatementEnds 67071d4279SBram Moolenaar 68a7241f5fSBram Moolenaar" if statements 69a7241f5fSBram Moolenaarsyn keyword tcshIf nextgroup=tcshIfEnd skipwhite if 70a7241f5fSBram Moolenaarsyn region tcshIfEnd contained start='\S' skip='\\$' matchgroup=tcshBuiltin end='\v<then>|$' contains=@tcshConditions,tcshSpecial,@tcshStatementEnds 71a7241f5fSBram Moolenaarsyn region tcshIfEnd contained matchgroup=tcshBuiltin contains=@tcshConditions,tcshSpecial start='(' end='\v\)%(\s+then>)?' skipwhite nextgroup=@tcshStatementEnds 72a7241f5fSBram Moolenaarsyn region tcshIfEnd contained matchgroup=tcshBuiltin contains=tcshCommands,tcshSpecial start='\v\{\s+' end='\v\s+\}%(\s+then>)?' skipwhite nextgroup=@tcshStatementEnds keepend 73071d4279SBram Moolenaar 74a7241f5fSBram Moolenaar" else statements 75a7241f5fSBram Moolenaarsyn keyword tcshBuiltin nextgroup=tcshIf skipwhite else 76071d4279SBram Moolenaar 77071d4279SBram Moolenaar" while statements (contains expressions / operators) 78a7241f5fSBram Moolenaarsyn keyword tcshBuiltin nextgroup=@tcshConditions,tcshSpecial skipwhite while 79a7241f5fSBram Moolenaar 80a7241f5fSBram Moolenaar" Conditions (for if and while) 81a7241f5fSBram Moolenaarsyn region tcshParenExpr contained contains=@tcshConditions,tcshSpecial matchgroup=tcshBuiltin start='(' end=')' 82a7241f5fSBram Moolenaarsyn region tcshCmdSubst contained contains=tcshCommands matchgroup=tcshBuiltin start='\v\{\s+' end='\v\s+\}' keepend 83a7241f5fSBram Moolenaar 84a7241f5fSBram Moolenaar" Bindkey. Internal editor functions 85a7241f5fSBram Moolenaarsyn keyword tcshBindkeyFuncs contained backward-char backward-delete-char 86a7241f5fSBram Moolenaar \ backward-delete-word backward-kill-line backward-word 87a7241f5fSBram Moolenaar \ beginning-of-line capitalize-word change-case 88a7241f5fSBram Moolenaar \ change-till-end-of-line clear-screen complete-word 89a7241f5fSBram Moolenaar \ complete-word-fwd complete-word-back complete-word-raw 90a7241f5fSBram Moolenaar \ copy-prev-word copy-region-as-kill dabbrev-expand delete-char 91a7241f5fSBram Moolenaar \ delete-char-or-eof delete-char-or-list 92a7241f5fSBram Moolenaar \ delete-char-or-list-or-eof delete-word digit digit-argument 93a7241f5fSBram Moolenaar \ down-history downcase-word end-of-file end-of-line 94a7241f5fSBram Moolenaar \ exchange-point-and-mark expand-glob expand-history expand-line 95a7241f5fSBram Moolenaar \ expand-variables forward-char forward-word 96a7241f5fSBram Moolenaar \ gosmacs-transpose-chars history-search-backward 97a7241f5fSBram Moolenaar \ history-search-forward insert-last-word i-search-fwd 98a7241f5fSBram Moolenaar \ i-search-back keyboard-quit kill-line kill-region 99a7241f5fSBram Moolenaar \ kill-whole-line list-choices list-choices-raw list-glob 100*2286304cSBram Moolenaar \ list-or-eof load-average magic-space newline newline-and-hold 101*2286304cSBram Moolenaar \ newline-and-down-history normalize-path normalize-command 102*2286304cSBram Moolenaar \ overwrite-mode prefix-meta quoted-insert redisplay 103*2286304cSBram Moolenaar \ run-fg-editor run-help self-insert-command sequence-lead-in 104*2286304cSBram Moolenaar \ set-mark-command spell-word spell-line stuff-char 105*2286304cSBram Moolenaar \ toggle-literal-history transpose-chars transpose-gosling 106*2286304cSBram Moolenaar \ tty-dsusp tty-flush-output tty-sigintr tty-sigquit tty-sigtsusp 107*2286304cSBram Moolenaar \ tty-start-output tty-stop-output undefined-key 108*2286304cSBram Moolenaar \ universal-argument up-history upcase-word 109a7241f5fSBram Moolenaar \ vi-beginning-of-next-word vi-add vi-add-at-eol vi-chg-case 110a7241f5fSBram Moolenaar \ vi-chg-meta vi-chg-to-eol vi-cmd-mode vi-cmd-mode-complete 111a7241f5fSBram Moolenaar \ vi-delprev vi-delmeta vi-endword vi-eword vi-char-back 112a7241f5fSBram Moolenaar \ vi-char-fwd vi-charto-back vi-charto-fwd vi-insert 113a7241f5fSBram Moolenaar \ vi-insert-at-bol vi-repeat-char-fwd vi-repeat-char-back 114a7241f5fSBram Moolenaar \ vi-repeat-search-fwd vi-repeat-search-back vi-replace-char 115a7241f5fSBram Moolenaar \ vi-replace-mode vi-search-back vi-search-fwd vi-substitute-char 116a7241f5fSBram Moolenaar \ vi-substitute-line vi-word-back vi-word-fwd vi-undo vi-zero 117a7241f5fSBram Moolenaar \ which-command yank yank-pop e_copy_to_clipboard 118a7241f5fSBram Moolenaar \ e_paste_from_clipboard e_dosify_next e_dosify_prev e_page_up 119a7241f5fSBram Moolenaar \ e_page_down 120a7241f5fSBram Moolenaarsyn keyword tcshBuiltin nextgroup=tcshBindkeyEnd bindkey 121*2286304cSBram Moolenaarsyn region tcshBindkeyEnd contained transparent matchgroup=tcshBuiltin start='' skip='\\$' end='$' contains=@tcshQuoteList,tcshComment,@tcshVarList,tcshMeta,tcshSpecial,tcshArgument,tcshBindkeyFuncs 122071d4279SBram Moolenaar 123071d4279SBram Moolenaar" Expressions start with @. 124a7241f5fSBram Moolenaarsyn match tcshExprStart '\v\@\s+' nextgroup=tcshExprVar 125a7241f5fSBram Moolenaarsyn match tcshExprVar contained '\v\h\w*%(\[\d+\])?' contains=tcshShellVar,tcshEnvVar nextgroup=tcshExprOp 126a7241f5fSBram Moolenaarsyn match tcshExprOp contained '++\|--' 127a7241f5fSBram Moolenaarsyn match tcshExprOp contained '\v\s*\=' nextgroup=tcshExprEnd 128a7241f5fSBram Moolenaarsyn match tcshExprEnd contained '\v.*$'hs=e+1 contains=@tcshConditions 129a7241f5fSBram Moolenaarsyn match tcshExprEnd contained '\v.{-};'hs=e contains=@tcshConditions 130071d4279SBram Moolenaar 131*2286304cSBram Moolenaar" ----- Comments: ----- {{{1 1329964e468SBram Moolenaarsyn match tcshComment '#\s.*' contains=tcshTodo,tcshCommentTi,@Spell 1339964e468SBram Moolenaarsyn match tcshComment '\v#($|\S.*)' contains=tcshTodo,tcshCommentTi 1349964e468SBram Moolenaarsyn match tcshSharpBang '^#! .*$' 135071d4279SBram Moolenaarsyn match tcshCommentTi contained '\v#\s*\u\w*(\s+\u\w*)*:'hs=s+1 contains=tcshTodo 136071d4279SBram Moolenaarsyn match tcshTodo contained '\v\c<todo>' 137071d4279SBram Moolenaar 138*2286304cSBram Moolenaar" ----- Strings ----- {{{1 139071d4279SBram Moolenaar" Tcsh does not allow \" in strings unless the "backslash_quote" shell 140071d4279SBram Moolenaar" variable is set. Set the vim variable "tcsh_backslash_quote" to 0 if you 141071d4279SBram Moolenaar" want VIM to assume that no backslash quote constructs exist. 142071d4279SBram Moolenaar 143071d4279SBram Moolenaar" Backquotes are treated as commands, and are not contained in anything 144*2286304cSBram Moolenaarif exists('tcsh_backslash_quote') && tcsh_backslash_quote == 0 145a7241f5fSBram Moolenaar syn region tcshSQuote keepend contained start="\v\\@<!'" end="'" 146071d4279SBram Moolenaar syn region tcshDQuote keepend contained start='\v\\@<!"' end='"' contains=@tcshVarList,tcshSpecial,@Spell 147071d4279SBram Moolenaar syn region tcshBQuote keepend start='\v\\@<!`' end='`' contains=@tcshStatements 148071d4279SBram Moolenaarelse 149a7241f5fSBram Moolenaar syn region tcshSQuote contained start="\v\\@<!'" skip="\v\\\\|\\'" end="'" 150071d4279SBram Moolenaar syn region tcshDQuote contained start='\v\\@<!"' end='"' contains=@tcshVarList,tcshSpecial,@Spell 151071d4279SBram Moolenaar syn region tcshBQuote keepend matchgroup=tcshBQuoteGrp start='\v\\@<!`' skip='\v\\\\|\\`' end='`' contains=@tcshStatements 152071d4279SBram Moolenaarendif 153071d4279SBram Moolenaar 154*2286304cSBram Moolenaar" ----- Variables ----- {{{1 155071d4279SBram Moolenaar" Variable Errors. Must come first! \$ constructs will be flagged by 156071d4279SBram Moolenaar" tcshSpecial, so we don't consider them here. 157071d4279SBram Moolenaarsyn match tcshVarError '\v\$\S*' contained 158071d4279SBram Moolenaar 159071d4279SBram Moolenaar" Modifiable Variables without {}. 160a7241f5fSBram Moolenaarsyn match tcshUsrVar contained '\v\$\h\w*%(\[\d+%(-\d+)?\])?' nextgroup=@tcshModifiers contains=tcshShellVar,tcshEnvVar 161a7241f5fSBram Moolenaarsyn match tcshArgv contained '\v\$%(\d+|\*)' nextgroup=@tcshModifiers 162071d4279SBram Moolenaar 163071d4279SBram Moolenaar" Modifiable Variables with {}. 164a7241f5fSBram Moolenaarsyn match tcshUsrVar contained '\v\$\{\h\w*%(\[\d+%(-\d+)?\])?%(:\S*)?\}' contains=@tcshModifiers,tcshShellVar,tcshEnvVar 165a7241f5fSBram Moolenaarsyn match tcshArgv contained '\v\$\{%(\d+|\*)%(:\S*)?\}' contains=@tcshModifiers 166071d4279SBram Moolenaar 167a7241f5fSBram Moolenaar" Un-modifiable Substitutions. Order is important here. 168a7241f5fSBram Moolenaarsyn match tcshSubst contained '\v\$[?#$!_<]' nextgroup=tcshModifierError 169a7241f5fSBram Moolenaarsyn match tcshSubst contained '\v\$[%#?]%(\h\w*|\d+)' nextgroup=tcshModifierError contains=tcshShellVar,tcshEnvVar 170a7241f5fSBram Moolenaarsyn match tcshSubst contained '\v\$\{[%#?]%(\h\w*|\d+)%(:\S*)?\}' contains=tcshModifierError contains=tcshShellVar,tcshEnvVar 171071d4279SBram Moolenaar 172071d4279SBram Moolenaar" Variable Name Expansion Modifiers (order important) 173071d4279SBram Moolenaarsyn match tcshModifierError contained '\v:\S*' 174071d4279SBram Moolenaarsyn match tcshModifier contained '\v:[ag]?[htreuls&qx]' nextgroup=@tcshModifiers 175071d4279SBram Moolenaar 176*2286304cSBram Moolenaar" ----- Operators / Specials ----- {{{1 177071d4279SBram Moolenaar" Standard redirects (except <<) [<, >, >>, >>&, >>!, >>&!] 178a7241f5fSBram Moolenaarsyn match tcshRedir contained '\v\<|\>\>?\&?!?' 179071d4279SBram Moolenaar 180a7241f5fSBram Moolenaar" Meta-chars 181a7241f5fSBram Moolenaarsyn match tcshMeta contained '\v[]{}*?[]' 182071d4279SBram Moolenaar 183a7241f5fSBram Moolenaar" Here documents (<<) 184a7241f5fSBram Moolenaarsyn region tcshHereDoc contained matchgroup=tcshShellVar start='\v\<\<\s*\z(\h\w*)' end='^\z1$' contains=@tcshVarList,tcshSpecial 185a7241f5fSBram Moolenaarsyn region tcshHereDoc contained matchgroup=tcshShellVar start="\v\<\<\s*'\z(\h\w*)'" start='\v\<\<\s*"\z(\h\w*)"$' start='\v\<\<\s*\\\z(\h\w*)$' end='^\z1$' 186071d4279SBram Moolenaar 187071d4279SBram Moolenaar" Operators 188a7241f5fSBram Moolenaarsyn match tcshOperator contained '&&\|!\~\|!=\|<<\|<=\|==\|=\~\|>=\|>>\|\*\|\^\|\~\|||\|!\|%\|&\|+\|-\|/\|<\|>\||' 189a7241f5fSBram Moolenaar"syn match tcshOperator contained '[(){}]' 190071d4279SBram Moolenaar 191071d4279SBram Moolenaar" Numbers 192a7241f5fSBram Moolenaarsyn match tcshNumber contained '\v<-?\d+>' 193071d4279SBram Moolenaar 194a7241f5fSBram Moolenaar" Arguments 195*2286304cSBram Moolenaarsyn match tcshArgument contained '\v\s@<=-(\w|-)*' 196071d4279SBram Moolenaar 197a7241f5fSBram Moolenaar" Special characters. \xxx, or backslashed characters. 198a7241f5fSBram Moolenaar"syn match tcshSpecial contained '\v\\@<!\\(\d{3}|.)' 199a7241f5fSBram Moolenaarsyn match tcshSpecial contained '\v\\%([0-7]{3}|.)' 200071d4279SBram Moolenaar 201*2286304cSBram Moolenaar" ----- Synchronising ----- {{{1 202a7241f5fSBram Moolenaarif exists('tcsh_minlines') 2035c73622aSBram Moolenaar if tcsh_minlines == 'fromstart' 2045c73622aSBram Moolenaar syn sync fromstart 2055c73622aSBram Moolenaar else 206a7241f5fSBram Moolenaar exec 'syn sync minlines=' . tcsh_minlines 2075c73622aSBram Moolenaar endif 208071d4279SBram Moolenaarelse 209a7241f5fSBram Moolenaar syn sync minlines=100 " Some completions can be quite long 210071d4279SBram Moolenaarendif 211071d4279SBram Moolenaar 212*2286304cSBram Moolenaar" ----- Highlighting ----- {{{1 213071d4279SBram Moolenaar" Define highlighting of syntax groups 214a7241f5fSBram Moolenaarhi def link tcshError Error 215a7241f5fSBram Moolenaarhi def link tcshBuiltin Statement 216a7241f5fSBram Moolenaarhi def link tcshShellVar Preproc 217071d4279SBram Moolenaarhi def link tcshEnvVar tcshShellVar 218071d4279SBram Moolenaarhi def link tcshAliases tcshShellVar 219a7241f5fSBram Moolenaarhi def link tcshAliCmd Identifier 220a7241f5fSBram Moolenaarhi def link tcshCommands Identifier 221a7241f5fSBram Moolenaarhi def link tcshIf tcshBuiltin 222a7241f5fSBram Moolenaarhi def link tcshWhile tcshBuiltin 223a7241f5fSBram Moolenaarhi def link tcshBindkeyFuncs Function 224a7241f5fSBram Moolenaarhi def link tcshExprStart tcshBuiltin 225071d4279SBram Moolenaarhi def link tcshExprVar tcshUsrVar 226071d4279SBram Moolenaarhi def link tcshExprOp tcshOperator 227071d4279SBram Moolenaarhi def link tcshExprEnd tcshOperator 228a7241f5fSBram Moolenaarhi def link tcshComment Comment 229a7241f5fSBram Moolenaarhi def link tcshCommentTi Preproc 230a83c3e0eSBram Moolenaarhi def link tcshSharpBang tcshCommentTi 231a7241f5fSBram Moolenaarhi def link tcshTodo Todo 232a7241f5fSBram Moolenaarhi def link tcshSQuote Constant 233071d4279SBram Moolenaarhi def link tcshDQuote tcshSQuote 234a7241f5fSBram Moolenaarhi def link tcshBQuoteGrp Include 235a7241f5fSBram Moolenaarhi def link tcshVarError Error 236a7241f5fSBram Moolenaarhi def link tcshUsrVar Type 237071d4279SBram Moolenaarhi def link tcshArgv tcshUsrVar 238071d4279SBram Moolenaarhi def link tcshSubst tcshUsrVar 239*2286304cSBram Moolenaarhi def link tcshModifier tcshArgument 240071d4279SBram Moolenaarhi def link tcshModifierError tcshVarError 241071d4279SBram Moolenaarhi def link tcshMeta tcshSubst 242071d4279SBram Moolenaarhi def link tcshRedir tcshOperator 243071d4279SBram Moolenaarhi def link tcshHereDoc tcshSQuote 244a7241f5fSBram Moolenaarhi def link tcshOperator Operator 245a7241f5fSBram Moolenaarhi def link tcshNumber Number 246*2286304cSBram Moolenaarhi def link tcshArgument Special 247a7241f5fSBram Moolenaarhi def link tcshSpecial SpecialChar 248*2286304cSBram Moolenaar" }}} 249071d4279SBram Moolenaar 250a7241f5fSBram Moolenaarlet &cpo = s:oldcpo 251a7241f5fSBram Moolenaarunlet s:oldcpo 252a7241f5fSBram Moolenaar 253a7241f5fSBram Moolenaarlet b:current_syntax = 'tcsh' 254*2286304cSBram Moolenaar 255*2286304cSBram Moolenaar" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker: 256