annotate runtime/syntax/tcsh.vim @ 29208:b8dc0a76911e v8.2.5123

patch 8.2.5123: using invalid index when looking for spell suggestions Commit: https://github.com/vim/vim/commit/156d3911952d73b03d7420dc3540215247db0fe8 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jun 18 14:09:08 2022 +0100 patch 8.2.5123: using invalid index when looking for spell suggestions Problem: Using invalid index when looking for spell suggestions. Solution: Do not decrement the index when it is zero.
author Bram Moolenaar <Bram@vim.org>
date Sat, 18 Jun 2022 15:15:04 +0200
parents 3b34837f4538
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
1 " Vim syntax file
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
2 " Language: tcsh scripts
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
3 " Maintainer: Doug Kearns <dougkearns@gmail.com>
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
4 " Previous Maintainer: Gautam Iyer <gi1242+vim@NoSpam.com> where NoSpam=gmail (Original Author)
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
5 " Last Change: 2021 Oct 15
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
6
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 " Description: We break up each statement into a "command" and an "end" part.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 " All groups are either a "command" or part of the "end" of a statement (ie
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 " everything after the "command"). This is because blindly highlighting tcsh
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 " statements as keywords caused way too many false positives. Eg:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 "
775
f04f56979d84 updated for version 7.0227
vimboss
parents: 376
diff changeset
12 " set history=200
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 " causes history to come up as a keyword, which we want to avoid.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 " Quit when a syntax file was already loaded
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
17 if exists('b:current_syntax')
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 finish
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
21 let s:oldcpo = &cpo
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
22 set cpo&vim " Line continuation is used
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
23
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
24 syn iskeyword @,48-57,_,192-255,-
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
25
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 syn case match
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
28 " ----- Clusters ----- {{{1
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29 syn cluster tcshModifiers contains=tcshModifier,tcshModifierError
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 syn cluster tcshQuoteList contains=tcshDQuote,tcshSQuote,tcshBQuote
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
31 syn cluster tcshStatementEnds contains=@tcshQuoteList,tcshComment,@tcshVarList,tcshRedir,tcshMeta,tcshHereDoc,tcshSpecial,tcshArgument
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
32 syn cluster tcshStatements contains=tcshBuiltin,tcshCommands,tcshIf,tcshWhile
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 syn cluster tcshVarList contains=tcshUsrVar,tcshArgv,tcshSubst
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
34 syn cluster tcshConditions contains=tcshCmdSubst,tcshParenExpr,tcshOperator,tcshNumber,@tcshVarList
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
35
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
36 " ----- Errors ----- {{{1
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
37 " Define first, so can be easily overridden.
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
38 syn match tcshError contained '\v\S.+'
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
40 " ----- Statements ----- {{{1
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41 " Tcsh commands: Any filename / modifiable variable (must be first!)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42 syn match tcshCommands '\v[a-zA-Z0-9\\./_$:-]+' contains=tcshSpecial,tcshUsrVar,tcshArgv,tcshVarError nextgroup=tcshStatementEnd
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
44 " Builtin commands except those treated specially. Currently (un)set(env),
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
45 " (un)alias, if, while, else, bindkey
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
46 syn 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
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
48 " StatementEnd is anything after a built-in / command till the lexical end of a
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 " statement (;, |, ||, |&, && or end of line)
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
50 syn region tcshStatementEnd transparent contained matchgroup=tcshBuiltin start='' end='\v\\@<!(;|\|[|&]?|\&\&|$)' contains=@tcshStatementEnds
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 " set expressions (Contains shell variables)
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
53 syn 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
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
54 syn keyword tcshBuiltin nextgroup=tcshSetEnd set unset
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
55 syn region tcshSetEnd contained transparent matchgroup=tcshBuiltin start='' skip='\\$' end='$\|;' contains=tcshShellVar,@tcshStatementEnds
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
57 " setenv expressions (Contains environment variables)
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58 syn 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
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
59 syn keyword tcshBuiltin nextgroup=tcshEnvEnd setenv unsetenv
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
60 syn region tcshEnvEnd contained transparent matchgroup=tcshBuiltin start='' skip='\\$' end='$\|;' contains=tcshEnvVar,@tcshStatementEnds
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62 " alias and unalias (contains special aliases)
1121
e63691e7c504 updated for version 7.1a
vimboss
parents: 775
diff changeset
63 syn keyword tcshAliases contained beepcmd cwdcmd jobcmd helpcommand periodic precmd postcmd shell
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
64 syn keyword tcshBuiltin nextgroup=tcshAliCmd skipwhite alias unalias
2034
7bc41231fbc7 Update runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1619
diff changeset
65 syn match tcshAliCmd contained nextgroup=tcshAliEnd skipwhite '\v(\w|-)+' contains=tcshAliases
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
66 syn region tcshAliEnd contained transparent matchgroup=tcshBuiltin start='' skip='\\$' end='$\|;' contains=@tcshStatementEnds
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
68 " if statements
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
69 syn keyword tcshIf nextgroup=tcshIfEnd skipwhite if
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
70 syn region tcshIfEnd contained start='\S' skip='\\$' matchgroup=tcshBuiltin end='\v<then>|$' contains=@tcshConditions,tcshSpecial,@tcshStatementEnds
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
71 syn region tcshIfEnd contained matchgroup=tcshBuiltin contains=@tcshConditions,tcshSpecial start='(' end='\v\)%(\s+then>)?' skipwhite nextgroup=@tcshStatementEnds
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
72 syn region tcshIfEnd contained matchgroup=tcshBuiltin contains=tcshCommands,tcshSpecial start='\v\{\s+' end='\v\s+\}%(\s+then>)?' skipwhite nextgroup=@tcshStatementEnds keepend
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
74 " else statements
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
75 syn keyword tcshBuiltin nextgroup=tcshIf skipwhite else
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77 " while statements (contains expressions / operators)
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
78 syn keyword tcshBuiltin nextgroup=@tcshConditions,tcshSpecial skipwhite while
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
79
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
80 " Conditions (for if and while)
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
81 syn region tcshParenExpr contained contains=@tcshConditions,tcshSpecial matchgroup=tcshBuiltin start='(' end=')'
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
82 syn region tcshCmdSubst contained contains=tcshCommands matchgroup=tcshBuiltin start='\v\{\s+' end='\v\s+\}' keepend
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
83
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
84 " Bindkey. Internal editor functions
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
85 syn keyword tcshBindkeyFuncs contained backward-char backward-delete-char
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
86 \ backward-delete-word backward-kill-line backward-word
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
87 \ beginning-of-line capitalize-word change-case
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
88 \ change-till-end-of-line clear-screen complete-word
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
89 \ complete-word-fwd complete-word-back complete-word-raw
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
90 \ copy-prev-word copy-region-as-kill dabbrev-expand delete-char
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
91 \ delete-char-or-eof delete-char-or-list
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
92 \ delete-char-or-list-or-eof delete-word digit digit-argument
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
93 \ down-history downcase-word end-of-file end-of-line
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
94 \ exchange-point-and-mark expand-glob expand-history expand-line
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
95 \ expand-variables forward-char forward-word
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
96 \ gosmacs-transpose-chars history-search-backward
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
97 \ history-search-forward insert-last-word i-search-fwd
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
98 \ i-search-back keyboard-quit kill-line kill-region
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
99 \ kill-whole-line list-choices list-choices-raw list-glob
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
100 \ list-or-eof load-average magic-space newline newline-and-hold
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
101 \ newline-and-down-history normalize-path normalize-command
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
102 \ overwrite-mode prefix-meta quoted-insert redisplay
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
103 \ run-fg-editor run-help self-insert-command sequence-lead-in
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
104 \ set-mark-command spell-word spell-line stuff-char
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
105 \ toggle-literal-history transpose-chars transpose-gosling
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
106 \ tty-dsusp tty-flush-output tty-sigintr tty-sigquit tty-sigtsusp
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
107 \ tty-start-output tty-stop-output undefined-key
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
108 \ universal-argument up-history upcase-word
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
109 \ vi-beginning-of-next-word vi-add vi-add-at-eol vi-chg-case
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
110 \ vi-chg-meta vi-chg-to-eol vi-cmd-mode vi-cmd-mode-complete
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
111 \ vi-delprev vi-delmeta vi-endword vi-eword vi-char-back
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
112 \ vi-char-fwd vi-charto-back vi-charto-fwd vi-insert
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
113 \ vi-insert-at-bol vi-repeat-char-fwd vi-repeat-char-back
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
114 \ vi-repeat-search-fwd vi-repeat-search-back vi-replace-char
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
115 \ vi-replace-mode vi-search-back vi-search-fwd vi-substitute-char
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
116 \ vi-substitute-line vi-word-back vi-word-fwd vi-undo vi-zero
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
117 \ which-command yank yank-pop e_copy_to_clipboard
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
118 \ e_paste_from_clipboard e_dosify_next e_dosify_prev e_page_up
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
119 \ e_page_down
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
120 syn keyword tcshBuiltin nextgroup=tcshBindkeyEnd bindkey
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
121 syn region tcshBindkeyEnd contained transparent matchgroup=tcshBuiltin start='' skip='\\$' end='$' contains=@tcshQuoteList,tcshComment,@tcshVarList,tcshMeta,tcshSpecial,tcshArgument,tcshBindkeyFuncs
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
123 " Expressions start with @.
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
124 syn match tcshExprStart '\v\@\s+' nextgroup=tcshExprVar
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
125 syn match tcshExprVar contained '\v\h\w*%(\[\d+\])?' contains=tcshShellVar,tcshEnvVar nextgroup=tcshExprOp
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
126 syn match tcshExprOp contained '++\|--'
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
127 syn match tcshExprOp contained '\v\s*\=' nextgroup=tcshExprEnd
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
128 syn match tcshExprEnd contained '\v.*$'hs=e+1 contains=@tcshConditions
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
129 syn match tcshExprEnd contained '\v.{-};'hs=e contains=@tcshConditions
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
130
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
131 " ----- Comments: ----- {{{1
1121
e63691e7c504 updated for version 7.1a
vimboss
parents: 775
diff changeset
132 syn match tcshComment '#\s.*' contains=tcshTodo,tcshCommentTi,@Spell
e63691e7c504 updated for version 7.1a
vimboss
parents: 775
diff changeset
133 syn match tcshComment '\v#($|\S.*)' contains=tcshTodo,tcshCommentTi
e63691e7c504 updated for version 7.1a
vimboss
parents: 775
diff changeset
134 syn match tcshSharpBang '^#! .*$'
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
135 syn match tcshCommentTi contained '\v#\s*\u\w*(\s+\u\w*)*:'hs=s+1 contains=tcshTodo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
136 syn match tcshTodo contained '\v\c<todo>'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
137
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
138 " ----- Strings ----- {{{1
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
139 " Tcsh does not allow \" in strings unless the "backslash_quote" shell
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
140 " variable is set. Set the vim variable "tcsh_backslash_quote" to 0 if you
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
141 " want VIM to assume that no backslash quote constructs exist.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
142
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
143 " Backquotes are treated as commands, and are not contained in anything
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
144 if exists('tcsh_backslash_quote') && tcsh_backslash_quote == 0
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
145 syn region tcshSQuote keepend contained start="\v\\@<!'" end="'"
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
146 syn region tcshDQuote keepend contained start='\v\\@<!"' end='"' contains=@tcshVarList,tcshSpecial,@Spell
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
147 syn region tcshBQuote keepend start='\v\\@<!`' end='`' contains=@tcshStatements
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
148 else
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
149 syn region tcshSQuote contained start="\v\\@<!'" skip="\v\\\\|\\'" end="'"
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
150 syn region tcshDQuote contained start='\v\\@<!"' end='"' contains=@tcshVarList,tcshSpecial,@Spell
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
151 syn region tcshBQuote keepend matchgroup=tcshBQuoteGrp start='\v\\@<!`' skip='\v\\\\|\\`' end='`' contains=@tcshStatements
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
152 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
153
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
154 " ----- Variables ----- {{{1
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
155 " Variable Errors. Must come first! \$ constructs will be flagged by
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
156 " tcshSpecial, so we don't consider them here.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
157 syn match tcshVarError '\v\$\S*' contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
158
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
159 " Modifiable Variables without {}.
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
160 syn match tcshUsrVar contained '\v\$\h\w*%(\[\d+%(-\d+)?\])?' nextgroup=@tcshModifiers contains=tcshShellVar,tcshEnvVar
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
161 syn match tcshArgv contained '\v\$%(\d+|\*)' nextgroup=@tcshModifiers
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
162
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
163 " Modifiable Variables with {}.
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
164 syn match tcshUsrVar contained '\v\$\{\h\w*%(\[\d+%(-\d+)?\])?%(:\S*)?\}' contains=@tcshModifiers,tcshShellVar,tcshEnvVar
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
165 syn match tcshArgv contained '\v\$\{%(\d+|\*)%(:\S*)?\}' contains=@tcshModifiers
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
166
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
167 " Un-modifiable Substitutions. Order is important here.
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
168 syn match tcshSubst contained '\v\$[?#$!_<]' nextgroup=tcshModifierError
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
169 syn match tcshSubst contained '\v\$[%#?]%(\h\w*|\d+)' nextgroup=tcshModifierError contains=tcshShellVar,tcshEnvVar
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
170 syn match tcshSubst contained '\v\$\{[%#?]%(\h\w*|\d+)%(:\S*)?\}' contains=tcshModifierError contains=tcshShellVar,tcshEnvVar
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
171
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
172 " Variable Name Expansion Modifiers (order important)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
173 syn match tcshModifierError contained '\v:\S*'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
174 syn match tcshModifier contained '\v:[ag]?[htreuls&qx]' nextgroup=@tcshModifiers
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
175
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
176 " ----- Operators / Specials ----- {{{1
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
177 " Standard redirects (except <<) [<, >, >>, >>&, >>!, >>&!]
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
178 syn match tcshRedir contained '\v\<|\>\>?\&?!?'
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
179
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
180 " Meta-chars
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
181 syn match tcshMeta contained '\v[]{}*?[]'
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
182
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
183 " Here documents (<<)
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
184 syn region tcshHereDoc contained matchgroup=tcshShellVar start='\v\<\<\s*\z(\h\w*)' end='^\z1$' contains=@tcshVarList,tcshSpecial
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
185 syn 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$'
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
186
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
187 " Operators
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
188 syn match tcshOperator contained '&&\|!\~\|!=\|<<\|<=\|==\|=\~\|>=\|>>\|\*\|\^\|\~\|||\|!\|%\|&\|+\|-\|/\|<\|>\||'
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
189 "syn match tcshOperator contained '[(){}]'
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
190
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
191 " Numbers
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
192 syn match tcshNumber contained '\v<-?\d+>'
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
193
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
194 " Arguments
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
195 syn match tcshArgument contained '\v\s@<=-(\w|-)*'
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
196
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
197 " Special characters. \xxx, or backslashed characters.
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
198 "syn match tcshSpecial contained '\v\\@<!\\(\d{3}|.)'
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
199 syn match tcshSpecial contained '\v\\%([0-7]{3}|.)'
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
200
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
201 " ----- Synchronising ----- {{{1
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
202 if exists('tcsh_minlines')
2034
7bc41231fbc7 Update runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1619
diff changeset
203 if tcsh_minlines == 'fromstart'
7bc41231fbc7 Update runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1619
diff changeset
204 syn sync fromstart
7bc41231fbc7 Update runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1619
diff changeset
205 else
7bc41231fbc7 Update runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1619
diff changeset
206 exec 'syn sync minlines=' . tcsh_minlines
7bc41231fbc7 Update runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1619
diff changeset
207 endif
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
208 else
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
209 syn sync minlines=100 " Some completions can be quite long
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
210 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
211
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
212 " ----- Highlighting ----- {{{1
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
213 " Define highlighting of syntax groups
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
214 hi def link tcshError Error
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
215 hi def link tcshBuiltin Statement
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
216 hi def link tcshShellVar Preproc
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
217 hi def link tcshEnvVar tcshShellVar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
218 hi def link tcshAliases tcshShellVar
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
219 hi def link tcshAliCmd Identifier
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
220 hi def link tcshCommands Identifier
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
221 hi def link tcshIf tcshBuiltin
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
222 hi def link tcshWhile tcshBuiltin
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
223 hi def link tcshBindkeyFuncs Function
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
224 hi def link tcshExprStart tcshBuiltin
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
225 hi def link tcshExprVar tcshUsrVar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
226 hi def link tcshExprOp tcshOperator
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
227 hi def link tcshExprEnd tcshOperator
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
228 hi def link tcshComment Comment
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
229 hi def link tcshCommentTi Preproc
775
f04f56979d84 updated for version 7.0227
vimboss
parents: 376
diff changeset
230 hi def link tcshSharpBang tcshCommentTi
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
231 hi def link tcshTodo Todo
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
232 hi def link tcshSQuote Constant
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
233 hi def link tcshDQuote tcshSQuote
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
234 hi def link tcshBQuoteGrp Include
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
235 hi def link tcshVarError Error
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
236 hi def link tcshUsrVar Type
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
237 hi def link tcshArgv tcshUsrVar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
238 hi def link tcshSubst tcshUsrVar
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
239 hi def link tcshModifier tcshArgument
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
240 hi def link tcshModifierError tcshVarError
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
241 hi def link tcshMeta tcshSubst
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
242 hi def link tcshRedir tcshOperator
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
243 hi def link tcshHereDoc tcshSQuote
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
244 hi def link tcshOperator Operator
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
245 hi def link tcshNumber Number
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
246 hi def link tcshArgument Special
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
247 hi def link tcshSpecial SpecialChar
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
248 " }}}
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
249
1619
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
250 let &cpo = s:oldcpo
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
251 unlet s:oldcpo
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
252
b9740fb41986 updated for version 7.2a
vimboss
parents: 1121
diff changeset
253 let b:current_syntax = 'tcsh'
25973
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
254
3b34837f4538 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 25880
diff changeset
255 " vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker: