blob: d41adf3c0329fee3d84cc78a9ec6829921e027a8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
<!DOCTYPE html>
<html>
<head>
<meta name="generator"
content="HTML Tidy for HTML5 for Linux version 5.6.0">
<title>senders - diffs</title>
</head>
<body>
<div>
<p>There is an outstanding issue in Vim's shell syntax file. A patch
was made that broke syntax that used almost any changes. I originally made
my own patch that worked for the most part, but in heavily neasted commands
it broke down. In the mailing list the following change was proposed. I am
supplying this diff for my own sanity so when my syntax file gets reset and
is still broken I can apply the diff :)</p>
</div>
<div>
Download: <a href="/diffs/sh-vim.diff"
target="_blank"
rel="noopener">sh-vim.diff</a>
</div>
<pre>
diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim
index 13d74dbc1..42151f41b 100644
--- a/runtime/syntax/sh.vim
+++ b/runtime/syntax/sh.vim
@@ -335,7 +335,7 @@ syn match shEscape contained '\%(^\)\@!\%(\\\\\)*\\.' nextgroup=shComment
" systems too, however, so the following syntax will flag $(..) as
" an Error under /bin/sh. By consensus of vimdev'ers!
if exists("b:is_kornshell") || exists("b:is_bash") || exists("b:is_posix")
- syn region shCommandSub matchgroup=shCmdSubRegion start="\$(\ze[^(]\|$" skip='\\\\\|\\.' end=")" contains=@shCommandSubList
+ syn region shCommandSub matchgroup=shCmdSubRegion start="\$(\ze[^(]\?" skip='\\\\\|\\.' end=")" contains=@shCommandSubList
syn region shArithmetic matchgroup=shArithRegion start="\$((" skip='\\\\\|\\.' end="))" contains=@shArithList
syn region shArithmetic matchgroup=shArithRegion start="\$\[" skip='\\\\\|\\.' end="\]" contains=@shArithList
syn match shSkipInitWS contained "^\s\+"
</pre>
<div>
<a href="https://groups.google.com/g/vim_dev/c/lOwoC5cHKDM"
target="_blank"
rel="noopener noreferrer external">Vim Dev Mailing List Thread -
Archive (Google Groups)</a>
</div>
</body>
</html>
|