diff options
Diffstat (limited to 'pygments/lexers/idl.py')
-rw-r--r-- | pygments/lexers/idl.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/pygments/lexers/idl.py b/pygments/lexers/idl.py index e751f515..6c4929ad 100644 --- a/pygments/lexers/idl.py +++ b/pygments/lexers/idl.py @@ -10,8 +10,9 @@ import re -from pygments.lexer import RegexLexer, words -from pygments.token import Text, Comment, Operator, Keyword, Name, Number, String +from pygments.lexer import RegexLexer, words, bygroups +from pygments.token import Text, Comment, Operator, Keyword, Name, Number, \ + String, Whitespace __all__ = ['IDLLexer'] @@ -248,7 +249,8 @@ class IDLLexer(RegexLexer): tokens = { 'root': [ - (r'^\s*;.*?\n', Comment.Single), + (r'(^\s*)(;.*?)(\n)', bygroups(Whitespace, Comment.Single, + Whitespace)), (words(_RESERVED, prefix=r'\b', suffix=r'\b'), Keyword), (words(_BUILTIN_LIB, prefix=r'\b', suffix=r'\b'), Name.Builtin), (r'\+=|-=|\^=|\*=|/=|#=|##=|<=|>=|=', Operator), @@ -264,6 +266,8 @@ class IDLLexer(RegexLexer): (r'\b[+\-]?[0-9]+U?L{1,2}\b', Number.Integer.Long), (r'\b[+\-]?[0-9]+U?S?\b', Number.Integer), (r'\b[+\-]?[0-9]+B\b', Number), + (r'[ \t]+', Whitespace), + (r'\n', Whitespace), (r'.', Text), ] } @@ -277,4 +281,4 @@ class IDLLexer(RegexLexer): if 'endswitch' in text: result += 0.01 - return result
\ No newline at end of file + return result |