pygments.rb 2.3.1 → 2.4.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 +1 -1
- data/.rubocop.yml +7 -0
- data/CHANGELOG.adoc +4 -0
- data/README.adoc +1 -1
- data/bench.rb +1 -1
- data/lib/pygments/popen.rb +3 -7
- data/lib/pygments/version.rb +1 -1
- data/pygments.rb.gemspec +2 -2
- data/test/test_pygments.rb +0 -19
- data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/AUTHORS +21 -1
- data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/LICENSE +1 -1
- data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/METADATA +19 -11
- data/vendor/pygments-main/Pygments-2.15.1.dist-info/RECORD +614 -0
- data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/WHEEL +1 -1
- data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/entry_points.txt +0 -1
- data/vendor/pygments-main/bin/pygmentize +1 -1
- data/vendor/pygments-main/pygments/__init__.py +20 -22
- data/vendor/pygments-main/pygments/__main__.py +1 -1
- data/vendor/pygments-main/pygments/cmdline.py +74 -8
- 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 +6 -3
- data/vendor/pygments-main/pygments/formatter.py +41 -11
- data/vendor/pygments-main/pygments/formatters/__init__.py +21 -16
- data/vendor/pygments-main/pygments/formatters/_mapping.py +5 -65
- data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
- data/vendor/pygments-main/pygments/formatters/groff.py +170 -0
- data/vendor/pygments-main/pygments/formatters/html.py +54 -32
- data/vendor/pygments-main/pygments/formatters/img.py +9 -5
- data/vendor/pygments-main/pygments/formatters/irc.py +6 -33
- data/vendor/pygments-main/pygments/formatters/latex.py +24 -14
- data/vendor/pygments-main/pygments/formatters/other.py +1 -1
- data/vendor/pygments-main/pygments/formatters/pangomarkup.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 -3
- data/vendor/pygments-main/pygments/formatters/terminal256.py +2 -4
- data/vendor/pygments-main/pygments/lexer.py +101 -32
- data/vendor/pygments-main/pygments/lexers/__init__.py +50 -29
- data/vendor/pygments-main/pygments/lexers/_ada_builtins.py +103 -0
- 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 +2 -2
- data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +21 -6
- data/vendor/pygments-main/pygments/lexers/_css_builtins.py +558 -0
- data/vendor/pygments-main/pygments/lexers/_julia_builtins.py +10 -0
- data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_lilypond_builtins.py +4932 -0
- data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +11 -18
- data/vendor/pygments-main/pygments/lexers/_mapping.py +71 -82
- data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +58 -4
- data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_php_builtins.py +408 -1835
- data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +70 -8
- data/vendor/pygments-main/pygments/lexers/_qlik_builtins.py +666 -0
- data/vendor/pygments-main/pygments/lexers/_scheme_builtins.py +1609 -0
- data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +3 -3
- data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +9 -18
- data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +185 -94
- 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/_usd_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/actionscript.py +15 -14
- data/vendor/pygments-main/pygments/lexers/ada.py +144 -0
- data/vendor/pygments-main/pygments/lexers/agile.py +1 -1
- data/vendor/pygments-main/pygments/lexers/algebra.py +72 -9
- data/vendor/pygments-main/pygments/lexers/ambient.py +8 -7
- data/vendor/pygments-main/pygments/lexers/amdgpu.py +4 -3
- data/vendor/pygments-main/pygments/lexers/ampl.py +10 -8
- data/vendor/pygments-main/pygments/lexers/apdlexer.py +164 -20
- data/vendor/pygments-main/pygments/lexers/apl.py +6 -5
- data/vendor/pygments-main/pygments/lexers/archetype.py +23 -21
- data/vendor/pygments-main/pygments/lexers/arrow.py +10 -9
- data/vendor/pygments-main/pygments/lexers/arturo.py +250 -0
- data/vendor/pygments-main/pygments/lexers/asc.py +9 -5
- data/vendor/pygments-main/pygments/lexers/asm.py +68 -63
- data/vendor/pygments-main/pygments/lexers/automation.py +7 -5
- data/vendor/pygments-main/pygments/lexers/bare.py +20 -21
- data/vendor/pygments-main/pygments/lexers/basic.py +45 -41
- data/vendor/pygments-main/pygments/lexers/bdd.py +58 -0
- data/vendor/pygments-main/pygments/lexers/berry.py +99 -0
- data/vendor/pygments-main/pygments/lexers/bibtex.py +6 -6
- data/vendor/pygments-main/pygments/lexers/boa.py +4 -8
- data/vendor/pygments-main/pygments/lexers/business.py +18 -18
- data/vendor/pygments-main/pygments/lexers/c_cpp.py +80 -40
- data/vendor/pygments-main/pygments/lexers/c_like.py +21 -19
- data/vendor/pygments-main/pygments/lexers/capnproto.py +6 -8
- data/vendor/pygments-main/pygments/lexers/carbon.py +96 -0
- data/vendor/pygments-main/pygments/lexers/cddl.py +16 -33
- data/vendor/pygments-main/pygments/lexers/chapel.py +14 -9
- data/vendor/pygments-main/pygments/lexers/clean.py +3 -2
- data/vendor/pygments-main/pygments/lexers/comal.py +80 -0
- data/vendor/pygments-main/pygments/lexers/compiled.py +3 -2
- data/vendor/pygments-main/pygments/lexers/configs.py +235 -120
- data/vendor/pygments-main/pygments/lexers/console.py +5 -4
- data/vendor/pygments-main/pygments/lexers/cplint.py +44 -0
- data/vendor/pygments-main/pygments/lexers/crystal.py +22 -23
- data/vendor/pygments-main/pygments/lexers/csound.py +19 -17
- data/vendor/pygments-main/pygments/lexers/css.py +67 -159
- data/vendor/pygments-main/pygments/lexers/d.py +15 -12
- data/vendor/pygments-main/pygments/lexers/dalvik.py +14 -11
- data/vendor/pygments-main/pygments/lexers/data.py +119 -49
- data/vendor/pygments-main/pygments/lexers/dax.py +136 -0
- data/vendor/pygments-main/pygments/lexers/devicetree.py +9 -8
- data/vendor/pygments-main/pygments/lexers/diff.py +23 -19
- data/vendor/pygments-main/pygments/lexers/dotnet.py +216 -81
- data/vendor/pygments-main/pygments/lexers/dsls.py +86 -64
- data/vendor/pygments-main/pygments/lexers/dylan.py +16 -15
- data/vendor/pygments-main/pygments/lexers/ecl.py +46 -38
- data/vendor/pygments-main/pygments/lexers/eiffel.py +15 -10
- data/vendor/pygments-main/pygments/lexers/elm.py +12 -8
- data/vendor/pygments-main/pygments/lexers/elpi.py +165 -0
- data/vendor/pygments-main/pygments/lexers/email.py +21 -39
- data/vendor/pygments-main/pygments/lexers/erlang.py +21 -22
- data/vendor/pygments-main/pygments/lexers/esoteric.py +28 -30
- data/vendor/pygments-main/pygments/lexers/ezhil.py +10 -9
- data/vendor/pygments-main/pygments/lexers/factor.py +104 -83
- data/vendor/pygments-main/pygments/lexers/fantom.py +31 -29
- data/vendor/pygments-main/pygments/lexers/felix.py +18 -14
- data/vendor/pygments-main/pygments/lexers/fift.py +67 -0
- data/vendor/pygments-main/pygments/lexers/floscript.py +7 -7
- data/vendor/pygments-main/pygments/lexers/forth.py +8 -6
- data/vendor/pygments-main/pygments/lexers/fortran.py +16 -11
- data/vendor/pygments-main/pygments/lexers/foxpro.py +2 -2
- data/vendor/pygments-main/pygments/lexers/freefem.py +7 -10
- data/vendor/pygments-main/pygments/lexers/func.py +108 -0
- data/vendor/pygments-main/pygments/lexers/functional.py +1 -1
- data/vendor/pygments-main/pygments/lexers/futhark.py +12 -17
- data/vendor/pygments-main/pygments/lexers/gcodelexer.py +1 -2
- data/vendor/pygments-main/pygments/lexers/gdscript.py +76 -233
- data/vendor/pygments-main/pygments/lexers/go.py +12 -14
- data/vendor/pygments-main/pygments/lexers/grammar_notation.py +22 -26
- data/vendor/pygments-main/pygments/lexers/graph.py +36 -15
- data/vendor/pygments-main/pygments/lexers/graphics.py +37 -38
- data/vendor/pygments-main/pygments/lexers/graphviz.py +2 -1
- data/vendor/pygments-main/pygments/lexers/gsql.py +39 -27
- data/vendor/pygments-main/pygments/lexers/haskell.py +73 -71
- data/vendor/pygments-main/pygments/lexers/haxe.py +13 -11
- data/vendor/pygments-main/pygments/lexers/hdl.py +31 -34
- data/vendor/pygments-main/pygments/lexers/hexdump.py +21 -21
- data/vendor/pygments-main/pygments/lexers/html.py +11 -19
- data/vendor/pygments-main/pygments/lexers/idl.py +10 -5
- data/vendor/pygments-main/pygments/lexers/igor.py +3 -2
- data/vendor/pygments-main/pygments/lexers/inferno.py +9 -8
- data/vendor/pygments-main/pygments/lexers/installers.py +39 -33
- data/vendor/pygments-main/pygments/lexers/int_fiction.py +35 -20
- data/vendor/pygments-main/pygments/lexers/iolang.py +9 -9
- data/vendor/pygments-main/pygments/lexers/j.py +20 -13
- data/vendor/pygments-main/pygments/lexers/javascript.py +183 -149
- data/vendor/pygments-main/pygments/lexers/jmespath.py +68 -0
- data/vendor/pygments-main/pygments/lexers/jslt.py +4 -3
- data/vendor/pygments-main/pygments/lexers/jsonnet.py +168 -0
- data/vendor/pygments-main/pygments/lexers/julia.py +44 -32
- data/vendor/pygments-main/pygments/lexers/jvm.py +161 -140
- data/vendor/pygments-main/pygments/lexers/kuin.py +93 -59
- data/vendor/pygments-main/pygments/lexers/lilypond.py +226 -0
- data/vendor/pygments-main/pygments/lexers/lisp.py +244 -107
- data/vendor/pygments-main/pygments/lexers/macaulay2.py +1739 -0
- data/vendor/pygments-main/pygments/lexers/make.py +21 -16
- data/vendor/pygments-main/pygments/lexers/markup.py +752 -11
- data/vendor/pygments-main/pygments/lexers/math.py +1 -1
- data/vendor/pygments-main/pygments/lexers/matlab.py +18 -3
- data/vendor/pygments-main/pygments/lexers/maxima.py +85 -0
- data/vendor/pygments-main/pygments/lexers/meson.py +10 -25
- data/vendor/pygments-main/pygments/lexers/mime.py +2 -2
- data/vendor/pygments-main/pygments/lexers/minecraft.py +394 -0
- data/vendor/pygments-main/pygments/lexers/mips.py +128 -0
- data/vendor/pygments-main/pygments/lexers/ml.py +9 -6
- data/vendor/pygments-main/pygments/lexers/modeling.py +12 -8
- data/vendor/pygments-main/pygments/lexers/modula2.py +3 -2
- data/vendor/pygments-main/pygments/lexers/monte.py +3 -2
- data/vendor/pygments-main/pygments/lexers/mosel.py +1 -1
- data/vendor/pygments-main/pygments/lexers/ncl.py +1 -1
- data/vendor/pygments-main/pygments/lexers/nimrod.py +62 -20
- data/vendor/pygments-main/pygments/lexers/nit.py +3 -2
- data/vendor/pygments-main/pygments/lexers/nix.py +5 -5
- data/vendor/pygments-main/pygments/lexers/oberon.py +2 -2
- data/vendor/pygments-main/pygments/lexers/objective.py +6 -4
- data/vendor/pygments-main/pygments/lexers/ooc.py +3 -2
- data/vendor/pygments-main/pygments/lexers/other.py +1 -1
- data/vendor/pygments-main/pygments/lexers/parasail.py +3 -2
- data/vendor/pygments-main/pygments/lexers/parsers.py +23 -21
- data/vendor/pygments-main/pygments/lexers/pascal.py +196 -198
- data/vendor/pygments-main/pygments/lexers/pawn.py +1 -1
- data/vendor/pygments-main/pygments/lexers/perl.py +17 -15
- data/vendor/pygments-main/pygments/lexers/phix.py +364 -0
- data/vendor/pygments-main/pygments/lexers/php.py +35 -20
- data/vendor/pygments-main/pygments/lexers/pointless.py +3 -2
- data/vendor/pygments-main/pygments/lexers/pony.py +1 -1
- data/vendor/pygments-main/pygments/lexers/praat.py +41 -38
- data/vendor/pygments-main/pygments/lexers/procfile.py +2 -3
- data/vendor/pygments-main/pygments/lexers/prolog.py +7 -8
- data/vendor/pygments-main/pygments/lexers/promql.py +5 -12
- data/vendor/pygments-main/pygments/lexers/python.py +145 -119
- data/vendor/pygments-main/pygments/lexers/q.py +188 -0
- data/vendor/pygments-main/pygments/lexers/qlik.py +117 -0
- data/vendor/pygments-main/pygments/lexers/qvt.py +1 -1
- data/vendor/pygments-main/pygments/lexers/r.py +4 -4
- data/vendor/pygments-main/pygments/lexers/rdf.py +3 -3
- data/vendor/pygments-main/pygments/lexers/rebol.py +1 -12
- data/vendor/pygments-main/pygments/lexers/resource.py +1 -1
- data/vendor/pygments-main/pygments/lexers/ride.py +3 -2
- data/vendor/pygments-main/pygments/lexers/rita.py +43 -0
- data/vendor/pygments-main/pygments/lexers/rnc.py +3 -2
- data/vendor/pygments-main/pygments/lexers/roboconf.py +3 -3
- data/vendor/pygments-main/pygments/lexers/robotframework.py +6 -5
- data/vendor/pygments-main/pygments/lexers/ruby.py +24 -24
- data/vendor/pygments-main/pygments/lexers/rust.py +3 -2
- data/vendor/pygments-main/pygments/lexers/sas.py +2 -2
- data/vendor/pygments-main/pygments/lexers/savi.py +170 -0
- data/vendor/pygments-main/pygments/lexers/scdoc.py +4 -7
- data/vendor/pygments-main/pygments/lexers/scripting.py +24 -21
- data/vendor/pygments-main/pygments/lexers/sgf.py +6 -6
- data/vendor/pygments-main/pygments/lexers/shell.py +29 -21
- data/vendor/pygments-main/pygments/lexers/sieve.py +14 -4
- data/vendor/pygments-main/pygments/lexers/slash.py +1 -1
- data/vendor/pygments-main/pygments/lexers/smalltalk.py +5 -3
- data/vendor/pygments-main/pygments/lexers/smithy.py +5 -6
- data/vendor/pygments-main/pygments/lexers/smv.py +1 -1
- data/vendor/pygments-main/pygments/lexers/snobol.py +1 -1
- data/vendor/pygments-main/pygments/lexers/solidity.py +3 -7
- data/vendor/pygments-main/pygments/lexers/sophia.py +103 -0
- data/vendor/pygments-main/pygments/lexers/special.py +2 -5
- data/vendor/pygments-main/pygments/lexers/spice.py +71 -0
- data/vendor/pygments-main/pygments/lexers/sql.py +212 -17
- data/vendor/pygments-main/pygments/lexers/srcinfo.py +62 -0
- data/vendor/pygments-main/pygments/lexers/stata.py +4 -3
- data/vendor/pygments-main/pygments/lexers/supercollider.py +4 -3
- data/vendor/pygments-main/pygments/lexers/tal.py +74 -0
- data/vendor/pygments-main/pygments/lexers/tcl.py +21 -16
- data/vendor/pygments-main/pygments/lexers/teal.py +9 -8
- data/vendor/pygments-main/pygments/lexers/templates.py +62 -29
- data/vendor/pygments-main/pygments/lexers/teraterm.py +12 -20
- data/vendor/pygments-main/pygments/lexers/testing.py +6 -2
- data/vendor/pygments-main/pygments/lexers/text.py +3 -2
- data/vendor/pygments-main/pygments/lexers/textedit.py +41 -7
- data/vendor/pygments-main/pygments/lexers/textfmts.py +7 -5
- data/vendor/pygments-main/pygments/lexers/theorem.py +42 -36
- data/vendor/pygments-main/pygments/lexers/thingsdb.py +2 -4
- data/vendor/pygments-main/pygments/lexers/tlb.py +57 -0
- data/vendor/pygments-main/pygments/lexers/tnt.py +3 -4
- data/vendor/pygments-main/pygments/lexers/trafficscript.py +2 -4
- data/vendor/pygments-main/pygments/lexers/typoscript.py +2 -3
- data/vendor/pygments-main/pygments/lexers/ul4.py +267 -0
- data/vendor/pygments-main/pygments/lexers/unicon.py +1 -1
- data/vendor/pygments-main/pygments/lexers/urbi.py +4 -4
- data/vendor/pygments-main/pygments/lexers/usd.py +2 -1
- data/vendor/pygments-main/pygments/lexers/varnish.py +5 -5
- data/vendor/pygments-main/pygments/lexers/verification.py +4 -3
- data/vendor/pygments-main/pygments/lexers/web.py +1 -1
- data/vendor/pygments-main/pygments/lexers/webassembly.py +5 -5
- data/vendor/pygments-main/pygments/lexers/webidl.py +2 -1
- data/vendor/pygments-main/pygments/lexers/webmisc.py +90 -71
- data/vendor/pygments-main/pygments/lexers/wgsl.py +407 -0
- data/vendor/pygments-main/pygments/lexers/whiley.py +2 -1
- data/vendor/pygments-main/pygments/lexers/wowtoc.py +120 -0
- data/vendor/pygments-main/pygments/lexers/wren.py +99 -0
- data/vendor/pygments-main/pygments/lexers/x10.py +5 -6
- data/vendor/pygments-main/pygments/lexers/xorg.py +3 -2
- data/vendor/pygments-main/pygments/lexers/yang.py +6 -5
- data/vendor/pygments-main/pygments/lexers/zig.py +3 -2
- data/vendor/pygments-main/pygments/modeline.py +1 -1
- data/vendor/pygments-main/pygments/plugin.py +28 -9
- data/vendor/pygments-main/pygments/regexopt.py +1 -1
- data/vendor/pygments-main/pygments/scanner.py +2 -2
- data/vendor/pygments-main/pygments/sphinxext.py +63 -1
- data/vendor/pygments-main/pygments/style.py +7 -1
- data/vendor/pygments-main/pygments/styles/__init__.py +19 -5
- data/vendor/pygments-main/pygments/styles/abap.py +2 -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 +2 -3
- data/vendor/pygments-main/pygments/styles/autumn.py +1 -3
- data/vendor/pygments-main/pygments/styles/borland.py +1 -3
- data/vendor/pygments-main/pygments/styles/bw.py +1 -2
- data/vendor/pygments-main/pygments/styles/colorful.py +1 -3
- data/vendor/pygments-main/pygments/styles/default.py +13 -14
- data/vendor/pygments-main/pygments/styles/dracula.py +102 -0
- 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/friendly_grayscale.py +75 -0
- data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
- data/vendor/pygments-main/pygments/styles/gh_dark.py +107 -0
- data/vendor/pygments-main/pygments/styles/gruvbox.py +4 -2
- data/vendor/pygments-main/pygments/styles/igor.py +1 -2
- data/vendor/pygments-main/pygments/styles/inkpot.py +3 -2
- data/vendor/pygments-main/pygments/styles/lilypond.py +56 -0
- data/vendor/pygments-main/pygments/styles/lovelace.py +1 -3
- data/vendor/pygments-main/pygments/styles/manni.py +1 -1
- data/vendor/pygments-main/pygments/styles/material.py +1 -2
- data/vendor/pygments-main/pygments/styles/monokai.py +3 -3
- data/vendor/pygments-main/pygments/styles/murphy.py +1 -3
- data/vendor/pygments-main/pygments/styles/native.py +11 -11
- data/vendor/pygments-main/pygments/styles/nord.py +150 -0
- data/vendor/pygments-main/pygments/styles/onedark.py +59 -0
- data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -6
- data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -6
- data/vendor/pygments-main/pygments/styles/pastie.py +1 -3
- data/vendor/pygments-main/pygments/styles/perldoc.py +1 -2
- data/vendor/pygments-main/pygments/styles/rainbow_dash.py +3 -3
- data/vendor/pygments-main/pygments/styles/rrt.py +3 -2
- data/vendor/pygments-main/pygments/styles/sas.py +2 -4
- data/vendor/pygments-main/pygments/styles/solarized.py +1 -1
- data/vendor/pygments-main/pygments/styles/staroffice.py +26 -0
- data/vendor/pygments-main/pygments/styles/stata_dark.py +4 -6
- data/vendor/pygments-main/pygments/styles/stata_light.py +1 -2
- data/vendor/pygments-main/pygments/styles/tango.py +2 -3
- data/vendor/pygments-main/pygments/styles/trac.py +1 -3
- 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 -3
- data/vendor/pygments-main/pygments/styles/zenburn.py +4 -6
- data/vendor/pygments-main/pygments/token.py +2 -1
- data/vendor/pygments-main/pygments/unistring.py +4 -6
- data/vendor/pygments-main/pygments/util.py +27 -5
- metadata +59 -14
- data/vendor/pygments-main/Pygments-2.10.0.dist-info/RECORD +0 -524
- /data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/INSTALLER +0 -0
- /data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/REQUESTED +0 -0
- /data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/top_level.txt +0 -0
@@ -4,22 +4,20 @@
|
|
4
4
|
|
5
5
|
Lexers for Ruby and related languages.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
|
11
11
|
import re
|
12
12
|
|
13
13
|
from pygments.lexer import Lexer, RegexLexer, ExtendedRegexLexer, include, \
|
14
|
-
bygroups, default, LexerContext, do_insertions, words
|
14
|
+
bygroups, default, LexerContext, do_insertions, words, line_re
|
15
15
|
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
|
16
|
-
Number, Punctuation, Error, Generic
|
16
|
+
Number, Punctuation, Error, Generic, Whitespace
|
17
17
|
from pygments.util import shebang_matches
|
18
18
|
|
19
19
|
__all__ = ['RubyLexer', 'RubyConsoleLexer', 'FancyLexer']
|
20
20
|
|
21
|
-
line_re = re.compile('.*?\n')
|
22
|
-
|
23
21
|
|
24
22
|
RUBY_OPERATORS = (
|
25
23
|
'*', '**', '-', '+', '-@', '+@', '/', '%', '&', '|', '^', '`', '~',
|
@@ -29,13 +27,14 @@ RUBY_OPERATORS = (
|
|
29
27
|
|
30
28
|
class RubyLexer(ExtendedRegexLexer):
|
31
29
|
"""
|
32
|
-
For
|
30
|
+
For Ruby source code.
|
33
31
|
"""
|
34
32
|
|
35
33
|
name = 'Ruby'
|
34
|
+
url = 'http://www.ruby-lang.org'
|
36
35
|
aliases = ['ruby', 'rb', 'duby']
|
37
36
|
filenames = ['*.rb', '*.rbw', 'Rakefile', '*.rake', '*.gemspec',
|
38
|
-
'*.rbx', '*.duby', 'Gemfile']
|
37
|
+
'*.rbx', '*.duby', 'Gemfile', 'Vagrantfile']
|
39
38
|
mimetypes = ['text/x-ruby', 'application/x-ruby']
|
40
39
|
|
41
40
|
flags = re.DOTALL | re.MULTILINE
|
@@ -178,11 +177,11 @@ class RubyLexer(ExtendedRegexLexer):
|
|
178
177
|
# special forms of fancy strings after operators or
|
179
178
|
# in method calls with braces
|
180
179
|
(r'(?<=[-+/*%=<>&!^|~,(])(\s*)(%([\t ])(?:(?:\\\3|(?!\3).)*)\3)',
|
181
|
-
bygroups(
|
180
|
+
bygroups(Whitespace, String.Other, None)),
|
182
181
|
# and because of fixed width lookbehinds the whole thing a
|
183
182
|
# second time for line startings...
|
184
183
|
(r'^(\s*)(%([\t ])(?:(?:\\\3|(?!\3).)*)\3)',
|
185
|
-
bygroups(
|
184
|
+
bygroups(Whitespace, String.Other, None)),
|
186
185
|
# all regular fancy strings without qsw
|
187
186
|
(r'(%([^a-zA-Z0-9\s]))((?:\\\2|(?!\2).)*)(\2)',
|
188
187
|
intp_string_callback),
|
@@ -205,10 +204,10 @@ class RubyLexer(ExtendedRegexLexer):
|
|
205
204
|
# start of function, class and module names
|
206
205
|
(r'(module)(\s+)([a-zA-Z_]\w*'
|
207
206
|
r'(?:::[a-zA-Z_]\w*)*)',
|
208
|
-
bygroups(Keyword,
|
209
|
-
(r'(def)(\s+)', bygroups(Keyword,
|
207
|
+
bygroups(Keyword, Whitespace, Name.Namespace)),
|
208
|
+
(r'(def)(\s+)', bygroups(Keyword, Whitespace), 'funcname'),
|
210
209
|
(r'def(?=[*%&^`~+-/\[<>=])', Keyword, 'funcname'),
|
211
|
-
(r'(class)(\s+)', bygroups(Keyword,
|
210
|
+
(r'(class)(\s+)', bygroups(Keyword, Whitespace), 'classname'),
|
212
211
|
# special methods
|
213
212
|
(words((
|
214
213
|
'initialize', 'new', 'loop', 'include', 'extend', 'raise', 'attr_reader',
|
@@ -282,7 +281,7 @@ class RubyLexer(ExtendedRegexLexer):
|
|
282
281
|
# multiline regex (in method calls or subscripts)
|
283
282
|
(r'(?<=\(|,|\[)/', String.Regex, 'multiline-regex'),
|
284
283
|
# multiline regex (this time the funny no whitespace rule)
|
285
|
-
(r'(\s+)(/)(?![\s=])', bygroups(
|
284
|
+
(r'(\s+)(/)(?![\s=])', bygroups(Whitespace, String.Regex),
|
286
285
|
'multiline-regex'),
|
287
286
|
# lex numbers and ignore following regular expressions which
|
288
287
|
# are division operators in fact (grrrr. i hate that. any
|
@@ -293,13 +292,13 @@ class RubyLexer(ExtendedRegexLexer):
|
|
293
292
|
# stupid example:
|
294
293
|
# x>=0?n[x]:""
|
295
294
|
(r'(0_?[0-7]+(?:_[0-7]+)*)(\s*)([/?])?',
|
296
|
-
bygroups(Number.Oct,
|
295
|
+
bygroups(Number.Oct, Whitespace, Operator)),
|
297
296
|
(r'(0x[0-9A-Fa-f]+(?:_[0-9A-Fa-f]+)*)(\s*)([/?])?',
|
298
|
-
bygroups(Number.Hex,
|
297
|
+
bygroups(Number.Hex, Whitespace, Operator)),
|
299
298
|
(r'(0b[01]+(?:_[01]+)*)(\s*)([/?])?',
|
300
|
-
bygroups(Number.Bin,
|
299
|
+
bygroups(Number.Bin, Whitespace, Operator)),
|
301
300
|
(r'([\d]+(?:_\d+)*)(\s*)([/?])?',
|
302
|
-
bygroups(Number.Integer,
|
301
|
+
bygroups(Number.Integer, Whitespace, Operator)),
|
303
302
|
# Names
|
304
303
|
(r'@@[a-zA-Z_]\w*', Name.Variable.Class),
|
305
304
|
(r'@[a-zA-Z_]\w*', Name.Variable.Instance),
|
@@ -325,7 +324,7 @@ class RubyLexer(ExtendedRegexLexer):
|
|
325
324
|
r'!~|&&?|\|\||\.{1,3})', Operator),
|
326
325
|
(r'[-+/*%=<>&!^|~]=?', Operator),
|
327
326
|
(r'[(){};,/?:\\]', Punctuation),
|
328
|
-
(r'\s+',
|
327
|
+
(r'\s+', Whitespace)
|
329
328
|
],
|
330
329
|
'funcname': [
|
331
330
|
(r'\(', Punctuation, 'defexpr'),
|
@@ -439,7 +438,7 @@ class RubyConsoleLexer(Lexer):
|
|
439
438
|
|
440
439
|
class FancyLexer(RegexLexer):
|
441
440
|
"""
|
442
|
-
Pygments Lexer For
|
441
|
+
Pygments Lexer For Fancy.
|
443
442
|
|
444
443
|
Fancy is a self-hosted, pure object-oriented, dynamic,
|
445
444
|
class-based, concurrent general-purpose programming language
|
@@ -448,6 +447,7 @@ class FancyLexer(RegexLexer):
|
|
448
447
|
.. versionadded:: 1.5
|
449
448
|
"""
|
450
449
|
name = 'Fancy'
|
450
|
+
url = 'https://github.com/bakkdoor/fancy'
|
451
451
|
filenames = ['*.fy', '*.fancypack']
|
452
452
|
aliases = ['fancy', 'fy']
|
453
453
|
mimetypes = ['text/x-fancysrc']
|
@@ -467,7 +467,7 @@ class FancyLexer(RegexLexer):
|
|
467
467
|
(r'\$(\\\\|\\[^\\]|[^$\\])*\$[egimosx]*', String.Regex, '#pop'),
|
468
468
|
],
|
469
469
|
'root': [
|
470
|
-
(r'\s+',
|
470
|
+
(r'\s+', Whitespace),
|
471
471
|
|
472
472
|
# balanced delimiters (copied from PerlLexer):
|
473
473
|
(r's\{(\\\\|\\[^\\]|[^}\\])*\}\s*', String.Regex, 'balanced-regex'),
|
@@ -510,13 +510,13 @@ class FancyLexer(RegexLexer):
|
|
510
510
|
# numbers - / checks are necessary to avoid mismarking regexes,
|
511
511
|
# see comment in RubyLexer
|
512
512
|
(r'(0[oO]?[0-7]+(?:_[0-7]+)*)(\s*)([/?])?',
|
513
|
-
bygroups(Number.Oct,
|
513
|
+
bygroups(Number.Oct, Whitespace, Operator)),
|
514
514
|
(r'(0[xX][0-9A-Fa-f]+(?:_[0-9A-Fa-f]+)*)(\s*)([/?])?',
|
515
|
-
bygroups(Number.Hex,
|
515
|
+
bygroups(Number.Hex, Whitespace, Operator)),
|
516
516
|
(r'(0[bB][01]+(?:_[01]+)*)(\s*)([/?])?',
|
517
|
-
bygroups(Number.Bin,
|
517
|
+
bygroups(Number.Bin, Whitespace, Operator)),
|
518
518
|
(r'([\d]+(?:_\d+)*)(\s*)([/?])?',
|
519
|
-
bygroups(Number.Integer,
|
519
|
+
bygroups(Number.Integer, Whitespace, Operator)),
|
520
520
|
(r'\d+([eE][+-]?[0-9]+)|\d+\.\d+([eE][+-]?[0-9]+)?', Number.Float),
|
521
521
|
(r'\d+', Number.Integer)
|
522
522
|
]
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexers for the Rust language.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
|
@@ -22,6 +22,7 @@ class RustLexer(RegexLexer):
|
|
22
22
|
.. versionadded:: 1.6
|
23
23
|
"""
|
24
24
|
name = 'Rust'
|
25
|
+
url = 'https://www.rust-lang.org/'
|
25
26
|
filenames = ['*.rs', '*.rs.in']
|
26
27
|
aliases = ['rust', 'rs']
|
27
28
|
mimetypes = ['text/rust', 'text/x-rust']
|
@@ -104,7 +105,7 @@ class RustLexer(RegexLexer):
|
|
104
105
|
# Prelude (taken from Rust's src/libstd/prelude.rs)
|
105
106
|
builtin_funcs_types,
|
106
107
|
builtin_macros,
|
107
|
-
# Path
|
108
|
+
# Path separators, so types don't catch them.
|
108
109
|
(r'::\b', Text),
|
109
110
|
# Types in positions.
|
110
111
|
(r'(?::|->)', Text, 'typename'),
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexer for SAS.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
|
@@ -18,7 +18,7 @@ __all__ = ['SASLexer']
|
|
18
18
|
|
19
19
|
class SASLexer(RegexLexer):
|
20
20
|
"""
|
21
|
-
For
|
21
|
+
For SAS files.
|
22
22
|
|
23
23
|
.. versionadded:: 2.2
|
24
24
|
"""
|
@@ -0,0 +1,170 @@
|
|
1
|
+
"""
|
2
|
+
pygments.lexers.savi
|
3
|
+
~~~~~~~~~~~~~~~~~~~~
|
4
|
+
|
5
|
+
Lexer for Savi.
|
6
|
+
|
7
|
+
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
|
8
|
+
:license: BSD, see LICENSE for details.
|
9
|
+
"""
|
10
|
+
|
11
|
+
from pygments.lexer import RegexLexer, bygroups, include
|
12
|
+
from pygments.token import Whitespace, Keyword, Name, String, Number, \
|
13
|
+
Operator, Punctuation, Comment, Generic, Error
|
14
|
+
|
15
|
+
__all__ = ['SaviLexer']
|
16
|
+
|
17
|
+
|
18
|
+
# The canonical version of this file can be found in the following repository,
|
19
|
+
# where it is kept in sync with any language changes, as well as the other
|
20
|
+
# pygments-like lexers that are maintained for use with other tools:
|
21
|
+
# - https://github.com/savi-lang/savi/blob/main/tooling/pygments/lexers/savi.py
|
22
|
+
#
|
23
|
+
# If you're changing this file in the pygments repository, please ensure that
|
24
|
+
# any changes you make are also propagated to the official Savi repository,
|
25
|
+
# in order to avoid accidental clobbering of your changes later when an update
|
26
|
+
# from the Savi repository flows forward into the pygments repository.
|
27
|
+
#
|
28
|
+
# If you're changing this file in the Savi repository, please ensure that
|
29
|
+
# any changes you make are also reflected in the other pygments-like lexers
|
30
|
+
# (rouge, vscode, etc) so that all of the lexers can be kept cleanly in sync.
|
31
|
+
|
32
|
+
class SaviLexer(RegexLexer):
|
33
|
+
"""
|
34
|
+
For Savi source code.
|
35
|
+
|
36
|
+
.. versionadded: 2.10
|
37
|
+
"""
|
38
|
+
|
39
|
+
name = 'Savi'
|
40
|
+
url = 'https://github.com/savi-lang/savi'
|
41
|
+
aliases = ['savi']
|
42
|
+
filenames = ['*.savi']
|
43
|
+
|
44
|
+
tokens = {
|
45
|
+
"root": [
|
46
|
+
# Line Comment
|
47
|
+
(r'//.*?$', Comment.Single),
|
48
|
+
|
49
|
+
# Doc Comment
|
50
|
+
(r'::.*?$', Comment.Single),
|
51
|
+
|
52
|
+
# Capability Operator
|
53
|
+
(r'(\')(\w+)(?=[^\'])', bygroups(Operator, Name)),
|
54
|
+
|
55
|
+
# Double-Quote String
|
56
|
+
(r'\w?"', String.Double, "string.double"),
|
57
|
+
|
58
|
+
# Single-Char String
|
59
|
+
(r"'", String.Char, "string.char"),
|
60
|
+
|
61
|
+
# Type Name
|
62
|
+
(r'(_?[A-Z]\w*)', Name.Class),
|
63
|
+
|
64
|
+
# Nested Type Name
|
65
|
+
(r'(\.)(\s*)(_?[A-Z]\w*)', bygroups(Punctuation, Whitespace, Name.Class)),
|
66
|
+
|
67
|
+
# Declare
|
68
|
+
(r'^([ \t]*)(:\w+)',
|
69
|
+
bygroups(Whitespace, Name.Tag),
|
70
|
+
"decl"),
|
71
|
+
|
72
|
+
# Error-Raising Calls/Names
|
73
|
+
(r'((\w+|\+|\-|\*)\!)', Generic.Deleted),
|
74
|
+
|
75
|
+
# Numeric Values
|
76
|
+
(r'\b\d([\d_]*(\.[\d_]+)?)\b', Number),
|
77
|
+
|
78
|
+
# Hex Numeric Values
|
79
|
+
(r'\b0x([0-9a-fA-F_]+)\b', Number.Hex),
|
80
|
+
|
81
|
+
# Binary Numeric Values
|
82
|
+
(r'\b0b([01_]+)\b', Number.Bin),
|
83
|
+
|
84
|
+
# Function Call (with braces)
|
85
|
+
(r'\w+(?=\()', Name.Function),
|
86
|
+
|
87
|
+
# Function Call (with receiver)
|
88
|
+
(r'(\.)(\s*)(\w+)', bygroups(Punctuation, Whitespace, Name.Function)),
|
89
|
+
|
90
|
+
# Function Call (with self receiver)
|
91
|
+
(r'(@)(\w+)', bygroups(Punctuation, Name.Function)),
|
92
|
+
|
93
|
+
# Parenthesis
|
94
|
+
(r'\(', Punctuation, "root"),
|
95
|
+
(r'\)', Punctuation, "#pop"),
|
96
|
+
|
97
|
+
# Brace
|
98
|
+
(r'\{', Punctuation, "root"),
|
99
|
+
(r'\}', Punctuation, "#pop"),
|
100
|
+
|
101
|
+
# Bracket
|
102
|
+
(r'\[', Punctuation, "root"),
|
103
|
+
(r'(\])(\!)', bygroups(Punctuation, Generic.Deleted), "#pop"),
|
104
|
+
(r'\]', Punctuation, "#pop"),
|
105
|
+
|
106
|
+
# Punctuation
|
107
|
+
(r'[,;:\.@]', Punctuation),
|
108
|
+
|
109
|
+
# Piping Operators
|
110
|
+
(r'(\|\>)', Operator),
|
111
|
+
|
112
|
+
# Branching Operators
|
113
|
+
(r'(\&\&|\|\||\?\?|\&\?|\|\?|\.\?)', Operator),
|
114
|
+
|
115
|
+
# Comparison Operators
|
116
|
+
(r'(\<\=\>|\=\~|\=\=|\<\=|\>\=|\<|\>)', Operator),
|
117
|
+
|
118
|
+
# Arithmetic Operators
|
119
|
+
(r'(\+|\-|\/|\*|\%)', Operator),
|
120
|
+
|
121
|
+
# Assignment Operators
|
122
|
+
(r'(\=)', Operator),
|
123
|
+
|
124
|
+
# Other Operators
|
125
|
+
(r'(\!|\<\<|\<|\&|\|)', Operator),
|
126
|
+
|
127
|
+
# Identifiers
|
128
|
+
(r'\b\w+\b', Name),
|
129
|
+
|
130
|
+
# Whitespace
|
131
|
+
(r'[ \t\r]+\n*|\n+', Whitespace),
|
132
|
+
],
|
133
|
+
|
134
|
+
# Declare (nested rules)
|
135
|
+
"decl": [
|
136
|
+
(r'\b[a-z_]\w*\b(?!\!)', Keyword.Declaration),
|
137
|
+
(r':', Punctuation, "#pop"),
|
138
|
+
(r'\n', Whitespace, "#pop"),
|
139
|
+
include("root"),
|
140
|
+
],
|
141
|
+
|
142
|
+
# Double-Quote String (nested rules)
|
143
|
+
"string.double": [
|
144
|
+
(r'\\\(', String.Interpol, "string.interpolation"),
|
145
|
+
(r'\\u[0-9a-fA-F]{4}', String.Escape),
|
146
|
+
(r'\\x[0-9a-fA-F]{2}', String.Escape),
|
147
|
+
(r'\\[bfnrt\\\']', String.Escape),
|
148
|
+
(r'\\"', String.Escape),
|
149
|
+
(r'"', String.Double, "#pop"),
|
150
|
+
(r'[^\\"]+', String.Double),
|
151
|
+
(r'.', Error),
|
152
|
+
],
|
153
|
+
|
154
|
+
# Single-Char String (nested rules)
|
155
|
+
"string.char": [
|
156
|
+
(r'\\u[0-9a-fA-F]{4}', String.Escape),
|
157
|
+
(r'\\x[0-9a-fA-F]{2}', String.Escape),
|
158
|
+
(r'\\[bfnrt\\\']', String.Escape),
|
159
|
+
(r"\\'", String.Escape),
|
160
|
+
(r"'", String.Char, "#pop"),
|
161
|
+
(r"[^\\']+", String.Char),
|
162
|
+
(r'.', Error),
|
163
|
+
],
|
164
|
+
|
165
|
+
# Interpolation inside String (nested rules)
|
166
|
+
"string.interpolation": [
|
167
|
+
(r"\)", String.Interpol, "#pop"),
|
168
|
+
include("root"),
|
169
|
+
]
|
170
|
+
}
|
@@ -4,17 +4,14 @@
|
|
4
4
|
|
5
5
|
Lexer for scdoc, a simple man page generator.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
|
11
11
|
import re
|
12
12
|
|
13
|
-
from pygments.lexer import RegexLexer, include, bygroups,
|
14
|
-
|
15
|
-
from pygments.token import Text, Comment, Keyword, String, \
|
16
|
-
Generic
|
17
|
-
|
13
|
+
from pygments.lexer import RegexLexer, include, bygroups, using, this
|
14
|
+
from pygments.token import Text, Comment, Keyword, String, Generic
|
18
15
|
|
19
16
|
__all__ = ['ScdocLexer']
|
20
17
|
|
@@ -22,11 +19,11 @@ __all__ = ['ScdocLexer']
|
|
22
19
|
class ScdocLexer(RegexLexer):
|
23
20
|
"""
|
24
21
|
`scdoc` is a simple man page generator for POSIX systems written in C99.
|
25
|
-
https://git.sr.ht/~sircmpwn/scdoc
|
26
22
|
|
27
23
|
.. versionadded:: 2.5
|
28
24
|
"""
|
29
25
|
name = 'scdoc'
|
26
|
+
url = 'https://git.sr.ht/~sircmpwn/scdoc'
|
30
27
|
aliases = ['scdoc', 'scd']
|
31
28
|
filenames = ['*.scd', '*.scdoc']
|
32
29
|
flags = re.MULTILINE
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexer for scripting and embedded languages.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
|
@@ -23,7 +23,7 @@ __all__ = ['LuaLexer', 'MoonScriptLexer', 'ChaiscriptLexer', 'LSLLexer',
|
|
23
23
|
|
24
24
|
class LuaLexer(RegexLexer):
|
25
25
|
"""
|
26
|
-
For
|
26
|
+
For Lua source code.
|
27
27
|
|
28
28
|
Additional options accepted:
|
29
29
|
|
@@ -45,6 +45,7 @@ class LuaLexer(RegexLexer):
|
|
45
45
|
"""
|
46
46
|
|
47
47
|
name = 'Lua'
|
48
|
+
url = 'https://www.lua.org/'
|
48
49
|
aliases = ['lua']
|
49
50
|
filenames = ['*.lua', '*.wlua']
|
50
51
|
mimetypes = ['text/x-lua', 'application/x-lua']
|
@@ -163,12 +164,13 @@ class LuaLexer(RegexLexer):
|
|
163
164
|
|
164
165
|
class MoonScriptLexer(LuaLexer):
|
165
166
|
"""
|
166
|
-
For
|
167
|
+
For MoonScript source code.
|
167
168
|
|
168
169
|
.. versionadded:: 1.5
|
169
170
|
"""
|
170
171
|
|
171
172
|
name = 'MoonScript'
|
173
|
+
url = 'http://moonscript.org'
|
172
174
|
aliases = ['moonscript', 'moon']
|
173
175
|
filenames = ['*.moon']
|
174
176
|
mimetypes = ['text/x-moonscript', 'application/x-moonscript']
|
@@ -184,7 +186,7 @@ class MoonScriptLexer(LuaLexer):
|
|
184
186
|
(r'(?i)\d+e[+-]?\d+', Number.Float),
|
185
187
|
(r'(?i)0x[0-9a-f]*', Number.Hex),
|
186
188
|
(r'\d+', Number.Integer),
|
187
|
-
(r'\n',
|
189
|
+
(r'\n', Whitespace),
|
188
190
|
(r'[^\S\n]+', Text),
|
189
191
|
(r'(?s)\[(=*)\[.*?\]\1\]', String),
|
190
192
|
(r'(->|=>)', Name.Function),
|
@@ -213,11 +215,11 @@ class MoonScriptLexer(LuaLexer):
|
|
213
215
|
],
|
214
216
|
'sqs': [
|
215
217
|
("'", String.Single, '#pop'),
|
216
|
-
("
|
218
|
+
("[^']+", String)
|
217
219
|
],
|
218
220
|
'dqs': [
|
219
221
|
('"', String.Double, '#pop'),
|
220
|
-
("
|
222
|
+
('[^"]+', String)
|
221
223
|
]
|
222
224
|
}
|
223
225
|
|
@@ -231,12 +233,13 @@ class MoonScriptLexer(LuaLexer):
|
|
231
233
|
|
232
234
|
class ChaiscriptLexer(RegexLexer):
|
233
235
|
"""
|
234
|
-
For
|
236
|
+
For ChaiScript source code.
|
235
237
|
|
236
238
|
.. versionadded:: 2.0
|
237
239
|
"""
|
238
240
|
|
239
241
|
name = 'ChaiScript'
|
242
|
+
url = 'http://chaiscript.com/'
|
240
243
|
aliases = ['chaiscript', 'chai']
|
241
244
|
filenames = ['*.chai']
|
242
245
|
mimetypes = ['text/x-chaiscript', 'application/x-chaiscript']
|
@@ -381,9 +384,7 @@ class LSLLexer(RegexLexer):
|
|
381
384
|
|
382
385
|
class AppleScriptLexer(RegexLexer):
|
383
386
|
"""
|
384
|
-
For
|
385
|
-
<http://developer.apple.com/documentation/AppleScript/
|
386
|
-
Conceptual/AppleScriptLangGuide>`_,
|
387
|
+
For AppleScript source code,
|
387
388
|
including `AppleScript Studio
|
388
389
|
<http://developer.apple.com/documentation/AppleScript/
|
389
390
|
Reference/StudioReference>`_.
|
@@ -393,6 +394,7 @@ class AppleScriptLexer(RegexLexer):
|
|
393
394
|
"""
|
394
395
|
|
395
396
|
name = 'AppleScript'
|
397
|
+
url = 'https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html'
|
396
398
|
aliases = ['applescript']
|
397
399
|
filenames = ['*.applescript']
|
398
400
|
|
@@ -704,7 +706,7 @@ class AppleScriptLexer(RegexLexer):
|
|
704
706
|
|
705
707
|
class RexxLexer(RegexLexer):
|
706
708
|
"""
|
707
|
-
|
709
|
+
Rexx is a scripting language available for
|
708
710
|
a wide range of different platforms with its roots found on mainframe
|
709
711
|
systems. It is popular for I/O- and data based tasks and can act as glue
|
710
712
|
language to bind different applications together.
|
@@ -712,6 +714,7 @@ class RexxLexer(RegexLexer):
|
|
712
714
|
.. versionadded:: 2.0
|
713
715
|
"""
|
714
716
|
name = 'Rexx'
|
717
|
+
url = 'http://www.rexxinfo.org/'
|
715
718
|
aliases = ['rexx', 'arexx']
|
716
719
|
filenames = ['*.rexx', '*.rex', '*.rx', '*.arexx']
|
717
720
|
mimetypes = ['text/x-rexx']
|
@@ -719,7 +722,7 @@ class RexxLexer(RegexLexer):
|
|
719
722
|
|
720
723
|
tokens = {
|
721
724
|
'root': [
|
722
|
-
(r'\s', Whitespace),
|
725
|
+
(r'\s+', Whitespace),
|
723
726
|
(r'/\*', Comment.Multiline, 'comment'),
|
724
727
|
(r'"', String, 'string_double'),
|
725
728
|
(r"'", String, 'string_single'),
|
@@ -766,7 +769,7 @@ class RexxLexer(RegexLexer):
|
|
766
769
|
(r'\n', Text, '#pop'), # Stray linefeed also terminates strings.
|
767
770
|
],
|
768
771
|
'string_single': [
|
769
|
-
(r'[^\'\n]', String),
|
772
|
+
(r'[^\'\n]+', String),
|
770
773
|
(r'\'\'', String),
|
771
774
|
(r'\'', String, '#pop'),
|
772
775
|
(r'\n', Text, '#pop'), # Stray linefeed also terminates strings.
|
@@ -798,7 +801,7 @@ class RexxLexer(RegexLexer):
|
|
798
801
|
|
799
802
|
def analyse_text(text):
|
800
803
|
"""
|
801
|
-
Check for
|
804
|
+
Check for initial comment and patterns that distinguish Rexx from other
|
802
805
|
C-like languages.
|
803
806
|
"""
|
804
807
|
if re.search(r'/\*\**\s*rexx', text, re.IGNORECASE):
|
@@ -817,12 +820,12 @@ class RexxLexer(RegexLexer):
|
|
817
820
|
|
818
821
|
class MOOCodeLexer(RegexLexer):
|
819
822
|
"""
|
820
|
-
For
|
821
|
-
language).
|
823
|
+
For MOOCode (the MOO scripting language).
|
822
824
|
|
823
825
|
.. versionadded:: 0.9
|
824
826
|
"""
|
825
827
|
name = 'MOOCode'
|
828
|
+
url = 'http://www.moo.mud.org/'
|
826
829
|
filenames = ['*.moo']
|
827
830
|
aliases = ['moocode', 'moo']
|
828
831
|
mimetypes = ['text/x-moocode']
|
@@ -860,7 +863,7 @@ class MOOCodeLexer(RegexLexer):
|
|
860
863
|
|
861
864
|
class HybrisLexer(RegexLexer):
|
862
865
|
"""
|
863
|
-
For
|
866
|
+
For Hybris source code.
|
864
867
|
|
865
868
|
.. versionadded:: 1.4
|
866
869
|
"""
|
@@ -975,7 +978,7 @@ class EasytrieveLexer(RegexLexer):
|
|
975
978
|
# * apostrophe (')
|
976
979
|
# * period (.)
|
977
980
|
# * comma (,)
|
978
|
-
# *
|
981
|
+
# * parenthesis ( and )
|
979
982
|
# * colon (:)
|
980
983
|
#
|
981
984
|
# Additionally words end once a '*' appears, indicatins a comment.
|
@@ -1147,8 +1150,7 @@ class EasytrieveLexer(RegexLexer):
|
|
1147
1150
|
|
1148
1151
|
class JclLexer(RegexLexer):
|
1149
1152
|
"""
|
1150
|
-
|
1151
|
-
<http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IEA2B570/CCONTENTS>`_
|
1153
|
+
Job Control Language (JCL)
|
1152
1154
|
is a scripting language used on mainframe platforms to instruct the system
|
1153
1155
|
on how to run a batch job or start a subsystem. It is somewhat
|
1154
1156
|
comparable to MS DOS batch and Unix shell scripts.
|
@@ -1231,12 +1233,13 @@ class JclLexer(RegexLexer):
|
|
1231
1233
|
|
1232
1234
|
class MiniScriptLexer(RegexLexer):
|
1233
1235
|
"""
|
1234
|
-
For
|
1236
|
+
For MiniScript source code.
|
1235
1237
|
|
1236
1238
|
.. versionadded:: 2.6
|
1237
1239
|
"""
|
1238
1240
|
|
1239
1241
|
name = 'MiniScript'
|
1242
|
+
url = 'https://miniscript.org'
|
1240
1243
|
aliases = ['miniscript', 'ms']
|
1241
1244
|
filenames = ['*.ms']
|
1242
1245
|
mimetypes = ['text/x-minicript', 'application/x-miniscript']
|
@@ -4,12 +4,12 @@
|
|
4
4
|
|
5
5
|
Lexer for Smart Game Format (sgf) file format.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
|
11
11
|
from pygments.lexer import RegexLexer, bygroups
|
12
|
-
from pygments.token import Name, Literal, String,
|
12
|
+
from pygments.token import Name, Literal, String, Punctuation, Whitespace
|
13
13
|
|
14
14
|
__all__ = ["SmartGameFormatLexer"]
|
15
15
|
|
@@ -20,18 +20,17 @@ class SmartGameFormatLexer(RegexLexer):
|
|
20
20
|
|
21
21
|
The format is used to store game records of board games for two players
|
22
22
|
(mainly Go game).
|
23
|
-
For more information about the definition of the format, see:
|
24
|
-
https://www.red-bean.com/sgf/
|
25
23
|
|
26
24
|
.. versionadded:: 2.4
|
27
25
|
"""
|
28
26
|
name = 'SmartGameFormat'
|
27
|
+
url = 'https://www.red-bean.com/sgf/'
|
29
28
|
aliases = ['sgf']
|
30
29
|
filenames = ['*.sgf']
|
31
30
|
|
32
31
|
tokens = {
|
33
32
|
'root': [
|
34
|
-
(r'[
|
33
|
+
(r'[():;]+', Punctuation),
|
35
34
|
# tokens:
|
36
35
|
(r'(A[BW]|AE|AN|AP|AR|AS|[BW]L|BM|[BW]R|[BW]S|[BW]T|CA|CH|CP|CR|'
|
37
36
|
r'DD|DM|DO|DT|EL|EV|EX|FF|FG|G[BW]|GC|GM|GN|HA|HO|ID|IP|IT|IY|KM|'
|
@@ -55,6 +54,7 @@ class SmartGameFormatLexer(RegexLexer):
|
|
55
54
|
(r'(\[)([\w\s#()+,\-.:?]+)(\])',
|
56
55
|
bygroups(Punctuation, String, Punctuation)),
|
57
56
|
(r'(\[)(\s.*)(\])',
|
58
|
-
bygroups(Punctuation,
|
57
|
+
bygroups(Punctuation, Whitespace, Punctuation)),
|
58
|
+
(r'\s+', Whitespace)
|
59
59
|
],
|
60
60
|
}
|