pygments.rb 0.2.7 → 0.2.8
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/pygments/version.rb +1 -1
- data/vendor/pygments-main/AUTHORS +2 -0
- data/vendor/pygments-main/CHANGES +11 -3
- data/vendor/pygments-main/REVISION +1 -1
- data/vendor/pygments-main/TODO +0 -2
- data/vendor/pygments-main/docs/generate.py +1 -1
- data/vendor/pygments-main/docs/src/tokens.txt +1 -1
- data/vendor/pygments-main/pygments/__init__.py +1 -1
- data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_mapping.py +4 -2
- data/vendor/pygments-main/pygments/lexers/agile.py +15 -15
- data/vendor/pygments-main/pygments/lexers/asm.py +4 -4
- data/vendor/pygments-main/pygments/lexers/compiled.py +9 -9
- data/vendor/pygments-main/pygments/lexers/dotnet.py +5 -5
- data/vendor/pygments-main/pygments/lexers/functional.py +13 -9
- data/vendor/pygments-main/pygments/lexers/hdl.py +21 -22
- data/vendor/pygments-main/pygments/lexers/jvm.py +178 -9
- data/vendor/pygments-main/pygments/lexers/math.py +4 -4
- data/vendor/pygments-main/pygments/lexers/other.py +31 -31
- data/vendor/pygments-main/pygments/lexers/parsers.py +3 -3
- data/vendor/pygments-main/pygments/lexers/shell.py +7 -6
- data/vendor/pygments-main/pygments/lexers/sql.py +4 -4
- data/vendor/pygments-main/pygments/lexers/templates.py +68 -21
- data/vendor/pygments-main/pygments/lexers/text.py +22 -21
- data/vendor/pygments-main/pygments/lexers/web.py +82 -79
- data/vendor/pygments-main/setup.py +1 -1
- data/vendor/pygments-main/tests/examplefiles/antlr_throws +1 -0
- data/vendor/pygments-main/tests/examplefiles/example.kt +47 -0
- data/vendor/pygments-main/tests/examplefiles/example.sh-session +2 -0
- data/vendor/pygments-main/tests/examplefiles/example.tea +34 -0
- data/vendor/pygments-main/tests/examplefiles/function.mu +1 -0
- metadata +14 -10
@@ -72,8 +72,8 @@ class RagelLexer(RegexLexer):
|
|
72
72
|
],
|
73
73
|
'operators': [
|
74
74
|
(r',', Operator), # Join
|
75
|
-
(r'
|
76
|
-
(r'
|
75
|
+
(r'\||&|--?', Operator), # Union, Intersection and Subtraction
|
76
|
+
(r'\.|<:|:>>?', Operator), # Concatention
|
77
77
|
(r':', Operator), # Label
|
78
78
|
(r'->', Operator), # Epsilon Transition
|
79
79
|
(r'(>|\$|%|<|@|<>)(/|eof\b)', Operator), # EOF Actions
|
@@ -393,7 +393,7 @@ class AntlrLexer(RegexLexer):
|
|
393
393
|
# throwsSpec
|
394
394
|
(r'(throws)(\s+)(' + _id + ')',
|
395
395
|
bygroups(Keyword, Whitespace, Name.Label)),
|
396
|
-
(r'(
|
396
|
+
(r'(,)(\s*)(' + _id + ')',
|
397
397
|
bygroups(Punctuation, Whitespace, Name.Label)), # Additional throws
|
398
398
|
# optionsSpec
|
399
399
|
(r'options\b', Keyword, 'options'),
|
@@ -32,7 +32,8 @@ class BashLexer(RegexLexer):
|
|
32
32
|
|
33
33
|
name = 'Bash'
|
34
34
|
aliases = ['bash', 'sh', 'ksh']
|
35
|
-
filenames = ['*.sh', '*.ksh', '*.bash', '*.ebuild', '*.eclass'
|
35
|
+
filenames = ['*.sh', '*.ksh', '*.bash', '*.ebuild', '*.eclass',
|
36
|
+
'.bashrc', 'bashrc', '.bash_*', 'bash_*']
|
36
37
|
mimetypes = ['application/x-sh', 'application/x-shellscript']
|
37
38
|
|
38
39
|
tokens = {
|
@@ -67,7 +68,7 @@ class BashLexer(RegexLexer):
|
|
67
68
|
(r"(?s)\$?'(\\\\|\\[0-7]+|\\.|[^'\\])*'", String.Single),
|
68
69
|
(r';', Text),
|
69
70
|
(r'\s+', Text),
|
70
|
-
(r'[^=\s\
|
71
|
+
(r'[^=\s\[\]{}()$"\'`\\<]+', Text),
|
71
72
|
(r'\d+(?= |\Z)', Number),
|
72
73
|
(r'\$#?(\w+|.)', Name.Variable),
|
73
74
|
(r'<', Text),
|
@@ -121,8 +122,8 @@ class BashSessionLexer(Lexer):
|
|
121
122
|
|
122
123
|
for match in line_re.finditer(text):
|
123
124
|
line = match.group()
|
124
|
-
m = re.match(r'^((?:|sh\S*?|\w+\S+[@:]\S+(?:\s+\S+)
|
125
|
-
|
125
|
+
m = re.match(r'^((?:\(\S+\))?(?:|sh\S*?|\w+\S+[@:]\S+(?:\s+\S+)'
|
126
|
+
r'?|\[\S+[@:][^\n]+\].+)[$#%])(.*\n?)' , line)
|
126
127
|
if m:
|
127
128
|
# To support output lexers (say diff output), the output
|
128
129
|
# needs to be broken by prompts whenever the output lexer
|
@@ -251,7 +252,7 @@ class TcshLexer(RegexLexer):
|
|
251
252
|
(r'(?s)"(\\\\|\\[0-7]+|\\.|[^"\\])*"', String.Double),
|
252
253
|
(r"(?s)'(\\\\|\\[0-7]+|\\.|[^'\\])*'", String.Single),
|
253
254
|
(r'\s+', Text),
|
254
|
-
(r'[^=\s\
|
255
|
+
(r'[^=\s\[\]{}()$"\'`\\]+', Text),
|
255
256
|
(r'\d+(?= |\Z)', Number),
|
256
257
|
(r'\$#?(\w+|.)', Name.Variable),
|
257
258
|
],
|
@@ -315,7 +316,7 @@ class PowerShellLexer(RegexLexer):
|
|
315
316
|
|
316
317
|
commenthelp = (
|
317
318
|
'component description example externalhelp forwardhelpcategory '
|
318
|
-
'forwardhelptargetname
|
319
|
+
'forwardhelptargetname functionality inputs link '
|
319
320
|
'notes outputs parameter remotehelprunspace role synopsis').split()
|
320
321
|
|
321
322
|
tokens = {
|
@@ -147,14 +147,14 @@ class PostgresLexer(PostgresBase, RegexLexer):
|
|
147
147
|
for s in DATATYPES + PSEUDO_TYPES])
|
148
148
|
+ r')\b', Name.Builtin),
|
149
149
|
(r'(' + '|'.join(KEYWORDS) + r')\b', Keyword),
|
150
|
-
(r'[
|
150
|
+
(r'[+*/<>=~!@#%^&|`?-]+', Operator),
|
151
151
|
(r'::', Operator), # cast
|
152
152
|
(r'\$\d+', Name.Variable),
|
153
153
|
(r'([0-9]*\.[0-9]*|[0-9]+)(e[+-]?[0-9]+)?', Number.Float),
|
154
154
|
(r'[0-9]+', Number.Integer),
|
155
155
|
(r"(E|U&)?'(''|[^'])*'", String.Single),
|
156
156
|
(r'(U&)?"(""|[^"])*"', String.Name), # quoted identifier
|
157
|
-
(r'(?
|
157
|
+
(r'(?s)(\$[^\$]*\$)(.*?)(\1)', language_callback),
|
158
158
|
(r'[a-zA-Z_][a-zA-Z0-9_]*', Name),
|
159
159
|
|
160
160
|
# psql variable in SQL
|
@@ -434,7 +434,7 @@ class SqlLexer(RegexLexer):
|
|
434
434
|
r'DEC|DECIMAL|FLOAT|INT|INTEGER|INTERVAL|NUMBER|NUMERIC|REAL|'
|
435
435
|
r'SERIAL|SMALLINT|VARCHAR|VARYING|INT8|SERIAL8|TEXT)\b',
|
436
436
|
Name.Builtin),
|
437
|
-
(r'[
|
437
|
+
(r'[+*/<>=~!@#%^&|`?-]', Operator),
|
438
438
|
(r'[0-9]+', Number.Integer),
|
439
439
|
# TODO: Backslash escapes?
|
440
440
|
(r"'(''|[^'])*'", String.Single),
|
@@ -472,7 +472,7 @@ class MySqlLexer(RegexLexer):
|
|
472
472
|
(r"'(''|[^'])*'", String.Single),
|
473
473
|
(r'"(""|[^"])*"', String.Double),
|
474
474
|
(r"`(``|[^`])*`", String.Symbol),
|
475
|
-
(r'[
|
475
|
+
(r'[+*/<>=~!@#%^&|`?-]', Operator),
|
476
476
|
(r'\b(tinyint|smallint|mediumint|int|integer|bigint|date|'
|
477
477
|
r'datetime|time|bit|bool|tinytext|mediumtext|longtext|text|'
|
478
478
|
r'tinyblob|mediumblob|longblob|blob|float|double|double\s+'
|
@@ -15,6 +15,7 @@ from pygments.lexers.web import \
|
|
15
15
|
PhpLexer, HtmlLexer, XmlLexer, JavascriptLexer, CssLexer
|
16
16
|
from pygments.lexers.agile import PythonLexer, PerlLexer
|
17
17
|
from pygments.lexers.compiled import JavaLexer
|
18
|
+
from pygments.lexers.jvm import TeaLangLexer
|
18
19
|
from pygments.lexer import Lexer, DelegatingLexer, RegexLexer, bygroups, \
|
19
20
|
include, using, this
|
20
21
|
from pygments.token import Error, Punctuation, \
|
@@ -33,11 +34,10 @@ __all__ = ['HtmlPhpLexer', 'XmlPhpLexer', 'CssPhpLexer',
|
|
33
34
|
'MyghtyCssLexer', 'MyghtyJavascriptLexer', 'MasonLexer', 'MakoLexer',
|
34
35
|
'MakoHtmlLexer', 'MakoXmlLexer', 'MakoJavascriptLexer',
|
35
36
|
'MakoCssLexer', 'JspLexer', 'CheetahLexer', 'CheetahHtmlLexer',
|
36
|
-
'CheetahXmlLexer', 'CheetahJavascriptLexer',
|
37
|
-
'
|
38
|
-
'
|
39
|
-
'
|
40
|
-
'SspLexer']
|
37
|
+
'CheetahXmlLexer', 'CheetahJavascriptLexer', 'EvoqueLexer',
|
38
|
+
'EvoqueHtmlLexer', 'EvoqueXmlLexer', 'ColdfusionLexer',
|
39
|
+
'ColdfusionHtmlLexer', 'VelocityLexer', 'VelocityHtmlLexer',
|
40
|
+
'VelocityXmlLexer', 'SspLexer', 'TeaTemplateLexer']
|
41
41
|
|
42
42
|
|
43
43
|
class ErbLexer(Lexer):
|
@@ -168,7 +168,7 @@ class SmartyLexer(RegexLexer):
|
|
168
168
|
(r'#[a-zA-Z_][a-zA-Z0-9_]*#', Name.Variable),
|
169
169
|
(r'\$[a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z0-9_]+)*', Name.Variable),
|
170
170
|
(r'[~!%^&*()+=|\[\]:;,.<>/?{}@-]', Operator),
|
171
|
-
('(true|false|null)\b', Keyword.Constant),
|
171
|
+
(r'(true|false|null)\b', Keyword.Constant),
|
172
172
|
(r"[0-9](\.[0-9]*)?(eE[+-][0-9])?[flFLdD]?|"
|
173
173
|
r"0[xX][0-9a-fA-F]+[Ll]?", Number),
|
174
174
|
(r'"(\\\\|\\"|[^"])*"', String.Double),
|
@@ -406,11 +406,11 @@ class MyghtyLexer(RegexLexer):
|
|
406
406
|
tokens = {
|
407
407
|
'root': [
|
408
408
|
(r'\s+', Text),
|
409
|
-
(r'(<%(def|method))(\s*)(.*?)(>)(.*?)(</%\2\s*>)(?s)',
|
410
|
-
bygroups(Name.Tag,
|
409
|
+
(r'(<%(?:def|method))(\s*)(.*?)(>)(.*?)(</%\2\s*>)(?s)',
|
410
|
+
bygroups(Name.Tag, Text, Name.Function, Name.Tag,
|
411
411
|
using(this), Name.Tag)),
|
412
|
-
(r'(
|
413
|
-
bygroups(Name.Tag,
|
412
|
+
(r'(<%\w+)(.*?)(>)(.*?)(</%\2\s*>)(?s)',
|
413
|
+
bygroups(Name.Tag, Name.Function, Name.Tag,
|
414
414
|
using(PythonLexer), Name.Tag)),
|
415
415
|
(r'(<&[^|])(.*?)(,.*?)?(&>)',
|
416
416
|
bygroups(Name.Tag, Name.Function, using(PythonLexer), Name.Tag)),
|
@@ -525,11 +525,11 @@ class MasonLexer(RegexLexer):
|
|
525
525
|
(r'\s+', Text),
|
526
526
|
(r'(<%doc>)(.*?)(</%doc>)(?s)',
|
527
527
|
bygroups(Name.Tag, Comment.Multiline, Name.Tag)),
|
528
|
-
(r'(<%(def|method))(\s*)(.*?)(>)(.*?)(</%\2\s*>)(?s)',
|
529
|
-
bygroups(Name.Tag,
|
528
|
+
(r'(<%(?:def|method))(\s*)(.*?)(>)(.*?)(</%\2\s*>)(?s)',
|
529
|
+
bygroups(Name.Tag, Text, Name.Function, Name.Tag,
|
530
530
|
using(this), Name.Tag)),
|
531
|
-
(r'(
|
532
|
-
bygroups(Name.Tag,
|
531
|
+
(r'(<%\w+)(.*?)(>)(.*?)(</%\2\s*>)(?s)',
|
532
|
+
bygroups(Name.Tag, Name.Function, Name.Tag,
|
533
533
|
using(PerlLexer), Name.Tag)),
|
534
534
|
(r'(<&[^|])(.*?)(,.*?)?(&>)(?s)',
|
535
535
|
bygroups(Name.Tag, Name.Function, using(PerlLexer), Name.Tag)),
|
@@ -616,8 +616,8 @@ class MakoLexer(RegexLexer):
|
|
616
616
|
include('tag'),
|
617
617
|
],
|
618
618
|
'tag': [
|
619
|
-
(r'((?:\w+)\s*=)\s*(".*?")',
|
620
|
-
bygroups(Name.Attribute, String)),
|
619
|
+
(r'((?:\w+)\s*=)(\s*)(".*?")',
|
620
|
+
bygroups(Name.Attribute, Text, String)),
|
621
621
|
(r'/?\s*>', Comment.Preproc, '#pop'),
|
622
622
|
(r'\s+', Text),
|
623
623
|
],
|
@@ -1403,7 +1403,7 @@ class EvoqueLexer(RegexLexer):
|
|
1403
1403
|
# directives: begin, end
|
1404
1404
|
(r'(\$)(begin|end)(\{(%)?)(.*?)((?(4)%)\})',
|
1405
1405
|
bygroups(Punctuation, Name.Builtin, Punctuation, None,
|
1406
|
-
String, Punctuation
|
1406
|
+
String, Punctuation)),
|
1407
1407
|
# directives: evoque, overlay
|
1408
1408
|
# see doc for handling first name arg: /directives/evoque/
|
1409
1409
|
#+ minor inconsistency: the "name" in e.g. $overlay{name=site_base}
|
@@ -1411,17 +1411,17 @@ class EvoqueLexer(RegexLexer):
|
|
1411
1411
|
(r'(\$)(evoque|overlay)(\{(%)?)(\s*[#\w\-"\'.]+[^=,%}]+?)?'
|
1412
1412
|
r'(.*?)((?(4)%)\})',
|
1413
1413
|
bygroups(Punctuation, Name.Builtin, Punctuation, None,
|
1414
|
-
String, using(PythonLexer), Punctuation
|
1414
|
+
String, using(PythonLexer), Punctuation)),
|
1415
1415
|
# directives: if, for, prefer, test
|
1416
1416
|
(r'(\$)(\w+)(\{(%)?)(.*?)((?(4)%)\})',
|
1417
1417
|
bygroups(Punctuation, Name.Builtin, Punctuation, None,
|
1418
|
-
using(PythonLexer), Punctuation
|
1418
|
+
using(PythonLexer), Punctuation)),
|
1419
1419
|
# directive clauses (no {} expression)
|
1420
1420
|
(r'(\$)(else|rof|fi)', bygroups(Punctuation, Name.Builtin)),
|
1421
1421
|
# expressions
|
1422
1422
|
(r'(\$\{(%)?)(.*?)((!)(.*?))?((?(2)%)\})',
|
1423
1423
|
bygroups(Punctuation, None, using(PythonLexer),
|
1424
|
-
Name.Builtin, None, None, Punctuation
|
1424
|
+
Name.Builtin, None, None, Punctuation)),
|
1425
1425
|
(r'#', Other),
|
1426
1426
|
],
|
1427
1427
|
'comment': [
|
@@ -1489,7 +1489,8 @@ class ColdfusionLexer(RegexLexer):
|
|
1489
1489
|
(r"'.*?'", String.Single),
|
1490
1490
|
(r'\d+', Number),
|
1491
1491
|
(r'(if|else|len|var|case|default|break|switch)\b', Keyword),
|
1492
|
-
(r'([A-Za-z_$][A-Za-z0-9_.]*)\s*(\()',
|
1492
|
+
(r'([A-Za-z_$][A-Za-z0-9_.]*)(\s*)(\()',
|
1493
|
+
bygroups(Name.Function, Text, Punctuation)),
|
1493
1494
|
(r'[A-Za-z_$][A-Za-z0-9_.]*', Name.Variable),
|
1494
1495
|
(r'[()\[\]{};:,.\\]', Punctuation),
|
1495
1496
|
(r'\s+', Text),
|
@@ -1581,3 +1582,49 @@ class SspLexer(DelegatingLexer):
|
|
1581
1582
|
if '<%' in text and '%>' in text:
|
1582
1583
|
rv += 0.1
|
1583
1584
|
return rv
|
1585
|
+
|
1586
|
+
|
1587
|
+
class TeaTemplateRootLexer(RegexLexer):
|
1588
|
+
"""
|
1589
|
+
Base for the `TeaTemplateLexer`. Yields `Token.Other` for area outside of
|
1590
|
+
code blocks.
|
1591
|
+
|
1592
|
+
*New in Pygments 1.5.*
|
1593
|
+
"""
|
1594
|
+
|
1595
|
+
tokens = {
|
1596
|
+
'root': [
|
1597
|
+
(r'<%\S?', Keyword, 'sec'),
|
1598
|
+
(r'[^<]+', Other),
|
1599
|
+
(r'<', Other),
|
1600
|
+
],
|
1601
|
+
'sec': [
|
1602
|
+
(r'%>', Keyword, '#pop'),
|
1603
|
+
# note: '\w\W' != '.' without DOTALL.
|
1604
|
+
(r'[\w\W]+?(?=%>|\Z)', using(TeaLangLexer)),
|
1605
|
+
],
|
1606
|
+
}
|
1607
|
+
|
1608
|
+
|
1609
|
+
class TeaTemplateLexer(DelegatingLexer):
|
1610
|
+
"""
|
1611
|
+
Lexer for `Tea Templates <http://teatrove.org/>`_.
|
1612
|
+
|
1613
|
+
*New in Pygments 1.5.*
|
1614
|
+
"""
|
1615
|
+
name = 'Tea'
|
1616
|
+
aliases = ['tea']
|
1617
|
+
filenames = ['*.tea']
|
1618
|
+
mimetypes = ['text/x-tea']
|
1619
|
+
|
1620
|
+
def __init__(self, **options):
|
1621
|
+
super(TeaTemplateLexer, self).__init__(XmlLexer,
|
1622
|
+
TeaTemplateRootLexer, **options)
|
1623
|
+
|
1624
|
+
def analyse_text(text):
|
1625
|
+
rv = TeaLangLexer.analyse_text(text) - 0.01
|
1626
|
+
if looks_like_xml(text):
|
1627
|
+
rv += 0.4
|
1628
|
+
if '<%' in text and '%>' in text:
|
1629
|
+
rv += 0.1
|
1630
|
+
return rv
|
@@ -292,12 +292,12 @@ class DarcsPatchLexer(RegexLexer):
|
|
292
292
|
'insert': [
|
293
293
|
include('specialText'),
|
294
294
|
(r'\[', Generic.Inserted),
|
295
|
-
(r'[^\n\[]
|
295
|
+
(r'[^\n\[]+', Generic.Inserted),
|
296
296
|
],
|
297
297
|
'delete': [
|
298
298
|
include('specialText'),
|
299
299
|
(r'\[', Generic.Deleted),
|
300
|
-
(r'[^\n\[]
|
300
|
+
(r'[^\n\[]+', Generic.Deleted),
|
301
301
|
],
|
302
302
|
}
|
303
303
|
|
@@ -346,18 +346,18 @@ class IrcLogsLexer(RegexLexer):
|
|
346
346
|
# /me msgs
|
347
347
|
("^" + timestamp + r"""
|
348
348
|
(\s*[*]\s+) # Star
|
349
|
-
(
|
349
|
+
(\S+\s+.*?\n) # Nick + rest of message """,
|
350
350
|
bygroups(Comment.Preproc, Keyword, Generic.Inserted)),
|
351
351
|
# join/part msgs
|
352
352
|
("^" + timestamp + r"""
|
353
353
|
(\s*(?:\*{3}|<?-[!@=P]?->?)\s*) # Star(s) or symbols
|
354
|
-
(
|
354
|
+
(\S+\s+) # Nick + Space
|
355
355
|
(.*?\n) # Rest of message """,
|
356
356
|
bygroups(Comment.Preproc, Keyword, String, Comment)),
|
357
357
|
(r"^.*?\n", Text),
|
358
358
|
],
|
359
359
|
'msg': [
|
360
|
-
(r"
|
360
|
+
(r"\S+:(?!//)", Name.Attribute), # Prefix
|
361
361
|
(r".*\n", Text, '#pop'),
|
362
362
|
],
|
363
363
|
}
|
@@ -468,7 +468,7 @@ class GroffLexer(RegexLexer):
|
|
468
468
|
|
469
469
|
tokens = {
|
470
470
|
'root': [
|
471
|
-
(r'(
|
471
|
+
(r'(\.)(\w+)', bygroups(Text, Keyword), 'request'),
|
472
472
|
(r'\.', Punctuation, 'request'),
|
473
473
|
# Regular characters, slurp till we find a backslash or newline
|
474
474
|
(r'[^\\\n]*', Text, 'textline'),
|
@@ -482,7 +482,7 @@ class GroffLexer(RegexLexer):
|
|
482
482
|
# groff has many ways to write escapes.
|
483
483
|
(r'\\"[^\n]*', Comment),
|
484
484
|
(r'\\[fn]\w', String.Escape),
|
485
|
-
(r'\\\(
|
485
|
+
(r'\\\(.{2}', String.Escape),
|
486
486
|
(r'\\.\[.*\]', String.Escape),
|
487
487
|
(r'\\.', String.Escape),
|
488
488
|
(r'\\\n', Text, 'request'),
|
@@ -768,7 +768,7 @@ class VimLexer(RegexLexer):
|
|
768
768
|
name = 'VimL'
|
769
769
|
aliases = ['vim']
|
770
770
|
filenames = ['*.vim', '.vimrc', '.exrc', '.gvimrc',
|
771
|
-
'_vimrc', '_exrc', '_gvimrc']
|
771
|
+
'_vimrc', '_exrc', '_gvimrc', 'vimrc', 'gvimrc']
|
772
772
|
mimetypes = ['text/x-vim']
|
773
773
|
flags = re.MULTILINE
|
774
774
|
|
@@ -1018,11 +1018,11 @@ class DebianControlLexer(RegexLexer):
|
|
1018
1018
|
(r'^(Description)', Keyword, 'description'),
|
1019
1019
|
(r'^(Maintainer)(:\s*)', bygroups(Keyword, Text), 'maintainer'),
|
1020
1020
|
(r'^((Build-)?Depends)', Keyword, 'depends'),
|
1021
|
-
(r'^((?:Python-)?Version)(:\s*)(
|
1021
|
+
(r'^((?:Python-)?Version)(:\s*)(\S+)$',
|
1022
1022
|
bygroups(Keyword, Text, Number)),
|
1023
|
-
(r'^((?:Installed-)?Size)(:\s*)(
|
1023
|
+
(r'^((?:Installed-)?Size)(:\s*)(\S+)$',
|
1024
1024
|
bygroups(Keyword, Text, Number)),
|
1025
|
-
(r'^(MD5Sum|SHA1|SHA256)(:\s*)(
|
1025
|
+
(r'^(MD5Sum|SHA1|SHA256)(:\s*)(\S+)$',
|
1026
1026
|
bygroups(Keyword, Text, Number)),
|
1027
1027
|
(r'^([a-zA-Z\-0-9\.]*?)(:\s*)(.*?)$',
|
1028
1028
|
bygroups(Keyword, Whitespace, String)),
|
@@ -1034,7 +1034,7 @@ class DebianControlLexer(RegexLexer):
|
|
1034
1034
|
(r'.', Text),
|
1035
1035
|
],
|
1036
1036
|
'description': [
|
1037
|
-
(r'(.*)(Homepage)(: )(
|
1037
|
+
(r'(.*)(Homepage)(: )(\S+)',
|
1038
1038
|
bygroups(Text, String, Name, Name.Class)),
|
1039
1039
|
(r':.*\n', Generic.Strong),
|
1040
1040
|
(r' .*\n', Text),
|
@@ -1048,9 +1048,9 @@ class DebianControlLexer(RegexLexer):
|
|
1048
1048
|
(r'\|', Operator),
|
1049
1049
|
(r'[\s]+', Text),
|
1050
1050
|
(r'[}\)]\s*$', Text, '#pop'),
|
1051
|
-
(r'
|
1051
|
+
(r'}', Text),
|
1052
1052
|
(r'[^,]$', Name.Function, '#pop'),
|
1053
|
-
(r'([\+\.a-zA-Z0-9-]
|
1053
|
+
(r'([\+\.a-zA-Z0-9-])(\s*)', bygroups(Name.Function, Text)),
|
1054
1054
|
(r'\[.*?\]', Name.Entity),
|
1055
1055
|
],
|
1056
1056
|
'depend_vers': [
|
@@ -1387,7 +1387,8 @@ class YamlLexer(ExtendedRegexLexer):
|
|
1387
1387
|
# ignored and regular whitespaces in quoted scalars
|
1388
1388
|
'quoted-scalar-whitespaces': [
|
1389
1389
|
# leading and trailing whitespaces are ignored
|
1390
|
-
(r'^[ ]
|
1390
|
+
(r'^[ ]+', Text),
|
1391
|
+
(r'[ ]+$', Text),
|
1391
1392
|
# line breaks are ignored
|
1392
1393
|
(r'\n+', Text),
|
1393
1394
|
# other whitespaces are a part of the value
|
@@ -1456,7 +1457,8 @@ class YamlLexer(ExtendedRegexLexer):
|
|
1456
1457
|
# the scalar ends with a comment
|
1457
1458
|
(r'[ ]+(?=#)', Text, '#pop'),
|
1458
1459
|
# leading and trailing whitespaces are ignored
|
1459
|
-
(r'^[ ]
|
1460
|
+
(r'^[ ]+', Text),
|
1461
|
+
(r'[ ]+$', Text),
|
1460
1462
|
# line breaks are ignored
|
1461
1463
|
(r'\n+', Text),
|
1462
1464
|
# other whitespaces are a part of the value
|
@@ -1702,7 +1704,7 @@ class PyPyLogLexer(RegexLexer):
|
|
1702
1704
|
(r"^\+\d+: ", Comment),
|
1703
1705
|
(r"[ifp]\d+", Name),
|
1704
1706
|
(r"ptr\d+", Name),
|
1705
|
-
(r"(\()(
|
1707
|
+
(r"(\()(\w+(?:\.\w+)?)(\))",
|
1706
1708
|
bygroups(Punctuation, Name.Builtin, Punctuation)),
|
1707
1709
|
(r"[\[\]=,()]", Punctuation),
|
1708
1710
|
(r"(\d+\.\d+|inf|-inf)", Number.Float),
|
@@ -1728,8 +1730,7 @@ class PyPyLogLexer(RegexLexer):
|
|
1728
1730
|
r"arraylen_gc|"
|
1729
1731
|
r"getarrayitem_gc_pure|getarrayitem_gc|setarrayitem_gc|"
|
1730
1732
|
r"getarrayitem_raw|setarrayitem_raw|getfield_gc_pure|"
|
1731
|
-
r"getfield_gc|getinteriorfield_gc|"
|
1732
|
-
r"getinteriorfield_gc|setinteriorfield_gc|"
|
1733
|
+
r"getfield_gc|getinteriorfield_gc|setinteriorfield_gc|"
|
1733
1734
|
r"getfield_raw|setfield_gc|setfield_raw|"
|
1734
1735
|
r"strgetitem|strsetitem|strlen|copystrcontent|"
|
1735
1736
|
r"unicodegetitem|unicodesetitem|unicodelen|"
|
@@ -1741,12 +1742,12 @@ class PyPyLogLexer(RegexLexer):
|
|
1741
1742
|
],
|
1742
1743
|
"jit-backend-counts": [
|
1743
1744
|
(r"\[\w+\] jit-backend-counts}$", Keyword, "#pop"),
|
1744
|
-
(r"
|
1745
|
+
(r":", Punctuation),
|
1745
1746
|
(r"\d+", Number),
|
1746
1747
|
include("extra-stuff"),
|
1747
1748
|
],
|
1748
1749
|
"extra-stuff": [
|
1749
|
-
(r"
|
1750
|
+
(r"\s+", Text),
|
1750
1751
|
(r"#.*?$", Comment),
|
1751
1752
|
],
|
1752
1753
|
}
|
@@ -56,7 +56,7 @@ class JavascriptLexer(RegexLexer):
|
|
56
56
|
(r'', Text, '#pop')
|
57
57
|
],
|
58
58
|
'badregex': [
|
59
|
-
('\n', Text, '#pop')
|
59
|
+
(r'\n', Text, '#pop')
|
60
60
|
],
|
61
61
|
'root': [
|
62
62
|
(r'^(?=\s|/|<!--)', Text, 'slashstartsregex'),
|
@@ -296,7 +296,7 @@ class ActionScript3Lexer(RegexLexer):
|
|
296
296
|
(r'[0-9]+', Number.Integer),
|
297
297
|
(r'"(\\\\|\\"|[^"])*"', String.Double),
|
298
298
|
(r"'(\\\\|\\'|[^'])*'", String.Single),
|
299
|
-
(r'[~\^\*!%&<>\|+=:;,/?\\{}\[\]()
|
299
|
+
(r'[~\^\*!%&<>\|+=:;,/?\\{}\[\]().-]+', Operator),
|
300
300
|
],
|
301
301
|
'funcparams': [
|
302
302
|
(r'\s+', Text),
|
@@ -383,7 +383,7 @@ class CssLexer(RegexLexer):
|
|
383
383
|
r'list-style|margin-bottom|margin-left|margin-right|'
|
384
384
|
r'margin-top|margin|marker-offset|marks|max-height|max-width|'
|
385
385
|
r'min-height|min-width|opacity|orphans|outline|outline-color|'
|
386
|
-
r'outline-style|outline-width|overflow(?:-x|-y
|
386
|
+
r'outline-style|outline-width|overflow(?:-x|-y)?|padding-bottom|'
|
387
387
|
r'padding-left|padding-right|padding-top|padding|page|'
|
388
388
|
r'page-break-after|page-break-before|page-break-inside|'
|
389
389
|
r'pause-after|pause-before|pause|pitch|pitch-range|'
|
@@ -499,13 +499,13 @@ class ObjectiveJLexer(RegexLexer):
|
|
499
499
|
(';', Punctuation),
|
500
500
|
],
|
501
501
|
'whitespace': [
|
502
|
-
(r'(@import)(\s+)("(
|
502
|
+
(r'(@import)(\s+)("(?:\\\\|\\"|[^"])*")',
|
503
503
|
bygroups(Comment.Preproc, Text, String.Double)),
|
504
|
-
(r'(@import)(\s+)(<(
|
504
|
+
(r'(@import)(\s+)(<(?:\\\\|\\>|[^>])*>)',
|
505
505
|
bygroups(Comment.Preproc, Text, String.Double)),
|
506
|
-
(r'(#(?:include|import))(\s+)("(
|
506
|
+
(r'(#(?:include|import))(\s+)("(?:\\\\|\\"|[^"])*")',
|
507
507
|
bygroups(Comment.Preproc, Text, String.Double)),
|
508
|
-
(r'(#(?:include|import))(\s+)(<(
|
508
|
+
(r'(#(?:include|import))(\s+)(<(?:\\\\|\\>|[^>])*>)',
|
509
509
|
bygroups(Comment.Preproc, Text, String.Double)),
|
510
510
|
|
511
511
|
(r'#if\s+0', Comment.Preproc, 'if0'),
|
@@ -526,7 +526,7 @@ class ObjectiveJLexer(RegexLexer):
|
|
526
526
|
(r'', Text, '#pop'),
|
527
527
|
],
|
528
528
|
'badregex': [
|
529
|
-
('\n', Text, '#pop'),
|
529
|
+
(r'\n', Text, '#pop'),
|
530
530
|
],
|
531
531
|
'statements': [
|
532
532
|
(r'(L|@)?"', String, 'string'),
|
@@ -633,7 +633,7 @@ class ObjectiveJLexer(RegexLexer):
|
|
633
633
|
# parameters
|
634
634
|
(r'(\(' + _ws + ')' # open paren
|
635
635
|
r'([^\)]+)' # type
|
636
|
-
r'(' + _ws + r'\)' + _ws + r')
|
636
|
+
r'(' + _ws + r'\)' + _ws + r')' # close paren
|
637
637
|
r'([$a-zA-Z_][a-zA-Z0-9_]+)', # param name
|
638
638
|
bygroups(using(this), Keyword.Type, using(this), Text)),
|
639
639
|
|
@@ -645,7 +645,7 @@ class ObjectiveJLexer(RegexLexer):
|
|
645
645
|
(r'(:)', Name.Function),
|
646
646
|
|
647
647
|
# var args
|
648
|
-
(r'(,' + _ws + r'
|
648
|
+
(r'(,' + _ws + r'\.\.\.)', using(this)),
|
649
649
|
|
650
650
|
# param name
|
651
651
|
(r'([$a-zA-Z_][a-zA-Z0-9_]+)', Text),
|
@@ -816,7 +816,7 @@ class PhpLexer(RegexLexer):
|
|
816
816
|
r'array|__wakeup|E_ALL|NULL|final|php_user_filter|interface|'
|
817
817
|
r'implements|public|private|protected|abstract|clone|try|'
|
818
818
|
r'catch|throw|this|use|namespace)\b', Keyword),
|
819
|
-
('(true|false|null)\b', Keyword.Constant),
|
819
|
+
(r'(true|false|null)\b', Keyword.Constant),
|
820
820
|
(r'\$\{\$+[a-zA-Z_][a-zA-Z0-9_]*\}', Name.Variable),
|
821
821
|
(r'\$+[a-zA-Z_][a-zA-Z0-9_]*', Name.Variable),
|
822
822
|
(r'[\\a-zA-Z_][\\a-zA-Z0-9_]*', Name.Other),
|
@@ -912,18 +912,18 @@ class DtdLexer(RegexLexer):
|
|
912
912
|
'root': [
|
913
913
|
include('common'),
|
914
914
|
|
915
|
-
(r'(<!ELEMENT)(\s+)(
|
915
|
+
(r'(<!ELEMENT)(\s+)(\S+)',
|
916
916
|
bygroups(Keyword, Text, Name.Tag), 'element'),
|
917
|
-
(r'(<!ATTLIST)(\s+)(
|
917
|
+
(r'(<!ATTLIST)(\s+)(\S+)',
|
918
918
|
bygroups(Keyword, Text, Name.Tag), 'attlist'),
|
919
|
-
(r'(<!ENTITY)(\s+)(
|
919
|
+
(r'(<!ENTITY)(\s+)(\S+)',
|
920
920
|
bygroups(Keyword, Text, Name.Entity), 'entity'),
|
921
|
-
(r'(<!NOTATION)(\s+)(
|
921
|
+
(r'(<!NOTATION)(\s+)(\S+)',
|
922
922
|
bygroups(Keyword, Text, Name.Tag), 'notation'),
|
923
923
|
(r'(<!\[)([^\[\s]+)(\s*)(\[)', # conditional sections
|
924
924
|
bygroups(Keyword, Name.Entity, Text, Keyword)),
|
925
925
|
|
926
|
-
(r'(<!DOCTYPE)(\s+)([^>\s]+)',
|
926
|
+
(r'(<!DOCTYPE)(\s+)([^>\s]+)',
|
927
927
|
bygroups(Keyword, Text, Name.Tag)),
|
928
928
|
(r'PUBLIC|SYSTEM', Keyword.Constant),
|
929
929
|
(r'[\[\]>]', Keyword),
|
@@ -937,7 +937,7 @@ class DtdLexer(RegexLexer):
|
|
937
937
|
(r'"[^"]*"', String.Double),
|
938
938
|
(r'\'[^\']*\'', String.Single),
|
939
939
|
],
|
940
|
-
|
940
|
+
|
941
941
|
'comment': [
|
942
942
|
('[^-]+', Comment),
|
943
943
|
('-->', Comment, '#pop'),
|
@@ -966,7 +966,7 @@ class DtdLexer(RegexLexer):
|
|
966
966
|
(r'[^>\s\|()?+*,]+', Name.Entity),
|
967
967
|
(r'>', Keyword, '#pop'),
|
968
968
|
],
|
969
|
-
|
969
|
+
|
970
970
|
'notation': [
|
971
971
|
include('common'),
|
972
972
|
(r'SYSTEM|PUBLIC', Keyword.Constant),
|
@@ -1169,7 +1169,7 @@ class HaxeLexer(RegexLexer):
|
|
1169
1169
|
include('codekeywords'),
|
1170
1170
|
(r'[();,\[\]]', Punctuation),
|
1171
1171
|
(r'(?:=|\+=|-=|\*=|/=|%=|&=|\|=|\^=|<<=|>>=|>>>=|\|\||&&|'
|
1172
|
-
r'
|
1172
|
+
r'\.\.\.|==|!=|>|<|>=|<=|\||&|\^|<<|>>>|>>|\+|\-|\*|/|%|'
|
1173
1173
|
r'!|\+\+|\-\-|~|\.|\?|\:)',
|
1174
1174
|
Operator),
|
1175
1175
|
(ident, Name),
|
@@ -1395,7 +1395,7 @@ class HamlLexer(ExtendedRegexLexer):
|
|
1395
1395
|
|
1396
1396
|
'eval-or-plain': [
|
1397
1397
|
(r'[&!]?==', Punctuation, 'plain'),
|
1398
|
-
(r'([&!]?[=~])(' + _comma_dot + '*\n)',
|
1398
|
+
(r'([&!]?[=~])(' + _comma_dot + r'*\n)',
|
1399
1399
|
bygroups(Punctuation, using(RubyLexer)),
|
1400
1400
|
'root'),
|
1401
1401
|
(r'', Text, 'plain'),
|
@@ -1404,18 +1404,18 @@ class HamlLexer(ExtendedRegexLexer):
|
|
1404
1404
|
'content': [
|
1405
1405
|
include('css'),
|
1406
1406
|
(r'%[a-z0-9_:-]+', Name.Tag, 'tag'),
|
1407
|
-
(r'!!!' + _dot + '*\n', Name.Namespace, '#pop'),
|
1408
|
-
(r'(/)(\[' + _dot + '*?\])(' + _dot + '*\n)',
|
1407
|
+
(r'!!!' + _dot + r'*\n', Name.Namespace, '#pop'),
|
1408
|
+
(r'(/)(\[' + _dot + '*?\])(' + _dot + r'*\n)',
|
1409
1409
|
bygroups(Comment, Comment.Special, Comment),
|
1410
1410
|
'#pop'),
|
1411
|
-
(r'/' + _dot + '*\n', _starts_block(Comment, 'html-comment-block'),
|
1411
|
+
(r'/' + _dot + r'*\n', _starts_block(Comment, 'html-comment-block'),
|
1412
1412
|
'#pop'),
|
1413
|
-
(r'-#' + _dot + '*\n', _starts_block(Comment.Preproc,
|
1413
|
+
(r'-#' + _dot + r'*\n', _starts_block(Comment.Preproc,
|
1414
1414
|
'haml-comment-block'), '#pop'),
|
1415
|
-
(r'(-)(' + _comma_dot + '*\n)',
|
1415
|
+
(r'(-)(' + _comma_dot + r'*\n)',
|
1416
1416
|
bygroups(Punctuation, using(RubyLexer)),
|
1417
1417
|
'#pop'),
|
1418
|
-
(r':' + _dot + '*\n', _starts_block(Name.Decorator, 'filter-block'),
|
1418
|
+
(r':' + _dot + r'*\n', _starts_block(Name.Decorator, 'filter-block'),
|
1419
1419
|
'#pop'),
|
1420
1420
|
include('eval-or-plain'),
|
1421
1421
|
],
|
@@ -1690,7 +1690,7 @@ class SassLexer(ExtendedRegexLexer):
|
|
1690
1690
|
|
1691
1691
|
'import': [
|
1692
1692
|
(r'[ \t]+', Text),
|
1693
|
-
(r'
|
1693
|
+
(r'\S+', String),
|
1694
1694
|
(r'\n', Text, 'root'),
|
1695
1695
|
],
|
1696
1696
|
|
@@ -1932,7 +1932,7 @@ class ScamlLexer(ExtendedRegexLexer):
|
|
1932
1932
|
|
1933
1933
|
'eval-or-plain': [
|
1934
1934
|
(r'[&!]?==', Punctuation, 'plain'),
|
1935
|
-
(r'([&!]?[=~])(' + _dot + '*\n)',
|
1935
|
+
(r'([&!]?[=~])(' + _dot + r'*\n)',
|
1936
1936
|
bygroups(Punctuation, using(ScalaLexer)),
|
1937
1937
|
'root'),
|
1938
1938
|
(r'', Text, 'plain'),
|
@@ -1941,21 +1941,21 @@ class ScamlLexer(ExtendedRegexLexer):
|
|
1941
1941
|
'content': [
|
1942
1942
|
include('css'),
|
1943
1943
|
(r'%[a-z0-9_:-]+', Name.Tag, 'tag'),
|
1944
|
-
(r'!!!' + _dot + '*\n', Name.Namespace, '#pop'),
|
1945
|
-
(r'(/)(\[' + _dot + '*?\])(' + _dot + '*\n)',
|
1944
|
+
(r'!!!' + _dot + r'*\n', Name.Namespace, '#pop'),
|
1945
|
+
(r'(/)(\[' + _dot + '*?\])(' + _dot + r'*\n)',
|
1946
1946
|
bygroups(Comment, Comment.Special, Comment),
|
1947
1947
|
'#pop'),
|
1948
|
-
(r'/' + _dot + '*\n', _starts_block(Comment, 'html-comment-block'),
|
1948
|
+
(r'/' + _dot + r'*\n', _starts_block(Comment, 'html-comment-block'),
|
1949
1949
|
'#pop'),
|
1950
|
-
(r'-#' + _dot + '*\n', _starts_block(Comment.Preproc,
|
1950
|
+
(r'-#' + _dot + r'*\n', _starts_block(Comment.Preproc,
|
1951
1951
|
'scaml-comment-block'), '#pop'),
|
1952
|
-
(r'(-@\s*)(import)?(' + _dot + '*\n)',
|
1952
|
+
(r'(-@\s*)(import)?(' + _dot + r'*\n)',
|
1953
1953
|
bygroups(Punctuation, Keyword, using(ScalaLexer)),
|
1954
1954
|
'#pop'),
|
1955
|
-
(r'(-)(' + _dot + '*\n)',
|
1955
|
+
(r'(-)(' + _dot + r'*\n)',
|
1956
1956
|
bygroups(Punctuation, using(ScalaLexer)),
|
1957
1957
|
'#pop'),
|
1958
|
-
(r':' + _dot + '*\n', _starts_block(Name.Decorator, 'filter-block'),
|
1958
|
+
(r':' + _dot + r'*\n', _starts_block(Name.Decorator, 'filter-block'),
|
1959
1959
|
'#pop'),
|
1960
1960
|
include('eval-or-plain'),
|
1961
1961
|
],
|
@@ -2042,31 +2042,31 @@ class JadeLexer(ExtendedRegexLexer):
|
|
2042
2042
|
|
2043
2043
|
'eval-or-plain': [
|
2044
2044
|
(r'[&!]?==', Punctuation, 'plain'),
|
2045
|
-
(r'([&!]?[=~])(' + _dot + '*\n)',
|
2045
|
+
(r'([&!]?[=~])(' + _dot + r'*\n)',
|
2046
2046
|
bygroups(Punctuation, using(ScalaLexer)), 'root'),
|
2047
2047
|
(r'', Text, 'plain'),
|
2048
2048
|
],
|
2049
2049
|
|
2050
2050
|
'content': [
|
2051
2051
|
include('css'),
|
2052
|
-
(r'!!!' + _dot + '*\n', Name.Namespace, '#pop'),
|
2053
|
-
(r'(/)(\[' + _dot + '*?\])(' + _dot + '*\n)',
|
2052
|
+
(r'!!!' + _dot + r'*\n', Name.Namespace, '#pop'),
|
2053
|
+
(r'(/)(\[' + _dot + '*?\])(' + _dot + r'*\n)',
|
2054
2054
|
bygroups(Comment, Comment.Special, Comment),
|
2055
2055
|
'#pop'),
|
2056
|
-
(r'/' + _dot + '*\n', _starts_block(Comment, 'html-comment-block'),
|
2056
|
+
(r'/' + _dot + r'*\n', _starts_block(Comment, 'html-comment-block'),
|
2057
2057
|
'#pop'),
|
2058
|
-
(r'-#' + _dot + '*\n', _starts_block(Comment.Preproc,
|
2058
|
+
(r'-#' + _dot + r'*\n', _starts_block(Comment.Preproc,
|
2059
2059
|
'scaml-comment-block'), '#pop'),
|
2060
|
-
(r'(-@\s*)(import)?(' + _dot + '*\n)',
|
2060
|
+
(r'(-@\s*)(import)?(' + _dot + r'*\n)',
|
2061
2061
|
bygroups(Punctuation, Keyword, using(ScalaLexer)),
|
2062
2062
|
'#pop'),
|
2063
|
-
(r'(-)(' + _dot + '*\n)',
|
2063
|
+
(r'(-)(' + _dot + r'*\n)',
|
2064
2064
|
bygroups(Punctuation, using(ScalaLexer)),
|
2065
2065
|
'#pop'),
|
2066
|
-
(r':' + _dot + '*\n', _starts_block(Name.Decorator, 'filter-block'),
|
2066
|
+
(r':' + _dot + r'*\n', _starts_block(Name.Decorator, 'filter-block'),
|
2067
2067
|
'#pop'),
|
2068
2068
|
(r'[a-z0-9_:-]+', Name.Tag, 'tag'),
|
2069
|
-
(r'
|
2069
|
+
(r'\|', Text, 'eval-or-plain'),
|
2070
2070
|
],
|
2071
2071
|
|
2072
2072
|
'tag': [
|
@@ -2142,24 +2142,24 @@ class XQueryLexer(ExtendedRegexLexer):
|
|
2142
2142
|
# ur"[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD]|"
|
2143
2143
|
# ur"[\u10000-\uEFFFF]"
|
2144
2144
|
#)
|
2145
|
-
ncnamestartchar = r"[A-Z]|_|[a-z]"
|
2145
|
+
ncnamestartchar = r"(?:[A-Z]|_|[a-z])"
|
2146
2146
|
# FIX UNICODE LATER
|
2147
2147
|
#ncnamechar = ncnamestartchar + (ur"|-|\.|[0-9]|\u00B7|[\u0300-\u036F]|"
|
2148
2148
|
# ur"[\u203F-\u2040]")
|
2149
|
-
ncnamechar = ncnamestartchar + r"|-|\.|[0-9]"
|
2150
|
-
ncname = "(
|
2151
|
-
pitarget_namestartchar = r"[A-KN-WY-Z]|_|:|[a-kn-wy-z]"
|
2152
|
-
pitarget_namechar = pitarget_namestartchar + r"|-|\.|[0-9]"
|
2153
|
-
pitarget = "
|
2149
|
+
ncnamechar = r"(?:" + ncnamestartchar + r"|-|\.|[0-9])"
|
2150
|
+
ncname = "(?:%s+%s*)" % (ncnamestartchar, ncnamechar)
|
2151
|
+
pitarget_namestartchar = r"(?:[A-KN-WY-Z]|_|:|[a-kn-wy-z])"
|
2152
|
+
pitarget_namechar = r"(?:" + pitarget_namestartchar + r"|-|\.|[0-9])"
|
2153
|
+
pitarget = "%s+%s*" % (pitarget_namestartchar, pitarget_namechar)
|
2154
2154
|
prefixedname = "%s:%s" % (ncname, ncname)
|
2155
2155
|
unprefixedname = ncname
|
2156
|
-
qname = "(
|
2156
|
+
qname = "(?:%s|%s)" % (prefixedname, unprefixedname)
|
2157
2157
|
|
2158
|
-
entityref = r'
|
2159
|
-
charref = r'
|
2158
|
+
entityref = r'(?:&(?:lt|gt|amp|quot|apos|nbsp);)'
|
2159
|
+
charref = r'(?:&#[0-9]+;|&#x[0-9a-fA-F]+;)'
|
2160
2160
|
|
2161
|
-
stringdouble = r'("(
|
2162
|
-
stringsingle = r"('(
|
2161
|
+
stringdouble = r'(?:"(?:' + entityref + r'|' + charref + r'|""|[^&"])*")'
|
2162
|
+
stringsingle = r"(?:'(?:" + entityref + r"|" + charref + r"|''|[^&'])*')"
|
2163
2163
|
|
2164
2164
|
# FIX UNICODE LATER
|
2165
2165
|
#elementcontentchar = (ur'\t|\r|\n|[\u0020-\u0025]|[\u0028-\u003b]|'
|
@@ -2407,11 +2407,13 @@ class XQueryLexer(ExtendedRegexLexer):
|
|
2407
2407
|
operator_root_callback),
|
2408
2408
|
(r'(::|;|\[|//|/|,)',
|
2409
2409
|
punctuation_root_callback),
|
2410
|
-
(r'(castable|cast)(\s+)(as)',
|
2410
|
+
(r'(castable|cast)(\s+)(as)\b',
|
2411
2411
|
bygroups(Keyword, Text, Keyword), 'singletype'),
|
2412
|
-
(r'(instance)(\s+)(of)',
|
2413
|
-
|
2414
|
-
(r'
|
2412
|
+
(r'(instance)(\s+)(of)\b',
|
2413
|
+
bygroups(Keyword, Text, Keyword), 'itemtype'),
|
2414
|
+
(r'(treat)(\s+)(as)\b',
|
2415
|
+
bygroups(Keyword, Text, Keyword), 'itemtype'),
|
2416
|
+
(r'(case|as)\b', Keyword, 'itemtype'),
|
2415
2417
|
(r'(\))(\s*)(as)',
|
2416
2418
|
bygroups(Punctuation, Text, Keyword), 'itemtype'),
|
2417
2419
|
(r'\$', Name.Variable, 'varname'),
|
@@ -2436,8 +2438,8 @@ class XQueryLexer(ExtendedRegexLexer):
|
|
2436
2438
|
'namespacedecl': [
|
2437
2439
|
include('whitespace'),
|
2438
2440
|
(r'\(:', Comment, 'comment'),
|
2439
|
-
(r'(at)(\s+)'+stringdouble, bygroups(Keyword, Text, String.Double)),
|
2440
|
-
(r"(at)(\s+)"+stringsingle, bygroups(Keyword, Text, String.Single)),
|
2441
|
+
(r'(at)(\s+)('+stringdouble+')', bygroups(Keyword, Text, String.Double)),
|
2442
|
+
(r"(at)(\s+)("+stringsingle+')', bygroups(Keyword, Text, String.Single)),
|
2441
2443
|
(stringdouble, String.Double),
|
2442
2444
|
(stringsingle, String.Single),
|
2443
2445
|
(r',', Punctuation),
|
@@ -2484,9 +2486,9 @@ class XQueryLexer(ExtendedRegexLexer):
|
|
2484
2486
|
(r'\(\#', Punctuation, 'pragma'),
|
2485
2487
|
(r';', Punctuation, '#pop'),
|
2486
2488
|
(r'then|else', Keyword, '#pop'),
|
2487
|
-
(r'(at)(\s+)' + stringdouble,
|
2489
|
+
(r'(at)(\s+)(' + stringdouble + ')',
|
2488
2490
|
bygroups(Keyword, Text, String.Double), 'namespacedecl'),
|
2489
|
-
(r'(at)(\s+)' + stringsingle,
|
2491
|
+
(r'(at)(\s+)(' + stringsingle + ')',
|
2490
2492
|
bygroups(Keyword, Text, String.Single), 'namespacedecl'),
|
2491
2493
|
(r'except|intersect|in|is|return|satisfies|to|union|where',
|
2492
2494
|
Keyword, 'root'),
|
@@ -2501,12 +2503,12 @@ class XQueryLexer(ExtendedRegexLexer):
|
|
2501
2503
|
(r'(instance)(\s+)(of)', bygroups(Keyword, Text, Keyword)),
|
2502
2504
|
(r'case|as', Keyword, 'itemtype'),
|
2503
2505
|
(r'(\))(\s*)(as)', bygroups(Operator, Text, Keyword), 'itemtype'),
|
2504
|
-
(ncname + r'
|
2506
|
+
(ncname + r':\*', Keyword.Type, 'operator'),
|
2505
2507
|
(qname, Keyword.Type, 'occurrenceindicator'),
|
2506
2508
|
],
|
2507
2509
|
'kindtest': [
|
2508
2510
|
(r'\(:', Comment, 'comment'),
|
2509
|
-
(r'
|
2511
|
+
(r'{', Punctuation, 'root'),
|
2510
2512
|
(r'(\))([*+?]?)', popstate_kindtest_callback),
|
2511
2513
|
(r'\*', Name, 'closekindtest'),
|
2512
2514
|
(qname, Name, 'closekindtest'),
|
@@ -2515,7 +2517,7 @@ class XQueryLexer(ExtendedRegexLexer):
|
|
2515
2517
|
'kindtestforpi': [
|
2516
2518
|
(r'\(:', Comment, 'comment'),
|
2517
2519
|
(r'\)', Punctuation, '#pop'),
|
2518
|
-
(ncname,
|
2520
|
+
(ncname, Name.Variable),
|
2519
2521
|
(stringdouble, String.Double),
|
2520
2522
|
(stringsingle, String.Single),
|
2521
2523
|
],
|
@@ -2529,8 +2531,8 @@ class XQueryLexer(ExtendedRegexLexer):
|
|
2529
2531
|
'xml_comment': [
|
2530
2532
|
(r'(-->)', popstate_xmlcomment_callback),
|
2531
2533
|
(r'[^-]{1,2}', Literal),
|
2532
|
-
(
|
2533
|
-
|
2534
|
+
(ur'\t|\r|\n|[\u0020-\U0000D7FF]|[\U0000E000-\U0000FFFD]|'
|
2535
|
+
ur'[\U00010000-\U0010FFFF]', Literal),
|
2534
2536
|
],
|
2535
2537
|
'processing_instruction': [
|
2536
2538
|
(r'\s+', Text, 'processing_instruction_content'),
|
@@ -2539,13 +2541,13 @@ class XQueryLexer(ExtendedRegexLexer):
|
|
2539
2541
|
],
|
2540
2542
|
'processing_instruction_content': [
|
2541
2543
|
(r'\?>', String.Doc, '#pop'),
|
2542
|
-
(
|
2543
|
-
|
2544
|
+
(ur'\t|\r|\n|[\u0020-\uD7FF]|[\uE000-\uFFFD]|'
|
2545
|
+
ur'[\U00010000-\U0010FFFF]', Literal),
|
2544
2546
|
],
|
2545
2547
|
'cdata_section': [
|
2546
2548
|
(r']]>', String.Doc, '#pop'),
|
2547
|
-
(
|
2548
|
-
|
2549
|
+
(ur'\t|\r|\n|[\u0020-\uD7FF]|[\uE000-\uFFFD]|'
|
2550
|
+
ur'[\U00010000-\U0010FFFF]', Literal),
|
2549
2551
|
],
|
2550
2552
|
'start_tag': [
|
2551
2553
|
include('whitespace'),
|
@@ -2613,9 +2615,9 @@ class XQueryLexer(ExtendedRegexLexer):
|
|
2613
2615
|
],
|
2614
2616
|
'pragmacontents': [
|
2615
2617
|
(r'#\)', Punctuation, 'operator'),
|
2616
|
-
(
|
2617
|
-
|
2618
|
-
(r'(\s
|
2618
|
+
(ur'\t|\r|\n|[\u0020-\U0000D7FF]|[\U0000E000-\U0000FFFD]|'
|
2619
|
+
ur'[\U00010000-\U0010FFFF]', Literal),
|
2620
|
+
(r'(\s+)', Text),
|
2619
2621
|
],
|
2620
2622
|
'occurrenceindicator': [
|
2621
2623
|
include('whitespace'),
|
@@ -2721,8 +2723,9 @@ class XQueryLexer(ExtendedRegexLexer):
|
|
2721
2723
|
(r'(element)(\s+)(?=' +qname+ r')',
|
2722
2724
|
bygroups(Keyword, Text), 'element_qname'),
|
2723
2725
|
#PROCESSING_INSTRUCTION
|
2724
|
-
(r'(processing-instruction)(\s+)' + ncname + r'(\s*)(\{)',
|
2725
|
-
bygroups(Keyword, Text, Name.Variable, Text, Punctuation),
|
2726
|
+
(r'(processing-instruction)(\s+)(' + ncname + r')(\s*)(\{)',
|
2727
|
+
bygroups(Keyword, Text, Name.Variable, Text, Punctuation),
|
2728
|
+
'operator'),
|
2726
2729
|
|
2727
2730
|
(r'(declare|define)(\s+)(function)',
|
2728
2731
|
bygroups(Keyword, Text, Keyword)),
|
@@ -2771,8 +2774,8 @@ class XQueryLexer(ExtendedRegexLexer):
|
|
2771
2774
|
(r'//|/|\+|-|;|,|\(|\)', Punctuation),
|
2772
2775
|
|
2773
2776
|
# STANDALONE QNAMES
|
2774
|
-
(qname + r'(?=\s*
|
2775
|
-
(qname + r'(?=\s
|
2777
|
+
(qname + r'(?=\s*{)', Name.Variable, 'qname_braren'),
|
2778
|
+
(qname + r'(?=\s*\()', Name.Function, 'qname_braren'),
|
2776
2779
|
(qname, Name.Variable, 'operator'),
|
2777
2780
|
]
|
2778
2781
|
}
|