diff options
-rw-r--r-- | pygments/lexers/shell.py | 4 | ||||
-rw-r--r-- | tests/examplefiles/example.sh | 22 |
2 files changed, 25 insertions, 1 deletions
diff --git a/pygments/lexers/shell.py b/pygments/lexers/shell.py index b069b375..c07ff6ee 100644 --- a/pygments/lexers/shell.py +++ b/pygments/lexers/shell.py @@ -71,8 +71,8 @@ class BashLexer(RegexLexer): (r'&', Punctuation), (r'\|', Punctuation), (r'\s+', Text), - (r'[^=\s\[\]{}()$"\'`\\<&|;]+', Text), (r'\d+(?= |\Z)', Number), + (r'[^=\s\[\]{}()$"\'`\\<&|;]+', Text), (r'\$#?(\w+|.)', Name.Variable), (r'<', Text), ], @@ -91,6 +91,8 @@ class BashLexer(RegexLexer): 'math': [ (r'\)\)', Keyword, '#pop'), (r'[-+*/%^|&]|\*\*|\|\|', Operator), + (r'\d+#\d+', Number), + (r'\d+#(?! )', Number), (r'\d+', Number), include('root'), ], diff --git a/tests/examplefiles/example.sh b/tests/examplefiles/example.sh new file mode 100644 index 00000000..2112cdd1 --- /dev/null +++ b/tests/examplefiles/example.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +printf "%d %s\n" 10 "foo" +printf "%d %s\n" $((10#1)) "bar" + +let "m = 10#${1:1:2}" +echo $m + +m=$((10#${1:4:3} + 10#${1:1:3})) +echo $m + +m=$((10#${1:4:3})) +echo $m + +m=$((10#$1)) +echo $m + +m=$((10#1)) +echo $m + +m=$((10)) +echo $m |