pygments.rb 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +12 -0
- data/.rubocop.yml +18 -0
- data/CHANGELOG.adoc +4 -0
- data/Rakefile +1 -3
- data/bench.rb +9 -4
- data/{cache-lexers.rb → cache_lexers.rb} +0 -0
- data/lib/pygments/lexer.rb +1 -1
- data/lib/pygments/popen.rb +129 -127
- data/lib/pygments/version.rb +1 -1
- data/pygments.rb.gemspec +1 -1
- data/test/test_pygments.rb +6 -8
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/AUTHORS +5 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/INSTALLER +0 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/LICENSE +1 -1
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/METADATA +8 -9
- data/vendor/pygments-main/Pygments-2.8.0.dist-info/RECORD +494 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/REQUESTED +0 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/WHEEL +0 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/entry_points.txt +0 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.8.0.dist-info}/top_level.txt +0 -0
- data/vendor/pygments-main/pygments/__init__.py +2 -3
- data/vendor/pygments-main/pygments/__main__.py +1 -2
- data/vendor/pygments-main/pygments/cmdline.py +179 -159
- data/vendor/pygments-main/pygments/console.py +1 -2
- data/vendor/pygments-main/pygments/filter.py +1 -2
- data/vendor/pygments-main/pygments/filters/__init__.py +1 -2
- data/vendor/pygments-main/pygments/formatter.py +1 -2
- data/vendor/pygments-main/pygments/formatters/__init__.py +2 -3
- data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -2
- data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -2
- data/vendor/pygments-main/pygments/formatters/html.py +33 -18
- data/vendor/pygments-main/pygments/formatters/img.py +24 -10
- data/vendor/pygments-main/pygments/formatters/irc.py +1 -2
- data/vendor/pygments-main/pygments/formatters/latex.py +8 -9
- data/vendor/pygments-main/pygments/formatters/other.py +7 -10
- data/vendor/pygments-main/pygments/formatters/rtf.py +1 -2
- data/vendor/pygments-main/pygments/formatters/svg.py +5 -4
- data/vendor/pygments-main/pygments/formatters/terminal.py +1 -2
- data/vendor/pygments-main/pygments/formatters/terminal256.py +24 -3
- data/vendor/pygments-main/pygments/lexer.py +7 -6
- data/vendor/pygments-main/pygments/lexers/__init__.py +2 -3
- data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +16 -12
- data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_mapping.py +6 -3
- data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +2 -3
- data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +439 -386
- data/vendor/pygments-main/pygments/lexers/_php_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +91 -55
- data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/actionscript.py +7 -8
- data/vendor/pygments-main/pygments/lexers/agile.py +1 -2
- data/vendor/pygments-main/pygments/lexers/algebra.py +1 -2
- data/vendor/pygments-main/pygments/lexers/ambient.py +2 -3
- data/vendor/pygments-main/pygments/lexers/amdgpu.py +48 -0
- data/vendor/pygments-main/pygments/lexers/ampl.py +1 -2
- data/vendor/pygments-main/pygments/lexers/apl.py +1 -2
- data/vendor/pygments-main/pygments/lexers/archetype.py +2 -3
- data/vendor/pygments-main/pygments/lexers/arrow.py +1 -2
- data/vendor/pygments-main/pygments/lexers/asm.py +1 -2
- data/vendor/pygments-main/pygments/lexers/automation.py +7 -2
- data/vendor/pygments-main/pygments/lexers/bare.py +1 -2
- data/vendor/pygments-main/pygments/lexers/basic.py +3 -4
- data/vendor/pygments-main/pygments/lexers/bibtex.py +1 -2
- data/vendor/pygments-main/pygments/lexers/boa.py +4 -5
- data/vendor/pygments-main/pygments/lexers/business.py +3 -4
- data/vendor/pygments-main/pygments/lexers/c_cpp.py +2 -4
- data/vendor/pygments-main/pygments/lexers/c_like.py +1 -2
- data/vendor/pygments-main/pygments/lexers/capnproto.py +1 -2
- data/vendor/pygments-main/pygments/lexers/cddl.py +190 -0
- data/vendor/pygments-main/pygments/lexers/chapel.py +3 -4
- data/vendor/pygments-main/pygments/lexers/clean.py +1 -2
- data/vendor/pygments-main/pygments/lexers/compiled.py +1 -2
- data/vendor/pygments-main/pygments/lexers/configs.py +6 -5
- data/vendor/pygments-main/pygments/lexers/console.py +1 -2
- data/vendor/pygments-main/pygments/lexers/crystal.py +53 -79
- data/vendor/pygments-main/pygments/lexers/csound.py +1 -2
- data/vendor/pygments-main/pygments/lexers/css.py +11 -8
- data/vendor/pygments-main/pygments/lexers/d.py +3 -4
- data/vendor/pygments-main/pygments/lexers/dalvik.py +1 -2
- data/vendor/pygments-main/pygments/lexers/data.py +2 -3
- data/vendor/pygments-main/pygments/lexers/devicetree.py +1 -2
- data/vendor/pygments-main/pygments/lexers/diff.py +1 -2
- data/vendor/pygments-main/pygments/lexers/dotnet.py +7 -8
- data/vendor/pygments-main/pygments/lexers/dsls.py +3 -4
- data/vendor/pygments-main/pygments/lexers/dylan.py +1 -2
- data/vendor/pygments-main/pygments/lexers/ecl.py +4 -6
- data/vendor/pygments-main/pygments/lexers/eiffel.py +2 -3
- data/vendor/pygments-main/pygments/lexers/elm.py +1 -2
- data/vendor/pygments-main/pygments/lexers/email.py +1 -2
- data/vendor/pygments-main/pygments/lexers/erlang.py +1 -2
- data/vendor/pygments-main/pygments/lexers/esoteric.py +1 -2
- data/vendor/pygments-main/pygments/lexers/ezhil.py +1 -2
- data/vendor/pygments-main/pygments/lexers/factor.py +3 -4
- data/vendor/pygments-main/pygments/lexers/fantom.py +1 -2
- data/vendor/pygments-main/pygments/lexers/felix.py +1 -2
- data/vendor/pygments-main/pygments/lexers/floscript.py +1 -2
- data/vendor/pygments-main/pygments/lexers/forth.py +2 -3
- data/vendor/pygments-main/pygments/lexers/fortran.py +9 -7
- data/vendor/pygments-main/pygments/lexers/foxpro.py +1 -2
- data/vendor/pygments-main/pygments/lexers/freefem.py +1 -2
- data/vendor/pygments-main/pygments/lexers/functional.py +1 -2
- data/vendor/pygments-main/pygments/lexers/futhark.py +110 -0
- data/vendor/pygments-main/pygments/lexers/gdscript.py +1 -2
- data/vendor/pygments-main/pygments/lexers/go.py +2 -3
- data/vendor/pygments-main/pygments/lexers/grammar_notation.py +1 -2
- data/vendor/pygments-main/pygments/lexers/graph.py +1 -2
- data/vendor/pygments-main/pygments/lexers/graphics.py +3 -4
- data/vendor/pygments-main/pygments/lexers/graphviz.py +57 -0
- data/vendor/pygments-main/pygments/lexers/haskell.py +1 -2
- data/vendor/pygments-main/pygments/lexers/haxe.py +3 -4
- data/vendor/pygments-main/pygments/lexers/hdl.py +2 -6
- data/vendor/pygments-main/pygments/lexers/hexdump.py +1 -2
- data/vendor/pygments-main/pygments/lexers/html.py +7 -8
- data/vendor/pygments-main/pygments/lexers/idl.py +1 -2
- data/vendor/pygments-main/pygments/lexers/igor.py +1 -2
- data/vendor/pygments-main/pygments/lexers/inferno.py +1 -2
- data/vendor/pygments-main/pygments/lexers/installers.py +1 -2
- data/vendor/pygments-main/pygments/lexers/int_fiction.py +1 -2
- data/vendor/pygments-main/pygments/lexers/iolang.py +2 -3
- data/vendor/pygments-main/pygments/lexers/j.py +2 -3
- data/vendor/pygments-main/pygments/lexers/javascript.py +57 -61
- data/vendor/pygments-main/pygments/lexers/julia.py +1 -2
- data/vendor/pygments-main/pygments/lexers/jvm.py +174 -108
- data/vendor/pygments-main/pygments/lexers/lisp.py +7 -8
- data/vendor/pygments-main/pygments/lexers/make.py +3 -4
- data/vendor/pygments-main/pygments/lexers/markup.py +11 -14
- data/vendor/pygments-main/pygments/lexers/math.py +1 -2
- data/vendor/pygments-main/pygments/lexers/matlab.py +2644 -84
- data/vendor/pygments-main/pygments/lexers/mime.py +2 -3
- data/vendor/pygments-main/pygments/lexers/ml.py +7 -8
- data/vendor/pygments-main/pygments/lexers/modeling.py +1 -2
- data/vendor/pygments-main/pygments/lexers/modula2.py +3 -4
- data/vendor/pygments-main/pygments/lexers/monte.py +1 -2
- data/vendor/pygments-main/pygments/lexers/mosel.py +1 -2
- data/vendor/pygments-main/pygments/lexers/ncl.py +1 -2
- data/vendor/pygments-main/pygments/lexers/nimrod.py +1 -2
- data/vendor/pygments-main/pygments/lexers/nit.py +1 -2
- data/vendor/pygments-main/pygments/lexers/nix.py +1 -2
- data/vendor/pygments-main/pygments/lexers/oberon.py +1 -2
- data/vendor/pygments-main/pygments/lexers/objective.py +3 -4
- data/vendor/pygments-main/pygments/lexers/ooc.py +1 -2
- data/vendor/pygments-main/pygments/lexers/other.py +1 -2
- data/vendor/pygments-main/pygments/lexers/parasail.py +1 -2
- data/vendor/pygments-main/pygments/lexers/parsers.py +25 -26
- data/vendor/pygments-main/pygments/lexers/pascal.py +1 -2
- data/vendor/pygments-main/pygments/lexers/pawn.py +2 -5
- data/vendor/pygments-main/pygments/lexers/perl.py +1 -2
- data/vendor/pygments-main/pygments/lexers/php.py +3 -4
- data/vendor/pygments-main/pygments/lexers/pointless.py +1 -2
- data/vendor/pygments-main/pygments/lexers/pony.py +1 -2
- data/vendor/pygments-main/pygments/lexers/praat.py +1 -2
- data/vendor/pygments-main/pygments/lexers/prolog.py +3 -4
- data/vendor/pygments-main/pygments/lexers/promql.py +1 -2
- data/vendor/pygments-main/pygments/lexers/python.py +19 -12
- data/vendor/pygments-main/pygments/lexers/qvt.py +1 -2
- data/vendor/pygments-main/pygments/lexers/r.py +1 -2
- data/vendor/pygments-main/pygments/lexers/rdf.py +1 -2
- data/vendor/pygments-main/pygments/lexers/rebol.py +1 -2
- data/vendor/pygments-main/pygments/lexers/resource.py +1 -2
- data/vendor/pygments-main/pygments/lexers/ride.py +1 -2
- data/vendor/pygments-main/pygments/lexers/rnc.py +1 -2
- data/vendor/pygments-main/pygments/lexers/roboconf.py +1 -2
- data/vendor/pygments-main/pygments/lexers/robotframework.py +1 -2
- data/vendor/pygments-main/pygments/lexers/ruby.py +30 -24
- data/vendor/pygments-main/pygments/lexers/rust.py +1 -2
- data/vendor/pygments-main/pygments/lexers/sas.py +1 -2
- data/vendor/pygments-main/pygments/lexers/scdoc.py +1 -2
- data/vendor/pygments-main/pygments/lexers/scripting.py +5 -6
- data/vendor/pygments-main/pygments/lexers/sgf.py +1 -2
- data/vendor/pygments-main/pygments/lexers/shell.py +5 -10
- data/vendor/pygments-main/pygments/lexers/sieve.py +1 -2
- data/vendor/pygments-main/pygments/lexers/slash.py +1 -2
- data/vendor/pygments-main/pygments/lexers/smalltalk.py +1 -2
- data/vendor/pygments-main/pygments/lexers/smv.py +1 -2
- data/vendor/pygments-main/pygments/lexers/snobol.py +1 -2
- data/vendor/pygments-main/pygments/lexers/solidity.py +1 -2
- data/vendor/pygments-main/pygments/lexers/special.py +29 -28
- data/vendor/pygments-main/pygments/lexers/sql.py +8 -13
- data/vendor/pygments-main/pygments/lexers/stata.py +1 -2
- data/vendor/pygments-main/pygments/lexers/supercollider.py +3 -4
- data/vendor/pygments-main/pygments/lexers/tcl.py +1 -2
- data/vendor/pygments-main/pygments/lexers/templates.py +15 -16
- data/vendor/pygments-main/pygments/lexers/teraterm.py +1 -2
- data/vendor/pygments-main/pygments/lexers/testing.py +1 -2
- data/vendor/pygments-main/pygments/lexers/text.py +1 -2
- data/vendor/pygments-main/pygments/lexers/textedit.py +3 -4
- data/vendor/pygments-main/pygments/lexers/textfmts.py +1 -2
- data/vendor/pygments-main/pygments/lexers/theorem.py +7 -5
- data/vendor/pygments-main/pygments/lexers/tnt.py +1 -2
- data/vendor/pygments-main/pygments/lexers/trafficscript.py +1 -2
- data/vendor/pygments-main/pygments/lexers/typoscript.py +1 -2
- data/vendor/pygments-main/pygments/lexers/unicon.py +1 -2
- data/vendor/pygments-main/pygments/lexers/urbi.py +3 -4
- data/vendor/pygments-main/pygments/lexers/usd.py +1 -2
- data/vendor/pygments-main/pygments/lexers/varnish.py +2 -3
- data/vendor/pygments-main/pygments/lexers/verification.py +1 -2
- data/vendor/pygments-main/pygments/lexers/web.py +1 -2
- data/vendor/pygments-main/pygments/lexers/webidl.py +1 -2
- data/vendor/pygments-main/pygments/lexers/webmisc.py +5 -5
- data/vendor/pygments-main/pygments/lexers/whiley.py +1 -2
- data/vendor/pygments-main/pygments/lexers/x10.py +2 -3
- data/vendor/pygments-main/pygments/lexers/xorg.py +1 -2
- data/vendor/pygments-main/pygments/lexers/yang.py +1 -2
- data/vendor/pygments-main/pygments/lexers/zig.py +1 -2
- data/vendor/pygments-main/pygments/modeline.py +1 -2
- data/vendor/pygments-main/pygments/plugin.py +2 -3
- data/vendor/pygments-main/pygments/regexopt.py +1 -2
- data/vendor/pygments-main/pygments/scanner.py +1 -2
- data/vendor/pygments-main/pygments/sphinxext.py +1 -2
- data/vendor/pygments-main/pygments/style.py +3 -4
- data/vendor/pygments-main/pygments/styles/__init__.py +3 -2
- data/vendor/pygments-main/pygments/styles/abap.py +1 -2
- data/vendor/pygments-main/pygments/styles/algol.py +1 -2
- data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -2
- data/vendor/pygments-main/pygments/styles/arduino.py +1 -2
- data/vendor/pygments-main/pygments/styles/autumn.py +1 -2
- data/vendor/pygments-main/pygments/styles/borland.py +1 -2
- data/vendor/pygments-main/pygments/styles/bw.py +1 -2
- data/vendor/pygments-main/pygments/styles/colorful.py +1 -2
- data/vendor/pygments-main/pygments/styles/default.py +1 -2
- data/vendor/pygments-main/pygments/styles/emacs.py +1 -2
- data/vendor/pygments-main/pygments/styles/friendly.py +1 -2
- data/vendor/pygments-main/pygments/styles/fruity.py +1 -2
- data/vendor/pygments-main/pygments/styles/igor.py +1 -2
- data/vendor/pygments-main/pygments/styles/inkpot.py +1 -2
- data/vendor/pygments-main/pygments/styles/lovelace.py +1 -2
- data/vendor/pygments-main/pygments/styles/manni.py +1 -2
- data/vendor/pygments-main/pygments/styles/material.py +118 -0
- data/vendor/pygments-main/pygments/styles/monokai.py +1 -2
- data/vendor/pygments-main/pygments/styles/murphy.py +1 -2
- data/vendor/pygments-main/pygments/styles/native.py +1 -2
- data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -2
- data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -2
- data/vendor/pygments-main/pygments/styles/pastie.py +1 -2
- data/vendor/pygments-main/pygments/styles/perldoc.py +1 -2
- data/vendor/pygments-main/pygments/styles/rainbow_dash.py +1 -2
- data/vendor/pygments-main/pygments/styles/rrt.py +1 -2
- data/vendor/pygments-main/pygments/styles/sas.py +1 -2
- data/vendor/pygments-main/pygments/styles/solarized.py +4 -2
- data/vendor/pygments-main/pygments/styles/stata_dark.py +1 -2
- data/vendor/pygments-main/pygments/styles/stata_light.py +1 -2
- data/vendor/pygments-main/pygments/styles/tango.py +1 -2
- data/vendor/pygments-main/pygments/styles/trac.py +1 -2
- data/vendor/pygments-main/pygments/styles/vim.py +1 -2
- data/vendor/pygments-main/pygments/styles/vs.py +1 -2
- data/vendor/pygments-main/pygments/styles/xcode.py +1 -2
- data/vendor/pygments-main/pygments/styles/zenburn.py +80 -0
- data/vendor/pygments-main/pygments/token.py +1 -2
- data/vendor/pygments-main/pygments/unistring.py +1 -2
- data/vendor/pygments-main/pygments/util.py +2 -5
- metadata +21 -14
- data/vendor/pygments-main/Pygments-2.7.3.dist-info/RECORD +0 -482
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.sas
|
4
3
|
~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexer for SAS.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.scdoc
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexer for scdoc, a simple man page generator.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.scripting
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexer for scripting and embedded languages.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -283,7 +282,7 @@ class ChaiscriptLexer(RegexLexer):
|
|
283
282
|
(r'0x[0-9a-fA-F]+', Number.Hex),
|
284
283
|
(r'[0-9]+', Number.Integer),
|
285
284
|
(r'"', String.Double, 'dqstring'),
|
286
|
-
(r"'(\\\\|\\
|
285
|
+
(r"'(\\\\|\\[^\\]|[^'\\])*'", String.Single),
|
287
286
|
],
|
288
287
|
'dqstring': [
|
289
288
|
(r'\$\{[^"}]+?\}', String.Interpol),
|
@@ -689,7 +688,7 @@ class AppleScriptLexer(RegexLexer):
|
|
689
688
|
(r'\b(%s)s?\b' % '|'.join(StudioClasses), Name.Builtin),
|
690
689
|
(r'\b(%s)\b' % '|'.join(StudioCommands), Name.Builtin),
|
691
690
|
(r'\b(%s)\b' % '|'.join(References), Name.Builtin),
|
692
|
-
(r'"(\\\\|\\
|
691
|
+
(r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
|
693
692
|
(r'\b(%s)\b' % Identifiers, Name.Variable),
|
694
693
|
(r'[-+]?(\d+\.\d*|\d*\.\d+)(E[-+][0-9]+)?', Number.Float),
|
695
694
|
(r'[-+]?\d+', Number.Integer),
|
@@ -833,7 +832,7 @@ class MOOCodeLexer(RegexLexer):
|
|
833
832
|
# Numbers
|
834
833
|
(r'(0|[1-9][0-9_]*)', Number.Integer),
|
835
834
|
# Strings
|
836
|
-
(r'"(\\\\|\\
|
835
|
+
(r'"(\\\\|\\[^\\]|[^"\\])*"', String),
|
837
836
|
# exceptions
|
838
837
|
(r'(E_PERM|E_DIV)', Name.Exception),
|
839
838
|
# db-refs
|
@@ -924,7 +923,7 @@ class HybrisLexer(RegexLexer):
|
|
924
923
|
'Runnable', 'CGI', 'ClientSocket', 'Socket', 'ServerSocket',
|
925
924
|
'File', 'Console', 'Directory', 'Exception'), suffix=r'\b'),
|
926
925
|
Keyword.Type),
|
927
|
-
(r'"(\\\\|\\
|
926
|
+
(r'"(\\\\|\\[^\\]|[^"\\])*"', String),
|
928
927
|
(r"'\\.'|'[^\\]'|'\\u[0-9a-f]{4}'", String.Char),
|
929
928
|
(r'(\.)([a-zA-Z_]\w*)',
|
930
929
|
bygroups(Operator, Name.Attribute)),
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.sgf
|
4
3
|
~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexer for Smart Game Format (sgf) file format.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.shell
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexers for various shells.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -57,7 +56,7 @@ class BashLexer(RegexLexer):
|
|
57
56
|
(r'\$', Text),
|
58
57
|
],
|
59
58
|
'basic': [
|
60
|
-
(r'\b(if|fi|else|while|do|done|for|then|return|function|case|'
|
59
|
+
(r'\b(if|fi|else|while|in|do|done|for|then|return|function|case|'
|
61
60
|
r'select|continue|until|esac|elif)(\s*)\b',
|
62
61
|
bygroups(Keyword, Text)),
|
63
62
|
(r'\b(alias|bg|bind|break|builtin|caller|cd|command|compgen|'
|
@@ -169,10 +168,6 @@ class ShellSessionBaseLexer(Lexer):
|
|
169
168
|
|
170
169
|
for match in line_re.finditer(text):
|
171
170
|
line = match.group()
|
172
|
-
if backslash_continuation:
|
173
|
-
curcode += line
|
174
|
-
backslash_continuation = curcode.endswith('\\\n')
|
175
|
-
continue
|
176
171
|
|
177
172
|
venv_match = self._venv.match(line)
|
178
173
|
if venv_match:
|
@@ -197,7 +192,7 @@ class ShellSessionBaseLexer(Lexer):
|
|
197
192
|
[(0, Generic.Prompt, m.group(1))]))
|
198
193
|
curcode += m.group(2)
|
199
194
|
backslash_continuation = curcode.endswith('\\\n')
|
200
|
-
elif line.startswith(self._ps2):
|
195
|
+
elif line.startswith(self._ps2) and backslash_continuation:
|
201
196
|
insertions.append((len(curcode),
|
202
197
|
[(0, Generic.Prompt, line[:len(self._ps2)])]))
|
203
198
|
curcode += line[len(self._ps2):]
|
@@ -232,8 +227,8 @@ class BashSessionLexer(ShellSessionBaseLexer):
|
|
232
227
|
_innerLexerCls = BashLexer
|
233
228
|
_ps1rgx = re.compile(
|
234
229
|
r'^((?:(?:\[.*?\])|(?:\(\S+\))?(?:| |sh\S*?|\w+\S+[@:]\S+(?:\s+\S+)' \
|
235
|
-
r'?|\[\S+[@:][^\n]+\].+))\s*[$#%])(.*\n?)')
|
236
|
-
_ps2 = '>'
|
230
|
+
r'?|\[\S+[@:][^\n]+\].+))\s*[$#%]\s*)(.*\n?)')
|
231
|
+
_ps2 = '> '
|
237
232
|
|
238
233
|
|
239
234
|
class BatchLexer(RegexLexer):
|
@@ -1,4 +1,3 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.sieve
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~
|
@@ -14,7 +13,7 @@
|
|
14
13
|
https://tools.ietf.org/html/rfc5429
|
15
14
|
https://tools.ietf.org/html/rfc8580
|
16
15
|
|
17
|
-
:copyright: Copyright 2006-
|
16
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
18
17
|
:license: BSD, see LICENSE for details.
|
19
18
|
"""
|
20
19
|
|
@@ -1,4 +1,3 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.slash
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~
|
@@ -6,7 +5,7 @@
|
|
6
5
|
Lexer for the `Slash <https://github.com/arturadib/Slash-A>`_ programming
|
7
6
|
language.
|
8
7
|
|
9
|
-
:copyright: Copyright 2006-
|
8
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
10
9
|
:license: BSD, see LICENSE for details.
|
11
10
|
"""
|
12
11
|
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.smalltalk
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexers for Smalltalk and related languages.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.smv
|
4
3
|
~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexers for the SMV languages.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.snobol
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexers for the SNOBOL language.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.solidity
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexers for Solidity.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -1,16 +1,15 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.special
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Special lexers.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
11
|
+
import ast
|
12
12
|
import re
|
13
|
-
from io import BytesIO
|
14
13
|
|
15
14
|
from pygments.lexer import Lexer
|
16
15
|
from pygments.token import Token, Error, Text
|
@@ -39,14 +38,12 @@ class TextLexer(Lexer):
|
|
39
38
|
|
40
39
|
_ttype_cache = {}
|
41
40
|
|
42
|
-
line_re = re.compile(
|
41
|
+
line_re = re.compile('.*?\n')
|
43
42
|
|
44
43
|
|
45
44
|
class RawTokenLexer(Lexer):
|
46
45
|
"""
|
47
|
-
Recreate a token stream formatted with the `RawTokenFormatter`.
|
48
|
-
lexer raises exceptions during parsing if the token stream in the
|
49
|
-
file is malformed.
|
46
|
+
Recreate a token stream formatted with the `RawTokenFormatter`.
|
50
47
|
|
51
48
|
Additional options accepted:
|
52
49
|
|
@@ -55,7 +52,7 @@ class RawTokenLexer(Lexer):
|
|
55
52
|
the given compression algorithm before lexing (default: ``""``).
|
56
53
|
"""
|
57
54
|
name = 'Raw token data'
|
58
|
-
aliases = [
|
55
|
+
aliases = []
|
59
56
|
filenames = []
|
60
57
|
mimetypes = ['application/x-pygments-tokens']
|
61
58
|
|
@@ -65,20 +62,23 @@ class RawTokenLexer(Lexer):
|
|
65
62
|
Lexer.__init__(self, **options)
|
66
63
|
|
67
64
|
def get_tokens(self, text):
|
68
|
-
if
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
65
|
+
if self.compress:
|
66
|
+
if isinstance(text, str):
|
67
|
+
text = text.encode('latin1')
|
68
|
+
try:
|
69
|
+
if self.compress == 'gz':
|
70
|
+
import gzip
|
71
|
+
text = gzip.decompress(text)
|
72
|
+
elif self.compress == 'bz2':
|
73
|
+
import bz2
|
74
|
+
text = bz2.decompress(text)
|
75
|
+
except OSError:
|
76
|
+
yield Error, text.decode('latin1')
|
77
|
+
if isinstance(text, bytes):
|
78
|
+
text = text.decode('latin1')
|
79
|
+
|
80
|
+
# do not call Lexer.get_tokens() because stripping is not optional.
|
81
|
+
text = text.strip('\n') + '\n'
|
82
82
|
for i, t, v in self.get_tokens_unprocessed(text):
|
83
83
|
yield t, v
|
84
84
|
|
@@ -86,11 +86,7 @@ class RawTokenLexer(Lexer):
|
|
86
86
|
length = 0
|
87
87
|
for match in line_re.finditer(text):
|
88
88
|
try:
|
89
|
-
ttypestr, val = match.group().split(
|
90
|
-
except ValueError:
|
91
|
-
val = match.group().decode('ascii', 'replace')
|
92
|
-
ttype = Error
|
93
|
-
else:
|
89
|
+
ttypestr, val = match.group().rstrip().split('\t', 1)
|
94
90
|
ttype = _ttype_cache.get(ttypestr)
|
95
91
|
if not ttype:
|
96
92
|
ttype = Token
|
@@ -100,6 +96,11 @@ class RawTokenLexer(Lexer):
|
|
100
96
|
raise ValueError('malformed token name')
|
101
97
|
ttype = getattr(ttype, ttype_)
|
102
98
|
_ttype_cache[ttypestr] = ttype
|
103
|
-
val =
|
99
|
+
val = ast.literal_eval(val)
|
100
|
+
if not isinstance(val, str):
|
101
|
+
raise ValueError('expected str')
|
102
|
+
except (SyntaxError, ValueError):
|
103
|
+
val = match.group()
|
104
|
+
ttype = Error
|
104
105
|
yield length, ttype, val
|
105
106
|
length += len(val)
|
@@ -1,4 +1,3 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.sql
|
4
3
|
~~~~~~~~~~~~~~~~~~~
|
@@ -34,7 +33,7 @@
|
|
34
33
|
The ``tests/examplefiles`` contains a few test files with data to be
|
35
34
|
parsed by these lexers.
|
36
35
|
|
37
|
-
:copyright: Copyright 2006-
|
36
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
38
37
|
:license: BSD, see LICENSE for details.
|
39
38
|
"""
|
40
39
|
|
@@ -102,8 +101,7 @@ def language_callback(lexer, match):
|
|
102
101
|
yield (match.start(3), String, match.group(3))
|
103
102
|
# 4 = string contents
|
104
103
|
if lx:
|
105
|
-
|
106
|
-
yield x
|
104
|
+
yield from lx.get_tokens_unprocessed(match.group(4))
|
107
105
|
else:
|
108
106
|
yield (match.start(4), String, match.group(4))
|
109
107
|
# 5 = $, 6 = delimiter, 7 = $
|
@@ -397,14 +395,14 @@ class SqlLexer(RegexLexer):
|
|
397
395
|
'CHARACTERISTICS', 'CHARACTER_LENGTH', 'CHARACTER_SET_CATALOG',
|
398
396
|
'CHARACTER_SET_NAME', 'CHARACTER_SET_SCHEMA', 'CHAR_LENGTH', 'CHECK',
|
399
397
|
'CHECKED', 'CHECKPOINT', 'CLASS', 'CLASS_ORIGIN', 'CLOB', 'CLOSE',
|
400
|
-
'CLUSTER', '
|
398
|
+
'CLUSTER', 'COALESCE', 'COBOL', 'COLLATE', 'COLLATION',
|
401
399
|
'COLLATION_CATALOG', 'COLLATION_NAME', 'COLLATION_SCHEMA', 'COLUMN',
|
402
400
|
'COLUMN_NAME', 'COMMAND_FUNCTION', 'COMMAND_FUNCTION_CODE', 'COMMENT',
|
403
401
|
'COMMIT', 'COMMITTED', 'COMPLETION', 'CONDITION_NUMBER', 'CONNECT',
|
404
402
|
'CONNECTION', 'CONNECTION_NAME', 'CONSTRAINT', 'CONSTRAINTS',
|
405
403
|
'CONSTRAINT_CATALOG', 'CONSTRAINT_NAME', 'CONSTRAINT_SCHEMA',
|
406
404
|
'CONSTRUCTOR', 'CONTAINS', 'CONTINUE', 'CONVERSION', 'CONVERT',
|
407
|
-
'COPY', '
|
405
|
+
'COPY', 'CORRESPONDING', 'COUNT', 'CREATE', 'CREATEDB', 'CREATEUSER',
|
408
406
|
'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_PATH',
|
409
407
|
'CURRENT_ROLE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER',
|
410
408
|
'CURSOR', 'CURSOR_NAME', 'CYCLE', 'DATA', 'DATABASE',
|
@@ -440,9 +438,9 @@ class SqlLexer(RegexLexer):
|
|
440
438
|
'OPEN', 'OPERATION', 'OPERATOR', 'OPTION', 'OPTIONS', 'OR', 'ORDER',
|
441
439
|
'ORDINALITY', 'OUT', 'OUTER', 'OUTPUT', 'OVERLAPS', 'OVERLAY',
|
442
440
|
'OVERRIDING', 'OWNER', 'PAD', 'PARAMETER', 'PARAMETERS', 'PARAMETER_MODE',
|
443
|
-
'
|
441
|
+
'PARAMETER_NAME', 'PARAMETER_ORDINAL_POSITION',
|
444
442
|
'PARAMETER_SPECIFIC_CATALOG', 'PARAMETER_SPECIFIC_NAME',
|
445
|
-
'
|
443
|
+
'PARAMETER_SPECIFIC_SCHEMA', 'PARTIAL', 'PASCAL', 'PENDANT', 'PERIOD', 'PLACING',
|
446
444
|
'PLI', 'POSITION', 'POSTFIX', 'PRECEEDS', 'PRECISION', 'PREFIX', 'PREORDER',
|
447
445
|
'PREPARE', 'PRESERVE', 'PRIMARY', 'PRIOR', 'PRIVILEGES', 'PROCEDURAL',
|
448
446
|
'PROCEDURE', 'PUBLIC', 'READ', 'READS', 'RECHECK', 'RECURSIVE', 'REF',
|
@@ -462,8 +460,8 @@ class SqlLexer(RegexLexer):
|
|
462
460
|
'SUBLIST', 'SUBSTRING', 'SUCCEEDS', 'SUM', 'SYMMETRIC', 'SYSID', 'SYSTEM',
|
463
461
|
'SYSTEM_USER', 'TABLE', 'TABLE_NAME', ' TEMP', 'TEMPLATE', 'TEMPORARY',
|
464
462
|
'TERMINATE', 'THAN', 'THEN', 'TIME', 'TIMESTAMP', 'TIMEZONE_HOUR',
|
465
|
-
'TIMEZONE_MINUTE', 'TO', 'TOAST', 'TRAILING', '
|
466
|
-
'TRANSACTIONS_COMMITTED', 'TRANSACTIONS_ROLLED_BACK', '
|
463
|
+
'TIMEZONE_MINUTE', 'TO', 'TOAST', 'TRAILING', 'TRANSACTION',
|
464
|
+
'TRANSACTIONS_COMMITTED', 'TRANSACTIONS_ROLLED_BACK', 'TRANSACTION_ACTIVE',
|
467
465
|
'TRANSFORM', 'TRANSFORMS', 'TRANSLATE', 'TRANSLATION', 'TREAT', 'TRIGGER',
|
468
466
|
'TRIGGER_CATALOG', 'TRIGGER_NAME', 'TRIGGER_SCHEMA', 'TRIM', 'TRUE',
|
469
467
|
'TRUNCATE', 'TRUSTED', 'TYPE', 'UNCOMMITTED', 'UNDER', 'UNENCRYPTED',
|
@@ -497,9 +495,6 @@ class SqlLexer(RegexLexer):
|
|
497
495
|
]
|
498
496
|
}
|
499
497
|
|
500
|
-
def analyse_text(text):
|
501
|
-
return 0.01
|
502
|
-
|
503
498
|
|
504
499
|
class TransactSqlLexer(RegexLexer):
|
505
500
|
"""
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.stata
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexer for Stata
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.supercollider
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexer for SuperCollider
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|
@@ -84,8 +83,8 @@ class SuperColliderLexer(RegexLexer):
|
|
84
83
|
(r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
|
85
84
|
(r'0x[0-9a-fA-F]+', Number.Hex),
|
86
85
|
(r'[0-9]+', Number.Integer),
|
87
|
-
(r'"(\\\\|\\
|
88
|
-
(r"'(\\\\|\\
|
86
|
+
(r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
|
87
|
+
(r"'(\\\\|\\[^\\]|[^'\\])*'", String.Single),
|
89
88
|
]
|
90
89
|
}
|
91
90
|
|
@@ -1,11 +1,10 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.tcl
|
4
3
|
~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexers for Tcl and related languages.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
9
8
|
:license: BSD, see LICENSE for details.
|
10
9
|
"""
|
11
10
|
|