xref: /vim-8.2.3635/runtime/syntax/tcsh.vim (revision 2286304c)
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