pygments.rb 1.1.2 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -1
- data/Rakefile +1 -0
- data/lib/pygments/version.rb +1 -1
- data/pygments.rb.gemspec +1 -2
- data/vendor/pygments-main/AUTHORS +2 -0
- data/vendor/pygments-main/CHANGES +27 -4
- data/vendor/pygments-main/LICENSE +1 -1
- data/vendor/pygments-main/MANIFEST.in +1 -1
- data/vendor/pygments-main/Makefile +1 -1
- data/vendor/pygments-main/REVISION +1 -1
- data/vendor/pygments-main/doc/_themes/pygments14/layout.html +1 -1
- data/vendor/pygments-main/doc/_themes/pygments14/static/pygments14.css_t +1 -1
- data/vendor/pygments-main/doc/docs/api.rst +23 -0
- data/vendor/pygments-main/doc/docs/cmdline.rst +17 -0
- data/vendor/pygments-main/doc/docs/lexerdevelopment.rst +42 -3
- data/vendor/pygments-main/external/autopygmentize +28 -11
- data/vendor/pygments-main/external/markdown-processor.py +1 -1
- data/vendor/pygments-main/external/moin-parser.py +1 -1
- data/vendor/pygments-main/external/rst-directive.py +1 -1
- data/vendor/pygments-main/pygments/__init__.py +2 -2
- data/vendor/pygments-main/pygments/cmdline.py +61 -17
- data/vendor/pygments-main/pygments/console.py +1 -1
- data/vendor/pygments-main/pygments/filter.py +1 -1
- data/vendor/pygments-main/pygments/filters/__init__.py +1 -1
- data/vendor/pygments-main/pygments/formatter.py +1 -1
- data/vendor/pygments-main/pygments/formatters/__init__.py +37 -2
- data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -1
- data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
- data/vendor/pygments-main/pygments/formatters/html.py +1 -1
- data/vendor/pygments-main/pygments/formatters/img.py +38 -1
- data/vendor/pygments-main/pygments/formatters/irc.py +1 -1
- data/vendor/pygments-main/pygments/formatters/latex.py +1 -1
- data/vendor/pygments-main/pygments/formatters/other.py +1 -1
- data/vendor/pygments-main/pygments/formatters/rtf.py +1 -1
- data/vendor/pygments-main/pygments/formatters/svg.py +1 -1
- data/vendor/pygments-main/pygments/formatters/terminal.py +1 -1
- data/vendor/pygments-main/pygments/formatters/terminal256.py +1 -1
- data/vendor/pygments-main/pygments/lexer.py +1 -1
- data/vendor/pygments-main/pygments/lexers/__init__.py +39 -5
- data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +8 -1
- data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_mapping.py +6 -5
- data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_php_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/actionscript.py +1 -1
- data/vendor/pygments-main/pygments/lexers/agile.py +1 -1
- data/vendor/pygments-main/pygments/lexers/algebra.py +1 -1
- data/vendor/pygments-main/pygments/lexers/ambient.py +1 -1
- data/vendor/pygments-main/pygments/lexers/ampl.py +1 -1
- data/vendor/pygments-main/pygments/lexers/apl.py +1 -1
- data/vendor/pygments-main/pygments/lexers/archetype.py +1 -1
- data/vendor/pygments-main/pygments/lexers/asm.py +21 -10
- data/vendor/pygments-main/pygments/lexers/automation.py +3 -3
- data/vendor/pygments-main/pygments/lexers/basic.py +1 -1
- data/vendor/pygments-main/pygments/lexers/bibtex.py +9 -5
- data/vendor/pygments-main/pygments/lexers/business.py +53 -35
- data/vendor/pygments-main/pygments/lexers/c_cpp.py +1 -1
- data/vendor/pygments-main/pygments/lexers/c_like.py +2 -2
- data/vendor/pygments-main/pygments/lexers/capnproto.py +14 -15
- data/vendor/pygments-main/pygments/lexers/chapel.py +4 -3
- data/vendor/pygments-main/pygments/lexers/clean.py +11 -11
- data/vendor/pygments-main/pygments/lexers/compiled.py +1 -1
- data/vendor/pygments-main/pygments/lexers/configs.py +3 -3
- data/vendor/pygments-main/pygments/lexers/console.py +1 -1
- data/vendor/pygments-main/pygments/lexers/crystal.py +29 -20
- data/vendor/pygments-main/pygments/lexers/csound.py +1 -1
- data/vendor/pygments-main/pygments/lexers/css.py +1 -1
- data/vendor/pygments-main/pygments/lexers/d.py +1 -1
- data/vendor/pygments-main/pygments/lexers/dalvik.py +1 -1
- data/vendor/pygments-main/pygments/lexers/data.py +1 -1
- data/vendor/pygments-main/pygments/lexers/diff.py +1 -1
- data/vendor/pygments-main/pygments/lexers/dotnet.py +1 -1
- data/vendor/pygments-main/pygments/lexers/dsls.py +4 -4
- data/vendor/pygments-main/pygments/lexers/dylan.py +1 -1
- data/vendor/pygments-main/pygments/lexers/ecl.py +1 -1
- data/vendor/pygments-main/pygments/lexers/eiffel.py +1 -1
- data/vendor/pygments-main/pygments/lexers/elm.py +1 -1
- data/vendor/pygments-main/pygments/lexers/erlang.py +1 -1
- data/vendor/pygments-main/pygments/lexers/esoteric.py +9 -7
- data/vendor/pygments-main/pygments/lexers/ezhil.py +4 -3
- data/vendor/pygments-main/pygments/lexers/factor.py +1 -1
- data/vendor/pygments-main/pygments/lexers/fantom.py +1 -1
- data/vendor/pygments-main/pygments/lexers/felix.py +1 -1
- data/vendor/pygments-main/pygments/lexers/forth.py +1 -1
- data/vendor/pygments-main/pygments/lexers/fortran.py +1 -1
- data/vendor/pygments-main/pygments/lexers/foxpro.py +1 -1
- data/vendor/pygments-main/pygments/lexers/functional.py +1 -1
- data/vendor/pygments-main/pygments/lexers/go.py +1 -1
- data/vendor/pygments-main/pygments/lexers/grammar_notation.py +2 -2
- data/vendor/pygments-main/pygments/lexers/graph.py +1 -1
- data/vendor/pygments-main/pygments/lexers/graphics.py +1 -1
- data/vendor/pygments-main/pygments/lexers/haskell.py +5 -2
- data/vendor/pygments-main/pygments/lexers/haxe.py +1 -1
- data/vendor/pygments-main/pygments/lexers/hdl.py +1 -1
- data/vendor/pygments-main/pygments/lexers/hexdump.py +18 -12
- data/vendor/pygments-main/pygments/lexers/html.py +1 -1
- data/vendor/pygments-main/pygments/lexers/idl.py +2 -2
- data/vendor/pygments-main/pygments/lexers/igor.py +1 -1
- data/vendor/pygments-main/pygments/lexers/inferno.py +1 -1
- data/vendor/pygments-main/pygments/lexers/installers.py +1 -1
- data/vendor/pygments-main/pygments/lexers/int_fiction.py +1 -1
- data/vendor/pygments-main/pygments/lexers/iolang.py +1 -1
- data/vendor/pygments-main/pygments/lexers/j.py +1 -1
- data/vendor/pygments-main/pygments/lexers/javascript.py +56 -37
- data/vendor/pygments-main/pygments/lexers/julia.py +3 -3
- data/vendor/pygments-main/pygments/lexers/jvm.py +1 -1
- data/vendor/pygments-main/pygments/lexers/lisp.py +1 -1
- data/vendor/pygments-main/pygments/lexers/make.py +1 -1
- data/vendor/pygments-main/pygments/lexers/markup.py +1 -1
- data/vendor/pygments-main/pygments/lexers/math.py +1 -1
- data/vendor/pygments-main/pygments/lexers/matlab.py +1 -1
- data/vendor/pygments-main/pygments/lexers/ml.py +1 -1
- data/vendor/pygments-main/pygments/lexers/modeling.py +1 -1
- data/vendor/pygments-main/pygments/lexers/modula2.py +1 -1
- data/vendor/pygments-main/pygments/lexers/monte.py +4 -3
- data/vendor/pygments-main/pygments/lexers/ncl.py +85 -244
- data/vendor/pygments-main/pygments/lexers/nimrod.py +1 -1
- data/vendor/pygments-main/pygments/lexers/nit.py +1 -1
- data/vendor/pygments-main/pygments/lexers/nix.py +1 -1
- data/vendor/pygments-main/pygments/lexers/oberon.py +1 -1
- data/vendor/pygments-main/pygments/lexers/objective.py +1 -1
- data/vendor/pygments-main/pygments/lexers/ooc.py +1 -1
- data/vendor/pygments-main/pygments/lexers/other.py +1 -1
- data/vendor/pygments-main/pygments/lexers/parasail.py +1 -1
- data/vendor/pygments-main/pygments/lexers/parsers.py +1 -1
- data/vendor/pygments-main/pygments/lexers/pascal.py +2 -2
- data/vendor/pygments-main/pygments/lexers/pawn.py +1 -1
- data/vendor/pygments-main/pygments/lexers/perl.py +17 -13
- data/vendor/pygments-main/pygments/lexers/php.py +1 -1
- data/vendor/pygments-main/pygments/lexers/praat.py +1 -1
- data/vendor/pygments-main/pygments/lexers/prolog.py +1 -1
- data/vendor/pygments-main/pygments/lexers/python.py +2 -1
- data/vendor/pygments-main/pygments/lexers/qvt.py +1 -1
- data/vendor/pygments-main/pygments/lexers/r.py +1 -1
- data/vendor/pygments-main/pygments/lexers/rdf.py +1 -1
- data/vendor/pygments-main/pygments/lexers/rebol.py +1 -1
- data/vendor/pygments-main/pygments/lexers/resource.py +1 -1
- data/vendor/pygments-main/pygments/lexers/rnc.py +1 -1
- data/vendor/pygments-main/pygments/lexers/roboconf.py +1 -1
- data/vendor/pygments-main/pygments/lexers/robotframework.py +1 -1
- data/vendor/pygments-main/pygments/lexers/ruby.py +1 -1
- data/vendor/pygments-main/pygments/lexers/rust.py +41 -30
- data/vendor/pygments-main/pygments/lexers/sas.py +7 -7
- data/vendor/pygments-main/pygments/lexers/scripting.py +1 -1
- data/vendor/pygments-main/pygments/lexers/shell.py +14 -10
- data/vendor/pygments-main/pygments/lexers/smalltalk.py +1 -1
- data/vendor/pygments-main/pygments/lexers/smv.py +28 -24
- data/vendor/pygments-main/pygments/lexers/snobol.py +1 -1
- data/vendor/pygments-main/pygments/lexers/special.py +1 -1
- data/vendor/pygments-main/pygments/lexers/sql.py +1 -1
- data/vendor/pygments-main/pygments/lexers/stata.py +9 -7
- data/vendor/pygments-main/pygments/lexers/supercollider.py +1 -1
- data/vendor/pygments-main/pygments/lexers/tcl.py +1 -1
- data/vendor/pygments-main/pygments/lexers/templates.py +48 -17
- data/vendor/pygments-main/pygments/lexers/testing.py +1 -1
- data/vendor/pygments-main/pygments/lexers/text.py +1 -1
- data/vendor/pygments-main/pygments/lexers/textedit.py +1 -1
- data/vendor/pygments-main/pygments/lexers/textfmts.py +1 -1
- data/vendor/pygments-main/pygments/lexers/theorem.py +1 -1
- data/vendor/pygments-main/pygments/lexers/trafficscript.py +1 -1
- data/vendor/pygments-main/pygments/lexers/typoscript.py +8 -7
- data/vendor/pygments-main/pygments/lexers/urbi.py +1 -1
- data/vendor/pygments-main/pygments/lexers/varnish.py +3 -3
- data/vendor/pygments-main/pygments/lexers/verification.py +3 -3
- data/vendor/pygments-main/pygments/lexers/web.py +1 -1
- data/vendor/pygments-main/pygments/lexers/webmisc.py +20 -11
- data/vendor/pygments-main/pygments/lexers/whiley.py +7 -8
- data/vendor/pygments-main/pygments/lexers/x10.py +1 -1
- data/vendor/pygments-main/pygments/lexers/xorg.py +36 -0
- data/vendor/pygments-main/pygments/modeline.py +6 -5
- data/vendor/pygments-main/pygments/plugin.py +12 -18
- data/vendor/pygments-main/pygments/regexopt.py +1 -1
- data/vendor/pygments-main/pygments/scanner.py +1 -1
- data/vendor/pygments-main/pygments/sphinxext.py +1 -1
- data/vendor/pygments-main/pygments/style.py +1 -1
- data/vendor/pygments-main/pygments/styles/__init__.py +4 -2
- data/vendor/pygments-main/pygments/styles/abap.py +29 -0
- data/vendor/pygments-main/pygments/styles/algol.py +1 -1
- data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -1
- data/vendor/pygments-main/pygments/styles/arduino.py +1 -1
- data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
- data/vendor/pygments-main/pygments/styles/borland.py +1 -1
- data/vendor/pygments-main/pygments/styles/bw.py +1 -1
- data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
- data/vendor/pygments-main/pygments/styles/default.py +1 -1
- data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
- data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
- data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
- data/vendor/pygments-main/pygments/styles/igor.py +1 -1
- data/vendor/pygments-main/pygments/styles/lovelace.py +1 -1
- data/vendor/pygments-main/pygments/styles/manni.py +1 -1
- data/vendor/pygments-main/pygments/styles/monokai.py +1 -1
- data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
- data/vendor/pygments-main/pygments/styles/native.py +1 -1
- data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -1
- data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -1
- data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
- data/vendor/pygments-main/pygments/styles/perldoc.py +1 -1
- data/vendor/pygments-main/pygments/styles/rainbow_dash.py +89 -0
- data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
- data/vendor/pygments-main/pygments/styles/sas.py +3 -0
- data/vendor/pygments-main/pygments/styles/stata.py +3 -0
- data/vendor/pygments-main/pygments/styles/tango.py +1 -1
- data/vendor/pygments-main/pygments/styles/trac.py +1 -1
- data/vendor/pygments-main/pygments/styles/vim.py +1 -1
- data/vendor/pygments-main/pygments/styles/vs.py +1 -1
- data/vendor/pygments-main/pygments/styles/xcode.py +1 -1
- data/vendor/pygments-main/pygments/token.py +1 -1
- data/vendor/pygments-main/pygments/unistring.py +1 -1
- data/vendor/pygments-main/pygments/util.py +5 -4
- data/vendor/pygments-main/scripts/check_sources.py +2 -2
- data/vendor/pygments-main/scripts/debug_lexer.py +1 -1
- data/vendor/pygments-main/scripts/get_vimkw.py +1 -1
- data/vendor/pygments-main/setup.cfg +2 -2
- data/vendor/pygments-main/setup.py +3 -3
- metadata +6 -4
- data/vendor/pygments-main/scripts/find_error.py +0 -1
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Lexers for Pascal family languages.
|
7
7
|
|
8
|
-
:copyright: Copyright 2006-
|
8
|
+
:copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
|
9
9
|
:license: BSD, see LICENSE for details.
|
10
10
|
"""
|
11
11
|
|
@@ -44,7 +44,7 @@ class DelphiLexer(Lexer):
|
|
44
44
|
"""
|
45
45
|
name = 'Delphi'
|
46
46
|
aliases = ['delphi', 'pas', 'pascal', 'objectpascal']
|
47
|
-
filenames = ['*.pas']
|
47
|
+
filenames = ['*.pas', '*.dpr']
|
48
48
|
mimetypes = ['text/x-pascal']
|
49
49
|
|
50
50
|
TURBO_PASCAL_KEYWORDS = (
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Lexers for Perl and related languages.
|
7
7
|
|
8
|
-
:copyright: Copyright 2006-
|
8
|
+
:copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
|
9
9
|
:license: BSD, see LICENSE for details.
|
10
10
|
"""
|
11
11
|
|
@@ -52,7 +52,7 @@ class PerlLexer(RegexLexer):
|
|
52
52
|
(words((
|
53
53
|
'case', 'continue', 'do', 'else', 'elsif', 'for', 'foreach',
|
54
54
|
'if', 'last', 'my', 'next', 'our', 'redo', 'reset', 'then',
|
55
|
-
'unless', 'until', 'while', '
|
55
|
+
'unless', 'until', 'while', 'print', 'new', 'BEGIN',
|
56
56
|
'CHECK', 'INIT', 'END', 'return'), suffix=r'\b'),
|
57
57
|
Keyword),
|
58
58
|
(r'(format)(\s+)(\w+)(\s*)(=)(\s*\n)',
|
@@ -94,10 +94,10 @@ class PerlLexer(RegexLexer):
|
|
94
94
|
'getservbyport', 'getservent', 'getsockname', 'getsockopt', 'glob', 'gmtime',
|
95
95
|
'goto', 'grep', 'hex', 'import', 'index', 'int', 'ioctl', 'join', 'keys', 'kill', 'last',
|
96
96
|
'lc', 'lcfirst', 'length', 'link', 'listen', 'local', 'localtime', 'log', 'lstat',
|
97
|
-
'map', 'mkdir', 'msgctl', 'msgget', 'msgrcv', 'msgsnd', 'my', 'next', '
|
98
|
-
'opendir', 'ord', 'our', 'pack', '
|
97
|
+
'map', 'mkdir', 'msgctl', 'msgget', 'msgrcv', 'msgsnd', 'my', 'next', 'oct', 'open',
|
98
|
+
'opendir', 'ord', 'our', 'pack', 'pipe', 'pop', 'pos', 'printf',
|
99
99
|
'prototype', 'push', 'quotemeta', 'rand', 'read', 'readdir',
|
100
|
-
'readline', 'readlink', 'readpipe', 'recv', 'redo', 'ref', 'rename',
|
100
|
+
'readline', 'readlink', 'readpipe', 'recv', 'redo', 'ref', 'rename',
|
101
101
|
'reverse', 'rewinddir', 'rindex', 'rmdir', 'scalar', 'seek', 'seekdir',
|
102
102
|
'select', 'semctl', 'semget', 'semop', 'send', 'setgrent', 'sethostent', 'setnetent',
|
103
103
|
'setpgrp', 'setpriority', 'setprotoent', 'setpwent', 'setservent',
|
@@ -131,8 +131,14 @@ class PerlLexer(RegexLexer):
|
|
131
131
|
(r'(q|qq|qw|qr|qx)\[', String.Other, 'sb-string'),
|
132
132
|
(r'(q|qq|qw|qr|qx)\<', String.Other, 'lt-string'),
|
133
133
|
(r'(q|qq|qw|qr|qx)([\W_])(.|\n)*?\2', String.Other),
|
134
|
-
(r'package\s+',
|
135
|
-
|
134
|
+
(r'(package)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)',
|
135
|
+
bygroups(Keyword, Text, Name.Namespace)),
|
136
|
+
(r'(use|require|no)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)',
|
137
|
+
bygroups(Keyword, Text, Name.Namespace)),
|
138
|
+
(r'(sub)(\s+)', bygroups(Keyword, Text), 'funcname'),
|
139
|
+
(words((
|
140
|
+
'no', 'package', 'require', 'use'), suffix=r'\b'),
|
141
|
+
Keyword),
|
136
142
|
(r'(\[\]|\*\*|::|<<|>>|>=|<=>|<=|={3}|!=|=~|'
|
137
143
|
r'!~|&&?|\|\||\.{1,3})', Operator),
|
138
144
|
(r'[-+/*%=<>&^|!\\~]=?', Operator),
|
@@ -152,14 +158,12 @@ class PerlLexer(RegexLexer):
|
|
152
158
|
(r'[\w:]+', Name.Variable, '#pop'),
|
153
159
|
],
|
154
160
|
'name': [
|
155
|
-
(r'\w
|
161
|
+
(r'[a-zA-Z_]\w*(::[a-zA-Z_]\w*)*(::)?(?=\s*->)', Name.Namespace, '#pop'),
|
162
|
+
(r'[a-zA-Z_]\w*(::[a-zA-Z_]\w*)*::', Name.Namespace, '#pop'),
|
156
163
|
(r'[\w:]+', Name, '#pop'),
|
157
164
|
(r'[A-Z_]+(?=\W)', Name.Constant, '#pop'),
|
158
165
|
(r'(?=\W)', Text, '#pop'),
|
159
166
|
],
|
160
|
-
'modulename': [
|
161
|
-
(r'[a-zA-Z_]\w*', Name.Namespace, '#pop')
|
162
|
-
],
|
163
167
|
'funcname': [
|
164
168
|
(r'[a-zA-Z_]\w*[!?]?', Name.Function),
|
165
169
|
(r'\s+', Text),
|
@@ -485,7 +489,7 @@ class Perl6Lexer(ExtendedRegexLexer):
|
|
485
489
|
'common': [
|
486
490
|
(r'#[`|=](?P<delimiter>(?P<first_char>[' + ''.join(PERL6_BRACKETS) + r'])(?P=first_char)*)',
|
487
491
|
brackets_callback(Comment.Multiline)),
|
488
|
-
(r'#[^\n]*$', Comment.
|
492
|
+
(r'#[^\n]*$', Comment.Single),
|
489
493
|
(r'^(\s*)=begin\s+(\w+)\b.*?^\1=end\s+\2', Comment.Multiline),
|
490
494
|
(r'^(\s*)=for.*?\n\s*?\n', Comment.Multiline),
|
491
495
|
(r'^=.*?\n\s*?\n', Comment.Multiline),
|
@@ -554,7 +558,7 @@ class Perl6Lexer(ExtendedRegexLexer):
|
|
554
558
|
# make sure that '#' characters in quotes aren't treated as comments
|
555
559
|
(r"(?<!\\)'(\\\\|\\[^\\]|[^'\\])*'", String.Regex),
|
556
560
|
(r'(?<!\\)"(\\\\|\\[^\\]|[^"\\])*"', String.Regex),
|
557
|
-
(r'#.*?$', Comment.
|
561
|
+
(r'#.*?$', Comment.Single),
|
558
562
|
(r'\{', embedded_perl6_callback),
|
559
563
|
('.+?', String.Regex),
|
560
564
|
],
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Lexers for Python and related languages.
|
7
7
|
|
8
|
-
:copyright: Copyright 2006-
|
8
|
+
:copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
|
9
9
|
:license: BSD, see LICENSE for details.
|
10
10
|
"""
|
11
11
|
|
@@ -362,6 +362,7 @@ class Python3Lexer(RegexLexer):
|
|
362
362
|
]
|
363
363
|
tokens['numbers'] = [
|
364
364
|
(r'(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?', Number.Float),
|
365
|
+
(r'\d+[eE][+-]?[0-9]+j?', Number.Float),
|
365
366
|
(r'0[oO][0-7]+', Number.Oct),
|
366
367
|
(r'0[bB][01]+', Number.Bin),
|
367
368
|
(r'0[xX][a-fA-F0-9]+', Number.Hex),
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Lexers for the Rust language.
|
7
7
|
|
8
|
-
:copyright: Copyright 2006-
|
8
|
+
:copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
|
9
9
|
:license: BSD, see LICENSE for details.
|
10
10
|
"""
|
11
11
|
|
@@ -27,6 +27,35 @@ class RustLexer(RegexLexer):
|
|
27
27
|
aliases = ['rust']
|
28
28
|
mimetypes = ['text/rust']
|
29
29
|
|
30
|
+
keyword_types = (
|
31
|
+
words(('u8', 'u16', 'u32', 'u64', 'i8', 'i16', 'i32', 'i64',
|
32
|
+
'usize', 'isize', 'f32', 'f64', 'str', 'bool'),
|
33
|
+
suffix=r'\b'),
|
34
|
+
Keyword.Type)
|
35
|
+
|
36
|
+
builtin_types = (words((
|
37
|
+
# Reexported core operators
|
38
|
+
'Copy', 'Send', 'Sized', 'Sync',
|
39
|
+
'Drop', 'Fn', 'FnMut', 'FnOnce',
|
40
|
+
|
41
|
+
# Reexported types and traits
|
42
|
+
'Box',
|
43
|
+
'ToOwned',
|
44
|
+
'Clone',
|
45
|
+
'PartialEq', 'PartialOrd', 'Eq', 'Ord',
|
46
|
+
'AsRef', 'AsMut', 'Into', 'From',
|
47
|
+
'Default',
|
48
|
+
'Iterator', 'Extend', 'IntoIterator',
|
49
|
+
'DoubleEndedIterator', 'ExactSizeIterator',
|
50
|
+
'Option',
|
51
|
+
'Some', 'None',
|
52
|
+
'Result',
|
53
|
+
'Ok', 'Err',
|
54
|
+
'SliceConcatExt',
|
55
|
+
'String', 'ToString',
|
56
|
+
'Vec'), suffix=r'\b'),
|
57
|
+
Name.Builtin)
|
58
|
+
|
30
59
|
tokens = {
|
31
60
|
'root': [
|
32
61
|
# rust allows a file to start with a shebang, but if the first line
|
@@ -64,36 +93,14 @@ class RustLexer(RegexLexer):
|
|
64
93
|
(r'fn\b', Keyword, 'funcname'),
|
65
94
|
(r'(struct|enum|type|union)\b', Keyword, 'typename'),
|
66
95
|
(r'(default)(\s+)(type|fn)\b', bygroups(Keyword, Text, Keyword)),
|
67
|
-
|
68
|
-
'isize', 'f32', 'f64', 'str', 'bool'), suffix=r'\b'),
|
69
|
-
Keyword.Type),
|
96
|
+
keyword_types,
|
70
97
|
(r'self\b', Name.Builtin.Pseudo),
|
71
98
|
# Prelude (taken from Rust’s src/libstd/prelude.rs)
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
# Reexported functions
|
78
|
-
'drop',
|
79
|
-
|
80
|
-
# Reexported types and traits
|
81
|
-
'Box',
|
82
|
-
'ToOwned',
|
83
|
-
'Clone',
|
84
|
-
'PartialEq', 'PartialOrd', 'Eq', 'Ord',
|
85
|
-
'AsRef', 'AsMut', 'Into', 'From',
|
86
|
-
'Default',
|
87
|
-
'Iterator', 'Extend', 'IntoIterator',
|
88
|
-
'DoubleEndedIterator', 'ExactSizeIterator',
|
89
|
-
'Option',
|
90
|
-
'Some', 'None',
|
91
|
-
'Result',
|
92
|
-
'Ok', 'Err',
|
93
|
-
'SliceConcatExt',
|
94
|
-
'String', 'ToString',
|
95
|
-
'Vec'), suffix=r'\b'),
|
96
|
-
Name.Builtin),
|
99
|
+
builtin_types,
|
100
|
+
# Path seperators, so types don't catch them.
|
101
|
+
(r'::\b', Text),
|
102
|
+
# Types in positions.
|
103
|
+
(r'(?::|->)', Text, 'typename'),
|
97
104
|
# Labels
|
98
105
|
(r'(break|continue)(\s*)(\'[A-Za-z_]\w*)?',
|
99
106
|
bygroups(Keyword, Text.Whitespace, Name.Label)),
|
@@ -112,7 +119,8 @@ class RustLexer(RegexLexer):
|
|
112
119
|
(r'0[xX][0-9a-fA-F_]+', Number.Hex, 'number_lit'),
|
113
120
|
# Decimal Literal
|
114
121
|
(r'[0-9][0-9_]*(\.[0-9_]+[eE][+\-]?[0-9_]+|'
|
115
|
-
r'\.[0-9_]*(?!\.)|[eE][+\-]?[0-9_]+)', Number.Float,
|
122
|
+
r'\.[0-9_]*(?!\.)|[eE][+\-]?[0-9_]+)', Number.Float,
|
123
|
+
'number_lit'),
|
116
124
|
(r'[0-9][0-9_]*', Number.Integer, 'number_lit'),
|
117
125
|
# String Literal
|
118
126
|
(r'b"', String, 'bytestring'),
|
@@ -164,6 +172,9 @@ class RustLexer(RegexLexer):
|
|
164
172
|
],
|
165
173
|
'typename': [
|
166
174
|
(r'\s+', Text),
|
175
|
+
(r'&', Keyword.Pseudo),
|
176
|
+
builtin_types,
|
177
|
+
keyword_types,
|
167
178
|
(r'[a-zA-Z_]\w*', Name.Class, '#pop'),
|
168
179
|
default('#pop'),
|
169
180
|
],
|
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Lexer for SAS.
|
7
7
|
|
8
|
-
:copyright: Copyright 2006-
|
8
|
+
:copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
|
9
9
|
:license: BSD, see LICENSE for details.
|
10
10
|
"""
|
11
11
|
|
@@ -16,6 +16,7 @@ from pygments.token import Comment, Keyword, Name, Number, String, Text, \
|
|
16
16
|
|
17
17
|
__all__ = ['SASLexer']
|
18
18
|
|
19
|
+
|
19
20
|
class SASLexer(RegexLexer):
|
20
21
|
"""
|
21
22
|
For `SAS <http://www.sas.com/>`_ files.
|
@@ -136,7 +137,7 @@ class SASLexer(RegexLexer):
|
|
136
137
|
],
|
137
138
|
# Special highlight for proc, data, quit, run
|
138
139
|
'proc-data': [
|
139
|
-
(r'(^|;)\s*(proc
|
140
|
+
(r'(^|;)\s*(proc \w+|data|run|quit)[\s;]',
|
140
141
|
Keyword.Reserved),
|
141
142
|
],
|
142
143
|
# Special highlight cards and datalines
|
@@ -154,7 +155,6 @@ class SASLexer(RegexLexer):
|
|
154
155
|
(r'NOTE(:|-).*', Generic, '#pop'),
|
155
156
|
(r'WARNING(:|-).*', Generic.Emph, '#pop'),
|
156
157
|
(r'ERROR(:|-).*', Generic.Error, '#pop'),
|
157
|
-
(r'(?!(WARNING|NOTE|ERROR))+', Text, '#pop'),
|
158
158
|
include('general'),
|
159
159
|
],
|
160
160
|
'general': [
|
@@ -188,8 +188,8 @@ class SASLexer(RegexLexer):
|
|
188
188
|
],
|
189
189
|
# Strings and user-defined variables and macros (order matters)
|
190
190
|
'vars-strings': [
|
191
|
-
(r'&[a-
|
192
|
-
(r'%[a-
|
191
|
+
(r'&[a-z_]\w{0,31}\.?', Name.Variable),
|
192
|
+
(r'%[a-z_]\w{0,31}', Name.Function),
|
193
193
|
(r'\'', String, 'string_squote'),
|
194
194
|
(r'"', String, 'string_dquote'),
|
195
195
|
],
|
@@ -209,11 +209,11 @@ class SASLexer(RegexLexer):
|
|
209
209
|
(r'[$"\\]', String),
|
210
210
|
],
|
211
211
|
'validvar': [
|
212
|
-
(r'[a-
|
212
|
+
(r'[a-z_]\w{0,31}\.?', Name.Variable, '#pop'),
|
213
213
|
],
|
214
214
|
# SAS numbers and special variables
|
215
215
|
'numbers': [
|
216
|
-
(r'\b[+-]?([0-9]+(\.[0-9]+)?|\.[0-9]+|\.)([
|
216
|
+
(r'\b[+-]?([0-9]+(\.[0-9]+)?|\.[0-9]+|\.)(E[+-]?[0-9]+)?i?\b',
|
217
217
|
Number),
|
218
218
|
],
|
219
219
|
'special': [
|