diff options
| author | Sebastian Schweizer <sebastian@schweizer.tel> | 2016-03-21 12:04:09 +1300 |
|---|---|---|
| committer | Sebastian Schweizer <sebastian@schweizer.tel> | 2016-03-21 12:04:09 +1300 |
| commit | 1e3c73ac77074f2e374b87a8bf11dc286ba2017d (patch) | |
| tree | cf802bdec16ca6b64a6b2d37f611f56ff30005a2 /pygments/lexers/whiley.py | |
| parent | dc9c6a2eee8b62e50160c46d26e4eade377f7634 (diff) | |
| download | pygments-git-1e3c73ac77074f2e374b87a8bf11dc286ba2017d.tar.gz | |
fixes for Whiley lexer
Diffstat (limited to 'pygments/lexers/whiley.py')
| -rw-r--r-- | pygments/lexers/whiley.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/pygments/lexers/whiley.py b/pygments/lexers/whiley.py index d3c52949..330dbb57 100644 --- a/pygments/lexers/whiley.py +++ b/pygments/lexers/whiley.py @@ -11,7 +11,7 @@ from pygments.lexer import RegexLexer, bygroups, words from pygments.token import Comment, Keyword, Name, Number, Operator, \ - Punctuation, String, Text + Punctuation, String, Text __all__ = ['WhileyLexer'] @@ -63,7 +63,7 @@ class WhileyLexer(RegexLexer): bygroups(Keyword.Namespace, Text, Punctuation, Text, Keyword.Namespace)), (r'(import)(\s+)([a-zA-Z_]\w*)([^\S\n]+)(from)\b', bygroups(Keyword.Namespace, Text, Name, Text, Keyword.Namespace)), - (r'package|import\b', Keyword.Namespace), + (r'(package|import)\b', Keyword.Namespace), # standard library: https://github.com/Whiley/WhileyLibs/ (words(( @@ -81,6 +81,8 @@ class WhileyLexer(RegexLexer): # decimal literal (r'[0-9]+\.[0-9]+', Number.Float), + # match "1." but not ranges like "3..5" + (r'[0-9]+\.(?!\.)', Number.Float), # integer literal (r'0x[0-9a-fA-F]+', Number.Hex), @@ -96,7 +98,11 @@ class WhileyLexer(RegexLexer): # operators and punctuation (r'[{}()\[\],.;]', Punctuation), - (r'[+\-*/%&|<>^!~@=:?]', Operator), + (r'[+\-*/%&|<>^!~@=:?' + # unicode operators + r'\u2200\u2203\u2205\u2282\u2286\u2283\u2287' + r'\u222A\u2229\u2264\u2265\u2208\u2227\u2228' + r']', Operator), # identifier (r'[a-zA-Z_]\w*', Name), @@ -104,6 +110,7 @@ class WhileyLexer(RegexLexer): 'string': [ (r'"', String, '#pop'), (r'\\[btnfr]', String.Escape), + (r'\\u[0-9a-fA-F]{4}', String.Escape), (r'\\.', String), (r'[^\\"]+', String), ], |
