summaryrefslogtreecommitdiff
path: root/pygments/lexers/whiley.py
diff options
context:
space:
mode:
authorSebastian Schweizer <sebastian@schweizer.tel>2016-03-21 12:04:09 +1300
committerSebastian Schweizer <sebastian@schweizer.tel>2016-03-21 12:04:09 +1300
commit1e3c73ac77074f2e374b87a8bf11dc286ba2017d (patch)
treecf802bdec16ca6b64a6b2d37f611f56ff30005a2 /pygments/lexers/whiley.py
parentdc9c6a2eee8b62e50160c46d26e4eade377f7634 (diff)
downloadpygments-git-1e3c73ac77074f2e374b87a8bf11dc286ba2017d.tar.gz
fixes for Whiley lexer
Diffstat (limited to 'pygments/lexers/whiley.py')
-rw-r--r--pygments/lexers/whiley.py13
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),
],