diff options
author | Richard Metzler <richard@launchco.com> | 2013-12-07 01:20:50 +0100 |
---|---|---|
committer | Richard Metzler <richard@launchco.com> | 2013-12-07 01:20:50 +0100 |
commit | 584974c292edbca8be0b6c2ccf8dc9dc1ba6e15a (patch) | |
tree | b7e5ccf5940f2e9a938ece64ff3bd04ff3667f43 | |
parent | 0e187dc6d5b3735c7fe82d79e6c2ceebeebc2d55 (diff) | |
download | pygments-584974c292edbca8be0b6c2ccf8dc9dc1ba6e15a.tar.gz |
FIX 873 Ruby 1.9 hash syntax, symbol with underscore as key not highlighted properly
Bugreport: https://bitbucket.org/birkenfeld/pygments-main/issue/873/ruby-19-hash-syntax-symbol-with-underscore
Example: https://gist.github.com/rmetzler/7833554
-rw-r--r-- | pygments/lexers/agile.py | 2 | ||||
-rw-r--r-- | tests/examplefiles/hash_syntax.rb | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/pygments/lexers/agile.py b/pygments/lexers/agile.py index 1f81365e..b5fc287c 100644 --- a/pygments/lexers/agile.py +++ b/pygments/lexers/agile.py @@ -532,7 +532,7 @@ class RubyLexer(ExtendedRegexLexer): (r":'(\\\\|\\'|[^'])*'", String.Symbol), (r"'(\\\\|\\'|[^'])*'", String.Single), (r':"', String.Symbol, 'simple-sym'), - (r'([a-zA-Z_][a-zA-Z0-9]*)(:)(?!:)', + (r'([a-zA-Z_][a-zA-Z0-9_]*)(:)(?!:)', bygroups(String.Symbol, Punctuation)), # Since Ruby 1.9 (r'"', String.Double, 'simple-string'), (r'(?<!\.)`', String.Backtick, 'simple-backtick'), diff --git a/tests/examplefiles/hash_syntax.rb b/tests/examplefiles/hash_syntax.rb new file mode 100644 index 00000000..35b27723 --- /dev/null +++ b/tests/examplefiles/hash_syntax.rb @@ -0,0 +1,5 @@ +{ :old_syntax => 'ok' } +{ 'stings as key' => 'should be ok' } +{ new_syntax: 'broken until now' } +{ withoutunderscore: 'should be ok' } +{ _underscoreinfront: 'might be ok, if I understand the pygments code correct' } |