pygments.rb 2.0.0.rc3 → 2.3.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 +13 -1
- data/.gitignore +0 -1
- data/.rubocop.yml +16 -0
- data/CHANGELOG.adoc +19 -0
- data/README.adoc +1 -3
- data/Rakefile +0 -14
- data/bench.rb +11 -6
- data/lib/pygments/lexer.rb +84 -62
- data/lib/pygments/mentos.py +7 -49
- data/lib/pygments/popen.rb +133 -173
- data/lib/pygments/version.rb +1 -1
- data/lib/pygments.rb +15 -6
- data/pygments.rb.gemspec +16 -11
- data/test/test_pygments.rb +19 -40
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.10.0.dist-info}/AUTHORS +13 -1
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.10.0.dist-info}/INSTALLER +0 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.10.0.dist-info}/LICENSE +1 -1
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.10.0.dist-info}/METADATA +8 -9
- data/vendor/pygments-main/Pygments-2.10.0.dist-info/RECORD +524 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.10.0.dist-info}/REQUESTED +0 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.10.0.dist-info}/WHEEL +0 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.10.0.dist-info}/entry_points.txt +0 -0
- data/vendor/pygments-main/{Pygments-2.7.3.dist-info → Pygments-2.10.0.dist-info}/top_level.txt +0 -0
- data/vendor/pygments-main/bin/pygmentize +1 -1
- 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 +2 -2
- data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -2
- data/vendor/pygments-main/pygments/formatters/html.py +53 -25
- 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/pangomarkup.py +83 -0
- 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 +56 -16
- data/vendor/pygments-main/pygments/lexers/_julia_builtins.py +401 -0
- 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 +73 -54
- 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 +9 -10
- 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 +3 -4
- data/vendor/pygments-main/pygments/lexers/amdgpu.py +53 -0
- data/vendor/pygments-main/pygments/lexers/ampl.py +1 -2
- data/vendor/pygments-main/pygments/lexers/apdlexer.py +448 -0
- data/vendor/pygments-main/pygments/lexers/apl.py +7 -5
- 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/asc.py +51 -0
- data/vendor/pygments-main/pygments/lexers/asm.py +87 -60
- data/vendor/pygments-main/pygments/lexers/automation.py +8 -3
- 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 +3 -4
- 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 +61 -36
- data/vendor/pygments-main/pygments/lexers/c_like.py +103 -5
- 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 +52 -29
- data/vendor/pygments-main/pygments/lexers/clean.py +7 -8
- data/vendor/pygments-main/pygments/lexers/compiled.py +1 -2
- data/vendor/pygments-main/pygments/lexers/configs.py +139 -48
- 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 +3 -4
- 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 +2 -3
- 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 +2 -3
- 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 +2 -3
- 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 +111 -0
- data/vendor/pygments-main/pygments/lexers/gcodelexer.py +36 -0
- data/vendor/pygments-main/pygments/lexers/gdscript.py +1 -2
- data/vendor/pygments-main/pygments/lexers/go.py +3 -4
- 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 +4 -5
- data/vendor/pygments-main/pygments/lexers/graphviz.py +58 -0
- data/vendor/pygments-main/pygments/lexers/gsql.py +92 -0
- data/vendor/pygments-main/pygments/lexers/haskell.py +5 -6
- data/vendor/pygments-main/pygments/lexers/haxe.py +4 -5
- 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 +3 -4
- 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 +170 -156
- data/vendor/pygments-main/pygments/lexers/jslt.py +94 -0
- data/vendor/pygments-main/pygments/lexers/julia.py +136 -185
- data/vendor/pygments-main/pygments/lexers/jvm.py +433 -307
- data/vendor/pygments-main/pygments/lexers/kuin.py +299 -0
- data/vendor/pygments-main/pygments/lexers/lisp.py +25 -23
- data/vendor/pygments-main/pygments/lexers/make.py +3 -4
- data/vendor/pygments-main/pygments/lexers/markup.py +13 -16
- data/vendor/pygments-main/pygments/lexers/math.py +1 -2
- data/vendor/pygments-main/pygments/lexers/matlab.py +2666 -93
- data/vendor/pygments-main/pygments/lexers/meson.py +155 -0
- data/vendor/pygments-main/pygments/lexers/mime.py +7 -23
- data/vendor/pygments-main/pygments/lexers/ml.py +8 -9
- 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 +2 -3
- 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 +6 -7
- 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 +26 -27
- 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/procfile.py +43 -0
- data/vendor/pygments-main/pygments/lexers/prolog.py +3 -4
- data/vendor/pygments-main/pygments/lexers/promql.py +2 -3
- data/vendor/pygments-main/pygments/lexers/python.py +38 -17
- 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 +2 -3
- data/vendor/pygments-main/pygments/lexers/ride.py +1 -2
- data/vendor/pygments-main/pygments/lexers/rnc.py +2 -3
- 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 +31 -25
- data/vendor/pygments-main/pygments/lexers/rust.py +10 -12
- 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 +12 -13
- data/vendor/pygments-main/pygments/lexers/sgf.py +1 -2
- data/vendor/pygments-main/pygments/lexers/shell.py +15 -17
- 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/smithy.py +79 -0
- data/vendor/pygments-main/pygments/lexers/smv.py +2 -3
- 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 +44 -30
- 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 +4 -5
- data/vendor/pygments-main/pygments/lexers/tcl.py +4 -5
- data/vendor/pygments-main/pygments/lexers/teal.py +88 -0
- data/vendor/pygments-main/pygments/lexers/templates.py +34 -35
- data/vendor/pygments-main/pygments/lexers/teraterm.py +2 -3
- data/vendor/pygments-main/pygments/lexers/testing.py +2 -3
- 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 +11 -7
- data/vendor/pygments-main/pygments/lexers/thingsdb.py +118 -0
- data/vendor/pygments-main/pygments/lexers/tnt.py +26 -17
- data/vendor/pygments-main/pygments/lexers/trafficscript.py +2 -3
- 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/webassembly.py +120 -0
- 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 +2 -3
- 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 +4 -5
- data/vendor/pygments-main/pygments/styles/__init__.py +5 -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 +2 -2
- data/vendor/pygments-main/pygments/styles/fruity.py +1 -2
- data/vendor/pygments-main/pygments/styles/gruvbox.py +107 -0
- 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 +2 -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 +48 -23
- data/cache-lexers.rb +0 -9
- data/lexers +0 -0
- 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.pascal
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for Pascal family 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,17 +1,16 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.pawn
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for the Pawn 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
|
|
|
12
11
|
from pygments.lexer import RegexLexer
|
|
13
12
|
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
|
|
14
|
-
Number, Punctuation
|
|
13
|
+
Number, Punctuation
|
|
15
14
|
from pygments.util import get_bool_opt
|
|
16
15
|
|
|
17
16
|
__all__ = ['SourcePawnLexer', 'PawnLexer']
|
|
@@ -54,7 +53,6 @@ class SourcePawnLexer(RegexLexer):
|
|
|
54
53
|
(r'0x[0-9a-fA-F]+[LlUu]*', Number.Hex),
|
|
55
54
|
(r'0[0-7]+[LlUu]*', Number.Oct),
|
|
56
55
|
(r'\d+[LlUu]*', Number.Integer),
|
|
57
|
-
(r'\*/', Error),
|
|
58
56
|
(r'[~!%^&*+=|?:<>/-]', Operator),
|
|
59
57
|
(r'[()\[\],.;]', Punctuation),
|
|
60
58
|
(r'(case|const|continue|native|'
|
|
@@ -166,7 +164,6 @@ class PawnLexer(RegexLexer):
|
|
|
166
164
|
(r'0x[0-9a-fA-F]+[LlUu]*', Number.Hex),
|
|
167
165
|
(r'0[0-7]+[LlUu]*', Number.Oct),
|
|
168
166
|
(r'\d+[LlUu]*', Number.Integer),
|
|
169
|
-
(r'\*/', Error),
|
|
170
167
|
(r'[~!%^&*+=|?:<>/-]', Operator),
|
|
171
168
|
(r'[()\[\],.;]', Punctuation),
|
|
172
169
|
(r'(switch|case|default|const|new|static|char|continue|break|'
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.perl
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for Perl, Raku 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.php
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for PHP 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
|
|
|
@@ -81,8 +80,8 @@ class ZephirLexer(RegexLexer):
|
|
|
81
80
|
(r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
|
|
82
81
|
(r'0x[0-9a-fA-F]+', Number.Hex),
|
|
83
82
|
(r'[0-9]+', Number.Integer),
|
|
84
|
-
(r'"(\\\\|\\
|
|
85
|
-
(r"'(\\\\|\\
|
|
83
|
+
(r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
|
|
84
|
+
(r"'(\\\\|\\[^\\]|[^'\\])*'", String.Single),
|
|
86
85
|
]
|
|
87
86
|
}
|
|
88
87
|
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.pointless
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for Pointless.
|
|
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.pony
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for Pony 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.praat
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexer for Praat
|
|
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
|
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"""
|
|
2
|
+
pygments.lexers.procfile
|
|
3
|
+
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
4
|
+
|
|
5
|
+
Lexer for Procfile file format.
|
|
6
|
+
|
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
|
8
|
+
:license: BSD, see LICENSE for details.
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
from pygments.lexer import RegexLexer, bygroups
|
|
12
|
+
from pygments.token import Name, Number, String, Text, Punctuation
|
|
13
|
+
|
|
14
|
+
__all__ = ["ProcfileLexer"]
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class ProcfileLexer(RegexLexer):
|
|
18
|
+
"""
|
|
19
|
+
Lexer for Procfile file format.
|
|
20
|
+
|
|
21
|
+
The format is used to run processes on Heroku or is used by Foreman or
|
|
22
|
+
Honcho tools.
|
|
23
|
+
For more information about the definition of the format, see:
|
|
24
|
+
https://devcenter.heroku.com/articles/procfile#procfile-format
|
|
25
|
+
|
|
26
|
+
.. versionadded:: 2.10
|
|
27
|
+
"""
|
|
28
|
+
name = 'Procfile'
|
|
29
|
+
aliases = ['procfile']
|
|
30
|
+
filenames = ['Procfile']
|
|
31
|
+
|
|
32
|
+
tokens = {
|
|
33
|
+
'root': [
|
|
34
|
+
(r'^([a-z]+)(:)', bygroups(Name.Label, Punctuation)),
|
|
35
|
+
(r'\s+', Text.Whitespace),
|
|
36
|
+
(r'"[^"]*"', String),
|
|
37
|
+
(r"'[^']*'", String),
|
|
38
|
+
(r'[0-9]+', Number.Integer),
|
|
39
|
+
(r'\$[a-zA-Z_][\w]*', Name.Variable),
|
|
40
|
+
(r'(\w+)(=)(\w+)', bygroups(Name.Variable, Punctuation, String)),
|
|
41
|
+
(r'([\w\-\./]+)', Text),
|
|
42
|
+
],
|
|
43
|
+
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.prolog
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for Prolog and Prolog-like 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
|
|
|
@@ -227,7 +226,7 @@ class LogtalkLexer(RegexLexer):
|
|
|
227
226
|
# Existential quantifier
|
|
228
227
|
(r'\^', Operator),
|
|
229
228
|
# Strings
|
|
230
|
-
(r'"(\\\\|\\
|
|
229
|
+
(r'"(\\\\|\\[^\\]|[^"\\])*"', String),
|
|
231
230
|
# Punctuation
|
|
232
231
|
(r'[()\[\],.|]', Text),
|
|
233
232
|
# Atoms
|
|
@@ -277,7 +276,7 @@ class LogtalkLexer(RegexLexer):
|
|
|
277
276
|
(r"[a-z][a-zA-Z0-9_]*", Text),
|
|
278
277
|
(r"'", String, 'quoted_atom'),
|
|
279
278
|
# Strings
|
|
280
|
-
(r'"(\\\\|\\
|
|
279
|
+
(r'"(\\\\|\\[^\\]|[^"\\])*"', String),
|
|
281
280
|
# End of entity-opening directive
|
|
282
281
|
(r'([)]\.)', Text, 'root'),
|
|
283
282
|
# Scope operator
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.promql
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexer for Prometheus Query 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
|
|
|
@@ -167,7 +166,7 @@ class PromQLLexer(RegexLexer):
|
|
|
167
166
|
(r"\n", Whitespace),
|
|
168
167
|
(r"\s+", Whitespace),
|
|
169
168
|
(r",", Punctuation),
|
|
170
|
-
(r'([_a-zA-Z][a-zA-Z0-9_]*?)(\s*?)(
|
|
169
|
+
(r'([_a-zA-Z][a-zA-Z0-9_]*?)(\s*?)(=~|!=|=|!~)(\s*?)("|\')(.*?)("|\')',
|
|
171
170
|
bygroups(Name.Label, Whitespace, Operator, Whitespace,
|
|
172
171
|
Punctuation, String, Punctuation)),
|
|
173
172
|
],
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.python
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for Python 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
|
|
|
@@ -122,13 +121,17 @@ class PythonLexer(RegexLexer):
|
|
|
122
121
|
'expr': [
|
|
123
122
|
# raw f-strings
|
|
124
123
|
('(?i)(rf|fr)(""")',
|
|
125
|
-
bygroups(String.Affix, String.Double),
|
|
124
|
+
bygroups(String.Affix, String.Double),
|
|
125
|
+
combined('rfstringescape', 'tdqf')),
|
|
126
126
|
("(?i)(rf|fr)(''')",
|
|
127
|
-
bygroups(String.Affix, String.Single),
|
|
127
|
+
bygroups(String.Affix, String.Single),
|
|
128
|
+
combined('rfstringescape', 'tsqf')),
|
|
128
129
|
('(?i)(rf|fr)(")',
|
|
129
|
-
bygroups(String.Affix, String.Double),
|
|
130
|
+
bygroups(String.Affix, String.Double),
|
|
131
|
+
combined('rfstringescape', 'dqf')),
|
|
130
132
|
("(?i)(rf|fr)(')",
|
|
131
|
-
bygroups(String.Affix, String.Single),
|
|
133
|
+
bygroups(String.Affix, String.Single),
|
|
134
|
+
combined('rfstringescape', 'sqf')),
|
|
132
135
|
# non-raw f-strings
|
|
133
136
|
('([fF])(""")', bygroups(String.Affix, String.Double),
|
|
134
137
|
combined('fstringescape', 'tdqf')),
|
|
@@ -157,6 +160,7 @@ class PythonLexer(RegexLexer):
|
|
|
157
160
|
("([uUbB]?)(')", bygroups(String.Affix, String.Single),
|
|
158
161
|
combined('stringescape', 'sqs')),
|
|
159
162
|
(r'[^\S\n]+', Text),
|
|
163
|
+
include('numbers'),
|
|
160
164
|
(r'!=|==|<<|>>|:=|[-~+/*%=<>&^|.]', Operator),
|
|
161
165
|
(r'[]{}:(),;[]', Punctuation),
|
|
162
166
|
(r'(in|is|and|or|not)\b', Operator.Word),
|
|
@@ -165,7 +169,6 @@ class PythonLexer(RegexLexer):
|
|
|
165
169
|
include('magicfuncs'),
|
|
166
170
|
include('magicvars'),
|
|
167
171
|
include('name'),
|
|
168
|
-
include('numbers'),
|
|
169
172
|
],
|
|
170
173
|
'expr-inside-fstring': [
|
|
171
174
|
(r'[{([]', Punctuation, 'expr-inside-fstring-inner'),
|
|
@@ -316,9 +319,12 @@ class PythonLexer(RegexLexer):
|
|
|
316
319
|
(uni_name, Name.Namespace),
|
|
317
320
|
default('#pop'),
|
|
318
321
|
],
|
|
319
|
-
'
|
|
322
|
+
'rfstringescape': [
|
|
320
323
|
(r'\{\{', String.Escape),
|
|
321
324
|
(r'\}\}', String.Escape),
|
|
325
|
+
],
|
|
326
|
+
'fstringescape': [
|
|
327
|
+
include('rfstringescape'),
|
|
322
328
|
include('stringescape'),
|
|
323
329
|
],
|
|
324
330
|
'stringescape': [
|
|
@@ -372,7 +378,8 @@ class PythonLexer(RegexLexer):
|
|
|
372
378
|
}
|
|
373
379
|
|
|
374
380
|
def analyse_text(text):
|
|
375
|
-
return shebang_matches(text, r'pythonw?(3(\.\d)?)?')
|
|
381
|
+
return shebang_matches(text, r'pythonw?(3(\.\d)?)?') or \
|
|
382
|
+
'import ' in text[:1000]
|
|
376
383
|
|
|
377
384
|
|
|
378
385
|
Python3Lexer = PythonLexer
|
|
@@ -596,8 +603,7 @@ class Python2Lexer(RegexLexer):
|
|
|
596
603
|
}
|
|
597
604
|
|
|
598
605
|
def analyse_text(text):
|
|
599
|
-
return shebang_matches(text, r'pythonw?2(\.\d)?')
|
|
600
|
-
'import ' in text[:1000]
|
|
606
|
+
return shebang_matches(text, r'pythonw?2(\.\d)?')
|
|
601
607
|
|
|
602
608
|
|
|
603
609
|
class PythonConsoleLexer(Lexer):
|
|
@@ -721,7 +727,7 @@ class PythonTracebackLexer(RegexLexer):
|
|
|
721
727
|
(r'^( File )("[^"]+")(, line )(\d+)(\n)',
|
|
722
728
|
bygroups(Text, Name.Builtin, Text, Number, Text)),
|
|
723
729
|
(r'^( )(.+)(\n)',
|
|
724
|
-
bygroups(Text, using(PythonLexer), Text)),
|
|
730
|
+
bygroups(Text, using(PythonLexer), Text), 'markers'),
|
|
725
731
|
(r'^([ \t]*)(\.\.\.)(\n)',
|
|
726
732
|
bygroups(Text, Comment, Text)), # for doctests...
|
|
727
733
|
(r'^([^:]+)(: )(.+)(\n)',
|
|
@@ -729,6 +735,15 @@ class PythonTracebackLexer(RegexLexer):
|
|
|
729
735
|
(r'^([a-zA-Z_][\w.]*)(:?\n)',
|
|
730
736
|
bygroups(Generic.Error, Text), '#pop')
|
|
731
737
|
],
|
|
738
|
+
'markers': [
|
|
739
|
+
# Either `PEP 657 <https://www.python.org/dev/peps/pep-0657/>`
|
|
740
|
+
# error locations in Python 3.11+, or single-caret markers
|
|
741
|
+
# for syntax errors before that.
|
|
742
|
+
(r'^( {4,})(\^+)(\n)',
|
|
743
|
+
bygroups(Text, Punctuation.Marker, Text),
|
|
744
|
+
'#pop'),
|
|
745
|
+
default('#pop'),
|
|
746
|
+
],
|
|
732
747
|
}
|
|
733
748
|
|
|
734
749
|
|
|
@@ -767,7 +782,7 @@ class Python2TracebackLexer(RegexLexer):
|
|
|
767
782
|
(r'^( File )("[^"]+")(, line )(\d+)(\n)',
|
|
768
783
|
bygroups(Text, Name.Builtin, Text, Number, Text)),
|
|
769
784
|
(r'^( )(.+)(\n)',
|
|
770
|
-
bygroups(Text, using(Python2Lexer), Text)),
|
|
785
|
+
bygroups(Text, using(Python2Lexer), Text), 'marker'),
|
|
771
786
|
(r'^([ \t]*)(\.\.\.)(\n)',
|
|
772
787
|
bygroups(Text, Comment, Text)), # for doctests...
|
|
773
788
|
(r'^([^:]+)(: )(.+)(\n)',
|
|
@@ -775,6 +790,11 @@ class Python2TracebackLexer(RegexLexer):
|
|
|
775
790
|
(r'^([a-zA-Z_]\w*)(:?\n)',
|
|
776
791
|
bygroups(Generic.Error, Text), '#pop')
|
|
777
792
|
],
|
|
793
|
+
'marker': [
|
|
794
|
+
# For syntax errors.
|
|
795
|
+
(r'( {4,})(\^)', bygroups(Text, Punctuation.Marker), '#pop'),
|
|
796
|
+
default('#pop'),
|
|
797
|
+
],
|
|
778
798
|
}
|
|
779
799
|
|
|
780
800
|
|
|
@@ -839,14 +859,14 @@ class CythonLexer(RegexLexer):
|
|
|
839
859
|
],
|
|
840
860
|
'builtins': [
|
|
841
861
|
(words((
|
|
842
|
-
'__import__', 'abs', 'all', 'any', 'apply', 'basestring', 'bin',
|
|
862
|
+
'__import__', 'abs', 'all', 'any', 'apply', 'basestring', 'bin', 'bint',
|
|
843
863
|
'bool', 'buffer', 'bytearray', 'bytes', 'callable', 'chr',
|
|
844
864
|
'classmethod', 'cmp', 'coerce', 'compile', 'complex', 'delattr',
|
|
845
865
|
'dict', 'dir', 'divmod', 'enumerate', 'eval', 'execfile', 'exit',
|
|
846
866
|
'file', 'filter', 'float', 'frozenset', 'getattr', 'globals',
|
|
847
867
|
'hasattr', 'hash', 'hex', 'id', 'input', 'int', 'intern', 'isinstance',
|
|
848
868
|
'issubclass', 'iter', 'len', 'list', 'locals', 'long', 'map', 'max',
|
|
849
|
-
'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'property',
|
|
869
|
+
'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'property', 'Py_ssize_t',
|
|
850
870
|
'range', 'raw_input', 'reduce', 'reload', 'repr', 'reversed',
|
|
851
871
|
'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod',
|
|
852
872
|
'str', 'sum', 'super', 'tuple', 'type', 'unichr', 'unicode', 'unsigned',
|
|
@@ -1146,6 +1166,7 @@ class NumPyLexer(PythonLexer):
|
|
|
1146
1166
|
yield index, token, value
|
|
1147
1167
|
|
|
1148
1168
|
def analyse_text(text):
|
|
1169
|
+
ltext = text[:1000]
|
|
1149
1170
|
return (shebang_matches(text, r'pythonw?(3(\.\d)?)?') or
|
|
1150
|
-
'import ' in
|
|
1151
|
-
and ('import numpy' in
|
|
1171
|
+
'import ' in ltext) \
|
|
1172
|
+
and ('import numpy' in ltext or 'from numpy import' in ltext)
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.qvt
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexer for QVT Operational 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.r
|
|
4
3
|
~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for the R/S 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.rdf
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for semantic web and RDF query languages and markup.
|
|
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.rebol
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for the REBOL 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.resource
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexer for resource definition files.
|
|
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
|
|
|
@@ -25,7 +24,7 @@ class ResourceLexer(RegexLexer):
|
|
|
25
24
|
.. versionadded:: 2.0
|
|
26
25
|
"""
|
|
27
26
|
name = 'ResourceBundle'
|
|
28
|
-
aliases = ['
|
|
27
|
+
aliases = ['resourcebundle', 'resource']
|
|
29
28
|
filenames = []
|
|
30
29
|
|
|
31
30
|
_types = (':table', ':array', ':string', ':bin', ':import', ':intvector',
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.ride
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexer for the Ride programming 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.rnc
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexer for Relax-NG Compact syntax
|
|
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
|
|
|
@@ -24,7 +23,7 @@ class RNCCompactLexer(RegexLexer):
|
|
|
24
23
|
"""
|
|
25
24
|
|
|
26
25
|
name = 'Relax-NG Compact'
|
|
27
|
-
aliases = ['
|
|
26
|
+
aliases = ['rng-compact', 'rnc']
|
|
28
27
|
filenames = ['*.rnc']
|
|
29
28
|
|
|
30
29
|
tokens = {
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.roboconf
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for Roboconf DSL.
|
|
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.robotframework
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexer for Robot Framework.
|
|
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.ruby
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for Ruby 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
|
|
|
@@ -34,7 +33,7 @@ class RubyLexer(ExtendedRegexLexer):
|
|
|
34
33
|
"""
|
|
35
34
|
|
|
36
35
|
name = 'Ruby'
|
|
37
|
-
aliases = ['
|
|
36
|
+
aliases = ['ruby', 'rb', 'duby']
|
|
38
37
|
filenames = ['*.rb', '*.rbw', 'Rakefile', '*.rake', '*.gemspec',
|
|
39
38
|
'*.rbx', '*.duby', 'Gemfile']
|
|
40
39
|
mimetypes = ['text/x-ruby', 'application/x-ruby']
|
|
@@ -57,8 +56,11 @@ class RubyLexer(ExtendedRegexLexer):
|
|
|
57
56
|
|
|
58
57
|
ctx.pos = match.start(5)
|
|
59
58
|
ctx.end = match.end(5)
|
|
60
|
-
# this may find other heredocs
|
|
61
|
-
|
|
59
|
+
# this may find other heredocs, so limit the recursion depth
|
|
60
|
+
if len(heredocstack) < 100:
|
|
61
|
+
yield from self.get_tokens_unprocessed(context=ctx)
|
|
62
|
+
else:
|
|
63
|
+
yield ctx.pos, String.Heredoc, match.group(5)
|
|
62
64
|
ctx.pos = match.end()
|
|
63
65
|
|
|
64
66
|
if outermost:
|
|
@@ -107,7 +109,7 @@ class RubyLexer(ExtendedRegexLexer):
|
|
|
107
109
|
# easy ones
|
|
108
110
|
(r'\:@{0,2}[a-zA-Z_]\w*[!?]?', String.Symbol),
|
|
109
111
|
(words(RUBY_OPERATORS, prefix=r'\:@{0,2}'), String.Symbol),
|
|
110
|
-
(r":'(\\\\|\\
|
|
112
|
+
(r":'(\\\\|\\[^\\]|[^'\\])*'", String.Symbol),
|
|
111
113
|
(r':"', String.Symbol, 'simple-sym'),
|
|
112
114
|
(r'([a-zA-Z_]\w*)(:)(?!:)',
|
|
113
115
|
bygroups(String.Symbol, Punctuation)), # Since Ruby 1.9
|
|
@@ -327,9 +329,13 @@ class RubyLexer(ExtendedRegexLexer):
|
|
|
327
329
|
],
|
|
328
330
|
'funcname': [
|
|
329
331
|
(r'\(', Punctuation, 'defexpr'),
|
|
330
|
-
(r'(?:([a-zA-Z_]\w*)(\.))?'
|
|
331
|
-
r'(
|
|
332
|
-
|
|
332
|
+
(r'(?:([a-zA-Z_]\w*)(\.))?' # optional scope name, like "self."
|
|
333
|
+
r'('
|
|
334
|
+
r'[a-zA-Z\u0080-\uffff][a-zA-Z0-9_\u0080-\uffff]*[!?=]?' # method name
|
|
335
|
+
r'|!=|!~|=~|\*\*?|[-+!~]@?|[/%&|^]|<=>|<[<=]?|>[>=]?|===?' # or operator override
|
|
336
|
+
r'|\[\]=?' # or element reference/assignment override
|
|
337
|
+
r'|`' # or the undocumented backtick override
|
|
338
|
+
r')',
|
|
333
339
|
bygroups(Name.Class, Operator, Name.Function), '#pop'),
|
|
334
340
|
default('#pop')
|
|
335
341
|
],
|
|
@@ -449,26 +455,26 @@ class FancyLexer(RegexLexer):
|
|
|
449
455
|
tokens = {
|
|
450
456
|
# copied from PerlLexer:
|
|
451
457
|
'balanced-regex': [
|
|
452
|
-
(r'/(
|
|
453
|
-
(r'!(
|
|
458
|
+
(r'/(\\\\|\\[^\\]|[^/\\])*/[egimosx]*', String.Regex, '#pop'),
|
|
459
|
+
(r'!(\\\\|\\[^\\]|[^!\\])*![egimosx]*', String.Regex, '#pop'),
|
|
454
460
|
(r'\\(\\\\|[^\\])*\\[egimosx]*', String.Regex, '#pop'),
|
|
455
|
-
(r'\{(
|
|
456
|
-
(r'<(
|
|
457
|
-
(r'\[(
|
|
458
|
-
(r'\((
|
|
459
|
-
(r'@(
|
|
460
|
-
(r'%(
|
|
461
|
-
(r'\$(
|
|
461
|
+
(r'\{(\\\\|\\[^\\]|[^}\\])*\}[egimosx]*', String.Regex, '#pop'),
|
|
462
|
+
(r'<(\\\\|\\[^\\]|[^>\\])*>[egimosx]*', String.Regex, '#pop'),
|
|
463
|
+
(r'\[(\\\\|\\[^\\]|[^\]\\])*\][egimosx]*', String.Regex, '#pop'),
|
|
464
|
+
(r'\((\\\\|\\[^\\]|[^)\\])*\)[egimosx]*', String.Regex, '#pop'),
|
|
465
|
+
(r'@(\\\\|\\[^\\]|[^@\\])*@[egimosx]*', String.Regex, '#pop'),
|
|
466
|
+
(r'%(\\\\|\\[^\\]|[^%\\])*%[egimosx]*', String.Regex, '#pop'),
|
|
467
|
+
(r'\$(\\\\|\\[^\\]|[^$\\])*\$[egimosx]*', String.Regex, '#pop'),
|
|
462
468
|
],
|
|
463
469
|
'root': [
|
|
464
470
|
(r'\s+', Text),
|
|
465
471
|
|
|
466
472
|
# balanced delimiters (copied from PerlLexer):
|
|
467
|
-
(r's\{(
|
|
468
|
-
(r's<(
|
|
469
|
-
(r's\[(
|
|
470
|
-
(r's\((
|
|
471
|
-
(r'm?/(
|
|
473
|
+
(r's\{(\\\\|\\[^\\]|[^}\\])*\}\s*', String.Regex, 'balanced-regex'),
|
|
474
|
+
(r's<(\\\\|\\[^\\]|[^>\\])*>\s*', String.Regex, 'balanced-regex'),
|
|
475
|
+
(r's\[(\\\\|\\[^\\]|[^\]\\])*\]\s*', String.Regex, 'balanced-regex'),
|
|
476
|
+
(r's\((\\\\|\\[^\\]|[^)\\])*\)\s*', String.Regex, 'balanced-regex'),
|
|
477
|
+
(r'm?/(\\\\|\\[^\\]|[^///\n])*/[gcimosx]*', String.Regex),
|
|
472
478
|
(r'm(?=[/!\\{<\[(@%$])', String.Regex, 'balanced-regex'),
|
|
473
479
|
|
|
474
480
|
# Comments
|
|
@@ -476,9 +482,9 @@ class FancyLexer(RegexLexer):
|
|
|
476
482
|
# Symbols
|
|
477
483
|
(r'\'([^\'\s\[\](){}]+|\[\])', String.Symbol),
|
|
478
484
|
# Multi-line DoubleQuotedString
|
|
479
|
-
(r'"""(\\\\|\\
|
|
485
|
+
(r'"""(\\\\|\\[^\\]|[^\\])*?"""', String),
|
|
480
486
|
# DoubleQuotedString
|
|
481
|
-
(r'"(\\\\|\\
|
|
487
|
+
(r'"(\\\\|\\[^\\]|[^"\\])*"', String),
|
|
482
488
|
# keywords
|
|
483
489
|
(r'(def|class|try|catch|finally|retry|return|return_local|match|'
|
|
484
490
|
r'case|->|=>)\b', Keyword),
|