summaryrefslogtreecommitdiff
path: root/www/diffs/sh-vim.html
blob: 713b481441b17d42c12f60e6bed65463d2cda415 (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.7.45">
  <title>senders - diffs</title>
</head>
<body>
  <div>
    <p>There is an outstanding issue in Vim&#39;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       &#39;\%(^\)\@!\%(\\\\\)*\\.&#39;        nextgroup=shComment
 &quot; systems too, however, so the following syntax will flag $(..) as
 &quot; an Error under /bin/sh.  By consensus of vimdev&#39;ers!
 if exists(&quot;b:is_kornshell&quot;) || exists(&quot;b:is_bash&quot;) || exists(&quot;b:is_posix&quot;)
- syn region shCommandSub matchgroup=shCmdSubRegion start=&quot;\$(\ze[^(]\|$&quot;  skip=&#39;\\\\\|\\.&#39; end=&quot;)&quot;  contains=@shCommandSubList
+ syn region shCommandSub matchgroup=shCmdSubRegion start=&quot;\$(\ze[^(]\?&quot;  skip=&#39;\\\\\|\\.&#39; end=&quot;)&quot;  contains=@shCommandSubList
  syn region shArithmetic matchgroup=shArithRegion  start=&quot;\$((&quot; skip=&#39;\\\\\|\\.&#39; end=&quot;))&quot; contains=@shArithList
  syn region shArithmetic matchgroup=shArithRegion  start=&quot;\$\[&quot; skip=&#39;\\\\\|\\.&#39; end=&quot;\]&quot; contains=@shArithList
  syn match  shSkipInitWS contained     &quot;^\s\+&quot;
    </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>