Skip to content

Commit 55a95e6

Browse files
committed
update from pejuko/coderay_bash
1 parent 4ffc0af commit 55a95e6

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

lib/coderay/scanners/bash.rb

+11-11
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ def scan_tokens encoder, options
7676
kind = match = nil
7777

7878
if match = scan(/\n/)
79-
encoder.text_token(match, :plain)
79+
encoder.text_token(match, :end_line)
8080
next
8181
end
8282

@@ -85,9 +85,11 @@ def scan_tokens encoder, options
8585
kind = :directive
8686
elsif match = scan(/\s*#.*/)
8787
kind = :comment
88-
elsif match = scan(/.#/)
88+
elsif match = scan(/[^"]#/)
8989
kind = :ident
90-
elsif match = scan(/(?:\. |source ).*/)
90+
elsif match = scan(/\.\.+/)
91+
kind = :plain
92+
elsif match = scan(/(?:\.|source)\s+/)
9193
kind = :reserved
9294
elsif match = scan(/(?:\\.|,)/)
9395
kind = :plain
@@ -146,13 +148,11 @@ def scan_tokens encoder, options
146148
encoder.begin_group :shell
147149
encoder.text_token(match, :delimiter)
148150
next
149-
elsif match = scan(/ \) /ox)
150-
if @brace_shell > 0
151-
encoder.text_token(match, :delimiter)
152-
encoder.end_group :shell
153-
@brace_shell -= 1
154-
next
155-
end
151+
elsif @brace_shell > 0 && match = scan(/ \) /ox)
152+
encoder.text_token(match, :delimiter)
153+
encoder.end_group :shell
154+
@brace_shell -= 1
155+
next
156156
elsif match = scan(PRE_CONSTANTS)
157157
kind = :predefined_constant
158158
elsif match = scan(/[^\s'"]*[A-Za-z_][A-Za-z_0-9]*\+?=/)
@@ -266,7 +266,7 @@ def scan_tokens encoder, options
266266

267267

268268
def match_array(match, encoder)
269-
match =~ /([A-Za-z_]+)\[(.*?)\]/
269+
match =~ /(.+)\[(.*?)\]/
270270
var = $1
271271
key = $2
272272
kind = IDENT_KIND[var]

0 commit comments

Comments
 (0)