Skip to content

Commit 4c58f27

Browse files
committed
fix(bash): arguments highlight
1 parent 5697ae5 commit 4c58f27

File tree

9 files changed

+28
-15
lines changed

9 files changed

+28
-15
lines changed

CHANGES.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Core Grammars:
2626
- enh(json) add json5 support [Kerry Shetline][]
2727
- fix(css) `unicode-range` parsing, issue #4253 [Kerry Shetline][]
2828
- fix(csharp) Support digit separators [te-ing][]
29+
- fix(bash) arguments highlight for Bash/Shell, issue #4288 [tuyen-at-work][]
2930

3031
Documentation:
3132

@@ -55,6 +56,7 @@ CONTRIBUTORS
5556
[te-ing]: https://github.com/te-ing
5657
[Anthony Martin]: https://github.com/anthony-c-martin
5758
[NriotHrreion]: https://github.com/NriotHrreion
59+
[tuyen-at-work]: https://github.com/tuyen-at-work
5860

5961

6062
## Version 11.11.1

src/languages/bash.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,16 @@ export default function(hljs) {
117117
relevance: 0
118118
};
119119

120+
const BASH_ARGUMENTS = {
121+
variants: [
122+
{
123+
className: "attr",
124+
begin: /[\t\u0020](-){1,2}[\w\d-]+/,
125+
relevance: 0,
126+
},
127+
],
128+
};
129+
120130
const KEYWORDS = [
121131
"if",
122132
"then",
@@ -392,6 +402,7 @@ export default function(hljs) {
392402
contains: [
393403
KNOWN_SHEBANG, // to catch known shells and boost relevancy
394404
hljs.SHEBANG(), // to catch unknown shells but still highlight the shebang
405+
BASH_ARGUMENTS,
395406
FUNCTION,
396407
ARITHMETIC,
397408
COMMENT,
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
<span class="hljs-comment"># Escaped double-quote is not a string</span>
2-
<span class="hljs-built_in">echo</span> <span class="hljs-string">&#x27;&quot;quoted&quot;&#x27;</span> | <span class="hljs-built_in">tr</span> -d \&quot; &gt; text.txt
2+
<span class="hljs-built_in">echo</span> <span class="hljs-string">&#x27;&quot;quoted&quot;&#x27;</span> | <span class="hljs-built_in">tr</span><span class="hljs-attr"> -d</span> \&quot; &gt; text.txt
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
<span class="hljs-comment"># numbers aren&#x27;t highlighted in bash as their semantics is</span>
22
<span class="hljs-comment"># not strictly defined for command line parameters</span>
3-
$ <span class="hljs-built_in">tail</span> -10 access.log
3+
$ <span class="hljs-built_in">tail</span><span class="hljs-attr"> -10</span> access.log

test/markup/bash/strings.expect.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ SCRIPT_DIR=<span class="hljs-string">&quot;<span class="hljs-subst">$( cd <span
22
TLS_DIR=<span class="hljs-string">&quot;<span class="hljs-variable">$SCRIPT_DIR</span>/../src/main/resources/tls&quot;</span>
33
ROOT_DIR=<span class="hljs-string">&quot;<span class="hljs-variable">$SCRIPT_DIR</span>/..&quot;</span>
44

5-
jshell -s - &lt;&lt; <span class="hljs-string">EOF
5+
jshell<span class="hljs-attr"> -s</span> - &lt;&lt; <span class="hljs-string">EOF
66
System.out.printf(&quot;Procs: %s%n&quot;, getdata())
77
EOF</span>
88

9-
jshell -s - &lt;&lt;&lt;<span class="hljs-string">&#x27;System.out.printf(&quot;Procs: %s%n&quot;, getdata())&#x27;</span>
9+
jshell<span class="hljs-attr"> -s</span> - &lt;&lt;&lt;<span class="hljs-string">&#x27;System.out.printf(&quot;Procs: %s%n&quot;, getdata())&#x27;</span>
1010

1111
<span class="hljs-built_in">cat</span> &lt;&lt;&lt; <span class="hljs-string">&#x27;$VARIABLE&#x27;</span>
1212
<span class="hljs-built_in">cat</span> &lt;&lt;&lt; <span class="hljs-string">&quot;<span class="hljs-variable">$VARIABLE</span>&quot;</span>

test/markup/bash/token-containing-keyword.expect.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<span class="hljs-comment"># a keyword as part of an option</span>
2-
mycmd --disable-foo
2+
mycmd<span class="hljs-attr"> --disable-foo</span>
33

44
<span class="hljs-comment"># a keyword as part of a parameter</span>
55
some-cmd set-some-setting

test/markup/dockerfile/default.expect.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<span class="hljs-keyword">COPY</span><span class="language-bash"> www.conf /etc/php5/fpm/pool.d/</span>
88

99
<span class="hljs-keyword">RUN</span><span class="language-bash"> apt-get update \
10-
&amp;&amp; apt-get install -y php5-fpm php-apc php5-curl php5-gd php5-intl php5-mysql</span>
10+
&amp;&amp; apt-get install<span class="hljs-attr"> -y</span> php5-fpm php-apc php5-curl php5-gd php5-intl php5-mysql</span>
1111
<span class="hljs-keyword">RUN</span><span class="language-bash"> <span class="hljs-built_in">mkdir</span> /tmp/sessions</span>
1212

1313
<span class="hljs-keyword">ENV</span> APPLICATION_ENV dev
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
<span class="hljs-meta prompt_">$ </span><span class="language-bash">docker run \
2-
--publish=7474:7474 --publish=7687:7687 \
3-
--volume=/neo4j/data:/data \
4-
--volume=/neo4j/plugins:/plugins \
5-
--volume=/neo4j/conf:/conf \
6-
--volume=/logs/neo4j:/logs \
7-
--user=<span class="hljs-string">&quot;<span class="hljs-subst">$(id -u neo4j)</span>:<span class="hljs-subst">$(id -g neo4j)</span>&quot;</span> \
8-
--group-add=<span class="hljs-variable">$groups</span> \
2+
<span class="hljs-attr"> --publish</span>=7474:7474<span class="hljs-attr"> --publish</span>=7687:7687 \
3+
<span class="hljs-attr"> --volume</span>=/neo4j/data:/data \
4+
<span class="hljs-attr"> --volume</span>=/neo4j/plugins:/plugins \
5+
<span class="hljs-attr"> --volume</span>=/neo4j/conf:/conf \
6+
<span class="hljs-attr"> --volume</span>=/logs/neo4j:/logs \
7+
<span class="hljs-attr"> --user</span>=<span class="hljs-string">&quot;<span class="hljs-subst">$(id -u neo4j)</span>:<span class="hljs-subst">$(id -g neo4j)</span>&quot;</span> \
8+
<span class="hljs-attr"> --group-add</span>=<span class="hljs-variable">$groups</span> \
99
neo4j:3.4</span>
1010
<span class="hljs-meta prompt_">&gt; </span><span class="language-bash">/bin/cat \.travis.yml\
11-
-b | <span class="hljs-built_in">head</span> -n1</span>
11+
<span class="hljs-attr"> -b</span> | <span class="hljs-built_in">head</span><span class="hljs-attr"> -n1</span></span>
1212
1 language: node_js
1313
<span class="hljs-meta prompt_">&gt; </span><span class="language-bash"><span class="hljs-built_in">echo</span> <span class="hljs-string">&#x27;hello&#x27;</span></span>
1414
hello

test/markup/shell/single.expect.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<span class="hljs-meta prompt_">$ </span><span class="language-bash"><span class="hljs-built_in">echo</span> <span class="hljs-string">&quot;<span class="hljs-variable">$HOME</span>&quot;</span> -n</span>
1+
<span class="hljs-meta prompt_">$ </span><span class="language-bash"><span class="hljs-built_in">echo</span> <span class="hljs-string">&quot;<span class="hljs-variable">$HOME</span>&quot;</span><span class="hljs-attr"> -n</span></span>

0 commit comments

Comments
 (0)