Mercurial > vim
annotate runtime/syntax/sh.vim @ 9737:35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Aug 2 21:04:33 2016 +0200
Updated runtime files.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 02 Aug 2016 21:15:06 +0200 |
parents | 33c1b85d408c |
children | 03fa8a51e9dc |
rev | line source |
---|---|
7 | 1 " Vim syntax file |
2 " Language: shell (sh) Korn shell (ksh) bash (sh) | |
3920 | 3 " Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz> |
7 | 4 " Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int> |
9737
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
5 " Last Change: Jul 29, 2016 |
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
6 " Version: 155 |
6479 | 7 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH |
8 " For options and settings, please use: :help ft-sh-syntax | |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
9 " This file includes many ideas from Eric Brunet (eric.brunet@ens.fr) |
7 | 10 |
22 | 11 " For version 5.x: Clear all syntax items {{{1 |
7 | 12 " For version 6.x: Quit when a syntax file was already loaded |
9344
33c1b85d408c
commit https://github.com/vim/vim/commit/802a0d902fca423acb15f835d7b09183883d79a0
Christian Brabandt <cb@256bit.org>
parents:
9076
diff
changeset
|
13 if v:version < 600 |
7 | 14 syntax clear |
15 elseif exists("b:current_syntax") | |
16 finish | |
17 endif | |
18 | |
3099
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
19 " trying to answer the question: which shell is /bin/sh, really? |
3920 | 20 " If the user has not specified any of g:is_kornshell, g:is_bash, g:is_posix, g:is_sh, then guess. |
9076
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
21 if getline(1) =~ '\<ksh$' |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
22 let b:is_kornshell = 1 |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
23 elseif getline(1) =~ '\<bash$' |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
24 let b:is_bash = 1 |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
25 elseif getline(1) =~ '\<dash$' |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
26 let b:is_posix = 1 |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
27 elseif !exists("g:is_kornshell") && !exists("g:is_bash") && !exists("g:is_posix") && !exists("g:is_sh") |
5138
0d4e0cde36e1
A few updated runtime files.
Bram Moolenaar <bram@vim.org>
parents:
4229
diff
changeset
|
28 let s:shell = "" |
3099
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
29 if executable("/bin/sh") |
5138
0d4e0cde36e1
A few updated runtime files.
Bram Moolenaar <bram@vim.org>
parents:
4229
diff
changeset
|
30 let s:shell = resolve("/bin/sh") |
3099
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
31 elseif executable("/usr/bin/sh") |
5138
0d4e0cde36e1
A few updated runtime files.
Bram Moolenaar <bram@vim.org>
parents:
4229
diff
changeset
|
32 let s:shell = resolve("/usr/bin/sh") |
3099
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
33 endif |
9076
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
34 if s:shell =~ 'ksh$' |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
35 let b:is_kornshell= 1 |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
36 elseif s:shell =~ 'bash$' |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
37 let b:is_bash = 1 |
5138
0d4e0cde36e1
A few updated runtime files.
Bram Moolenaar <bram@vim.org>
parents:
4229
diff
changeset
|
38 elseif s:shell =~ 'dash$' |
9076
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
39 let b:is_posix = 1 |
5138
0d4e0cde36e1
A few updated runtime files.
Bram Moolenaar <bram@vim.org>
parents:
4229
diff
changeset
|
40 endif |
0d4e0cde36e1
A few updated runtime files.
Bram Moolenaar <bram@vim.org>
parents:
4229
diff
changeset
|
41 unlet s:shell |
3099
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
42 endif |
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
43 |
22 | 44 " handling /bin/sh with is_kornshell/is_sh {{{1 |
7 | 45 " b:is_sh is set when "#! /bin/sh" is found; |
46 " However, it often is just a masquerade by bash (typically Linux) | |
47 " or kornshell (typically workstations with Posix "sh"). | |
3099
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
48 " So, when the user sets "g:is_bash", "g:is_kornshell", |
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
49 " or "g:is_posix", a b:is_sh is converted into b:is_bash/b:is_kornshell, |
7 | 50 " respectively. |
51 if !exists("b:is_kornshell") && !exists("b:is_bash") | |
828 | 52 if exists("g:is_posix") && !exists("g:is_kornshell") |
53 let g:is_kornshell= g:is_posix | |
54 endif | |
55 if exists("g:is_kornshell") | |
7 | 56 let b:is_kornshell= 1 |
57 if exists("b:is_sh") | |
58 unlet b:is_sh | |
59 endif | |
828 | 60 elseif exists("g:is_bash") |
7 | 61 let b:is_bash= 1 |
62 if exists("b:is_sh") | |
63 unlet b:is_sh | |
64 endif | |
65 else | |
66 let b:is_sh= 1 | |
67 endif | |
68 endif | |
69 | |
199 | 70 " set up default g:sh_fold_enabled {{{1 |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
71 " ================================ |
7 | 72 if !exists("g:sh_fold_enabled") |
73 let g:sh_fold_enabled= 0 | |
36 | 74 elseif g:sh_fold_enabled != 0 && !has("folding") |
75 let g:sh_fold_enabled= 0 | |
199 | 76 echomsg "Ignoring g:sh_fold_enabled=".g:sh_fold_enabled."; need to re-compile vim for +fold support" |
77 endif | |
1668 | 78 if !exists("s:sh_fold_functions") |
3920 | 79 let s:sh_fold_functions= and(g:sh_fold_enabled,1) |
1668 | 80 endif |
81 if !exists("s:sh_fold_heredoc") | |
3920 | 82 let s:sh_fold_heredoc = and(g:sh_fold_enabled,2) |
1668 | 83 endif |
84 if !exists("s:sh_fold_ifdofor") | |
3920 | 85 let s:sh_fold_ifdofor = and(g:sh_fold_enabled,4) |
1668 | 86 endif |
199 | 87 if g:sh_fold_enabled && &fdm == "manual" |
3920 | 88 " Given that the user provided g:sh_fold_enabled |
89 " AND g:sh_fold_enabled is manual (usual default) | |
90 " implies a desire for syntax-based folding | |
91 setl fdm=syntax | |
7 | 92 endif |
93 | |
8148
f5da459c5698
commit https://github.com/vim/vim/commit/e0fa3742ead676a3074a10edadbc955e1a89153d
Christian Brabandt <cb@256bit.org>
parents:
7557
diff
changeset
|
94 " set up the syntax-highlighting iskeyword |
9076
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
95 if has("patch-7.4.1142") |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
96 if exists("b:is_bash") |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
97 exe "syn iskeyword ".&iskeyword.",-,:" |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
98 else |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
99 exe "syn iskeyword ".&iskeyword.",-" |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
100 endif |
8148
f5da459c5698
commit https://github.com/vim/vim/commit/e0fa3742ead676a3074a10edadbc955e1a89153d
Christian Brabandt <cb@256bit.org>
parents:
7557
diff
changeset
|
101 endif |
f5da459c5698
commit https://github.com/vim/vim/commit/e0fa3742ead676a3074a10edadbc955e1a89153d
Christian Brabandt <cb@256bit.org>
parents:
7557
diff
changeset
|
102 |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
103 " Set up folding commands for shell {{{1 |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
104 " ================================= |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
105 if s:sh_fold_functions |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
106 com! -nargs=* ShFoldFunctions <args> fold |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
107 else |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
108 com! -nargs=* ShFoldFunctions <args> |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
109 endif |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
110 if s:sh_fold_heredoc |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
111 com! -nargs=* ShFoldHereDoc <args> fold |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
112 else |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
113 com! -nargs=* ShFoldHereDoc <args> |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
114 endif |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
115 if s:sh_fold_ifdofor |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
116 com! -nargs=* ShFoldIfDoFor <args> fold |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
117 else |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
118 com! -nargs=* ShFoldIfDoFor <args> |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
119 endif |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
120 |
199 | 121 " sh syntax is case sensitive {{{1 |
7 | 122 syn case match |
123 | |
22 | 124 " Clusters: contains=@... clusters {{{1 |
7 | 125 "================================== |
2034 | 126 syn cluster shErrorList contains=shDoError,shIfError,shInError,shCaseError,shEsacError,shCurlyError,shParenError,shTestError,shOK |
1668 | 127 if exists("b:is_kornshell") |
128 syn cluster ErrorList add=shDTestError | |
129 endif | |
6744 | 130 syn cluster shArithParenList contains=shArithmetic,shCaseEsac,shComment,shDeref,shDo,shDerefSimple,shEcho,shEscape,shNumber,shOperator,shPosnParm,shExSingleQuote,shExDoubleQuote,shRedir,shSingleQuote,shDoubleQuote,shStatement,shVariable,shAlias,shTest,shCtrlSeq,shSpecial,shParen,bashSpecialVariables,bashStatement,shIf,shFor |
1668 | 131 syn cluster shArithList contains=@shArithParenList,shParenError |
2034 | 132 syn cluster shCaseEsacList contains=shCaseStart,shCase,shCaseBar,shCaseIn,shComment,shDeref,shDerefSimple,shCaseCommandSub,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote,shCtrlSeq,@shErrorList,shStringSpecial,shCaseRange |
3099
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
133 syn cluster shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq |
9737
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
134 syn cluster shCommandSubList contains=shAlias,shArithmetic,shComment,shCmdParenRegion,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shEcho,shEscape,shExDoubleQuote,shExpr,shExSingleQuote,shHereDoc,shNumber,shOperator,shOption,shPosnParm,shSingleQuote,shSpecial,shStatement,shSubSh,shTest,shVariable |
464 | 135 syn cluster shCurlyList contains=shNumber,shComma,shDeref,shDerefSimple,shDerefSpecial |
3920 | 136 syn cluster shDblQuoteList contains=shCommandSub,shDeref,shDerefSimple,shEscape,shPosnParm,shCtrlSeq,shSpecial |
7557
502ca0a62fd8
commit https://github.com/vim/vim/commit/acb4f221c715a333f4c49a2235a8006c6ac6e4d5
Christian Brabandt <cb@256bit.org>
parents:
7245
diff
changeset
|
137 syn cluster shDerefList contains=shDeref,shDerefSimple,shDerefVar,shDerefSpecial,shDerefWordError,shDerefPSR,shDerefPPS |
9737
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
138 syn cluster shDerefVarList contains=shDerefOff,shDerefOp,shDerefVarArray,shDerefOpError |
3920 | 139 syn cluster shEchoList contains=shArithmetic,shCommandSub,shDeref,shDerefSimple,shEscape,shExpr,shExSingleQuote,shExDoubleQuote,shSingleQuote,shDoubleQuote,shCtrlSeq,shEchoQuote |
2497 | 140 syn cluster shExprList1 contains=shCharClass,shNumber,shOperator,shExSingleQuote,shExDoubleQuote,shSingleQuote,shDoubleQuote,shExpr,shDblBrace,shDeref,shDerefSimple,shCtrlSeq |
119 | 141 syn cluster shExprList2 contains=@shExprList1,@shCaseList,shTest |
3099
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
142 syn cluster shFunctionList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shOption,shRedir,shSetList,shSource,shStatement,shVariable,shOperator,shCtrlSeq |
1201 | 143 if exists("b:is_kornshell") || exists("b:is_bash") |
1668 | 144 syn cluster shFunctionList add=shRepeat |
1201 | 145 syn cluster shFunctionList add=shDblBrace,shDblParen |
146 endif | |
7 | 147 syn cluster shHereBeginList contains=@shCommandSubList |
148 syn cluster shHereList contains=shBeginHere,shHerePayload | |
149 syn cluster shHereListDQ contains=shBeginHere,@shDblQuoteList,shHerePayload | |
5138
0d4e0cde36e1
A few updated runtime files.
Bram Moolenaar <bram@vim.org>
parents:
4229
diff
changeset
|
150 syn cluster shIdList contains=shCommandSub,shWrapLineOperator,shSetOption,shDeref,shDerefSimple,shRedir,shExSingleQuote,shExDoubleQuote,shSingleQuote,shDoubleQuote,shExpr,shCtrlSeq,shStringSpecial,shAtExpr |
3281 | 151 syn cluster shIfList contains=@shLoopList,shDblBrace,shDblParen,shFunctionKey,shFunctionOne,shFunctionTwo |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
152 syn cluster shLoopList contains=@shCaseList,@shErrorList,shCaseEsac,shConditional,shDblBrace,shExpr,shFor,shForPP,shIf,shOption,shSet,shTest,shTestOpr,shTouch |
9076
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
153 syn cluster shPPSRightList contains=shComment,shDeref,shDerefSimple,shEscape,shPosnParm |
3099
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
154 syn cluster shSubShList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq,shOperator |
7176
30042ddff503
commit https://github.com/vim/vim/commit/60cce2fb736c8ff6fdb9603f502d3c15f1f7a25d
Christian Brabandt <cb@256bit.org>
parents:
6840
diff
changeset
|
155 syn cluster shTestList contains=shCharClass,shCommandSub,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shExDoubleQuote,shExpr,shExSingleQuote,shNumber,shOperator,shSingleQuote,shTest,shTestOpr |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
156 |
22 | 157 " Echo: {{{1 |
7 | 158 " ==== |
159 " This one is needed INSIDE a CommandSub, so that `echo bla` be correct | |
5138
0d4e0cde36e1
A few updated runtime files.
Bram Moolenaar <bram@vim.org>
parents:
4229
diff
changeset
|
160 syn region shEcho matchgroup=shStatement start="\<echo\>" skip="\\$" matchgroup=shEchoDelim end="$" matchgroup=NONE end="[<>;&|()`]"me=e-1 end="\d[<>]"me=e-2 end="\s#"me=e-2 contains=@shEchoList skipwhite nextgroup=shQuickComment |
0d4e0cde36e1
A few updated runtime files.
Bram Moolenaar <bram@vim.org>
parents:
4229
diff
changeset
|
161 syn region shEcho matchgroup=shStatement start="\<print\>" skip="\\$" matchgroup=shEchoDelim end="$" matchgroup=NONE end="[<>;&|()`]"me=e-1 end="\d[<>]"me=e-2 end="\s#"me=e-2 contains=@shEchoList skipwhite nextgroup=shQuickComment |
2034 | 162 syn match shEchoQuote contained '\%(\\\\\)*\\["`'()]' |
7 | 163 |
1668 | 164 " This must be after the strings, so that ... \" will be correct |
2497 | 165 syn region shEmbeddedEcho contained matchgroup=shStatement start="\<print\>" skip="\\$" matchgroup=shEchoDelim end="$" matchgroup=NONE end="[<>;&|`)]"me=e-1 end="\d[<>]"me=e-2 end="\s#"me=e-2 contains=shNumber,shExSingleQuote,shSingleQuote,shDeref,shDerefSimple,shSpecialVar,shOperator,shExDoubleQuote,shDoubleQuote,shCharClass,shCtrlSeq |
7 | 166 |
22 | 167 " Alias: {{{1 |
7 | 168 " ===== |
169 if exists("b:is_kornshell") || exists("b:is_bash") | |
170 syn match shStatement "\<alias\>" | |
3099
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
171 syn region shAlias matchgroup=shStatement start="\<alias\>\s\+\(\h[-._[:alnum:]]\+\)\@=" skip="\\$" end="\>\|`" |
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
172 syn region shAlias matchgroup=shStatement start="\<alias\>\s\+\(\h[-._[:alnum:]]\+=\)\@=" skip="\\$" end="=" |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
173 |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
174 " Touch: {{{1 |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
175 " ===== |
9344
33c1b85d408c
commit https://github.com/vim/vim/commit/802a0d902fca423acb15f835d7b09183883d79a0
Christian Brabandt <cb@256bit.org>
parents:
9076
diff
changeset
|
176 syn match shTouch '\<touch\>[^;#]*' skipwhite nextgroup=shComment contains=shTouchCmd |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
177 syn match shTouchCmd '\<touch\>' contained |
7 | 178 endif |
179 | |
22 | 180 " Error Codes: {{{1 |
181 " ============ | |
3281 | 182 if !exists("g:sh_no_error") |
6479 | 183 syn match shDoError "\<done\>" |
184 syn match shIfError "\<fi\>" | |
185 syn match shInError "\<in\>" | |
186 syn match shCaseError ";;" | |
187 syn match shEsacError "\<esac\>" | |
188 syn match shCurlyError "}" | |
189 syn match shParenError ")" | |
190 syn match shOK '\.\(done\|fi\|in\|esac\)' | |
3281 | 191 if exists("b:is_kornshell") |
6479 | 192 syn match shDTestError "]]" |
3281 | 193 endif |
6479 | 194 syn match shTestError "]" |
7 | 195 endif |
196 | |
1668 | 197 " Options: {{{1 |
22 | 198 " ==================== |
8795
aba2d0a01290
commit https://github.com/vim/vim/commit/7db8f6f4f85e5d0526d23107b2a5e2334dc23354
Christian Brabandt <cb@256bit.org>
parents:
8246
diff
changeset
|
199 syn match shOption "\s\zs[-+][-_a-zA-Z#@]\+" |
5138
0d4e0cde36e1
A few updated runtime files.
Bram Moolenaar <bram@vim.org>
parents:
4229
diff
changeset
|
200 syn match shOption "\s\zs--[^ \t$`'"|);]\+" |
7 | 201 |
1201 | 202 " File Redirection Highlighted As Operators: {{{1 |
203 "=========================================== | |
204 syn match shRedir "\d\=>\(&[-0-9]\)\=" | |
205 syn match shRedir "\d\=>>-\=" | |
206 syn match shRedir "\d\=<\(&[-0-9]\)\=" | |
207 syn match shRedir "\d<<-\=" | |
208 | |
22 | 209 " Operators: {{{1 |
210 " ========== | |
1201 | 211 syn match shOperator "<<\|>>" contained |
1668 | 212 syn match shOperator "[!&;|]" contained |
213 syn match shOperator "\[[[^:]\|\]]" contained | |
6840 | 214 syn match shOperator "[-=/*+%]\==" skipwhite nextgroup=shPattern |
2497 | 215 syn match shPattern "\<\S\+\())\)\@=" contained contains=shExSingleQuote,shSingleQuote,shExDoubleQuote,shDoubleQuote,shDeref |
7 | 216 |
22 | 217 " Subshells: {{{1 |
218 " ========== | |
3099
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
219 syn region shExpr transparent matchgroup=shExprRegion start="{" end="}" contains=@shExprList2 nextgroup=shMoreSpecial |
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
220 syn region shSubSh transparent matchgroup=shSubShRegion start="[^(]\zs(" end=")" contains=@shSubShList nextgroup=shMoreSpecial |
7 | 221 |
22 | 222 " Tests: {{{1 |
223 "======= | |
2152 | 224 syn region shExpr matchgroup=shRange start="\[" skip=+\\\\\|\\$\|\[+ end="\]" contains=@shTestList,shSpecial |
2034 | 225 syn region shTest transparent matchgroup=shStatement start="\<test\s" skip=+\\\\\|\\$+ matchgroup=NONE end="[;&|]"me=e-1 end="$" contains=@shExprList1 |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
226 syn region shNoQuote start='\S' skip='\%(\\\\\)*\\.' end='\ze\s' contained |
9076
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
227 syn match shAstQuote contained '\*\ze"' nextgroup=shString |
6840 | 228 syn match shTestOpr contained '[^-+/%]\zs=' skipwhite nextgroup=shTestDoubleQuote,shTestSingleQuote,shTestPattern |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
229 syn match shTestOpr contained "<=\|>=\|!=\|==\|=\~\|-.\>\|-\(nt\|ot\|ef\|eq\|ne\|lt\|le\|gt\|ge\)\>\|[!<>]" |
1121 | 230 syn match shTestPattern contained '\w\+' |
9076
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
231 syn region shTestDoubleQuote contained start='\%(\%(\\\\\)*\\\)\@<!"' skip=+\\\\\|\\"+ end='"' contains=shDeref,shDerefSimple,shDerefSpecial |
1121 | 232 syn match shTestSingleQuote contained '\\.' |
233 syn match shTestSingleQuote contained "'[^']*'" | |
7 | 234 if exists("b:is_kornshell") || exists("b:is_bash") |
9076
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
235 syn region shDblBrace matchgroup=Delimiter start="\[\[" skip=+\%(\\\\\)*\\$+ end="\]\]" contains=@shTestList,shAstQuote,shNoQuote,shComment |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
236 syn region shDblParen matchgroup=Delimiter start="((" skip=+\%(\\\\\)*\\$+ end="))" contains=@shTestList,shComment |
7 | 237 endif |
238 | |
22 | 239 " Character Class In Range: {{{1 |
240 " ========================= | |
7 | 241 syn match shCharClass contained "\[:\(backspace\|escape\|return\|xdigit\|alnum\|alpha\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|tab\):\]" |
242 | |
22 | 243 " Loops: do, if, while, until {{{1 |
244 " ====== | |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
245 ShFoldIfDoFor syn region shDo transparent matchgroup=shConditional start="\<do\>" matchgroup=shConditional end="\<done\>" contains=@shLoopList |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
246 ShFoldIfDoFor syn region shIf transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional skip=+-fi\>+ end="\<;\_s*then\>" end="\<fi\>" contains=@shIfList |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
247 ShFoldIfDoFor syn region shFor matchgroup=shLoop start="\<for\ze\_s\s*\%(((\)\@!" end="\<in\>" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen skipwhite nextgroup=shCurlyIn |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
248 ShFoldIfDoFor syn region shForPP matchgroup=shLoop start='\<for\>\_s*((' end='))' contains=shTestOpr |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
249 |
7 | 250 if exists("b:is_kornshell") || exists("b:is_bash") |
1668 | 251 syn cluster shCaseList add=shRepeat |
252 syn cluster shFunctionList add=shRepeat | |
253 syn region shRepeat matchgroup=shLoop start="\<while\_s" end="\<in\_s" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen,shDblBrace | |
254 syn region shRepeat matchgroup=shLoop start="\<until\_s" end="\<in\_s" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen,shDblBrace | |
255 syn region shCaseEsac matchgroup=shConditional start="\<select\s" matchgroup=shConditional end="\<in\>" end="\<do\>" contains=@shLoopList | |
7 | 256 else |
1668 | 257 syn region shRepeat matchgroup=shLoop start="\<while\_s" end="\<do\>"me=e-2 contains=@shLoopList |
258 syn region shRepeat matchgroup=shLoop start="\<until\_s" end="\<do\>"me=e-2 contains=@shLoopList | |
7 | 259 endif |
464 | 260 syn region shCurlyIn contained matchgroup=Delimiter start="{" end="}" contains=@shCurlyList |
261 syn match shComma contained "," | |
7 | 262 |
22 | 263 " Case: case...esac {{{1 |
7 | 264 " ==== |
1668 | 265 syn match shCaseBar contained skipwhite "\(^\|[^\\]\)\(\\\\\)*\zs|" nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote |
7 | 266 syn match shCaseStart contained skipwhite skipnl "(" nextgroup=shCase,shCaseBar |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
267 ShFoldIfDoFor syn region shCase contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
268 ShFoldIfDoFor syn region shCaseEsac matchgroup=shConditional start="\<case\>" end="\<esac\>" contains=@shCaseEsacList |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
269 |
167 | 270 syn keyword shCaseIn contained skipwhite skipnl in nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote |
271 if exists("b:is_bash") | |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2357
diff
changeset
|
272 syn region shCaseExSingleQuote matchgroup=shQuote start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial,shSpecial skipwhite skipnl nextgroup=shCaseBar contained |
3281 | 273 elseif !exists("g:sh_no_error") |
167 | 274 syn region shCaseExSingleQuote matchgroup=Error start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial skipwhite skipnl nextgroup=shCaseBar contained |
275 endif | |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2357
diff
changeset
|
276 syn region shCaseSingleQuote matchgroup=shQuote start=+'+ end=+'+ contains=shStringSpecial skipwhite skipnl nextgroup=shCaseBar contained |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2357
diff
changeset
|
277 syn region shCaseDoubleQuote matchgroup=shQuote start=+"+ skip=+\\\\\|\\.+ end=+"+ contains=@shDblQuoteList,shStringSpecial skipwhite skipnl nextgroup=shCaseBar contained |
7 | 278 syn region shCaseCommandSub start=+`+ skip=+\\\\\|\\.+ end=+`+ contains=@shCommandSubList skipwhite skipnl nextgroup=shCaseBar contained |
3920 | 279 if exists("b:is_bash") |
280 syn region shCaseRange matchgroup=Delimiter start=+\[+ skip=+\\\\+ end=+\]+ contained contains=shCharClass | |
281 syn match shCharClass '\[:\%(alnum\|alpha\|ascii\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|word\|or\|xdigit\):\]' contained | |
282 else | |
283 syn region shCaseRange matchgroup=Delimiter start=+\[+ skip=+\\\\+ end=+\]+ contained | |
284 endif | |
22 | 285 " Misc: {{{1 |
286 "====== | |
7 | 287 syn match shWrapLineOperator "\\$" |
3920 | 288 syn region shCommandSub start="`" skip="\\\\\|\\." end="`" contains=@shCommandSubList |
5138
0d4e0cde36e1
A few updated runtime files.
Bram Moolenaar <bram@vim.org>
parents:
4229
diff
changeset
|
289 syn match shEscape contained '\%(^\)\@!\%(\\\\\)*\\.' |
7 | 290 |
22 | 291 " $() and $(()): {{{1 |
7 | 292 " $(..) is not supported by sh (Bourne shell). However, apparently |
293 " some systems (HP?) have as their /bin/sh a (link to) Korn shell | |
294 " (ie. Posix compliant shell). /bin/ksh should work for those | |
295 " systems too, however, so the following syntax will flag $(..) as | |
296 " an Error under /bin/sh. By consensus of vimdev'ers! | |
297 if exists("b:is_kornshell") || exists("b:is_bash") | |
298 syn region shCommandSub matchgroup=shCmdSubRegion start="\$(" skip='\\\\\|\\.' end=")" contains=@shCommandSubList | |
1668 | 299 syn region shArithmetic matchgroup=shArithRegion start="\$((" skip='\\\\\|\\.' end="))" contains=@shArithList |
3445 | 300 syn region shArithmetic matchgroup=shArithRegion start="\$\[" skip='\\\\\|\\.' end="\]" contains=@shArithList |
7 | 301 syn match shSkipInitWS contained "^\s\+" |
3281 | 302 elseif !exists("g:sh_no_error") |
167 | 303 syn region shCommandSub matchgroup=Error start="\$(" end=")" contains=@shCommandSubList |
7 | 304 endif |
6479 | 305 syn region shCmdParenRegion matchgroup=shCmdSubRegion start="(\ze[^(]" skip='\\\\\|\\.' end=")" contains=@shCommandSubList |
7 | 306 |
307 if exists("b:is_bash") | |
308 syn cluster shCommandSubList add=bashSpecialVariables,bashStatement | |
309 syn cluster shCaseList add=bashAdminStatement,bashStatement | |
3099
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
310 syn keyword bashSpecialVariables contained auto_resume BASH BASH_ALIASES BASH_ALIASES BASH_ARGC BASH_ARGC BASH_ARGV BASH_ARGV BASH_CMDS BASH_CMDS BASH_COMMAND BASH_COMMAND BASH_ENV BASH_EXECUTION_STRING BASH_EXECUTION_STRING BASH_LINENO BASH_LINENO BASHOPTS BASHOPTS BASHPID BASHPID BASH_REMATCH BASH_REMATCH BASH_SOURCE BASH_SOURCE BASH_SUBSHELL BASH_SUBSHELL BASH_VERSINFO BASH_VERSION BASH_XTRACEFD BASH_XTRACEFD CDPATH COLUMNS COLUMNS COMP_CWORD COMP_CWORD COMP_KEY COMP_KEY COMP_LINE COMP_LINE COMP_POINT COMP_POINT COMPREPLY COMPREPLY COMP_TYPE COMP_TYPE COMP_WORDBREAKS COMP_WORDBREAKS COMP_WORDS COMP_WORDS COPROC COPROC DIRSTACK EMACS EMACS ENV ENV EUID FCEDIT FIGNORE FUNCNAME FUNCNAME FUNCNEST FUNCNEST GLOBIGNORE GROUPS histchars HISTCMD HISTCONTROL HISTFILE HISTFILESIZE HISTIGNORE HISTSIZE HISTTIMEFORMAT HISTTIMEFORMAT HOME HOSTFILE HOSTNAME HOSTTYPE IFS IGNOREEOF INPUTRC LANG LC_ALL LC_COLLATE LC_CTYPE LC_CTYPE LC_MESSAGES LC_NUMERIC LC_NUMERIC LINENO LINES LINES MACHTYPE MAIL MAILCHECK MAILPATH MAPFILE MAPFILE OLDPWD OPTARG OPTERR OPTIND OSTYPE PATH PIPESTATUS POSIXLY_CORRECT POSIXLY_CORRECT PPID PROMPT_COMMAND PS1 PS2 PS3 PS4 PWD RANDOM READLINE_LINE READLINE_LINE READLINE_POINT READLINE_POINT REPLY SECONDS SHELL SHELL SHELLOPTS SHLVL TIMEFORMAT TIMEOUT TMPDIR TMPDIR UID |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
311 syn keyword bashStatement chmod clear complete du egrep expr fgrep find gnufind gnugrep grep less ls mkdir mv rm rmdir rpm sed sleep sort strip tail |
7 | 312 syn keyword bashAdminStatement daemon killall killproc nice reload restart start status stop |
3920 | 313 syn keyword bashStatement command compgen |
7 | 314 endif |
315 | |
316 if exists("b:is_kornshell") | |
317 syn cluster shCommandSubList add=kshSpecialVariables,kshStatement | |
318 syn cluster shCaseList add=kshStatement | |
319 syn keyword kshSpecialVariables contained CDPATH COLUMNS EDITOR ENV ERRNO FCEDIT FPATH HISTFILE HISTSIZE HOME IFS LINENO LINES MAIL MAILCHECK MAILPATH OLDPWD OPTARG OPTIND PATH PPID PS1 PS2 PS3 PS4 PWD RANDOM REPLY SECONDS SHELL TMOUT VISUAL | |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
320 syn keyword kshStatement cat chmod clear cp du egrep expr fgrep find grep killall less ls mkdir mv nice printenv rm rmdir sed sort strip stty tail tput |
3920 | 321 syn keyword kshStatement command setgroups setsenv |
7 | 322 endif |
323 | |
324 syn match shSource "^\.\s" | |
325 syn match shSource "\s\.\s" | |
2034 | 326 "syn region shColon start="^\s*:" end="$" end="\s#"me=e-2 contains=@shColonList |
3281 | 327 "syn region shColon start="^\s*\zs:" end="$" end="\s#"me=e-2 |
9076
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
328 if exists("b:is_kornshell") |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
329 syn match shColon '^\s*\zs:' |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
330 endif |
7 | 331 |
22 | 332 " String And Character Constants: {{{1 |
333 "================================ | |
8795
aba2d0a01290
commit https://github.com/vim/vim/commit/7db8f6f4f85e5d0526d23107b2a5e2334dc23354
Christian Brabandt <cb@256bit.org>
parents:
8246
diff
changeset
|
334 syn match shNumber "\<\d\+\>#\=" |
9737
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
335 syn match shNumber "\<-\=\.\=\d\+\>#\=" |
9344
33c1b85d408c
commit https://github.com/vim/vim/commit/802a0d902fca423acb15f835d7b09183883d79a0
Christian Brabandt <cb@256bit.org>
parents:
9076
diff
changeset
|
336 syn match shCtrlSeq "\\\d\d\d\|\\[abcfnrtv0]" contained |
167 | 337 if exists("b:is_bash") |
9344
33c1b85d408c
commit https://github.com/vim/vim/commit/802a0d902fca423acb15f835d7b09183883d79a0
Christian Brabandt <cb@256bit.org>
parents:
9076
diff
changeset
|
338 syn match shSpecial "[^\\]\(\\\\\)*\zs\\\o\o\o\|\\x\x\x\|\\c[^"]\|\\[abefnrtv]" contained |
33c1b85d408c
commit https://github.com/vim/vim/commit/802a0d902fca423acb15f835d7b09183883d79a0
Christian Brabandt <cb@256bit.org>
parents:
9076
diff
changeset
|
339 syn match shSpecial "^\(\\\\\)*\zs\\\o\o\o\|\\x\x\x\|\\c[^"]\|\\[abefnrtv]" contained |
167 | 340 endif |
341 if exists("b:is_bash") | |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2357
diff
changeset
|
342 syn region shExSingleQuote matchgroup=shQuote start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial,shSpecial |
2497 | 343 syn region shExDoubleQuote matchgroup=shQuote start=+\$"+ skip=+\\\\\|\\.\|\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,shSpecial |
3281 | 344 elseif !exists("g:sh_no_error") |
1121 | 345 syn region shExSingleQuote matchGroup=Error start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial |
2497 | 346 syn region shExDoubleQuote matchGroup=Error start=+\$"+ skip=+\\\\\|\\.+ end=+"+ contains=shStringSpecial |
167 | 347 endif |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2357
diff
changeset
|
348 syn region shSingleQuote matchgroup=shQuote start=+'+ end=+'+ contains=@Spell |
3099
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
349 syn region shDoubleQuote matchgroup=shQuote start=+\%(\%(\\\\\)*\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell |
9344
33c1b85d408c
commit https://github.com/vim/vim/commit/802a0d902fca423acb15f835d7b09183883d79a0
Christian Brabandt <cb@256bit.org>
parents:
9076
diff
changeset
|
350 syn match shStringSpecial "[^[:print:] \t]" contained |
33c1b85d408c
commit https://github.com/vim/vim/commit/802a0d902fca423acb15f835d7b09183883d79a0
Christian Brabandt <cb@256bit.org>
parents:
9076
diff
changeset
|
351 syn match shStringSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" |
33c1b85d408c
commit https://github.com/vim/vim/commit/802a0d902fca423acb15f835d7b09183883d79a0
Christian Brabandt <cb@256bit.org>
parents:
9076
diff
changeset
|
352 syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shBkslshSnglQuote,shBkslshDblQuote |
7176
30042ddff503
commit https://github.com/vim/vim/commit/60cce2fb736c8ff6fdb9603f502d3c15f1f7a25d
Christian Brabandt <cb@256bit.org>
parents:
6840
diff
changeset
|
353 syn match shSpecial "^\%(\\\\\)*\\[\\"'`$()#]" |
9344
33c1b85d408c
commit https://github.com/vim/vim/commit/802a0d902fca423acb15f835d7b09183883d79a0
Christian Brabandt <cb@256bit.org>
parents:
9076
diff
changeset
|
354 syn match shMoreSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shMoreSpecial contained |
33c1b85d408c
commit https://github.com/vim/vim/commit/802a0d902fca423acb15f835d7b09183883d79a0
Christian Brabandt <cb@256bit.org>
parents:
9076
diff
changeset
|
355 syn region shBkslshSnglQuote contained matchgroup=shQuote start=+'+ end=+'+ contains=@Spell |
33c1b85d408c
commit https://github.com/vim/vim/commit/802a0d902fca423acb15f835d7b09183883d79a0
Christian Brabandt <cb@256bit.org>
parents:
9076
diff
changeset
|
356 syn region shBkslshDblQuote contained matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell |
7 | 357 |
22 | 358 " Comments: {{{1 |
359 "========== | |
2034 | 360 syn cluster shCommentGroup contains=shTodo,@Spell |
361 syn keyword shTodo contained COMBAK FIXME TODO XXX | |
362 syn match shComment "^\s*\zs#.*$" contains=@shCommentGroup | |
363 syn match shComment "\s\zs#.*$" contains=@shCommentGroup | |
3920 | 364 syn match shComment contained "#.*$" contains=@shCommentGroup |
2034 | 365 syn match shQuickComment contained "#.*$" |
7 | 366 |
22 | 367 " Here Documents: {{{1 |
368 " ========================================= | |
9737
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
369 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc01 start="<<\s*\\\=\z([^ \t|>]\+\)" matchgroup=shHereDoc01 end="^\z1\s*$" contains=@shDblQuoteList |
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
370 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc02 start="<<\s*\"\z([^ \t|>]\+\)\"" matchgroup=shHereDoc02 end="^\z1\s*$" |
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
371 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc03 start="<<-\s*\z([^ \t|>]\+\)" matchgroup=shHereDoc03 end="^\s*\z1\s*$" contains=@shDblQuoteList |
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
372 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc04 start="<<-\s*'\z([^ \t|>]\+\)'" matchgroup=shHereDoc04 end="^\s*\z1\s*$" |
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
373 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc05 start="<<\s*'\z([^ \t|>]\+\)'" matchgroup=shHereDoc05 end="^\z1\s*$" |
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
374 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc06 start="<<-\s*\"\z([^ \t|>]\+\)\"" matchgroup=shHereDoc06 end="^\s*\z1\s*$" |
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
375 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc07 start="<<\s*\\\_$\_s*\z([^ \t|>]\+\)" matchgroup=shHereDoc07 end="^\z1\s*$" contains=@shDblQuoteList |
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
376 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc08 start="<<\s*\\\_$\_s*'\z([^ \t|>]\+\)'" matchgroup=shHereDoc08 end="^\z1\s*$" |
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
377 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc09 start="<<\s*\\\_$\_s*\"\z([^ \t|>]\+\)\"" matchgroup=shHereDoc09 end="^\z1\s*$" |
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
378 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc10 start="<<-\s*\\\_$\_s*\z([^ \t|>]\+\)" matchgroup=shHereDoc10 end="^\s*\z1\s*$" |
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
379 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc11 start="<<-\s*\\\_$\_s*\\\z([^ \t|>]\+\)" matchgroup=shHereDoc11 end="^\s*\z1\s*$" |
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
380 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc12 start="<<-\s*\\\_$\_s*'\z([^ \t|>]\+\)'" matchgroup=shHereDoc12 end="^\s*\z1\s*$" |
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
381 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc13 start="<<-\s*\\\_$\_s*\"\z([^ \t|>]\+\)\"" matchgroup=shHereDoc13 end="^\s*\z1\s*$" |
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
382 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc14 start="<<\\\z([^ \t|>]\+\)" matchgroup=shHereDoc14 end="^\z1\s*$" |
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
383 ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc15 start="<<-\s*\\\z([^ \t|>]\+\)" matchgroup=shHereDoc15 end="^\s*\z1\s*$" |
7 | 384 |
22 | 385 " Here Strings: {{{1 |
386 " ============= | |
3099
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
387 " available for: bash; ksh (really should be ksh93 only) but not if its a posix |
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
388 if exists("b:is_bash") || (exists("b:is_kornshell") && !exists("g:is_posix")) |
3920 | 389 syn match shRedir "<<<" skipwhite nextgroup=shCmdParenRegion |
22 | 390 endif |
391 | |
392 " Identifiers: {{{1 | |
393 "============= | |
1668 | 394 syn match shSetOption "\s\zs[-+][a-zA-Z0-9]\+\>" contained |
6840 | 395 syn match shVariable "\<\([bwglsav]:\)\=[a-zA-Z0-9.!@_%+,]*\ze=" nextgroup=shVarAssign |
396 syn match shVarAssign "=" contained nextgroup=shCmdParenRegion,shPattern,shDeref,shDerefSimple,shDoubleQuote,shExDoubleQuote,shSingleQuote,shExSingleQuote | |
5138
0d4e0cde36e1
A few updated runtime files.
Bram Moolenaar <bram@vim.org>
parents:
4229
diff
changeset
|
397 syn region shAtExpr contained start="@(" end=")" contains=@shIdList |
7 | 398 if exists("b:is_bash") |
5138
0d4e0cde36e1
A few updated runtime files.
Bram Moolenaar <bram@vim.org>
parents:
4229
diff
changeset
|
399 syn region shSetList oneline matchgroup=shSet start="\<\(declare\|typeset\|local\|export\|unset\)\>\ze[^/]" end="$" matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+#\|=" contains=@shIdList |
0d4e0cde36e1
A few updated runtime files.
Bram Moolenaar <bram@vim.org>
parents:
4229
diff
changeset
|
400 syn region shSetList oneline matchgroup=shSet start="\<set\>\ze[^/]" end="\ze[;|)]\|$" matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+=" contains=@shIdList |
7 | 401 elseif exists("b:is_kornshell") |
5138
0d4e0cde36e1
A few updated runtime files.
Bram Moolenaar <bram@vim.org>
parents:
4229
diff
changeset
|
402 syn region shSetList oneline matchgroup=shSet start="\<\(typeset\|export\|unset\)\>\ze[^/]" end="$" matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]" contains=@shIdList |
0d4e0cde36e1
A few updated runtime files.
Bram Moolenaar <bram@vim.org>
parents:
4229
diff
changeset
|
403 syn region shSetList oneline matchgroup=shSet start="\<set\>\ze[^/]" end="$" matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]" contains=@shIdList |
7 | 404 else |
5138
0d4e0cde36e1
A few updated runtime files.
Bram Moolenaar <bram@vim.org>
parents:
4229
diff
changeset
|
405 syn region shSetList oneline matchgroup=shSet start="\<\(set\|export\|unset\)\>\ze[^/]" end="$" matchgroup=shSetListDelim end="\ze[}|);&]" matchgroup=NONE end="\ze\s\+[#=]" contains=@shIdList |
7 | 406 endif |
407 | |
22 | 408 " Functions: {{{1 |
1668 | 409 if !exists("g:is_posix") |
410 syn keyword shFunctionKey function skipwhite skipnl nextgroup=shFunctionTwo | |
411 endif | |
412 | |
413 if exists("b:is_bash") | |
9076
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
414 ShFoldFunctions syn region shFunctionOne matchgroup=shFunction start="^\s*[A-Za-z_0-9:][-a-zA-Z_0-9:]*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
415 ShFoldFunctions syn region shFunctionTwo matchgroup=shFunction start="\%(do\)\@!\&\<[A-Za-z_0-9:][-a-zA-Z_0-9:]*\>\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
416 ShFoldFunctions syn region shFunctionThree matchgroup=shFunction start="^\s*[A-Za-z_0-9:][-a-zA-Z_0-9:]*\s*()\_s*(" end=")" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
417 ShFoldFunctions syn region shFunctionFour matchgroup=shFunction start="\%(do\)\@!\&\<[A-Za-z_0-9:][-a-zA-Z_0-9:]*\>\s*\%(()\)\=\_s*)" end=")" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment |
7 | 418 else |
9076
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
419 ShFoldFunctions syn region shFunctionOne matchgroup=shFunction start="^\s*\h\w*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
420 ShFoldFunctions syn region shFunctionTwo matchgroup=shFunction start="\%(do\)\@!\&\<\h\w*\>\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
421 ShFoldFunctions syn region shFunctionThree matchgroup=shFunction start="^\s*\h\w*\s*()\_s*(" end=")" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment |
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
422 ShFoldFunctions syn region shFunctionFour matchgroup=shFunction start="\%(do\)\@!\&\<\h\w*\>\s*\%(()\)\=\_s*(" end=")" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment |
7 | 423 endif |
424 | |
22 | 425 " Parameter Dereferencing: {{{1 |
426 " ======================== | |
3281 | 427 if !exists("g:sh_no_error") |
9076
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
428 syn match shDerefWordError "[^}$[~]" contained |
3281 | 429 endif |
9737
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
430 syn match shDerefSimple "\$\%(\h\w*\|\d\)" |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
431 syn region shDeref matchgroup=PreProc start="\${" end="}" contains=@shDerefList,shDerefVarArray |
7 | 432 syn match shDerefSimple "\$[-#*@!?]" |
433 syn match shDerefSimple "\$\$" | |
434 if exists("b:is_bash") || exists("b:is_kornshell") | |
435 syn region shDeref matchgroup=PreProc start="\${##\=" end="}" contains=@shDerefList | |
1668 | 436 syn region shDeref matchgroup=PreProc start="\${\$\$" end="}" contains=@shDerefList |
7 | 437 endif |
438 | |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
439 " ksh: ${!var[*]} array index list syntax: {{{1 |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
440 " ======================================== |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
441 if exists("b:is_kornshell") |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
442 syn region shDeref matchgroup=PreProc start="\${!" end="}" contains=@shDerefVarArray |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
443 endif |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
444 |
22 | 445 " bash: ${!prefix*} and ${#parameter}: {{{1 |
446 " ==================================== | |
7 | 447 if exists("b:is_bash") |
9737
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
448 syn region shDeref matchgroup=PreProc start="\${!" end="\*\=}" contains=@shDerefList,shDerefOff |
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
449 syn match shDerefVar contained "{\@<=!\h\w*" nextgroup=@shDerefVarList |
7 | 450 endif |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
451 if exists("b:is_kornshell") |
9737
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
452 syn match shDerefVar contained "{\@<=!\h\w*[[:alnum:]_.]*" nextgroup=@shDerefVarList |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
453 endif |
7 | 454 |
455 syn match shDerefSpecial contained "{\@<=[-*@?0]" nextgroup=shDerefOp,shDerefOpError | |
456 syn match shDerefSpecial contained "\({[#!]\)\@<=[[:alnum:]*@_]\+" nextgroup=@shDerefVarList,shDerefOp | |
9737
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
457 syn match shDerefVar contained "{\@<=\h\w*" nextgroup=@shDerefVarList |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
458 if exists("b:is_kornshell") |
9737
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
459 syn match shDerefVar contained "{\@<=\h\w*[[:alnum:]_.]*" nextgroup=@shDerefVarList |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
460 endif |
7 | 461 |
22 | 462 " sh ksh bash : ${var[... ]...} array reference: {{{1 |
6479 | 463 syn region shDerefVarArray contained matchgroup=shDeref start="\[" end="]" contains=@shCommandSubList nextgroup=shDerefOp,shDerefOpError |
7 | 464 |
22 | 465 " Special ${parameter OPERATOR word} handling: {{{1 |
6479 | 466 " sh ksh bash : ${parameter:-word} word is default value |
467 " sh ksh bash : ${parameter:=word} assign word as default value | |
468 " sh ksh bash : ${parameter:?word} display word if parameter is null | |
469 " sh ksh bash : ${parameter:+word} use word if parameter is not null, otherwise nothing | |
470 " ksh bash : ${parameter#pattern} remove small left pattern | |
471 " ksh bash : ${parameter##pattern} remove large left pattern | |
472 " ksh bash : ${parameter%pattern} remove small right pattern | |
473 " ksh bash : ${parameter%%pattern} remove large right pattern | |
474 " bash : ${parameter^pattern} Case modification | |
475 " bash : ${parameter^^pattern} Case modification | |
476 " bash : ${parameter,pattern} Case modification | |
477 " bash : ${parameter,,pattern} Case modification | |
7 | 478 syn cluster shDerefPatternList contains=shDerefPattern,shDerefString |
3281 | 479 if !exists("g:sh_no_error") |
480 syn match shDerefOpError contained ":[[:punct:]]" | |
481 endif | |
7 | 482 syn match shDerefOp contained ":\=[-=?]" nextgroup=@shDerefPatternList |
483 syn match shDerefOp contained ":\=+" nextgroup=@shDerefPatternList | |
484 if exists("b:is_bash") || exists("b:is_kornshell") | |
485 syn match shDerefOp contained "#\{1,2}" nextgroup=@shDerefPatternList | |
486 syn match shDerefOp contained "%\{1,2}" nextgroup=@shDerefPatternList | |
482 | 487 syn match shDerefPattern contained "[^{}]\+" contains=shDeref,shDerefSimple,shDerefPattern,shDerefString,shCommandSub,shDerefEscape nextgroup=shDerefPattern |
7 | 488 syn region shDerefPattern contained start="{" end="}" contains=shDeref,shDerefSimple,shDerefString,shCommandSub nextgroup=shDerefPattern |
482 | 489 syn match shDerefEscape contained '\%(\\\\\)*\\.' |
7 | 490 endif |
3099
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
491 if exists("b:is_bash") |
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
492 syn match shDerefOp contained "[,^]\{1,2}" nextgroup=@shDerefPatternList |
887d6d91882e
Updated a few runtime files.
Bram Moolenaar <bram@vim.org>
parents:
2751
diff
changeset
|
493 endif |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2357
diff
changeset
|
494 syn region shDerefString contained matchgroup=shDerefDelim start=+\%(\\\)\@<!'+ end=+'+ contains=shStringSpecial |
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2357
diff
changeset
|
495 syn region shDerefString contained matchgroup=shDerefDelim start=+\%(\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial |
1668 | 496 syn match shDerefString contained "\\["']" nextgroup=shDerefPattern |
7 | 497 |
498 if exists("b:is_bash") | |
482 | 499 " bash : ${parameter:offset} |
500 " bash : ${parameter:offset:length} | |
9737
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
501 syn region shDerefOff contained start=':' end='\ze:' end='\ze}' contains=shDeref,shDerefSimple nextgroup=shDerefLen,shDeref,shDerefSimple |
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
502 syn region shDerefOff contained start=':\s-' end='\ze:' end='\ze}' contains=shDeref,shDerefSimple nextgroup=shDerefLen,shDeref,shDerefSimple |
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
503 syn match shDerefLen contained ":[^}]\+" contains=shDeref,shDerefSimple |
482 | 504 |
505 " bash : ${parameter//pattern/string} | |
506 " bash : ${parameter//pattern} | |
507 syn match shDerefPPS contained '/\{1,2}' nextgroup=shDerefPPSleft | |
3920 | 508 syn region shDerefPPSleft contained start='.' skip=@\%(\\\\\)*\\/@ matchgroup=shDerefOp end='/' end='\ze}' nextgroup=shDerefPPSright contains=@shCommandSubList |
9076
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
509 syn region shDerefPPSright contained start='.' skip=@\%(\\\\\)\+@ end='\ze}' contains=@shPPSRightList |
7557
502ca0a62fd8
commit https://github.com/vim/vim/commit/acb4f221c715a333f4c49a2235a8006c6ac6e4d5
Christian Brabandt <cb@256bit.org>
parents:
7245
diff
changeset
|
510 |
502ca0a62fd8
commit https://github.com/vim/vim/commit/acb4f221c715a333f4c49a2235a8006c6ac6e4d5
Christian Brabandt <cb@256bit.org>
parents:
7245
diff
changeset
|
511 " bash : ${parameter/#substring/replacement} |
502ca0a62fd8
commit https://github.com/vim/vim/commit/acb4f221c715a333f4c49a2235a8006c6ac6e4d5
Christian Brabandt <cb@256bit.org>
parents:
7245
diff
changeset
|
512 syn match shDerefPSR contained '/#' nextgroup=shDerefPSRleft |
502ca0a62fd8
commit https://github.com/vim/vim/commit/acb4f221c715a333f4c49a2235a8006c6ac6e4d5
Christian Brabandt <cb@256bit.org>
parents:
7245
diff
changeset
|
513 syn region shDerefPSRleft contained start='.' skip=@\%(\\\\\)*\\/@ matchgroup=shDerefOp end='/' end='\ze}' nextgroup=shDerefPSRright |
502ca0a62fd8
commit https://github.com/vim/vim/commit/acb4f221c715a333f4c49a2235a8006c6ac6e4d5
Christian Brabandt <cb@256bit.org>
parents:
7245
diff
changeset
|
514 syn region shDerefPSRright contained start='.' skip=@\%(\\\\\)\+@ end='\ze}' |
7 | 515 endif |
516 | |
1668 | 517 " Arithmetic Parenthesized Expressions: {{{1 |
5138
0d4e0cde36e1
A few updated runtime files.
Bram Moolenaar <bram@vim.org>
parents:
4229
diff
changeset
|
518 "syn region shParen matchgroup=shArithRegion start='[^$]\zs(\%(\ze[^(]\|$\)' end=')' contains=@shArithParenList |
0d4e0cde36e1
A few updated runtime files.
Bram Moolenaar <bram@vim.org>
parents:
4229
diff
changeset
|
519 syn region shParen matchgroup=shArithRegion start='\$\@!(\%(\ze[^(]\|$\)' end=')' contains=@shArithParenList |
1668 | 520 |
22 | 521 " Useful sh Keywords: {{{1 |
522 " =================== | |
7 | 523 syn keyword shStatement break cd chdir continue eval exec exit kill newgrp pwd read readonly return shift test trap ulimit umask wait |
524 syn keyword shConditional contained elif else then | |
3281 | 525 if !exists("g:sh_no_error") |
526 syn keyword shCondError elif else then | |
527 endif | |
7 | 528 |
22 | 529 " Useful ksh Keywords: {{{1 |
530 " ==================== | |
7 | 531 if exists("b:is_kornshell") || exists("b:is_bash") |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2357
diff
changeset
|
532 syn keyword shStatement autoload bg false fc fg functions getopts hash history integer jobs let nohup printf r stop suspend times true type unalias whence |
1668 | 533 if exists("g:is_posix") |
534 syn keyword shStatement command | |
535 else | |
536 syn keyword shStatement time | |
537 endif | |
7 | 538 |
22 | 539 " Useful bash Keywords: {{{1 |
540 " ===================== | |
7 | 541 if exists("b:is_bash") |
542 syn keyword shStatement bind builtin dirs disown enable help local logout popd pushd shopt source | |
543 else | |
544 syn keyword shStatement login newgrp | |
545 endif | |
546 endif | |
547 | |
22 | 548 " Synchronization: {{{1 |
549 " ================ | |
8876
47f17f66da3d
commit https://github.com/vim/vim/commit/03413f44167c4b5cd0012def9bb331e2518c83cf
Christian Brabandt <cb@256bit.org>
parents:
8795
diff
changeset
|
550 if !exists("g:sh_minlines") |
47f17f66da3d
commit https://github.com/vim/vim/commit/03413f44167c4b5cd0012def9bb331e2518c83cf
Christian Brabandt <cb@256bit.org>
parents:
8795
diff
changeset
|
551 let s:sh_minlines = 200 |
47f17f66da3d
commit https://github.com/vim/vim/commit/03413f44167c4b5cd0012def9bb331e2518c83cf
Christian Brabandt <cb@256bit.org>
parents:
8795
diff
changeset
|
552 else |
47f17f66da3d
commit https://github.com/vim/vim/commit/03413f44167c4b5cd0012def9bb331e2518c83cf
Christian Brabandt <cb@256bit.org>
parents:
8795
diff
changeset
|
553 let s:sh_minlines= g:sh_minlines |
7 | 554 endif |
8876
47f17f66da3d
commit https://github.com/vim/vim/commit/03413f44167c4b5cd0012def9bb331e2518c83cf
Christian Brabandt <cb@256bit.org>
parents:
8795
diff
changeset
|
555 if !exists("g:sh_maxlines") |
47f17f66da3d
commit https://github.com/vim/vim/commit/03413f44167c4b5cd0012def9bb331e2518c83cf
Christian Brabandt <cb@256bit.org>
parents:
8795
diff
changeset
|
556 let s:sh_maxlines = 2*s:sh_minlines |
47f17f66da3d
commit https://github.com/vim/vim/commit/03413f44167c4b5cd0012def9bb331e2518c83cf
Christian Brabandt <cb@256bit.org>
parents:
8795
diff
changeset
|
557 if s:sh_maxlines < 25 |
47f17f66da3d
commit https://github.com/vim/vim/commit/03413f44167c4b5cd0012def9bb331e2518c83cf
Christian Brabandt <cb@256bit.org>
parents:
8795
diff
changeset
|
558 let s:sh_maxlines= 25 |
47f17f66da3d
commit https://github.com/vim/vim/commit/03413f44167c4b5cd0012def9bb331e2518c83cf
Christian Brabandt <cb@256bit.org>
parents:
8795
diff
changeset
|
559 endif |
47f17f66da3d
commit https://github.com/vim/vim/commit/03413f44167c4b5cd0012def9bb331e2518c83cf
Christian Brabandt <cb@256bit.org>
parents:
8795
diff
changeset
|
560 else |
47f17f66da3d
commit https://github.com/vim/vim/commit/03413f44167c4b5cd0012def9bb331e2518c83cf
Christian Brabandt <cb@256bit.org>
parents:
8795
diff
changeset
|
561 let s:sh_maxlines= g:sh_maxlines |
7 | 562 endif |
8876
47f17f66da3d
commit https://github.com/vim/vim/commit/03413f44167c4b5cd0012def9bb331e2518c83cf
Christian Brabandt <cb@256bit.org>
parents:
8795
diff
changeset
|
563 exec "syn sync minlines=" . s:sh_minlines . " maxlines=" . s:sh_maxlines |
7 | 564 syn sync match shCaseEsacSync grouphere shCaseEsac "\<case\>" |
565 syn sync match shCaseEsacSync groupthere shCaseEsac "\<esac\>" | |
566 syn sync match shDoSync grouphere shDo "\<do\>" | |
567 syn sync match shDoSync groupthere shDo "\<done\>" | |
568 syn sync match shForSync grouphere shFor "\<for\>" | |
569 syn sync match shForSync groupthere shFor "\<in\>" | |
570 syn sync match shIfSync grouphere shIf "\<if\>" | |
571 syn sync match shIfSync groupthere shIf "\<fi\>" | |
572 syn sync match shUntilSync grouphere shRepeat "\<until\>" | |
573 syn sync match shWhileSync grouphere shRepeat "\<while\>" | |
574 | |
22 | 575 " Default Highlighting: {{{1 |
576 " ===================== | |
7 | 577 hi def link shArithRegion shShellVariables |
9076
9305a1251e51
commit https://github.com/vim/vim/commit/91c4937be15b0b743b6bc495df602c1abbff6b87
Christian Brabandt <cb@256bit.org>
parents:
8876
diff
changeset
|
578 hi def link shAstQuote shDoubleQuote |
5138
0d4e0cde36e1
A few updated runtime files.
Bram Moolenaar <bram@vim.org>
parents:
4229
diff
changeset
|
579 hi def link shAtExpr shSetList |
167 | 580 hi def link shBeginHere shRedir |
7 | 581 hi def link shCaseBar shConditional |
582 hi def link shCaseCommandSub shCommandSub | |
583 hi def link shCaseDoubleQuote shDoubleQuote | |
167 | 584 hi def link shCaseIn shConditional |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2357
diff
changeset
|
585 hi def link shQuote shOperator |
7 | 586 hi def link shCaseSingleQuote shSingleQuote |
587 hi def link shCaseStart shConditional | |
588 hi def link shCmdSubRegion shShellVariables | |
2034 | 589 hi def link shColon shComment |
167 | 590 hi def link shDerefOp shOperator |
591 hi def link shDerefPOL shDerefOp | |
482 | 592 hi def link shDerefPPS shDerefOp |
7557
502ca0a62fd8
commit https://github.com/vim/vim/commit/acb4f221c715a333f4c49a2235a8006c6ac6e4d5
Christian Brabandt <cb@256bit.org>
parents:
7245
diff
changeset
|
593 hi def link shDerefPSR shDerefOp |
7 | 594 hi def link shDeref shShellVariables |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2357
diff
changeset
|
595 hi def link shDerefDelim shOperator |
7 | 596 hi def link shDerefSimple shDeref |
597 hi def link shDerefSpecial shDeref | |
598 hi def link shDerefString shDoubleQuote | |
167 | 599 hi def link shDerefVar shDeref |
7 | 600 hi def link shDoubleQuote shString |
601 hi def link shEcho shString | |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2357
diff
changeset
|
602 hi def link shEchoDelim shOperator |
1668 | 603 hi def link shEchoQuote shString |
6744 | 604 hi def link shForPP shLoop |
7 | 605 hi def link shEmbeddedEcho shString |
1668 | 606 hi def link shEscape shCommandSub |
2497 | 607 hi def link shExDoubleQuote shDoubleQuote |
167 | 608 hi def link shExSingleQuote shSingleQuote |
7 | 609 hi def link shHereDoc shString |
167 | 610 hi def link shHerePayload shHereDoc |
7 | 611 hi def link shLoop shStatement |
2034 | 612 hi def link shMoreSpecial shSpecial |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
613 hi def link shNoQuote shDoubleQuote |
7 | 614 hi def link shOption shCommandSub |
615 hi def link shPattern shString | |
1668 | 616 hi def link shParen shArithmetic |
7 | 617 hi def link shPosnParm shShellVariables |
1668 | 618 hi def link shQuickComment shComment |
7 | 619 hi def link shRange shOperator |
620 hi def link shRedir shOperator | |
2473
d55e70cabe2c
Syntax file updates. (Charles Campbell)
Bram Moolenaar <bram@vim.org>
parents:
2357
diff
changeset
|
621 hi def link shSetListDelim shOperator |
1668 | 622 hi def link shSetOption shOption |
7 | 623 hi def link shSingleQuote shString |
624 hi def link shSource shOperator | |
625 hi def link shStringSpecial shSpecial | |
626 hi def link shSubShRegion shOperator | |
627 hi def link shTestOpr shConditional | |
1121 | 628 hi def link shTestPattern shString |
629 hi def link shTestDoubleQuote shString | |
630 hi def link shTestSingleQuote shString | |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
631 hi def link shTouchCmd shStatement |
7 | 632 hi def link shVariable shSetList |
633 hi def link shWrapLineOperator shOperator | |
634 | |
635 if exists("b:is_bash") | |
636 hi def link bashAdminStatement shStatement | |
637 hi def link bashSpecialVariables shShellVariables | |
638 hi def link bashStatement shStatement | |
3920 | 639 hi def link shCharClass shSpecial |
9737
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
640 hi def link shDerefOff shDerefOp |
35ce559b8553
commit https://github.com/vim/vim/commit/bc8801c9317eb721a2ee91322669f2dd5d136380
Christian Brabandt <cb@256bit.org>
parents:
9344
diff
changeset
|
641 hi def link shDerefLen shDerefOff |
7 | 642 endif |
643 if exists("b:is_kornshell") | |
644 hi def link kshSpecialVariables shShellVariables | |
645 hi def link kshStatement shStatement | |
646 endif | |
647 | |
3281 | 648 if !exists("g:sh_no_error") |
649 hi def link shCaseError Error | |
650 hi def link shCondError Error | |
651 hi def link shCurlyError Error | |
652 hi def link shDerefOpError Error | |
653 hi def link shDerefWordError Error | |
654 hi def link shDoError Error | |
655 hi def link shEsacError Error | |
656 hi def link shIfError Error | |
657 hi def link shInError Error | |
658 hi def link shParenError Error | |
659 hi def link shTestError Error | |
660 if exists("b:is_kornshell") | |
661 hi def link shDTestError Error | |
662 endif | |
7 | 663 endif |
664 | |
665 hi def link shArithmetic Special | |
666 hi def link shCharClass Identifier | |
667 hi def link shSnglCase Statement | |
668 hi def link shCommandSub Special | |
669 hi def link shComment Comment | |
670 hi def link shConditional Conditional | |
1121 | 671 hi def link shCtrlSeq Special |
7 | 672 hi def link shExprRegion Delimiter |
199 | 673 hi def link shFunctionKey Function |
7 | 674 hi def link shFunctionName Function |
675 hi def link shNumber Number | |
676 hi def link shOperator Operator | |
677 hi def link shRepeat Repeat | |
678 hi def link shSet Statement | |
679 hi def link shSetList Identifier | |
680 hi def link shShellVariables PreProc | |
681 hi def link shSpecial Special | |
682 hi def link shStatement Statement | |
683 hi def link shString String | |
684 hi def link shTodo Todo | |
685 hi def link shAlias Identifier | |
6840 | 686 hi def link shHereDoc01 shRedir |
687 hi def link shHereDoc02 shRedir | |
688 hi def link shHereDoc03 shRedir | |
689 hi def link shHereDoc04 shRedir | |
690 hi def link shHereDoc05 shRedir | |
691 hi def link shHereDoc06 shRedir | |
692 hi def link shHereDoc07 shRedir | |
693 hi def link shHereDoc08 shRedir | |
694 hi def link shHereDoc09 shRedir | |
695 hi def link shHereDoc10 shRedir | |
696 hi def link shHereDoc11 shRedir | |
697 hi def link shHereDoc12 shRedir | |
698 hi def link shHereDoc13 shRedir | |
699 hi def link shHereDoc14 shRedir | |
700 hi def link shHereDoc15 shRedir | |
7228
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
701 |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
702 " Delete shell folding commands {{{1 |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
703 " ============================= |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
704 delc ShFoldFunctions |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
705 delc ShFoldHereDoc |
873eae260c97
commit https://github.com/vim/vim/commit/b4ff518d95aa57c2f8c0568c915035bef849581b
Christian Brabandt <cb@256bit.org>
parents:
7176
diff
changeset
|
706 delc ShFoldIfDoFor |
7 | 707 |
22 | 708 " Set Current Syntax: {{{1 |
709 " =================== | |
7 | 710 if exists("b:is_bash") |
711 let b:current_syntax = "bash" | |
712 elseif exists("b:is_kornshell") | |
713 let b:current_syntax = "ksh" | |
714 else | |
715 let b:current_syntax = "sh" | |
716 endif | |
717 | |
22 | 718 " vim: ts=16 fdm=marker |