Improve operator tokenizing

This commit is contained in:
Joshua Peek
2012-06-20 17:16:53 -05:00
parent c353d3a050
commit 5cdd5e206c
2 changed files with 24 additions and 6 deletions

View File

@@ -74,18 +74,22 @@ module Linguist
s.skip_until(/[^\\]'/)
# Skip number literals
elsif s.scan(/\d+/)
elsif s.scan(/(0x)?\d+/)
# SGML style brackets
elsif token = s.scan(/<[^>]+>/)
elsif token = s.scan(/<[^\s<>][^<>]*>/)
extract_sgml_tokens(token).each { |t| tokens << t }
# Common programming punctuation
elsif token = s.scan(/;|\{|\}|\(|\)|<<?|\+/)
elsif token = s.scan(/;|\{|\}|\(|\)/)
tokens << token
# Regular token
elsif token = s.scan(/[\w\.@#\/]+/)
elsif token = s.scan(/[\w\.@#\/\*]+/)
tokens << token
# Common operators
elsif token = s.scan(/<<?|\+|\-|\*|\/|&&?|\|\|?/)
tokens << token
else