pygments.rb 2.3.1 → 2.4.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -30,10 +30,13 @@
|
|
30
30
|
- highlights errors in the output and notification levels;
|
31
31
|
- handles psql backslash commands.
|
32
32
|
|
33
|
+
`PostgresExplainLexer`
|
34
|
+
A lexer to highlight Postgres execution plan.
|
35
|
+
|
33
36
|
The ``tests/examplefiles`` contains a few test files with data to be
|
34
37
|
parsed by these lexers.
|
35
38
|
|
36
|
-
:copyright: Copyright 2006-
|
39
|
+
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
|
37
40
|
:license: BSD, see LICENSE for details.
|
38
41
|
"""
|
39
42
|
|
@@ -45,7 +48,7 @@ from pygments.token import Punctuation, Whitespace, Text, Comment, Operator, \
|
|
45
48
|
from pygments.lexers import get_lexer_by_name, ClassNotFound
|
46
49
|
|
47
50
|
from pygments.lexers._postgres_builtins import KEYWORDS, DATATYPES, \
|
48
|
-
PSEUDO_TYPES, PLPGSQL_KEYWORDS
|
51
|
+
PSEUDO_TYPES, PLPGSQL_KEYWORDS, EXPLAIN_KEYWORDS
|
49
52
|
from pygments.lexers._mysql_builtins import \
|
50
53
|
MYSQL_CONSTANTS, \
|
51
54
|
MYSQL_DATATYPES, \
|
@@ -57,10 +60,11 @@ from pygments.lexers import _tsql_builtins
|
|
57
60
|
|
58
61
|
|
59
62
|
__all__ = ['PostgresLexer', 'PlPgsqlLexer', 'PostgresConsoleLexer',
|
60
|
-
'
|
61
|
-
'SqliteConsoleLexer', 'RqlLexer']
|
63
|
+
'PostgresExplainLexer', 'SqlLexer', 'TransactSqlLexer',
|
64
|
+
'MySqlLexer', 'SqliteConsoleLexer', 'RqlLexer']
|
62
65
|
|
63
66
|
line_re = re.compile('.*?\n')
|
67
|
+
sqlite_prompt_re = re.compile(r'^(?:sqlite| ...)>(?= )')
|
64
68
|
|
65
69
|
language_re = re.compile(r"\s+LANGUAGE\s+'?(\w+)'?", re.IGNORECASE)
|
66
70
|
|
@@ -161,7 +165,7 @@ class PostgresLexer(PostgresBase, RegexLexer):
|
|
161
165
|
flags = re.IGNORECASE
|
162
166
|
tokens = {
|
163
167
|
'root': [
|
164
|
-
(r'\s+',
|
168
|
+
(r'\s+', Whitespace),
|
165
169
|
(r'--.*\n?', Comment.Single),
|
166
170
|
(r'/\*', Comment.Multiline, 'multiline-comments'),
|
167
171
|
(r'(' + '|'.join(s.replace(" ", r"\s+")
|
@@ -254,7 +258,7 @@ class PsqlRegexLexer(PostgresBase, RegexLexer):
|
|
254
258
|
(r'\\[^\s]+', Keyword.Pseudo, 'psql-command'))
|
255
259
|
tokens['psql-command'] = [
|
256
260
|
(r'\n', Text, 'root'),
|
257
|
-
(r'\s+',
|
261
|
+
(r'\s+', Whitespace),
|
258
262
|
(r'\\[^\s]+', Keyword.Pseudo),
|
259
263
|
(r""":(['"]?)[a-z]\w*\b\1""", Name.Variable),
|
260
264
|
(r"'(''|[^'])*'", String.Single),
|
@@ -367,6 +371,192 @@ class PostgresConsoleLexer(Lexer):
|
|
367
371
|
return
|
368
372
|
|
369
373
|
|
374
|
+
class PostgresExplainLexer(RegexLexer):
|
375
|
+
"""
|
376
|
+
Handle PostgreSQL EXPLAIN output
|
377
|
+
|
378
|
+
.. versionadded:: 2.15
|
379
|
+
"""
|
380
|
+
|
381
|
+
name = 'PostgreSQL EXPLAIN dialect'
|
382
|
+
aliases = ['postgres-explain']
|
383
|
+
filenames = ['*.explain']
|
384
|
+
mimetypes = ['text/x-postgresql-explain']
|
385
|
+
|
386
|
+
tokens = {
|
387
|
+
'root': [
|
388
|
+
(r'(:|\(|\)|ms|kB|->|\.\.|\,)', Punctuation),
|
389
|
+
(r'(\s+)', Whitespace),
|
390
|
+
|
391
|
+
# This match estimated cost and effectively measured counters with ANALYZE
|
392
|
+
# Then, we move to instrumentation state
|
393
|
+
(r'(cost)(=?)', bygroups(Name.Class, Punctuation), 'instrumentation'),
|
394
|
+
(r'(actual)( )(=?)', bygroups(Name.Class, Whitespace, Punctuation), 'instrumentation'),
|
395
|
+
|
396
|
+
# Misc keywords
|
397
|
+
(words(('actual', 'Memory Usage', 'Memory', 'Buckets', 'Batches',
|
398
|
+
'originally', 'row', 'rows', 'Hits', 'Misses',
|
399
|
+
'Evictions', 'Overflows'), suffix=r'\b'),
|
400
|
+
Comment.Single),
|
401
|
+
|
402
|
+
(r'(hit|read|dirtied|written|write|time|calls)(=)', bygroups(Comment.Single, Operator)),
|
403
|
+
(r'(shared|temp|local)', Keyword.Pseudo),
|
404
|
+
|
405
|
+
# We move to sort state in order to emphasize specific keywords (especially disk access)
|
406
|
+
(r'(Sort Method)(: )', bygroups(Comment.Preproc, Punctuation), 'sort'),
|
407
|
+
|
408
|
+
# These keywords can be followed by an object, like a table
|
409
|
+
(r'(Sort Key|Group Key|Presorted Key|Hash Key)(:)( )',
|
410
|
+
bygroups(Comment.Preproc, Punctuation, Whitespace), 'object_name'),
|
411
|
+
(r'(Cache Key|Cache Mode)(:)( )', bygroups(Comment, Punctuation, Whitespace), 'object_name'),
|
412
|
+
|
413
|
+
# These keywords can be followed by a predicate
|
414
|
+
(words(('Join Filter', 'Subplans Removed', 'Filter', 'Merge Cond',
|
415
|
+
'Hash Cond', 'Index Cond', 'Recheck Cond', 'Heap Blocks',
|
416
|
+
'TID Cond', 'Run Condition', 'Order By', 'Function Call',
|
417
|
+
'Table Function Call', 'Inner Unique', 'Params Evaluated',
|
418
|
+
'Single Copy', 'Sampling', 'One-Time Filter', 'Output',
|
419
|
+
'Relations', 'Remote SQL'), suffix=r'\b'),
|
420
|
+
Comment.Preproc, 'predicate'),
|
421
|
+
|
422
|
+
# Special keyword to handle ON CONFLICT
|
423
|
+
(r'Conflict ', Comment.Preproc, 'conflict'),
|
424
|
+
|
425
|
+
# Special keyword for InitPlan or SubPlan
|
426
|
+
(r'(InitPlan|SubPlan)( )(\d+)( )',
|
427
|
+
bygroups(Keyword, Whitespace, Number.Integer, Whitespace),
|
428
|
+
'init_plan'),
|
429
|
+
|
430
|
+
(words(('Sort Method', 'Join Filter', 'Planning time',
|
431
|
+
'Planning Time', 'Execution time', 'Execution Time',
|
432
|
+
'Workers Planned', 'Workers Launched', 'Buffers',
|
433
|
+
'Planning', 'Worker', 'Query Identifier', 'Time',
|
434
|
+
'Full-sort Groups'), suffix=r'\b'), Comment.Preproc),
|
435
|
+
|
436
|
+
# Emphasize these keywords
|
437
|
+
|
438
|
+
(words(('Rows Removed by Join Filter', 'Rows Removed by Filter',
|
439
|
+
'Rows Removed by Index Recheck',
|
440
|
+
'Heap Fetches', 'never executed'),
|
441
|
+
suffix=r'\b'), Name.Exception),
|
442
|
+
(r'(I/O Timings)(:)( )', bygroups(Name.Exception, Punctuation, Whitespace)),
|
443
|
+
|
444
|
+
(words(EXPLAIN_KEYWORDS, suffix=r'\b'), Keyword),
|
445
|
+
|
446
|
+
# join keywords
|
447
|
+
(r'((Right|Left|Full|Semi|Anti) Join)', Keyword.Type),
|
448
|
+
(r'(Parallel |Async |Finalize |Partial )', Comment.Preproc),
|
449
|
+
(r'Backward', Comment.Preproc),
|
450
|
+
(r'(Intersect|Except|Hash)', Comment.Preproc),
|
451
|
+
|
452
|
+
(r'(CTE)( )(\w*)?', bygroups(Comment, Whitespace, Name.Variable)),
|
453
|
+
|
454
|
+
|
455
|
+
# Treat "on" and "using" as a punctuation
|
456
|
+
(r'(on|using)', Punctuation, 'object_name'),
|
457
|
+
|
458
|
+
|
459
|
+
# strings
|
460
|
+
(r"'(''|[^'])*'", String.Single),
|
461
|
+
# numbers
|
462
|
+
(r'\d+\.\d+', Number.Float),
|
463
|
+
(r'(\d+)', Number.Integer),
|
464
|
+
|
465
|
+
# boolean
|
466
|
+
(r'(true|false)', Name.Constant),
|
467
|
+
# explain header
|
468
|
+
(r'\s*QUERY PLAN\s*\n\s*-+', Comment.Single),
|
469
|
+
# Settings
|
470
|
+
(r'(Settings)(:)( )', bygroups(Comment.Preproc, Punctuation, Whitespace), 'setting'),
|
471
|
+
|
472
|
+
# Handle JIT counters
|
473
|
+
(r'(JIT|Functions|Options|Timing)(:)', bygroups(Comment.Preproc, Punctuation)),
|
474
|
+
(r'(Inlining|Optimization|Expressions|Deforming|Generation|Emission|Total)', Keyword.Pseudo),
|
475
|
+
|
476
|
+
# Handle Triggers counters
|
477
|
+
(r'(Trigger)( )(\S*)(:)( )',
|
478
|
+
bygroups(Comment.Preproc, Whitespace, Name.Variable, Punctuation, Whitespace)),
|
479
|
+
|
480
|
+
],
|
481
|
+
'expression': [
|
482
|
+
# matches any kind of parenthesized expression
|
483
|
+
# the first opening paren is matched by the 'caller'
|
484
|
+
(r'\(', Punctuation, '#push'),
|
485
|
+
(r'\)', Punctuation, '#pop'),
|
486
|
+
(r'(never executed)', Name.Exception),
|
487
|
+
(r'[^)(]+', Comment),
|
488
|
+
],
|
489
|
+
'object_name': [
|
490
|
+
|
491
|
+
# This is a cost or analyze measure
|
492
|
+
(r'(\(cost)(=?)', bygroups(Name.Class, Punctuation), 'instrumentation'),
|
493
|
+
(r'(\(actual)( )(=?)', bygroups(Name.Class, Whitespace, Punctuation), 'instrumentation'),
|
494
|
+
|
495
|
+
# if object_name is parenthesized, mark opening paren as
|
496
|
+
# punctuation, call 'expression', and exit state
|
497
|
+
(r'\(', Punctuation, 'expression'),
|
498
|
+
(r'(on)', Punctuation),
|
499
|
+
# matches possibly schema-qualified table and column names
|
500
|
+
(r'\w+(\.\w+)*( USING \S+| \w+ USING \S+)', Name.Variable),
|
501
|
+
(r'\"?\w+\"?(?:\.\"?\w+\"?)?', Name.Variable),
|
502
|
+
(r'\'\S*\'', Name.Variable),
|
503
|
+
|
504
|
+
# if we encounter a comma, another object is listed
|
505
|
+
(r',\n', Punctuation, 'object_name'),
|
506
|
+
(r',', Punctuation, 'object_name'),
|
507
|
+
|
508
|
+
# special case: "*SELECT*"
|
509
|
+
(r'"\*SELECT\*( \d+)?"(.\w+)?', Name.Variable),
|
510
|
+
(r'"\*VALUES\*(_\d+)?"(.\w+)?', Name.Variable),
|
511
|
+
(r'"ANY_subquery"', Name.Variable),
|
512
|
+
|
513
|
+
# Variable $1 ...
|
514
|
+
(r'\$\d+', Name.Variable),
|
515
|
+
# cast
|
516
|
+
(r'::\w+', Name.Variable),
|
517
|
+
(r' +', Whitespace),
|
518
|
+
(r'"', Punctuation),
|
519
|
+
(r'\[\.\.\.\]', Punctuation),
|
520
|
+
(r'\)', Punctuation, '#pop'),
|
521
|
+
],
|
522
|
+
'predicate': [
|
523
|
+
# if predicate is parenthesized, mark paren as punctuation
|
524
|
+
(r'(\()([^\n]*)(\))', bygroups(Punctuation, Name.Variable, Punctuation), '#pop'),
|
525
|
+
# otherwise color until newline
|
526
|
+
(r'[^\n]*', Name.Variable, '#pop'),
|
527
|
+
],
|
528
|
+
'instrumentation': [
|
529
|
+
(r'=|\.\.', Punctuation),
|
530
|
+
(r' +', Whitespace),
|
531
|
+
(r'(rows|width|time|loops)', Name.Class),
|
532
|
+
(r'\d+\.\d+', Number.Float),
|
533
|
+
(r'(\d+)', Number.Integer),
|
534
|
+
(r'\)', Punctuation, '#pop'),
|
535
|
+
],
|
536
|
+
'conflict': [
|
537
|
+
(r'(Resolution: )(\w+)', bygroups(Comment.Preproc, Name.Variable)),
|
538
|
+
(r'(Arbiter \w+:)', Comment.Preproc, 'object_name'),
|
539
|
+
(r'(Filter: )', Comment.Preproc, 'predicate'),
|
540
|
+
],
|
541
|
+
'setting': [
|
542
|
+
(r'([a-z_]*?)(\s*)(=)(\s*)(\'.*?\')', bygroups(Name.Attribute, Whitespace, Operator, Whitespace, String)),
|
543
|
+
(r'\, ', Punctuation),
|
544
|
+
],
|
545
|
+
'init_plan': [
|
546
|
+
(r'\(', Punctuation),
|
547
|
+
(r'returns \$\d+(,\$\d+)?', Name.Variable),
|
548
|
+
(r'\)', Punctuation, '#pop'),
|
549
|
+
],
|
550
|
+
'sort': [
|
551
|
+
(r':|kB', Punctuation),
|
552
|
+
(r'(quicksort|top-N|heapsort|Average|Memory|Peak)', Comment.Prepoc),
|
553
|
+
(r'(external|merge|Disk|sort)', Name.Exception),
|
554
|
+
(r'(\d+)', Number.Integer),
|
555
|
+
(r' +', Whitespace),
|
556
|
+
],
|
557
|
+
}
|
558
|
+
|
559
|
+
|
370
560
|
class SqlLexer(RegexLexer):
|
371
561
|
"""
|
372
562
|
Lexer for Structured Query Language. Currently, this lexer does
|
@@ -381,7 +571,7 @@ class SqlLexer(RegexLexer):
|
|
381
571
|
flags = re.IGNORECASE
|
382
572
|
tokens = {
|
383
573
|
'root': [
|
384
|
-
(r'\s+',
|
574
|
+
(r'\s+', Whitespace),
|
385
575
|
(r'--.*\n?', Comment.Single),
|
386
576
|
(r'/\*', Comment.Multiline, 'multiline-comments'),
|
387
577
|
(words((
|
@@ -495,6 +685,9 @@ class SqlLexer(RegexLexer):
|
|
495
685
|
]
|
496
686
|
}
|
497
687
|
|
688
|
+
def analyse_text(self, text):
|
689
|
+
return
|
690
|
+
|
498
691
|
|
499
692
|
class TransactSqlLexer(RegexLexer):
|
500
693
|
"""
|
@@ -509,8 +702,8 @@ class TransactSqlLexer(RegexLexer):
|
|
509
702
|
filenames = ['*.sql']
|
510
703
|
mimetypes = ['text/x-tsql']
|
511
704
|
|
512
|
-
|
513
|
-
|
705
|
+
flags = re.IGNORECASE
|
706
|
+
|
514
707
|
tokens = {
|
515
708
|
'root': [
|
516
709
|
(r'\s+', Whitespace),
|
@@ -596,7 +789,7 @@ class MySqlLexer(RegexLexer):
|
|
596
789
|
flags = re.IGNORECASE
|
597
790
|
tokens = {
|
598
791
|
'root': [
|
599
|
-
(r'\s+',
|
792
|
+
(r'\s+', Whitespace),
|
600
793
|
|
601
794
|
# Comments
|
602
795
|
(r'(?:#|--\s+).*', Comment.Single),
|
@@ -652,14 +845,14 @@ class MySqlLexer(RegexLexer):
|
|
652
845
|
|
653
846
|
# Exceptions; these words tokenize differently in different contexts.
|
654
847
|
(r'\b(set)(?!\s*\()', Keyword),
|
655
|
-
(r'\b(character)(\s+)(set)\b', bygroups(Keyword,
|
848
|
+
(r'\b(character)(\s+)(set)\b', bygroups(Keyword, Whitespace, Keyword)),
|
656
849
|
# In all other known cases, "SET" is tokenized by MYSQL_DATATYPES.
|
657
850
|
|
658
851
|
(words(MYSQL_CONSTANTS, prefix=r'\b', suffix=r'\b'), Name.Constant),
|
659
852
|
(words(MYSQL_DATATYPES, prefix=r'\b', suffix=r'\b'), Keyword.Type),
|
660
853
|
(words(MYSQL_KEYWORDS, prefix=r'\b', suffix=r'\b'), Keyword),
|
661
854
|
(words(MYSQL_FUNCTIONS, prefix=r'\b', suffix=r'\b(\s*)(\()'),
|
662
|
-
bygroups(Name.Function,
|
855
|
+
bygroups(Name.Function, Whitespace, Punctuation)),
|
663
856
|
|
664
857
|
# Schema object names
|
665
858
|
#
|
@@ -782,9 +975,12 @@ class SqliteConsoleLexer(Lexer):
|
|
782
975
|
insertions = []
|
783
976
|
for match in line_re.finditer(data):
|
784
977
|
line = match.group()
|
785
|
-
|
978
|
+
prompt_match = sqlite_prompt_re.match(line)
|
979
|
+
if prompt_match is not None:
|
786
980
|
insertions.append((len(curcode),
|
787
|
-
[(0, Generic.Prompt, line[:
|
981
|
+
[(0, Generic.Prompt, line[:7])]))
|
982
|
+
insertions.append((len(curcode),
|
983
|
+
[(7, Whitespace, ' ')]))
|
788
984
|
curcode += line[8:]
|
789
985
|
else:
|
790
986
|
if curcode:
|
@@ -805,11 +1001,10 @@ class RqlLexer(RegexLexer):
|
|
805
1001
|
"""
|
806
1002
|
Lexer for Relation Query Language.
|
807
1003
|
|
808
|
-
`RQL <http://www.logilab.org/project/rql>`_
|
809
|
-
|
810
1004
|
.. versionadded:: 2.0
|
811
1005
|
"""
|
812
1006
|
name = 'RQL'
|
1007
|
+
url = 'http://www.logilab.org/project/rql'
|
813
1008
|
aliases = ['rql']
|
814
1009
|
filenames = ['*.rql']
|
815
1010
|
mimetypes = ['text/x-rql']
|
@@ -817,7 +1012,7 @@ class RqlLexer(RegexLexer):
|
|
817
1012
|
flags = re.IGNORECASE
|
818
1013
|
tokens = {
|
819
1014
|
'root': [
|
820
|
-
(r'\s+',
|
1015
|
+
(r'\s+', Whitespace),
|
821
1016
|
(r'(DELETE|SET|INSERT|UNION|DISTINCT|WITH|WHERE|BEING|OR'
|
822
1017
|
r'|AND|NOT|GROUPBY|HAVING|ORDERBY|ASC|DESC|LIMIT|OFFSET'
|
823
1018
|
r'|TODAY|NOW|TRUE|FALSE|NULL|EXISTS)\b', Keyword),
|
@@ -0,0 +1,62 @@
|
|
1
|
+
"""
|
2
|
+
pygments.lexers.srcinfo
|
3
|
+
~~~~~~~~~~~~~~~~~~~~~~~
|
4
|
+
|
5
|
+
Lexers for .SRCINFO files used by Arch Linux Packages.
|
6
|
+
|
7
|
+
The description of the format can be found in the wiki:
|
8
|
+
https://wiki.archlinux.org/title/.SRCINFO
|
9
|
+
|
10
|
+
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
|
11
|
+
:license: BSD, see LICENSE for details.
|
12
|
+
"""
|
13
|
+
|
14
|
+
from pygments.lexer import RegexLexer, words
|
15
|
+
from pygments.token import Text, Comment, Keyword, Name, Operator, Whitespace
|
16
|
+
|
17
|
+
__all__ = ['SrcinfoLexer']
|
18
|
+
|
19
|
+
keywords = (
|
20
|
+
'pkgbase', 'pkgname',
|
21
|
+
'pkgver', 'pkgrel', 'epoch',
|
22
|
+
'pkgdesc', 'url', 'install', 'changelog',
|
23
|
+
'arch', 'groups', 'license', 'noextract', 'options', 'backup',
|
24
|
+
'validpgpkeys',
|
25
|
+
)
|
26
|
+
|
27
|
+
architecture_dependent_keywords = (
|
28
|
+
'source', 'depends', 'checkdepends', 'makedepends', 'optdepends',
|
29
|
+
'provides', 'conflicts', 'replaces',
|
30
|
+
'md5sums', 'sha1sums', 'sha224sums', 'sha256sums', 'sha384sums',
|
31
|
+
'sha512sums',
|
32
|
+
)
|
33
|
+
|
34
|
+
|
35
|
+
class SrcinfoLexer(RegexLexer):
|
36
|
+
"""Lexer for .SRCINFO files used by Arch Linux Packages.
|
37
|
+
|
38
|
+
.. versionadded:: 2.11
|
39
|
+
"""
|
40
|
+
|
41
|
+
name = 'Srcinfo'
|
42
|
+
aliases = ['srcinfo']
|
43
|
+
filenames = ['.SRCINFO']
|
44
|
+
|
45
|
+
tokens = {
|
46
|
+
'root': [
|
47
|
+
(r'\s+', Whitespace),
|
48
|
+
(r'#.*', Comment.Single),
|
49
|
+
(words(keywords), Keyword, 'assignment'),
|
50
|
+
(words(architecture_dependent_keywords, suffix=r'_\w+'),
|
51
|
+
Keyword, 'assignment'),
|
52
|
+
(r'\w+', Name.Variable, 'assignment'),
|
53
|
+
],
|
54
|
+
'assignment': [
|
55
|
+
(r' +', Whitespace),
|
56
|
+
(r'=', Operator, 'value'),
|
57
|
+
],
|
58
|
+
'value': [
|
59
|
+
(r' +', Whitespace),
|
60
|
+
(r'.*', Text, '#pop:2'),
|
61
|
+
],
|
62
|
+
}
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexer for Stata
|
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
|
|
@@ -20,7 +20,7 @@ __all__ = ['StataLexer']
|
|
20
20
|
|
21
21
|
class StataLexer(RegexLexer):
|
22
22
|
"""
|
23
|
-
For
|
23
|
+
For Stata do files.
|
24
24
|
|
25
25
|
.. versionadded:: 2.2
|
26
26
|
"""
|
@@ -29,7 +29,8 @@ class StataLexer(RegexLexer):
|
|
29
29
|
# - https://github.com/isagalaev/highlight.js/blob/master/src/languages/stata.js
|
30
30
|
# - https://github.com/jpitblado/vim-stata/blob/master/syntax/stata.vim
|
31
31
|
|
32
|
-
name
|
32
|
+
name = 'Stata'
|
33
|
+
url = 'http://www.stata.com/'
|
33
34
|
aliases = ['stata', 'do']
|
34
35
|
filenames = ['*.do', '*.ado']
|
35
36
|
mimetypes = ['text/x-stata', 'text/stata', 'application/x-stata']
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexer for SuperCollider
|
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
|
|
@@ -19,15 +19,16 @@ __all__ = ['SuperColliderLexer']
|
|
19
19
|
|
20
20
|
class SuperColliderLexer(RegexLexer):
|
21
21
|
"""
|
22
|
-
For
|
22
|
+
For SuperCollider source code.
|
23
23
|
|
24
24
|
.. versionadded:: 2.1
|
25
25
|
"""
|
26
26
|
|
27
27
|
name = 'SuperCollider'
|
28
|
+
url = 'http://supercollider.github.io/'
|
28
29
|
aliases = ['supercollider', 'sc']
|
29
30
|
filenames = ['*.sc', '*.scd']
|
30
|
-
mimetypes = ['application/supercollider', 'text/supercollider'
|
31
|
+
mimetypes = ['application/supercollider', 'text/supercollider']
|
31
32
|
|
32
33
|
flags = re.DOTALL | re.MULTILINE
|
33
34
|
tokens = {
|
@@ -0,0 +1,74 @@
|
|
1
|
+
"""
|
2
|
+
pygments.lexers.tal
|
3
|
+
~~~~~~~~~~~~~~~~~~~
|
4
|
+
|
5
|
+
Lexer for Uxntal
|
6
|
+
|
7
|
+
.. versionadded:: 2.12
|
8
|
+
|
9
|
+
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
|
10
|
+
:license: BSD, see LICENSE for details.
|
11
|
+
"""
|
12
|
+
|
13
|
+
from pygments.lexer import RegexLexer, words
|
14
|
+
from pygments.token import Comment, Keyword, Name, String, Number, \
|
15
|
+
Punctuation, Whitespace, Literal
|
16
|
+
|
17
|
+
__all__ = ['TalLexer']
|
18
|
+
|
19
|
+
|
20
|
+
class TalLexer(RegexLexer):
|
21
|
+
"""
|
22
|
+
For `Uxntal <https://wiki.xxiivv.com/site/uxntal.html>`_ source code.
|
23
|
+
|
24
|
+
.. versionadded:: 2.12
|
25
|
+
"""
|
26
|
+
|
27
|
+
name = 'Tal'
|
28
|
+
aliases = ['tal', 'uxntal']
|
29
|
+
filenames = ['*.tal']
|
30
|
+
mimetypes = ['text/x-uxntal']
|
31
|
+
|
32
|
+
instructions = [
|
33
|
+
'BRK', 'LIT', 'INC', 'POP', 'DUP', 'NIP', 'SWP', 'OVR', 'ROT',
|
34
|
+
'EQU', 'NEQ', 'GTH', 'LTH', 'JMP', 'JCN', 'JSR', 'STH',
|
35
|
+
'LDZ', 'STZ', 'LDR', 'STR', 'LDA', 'STA', 'DEI', 'DEO',
|
36
|
+
'ADD', 'SUB', 'MUL', 'DIV', 'AND', 'ORA', 'EOR', 'SFT'
|
37
|
+
]
|
38
|
+
|
39
|
+
tokens = {
|
40
|
+
# the comment delimiters must not be adjacent to non-space characters.
|
41
|
+
# this means ( foo ) is a valid comment but (foo) is not. this also
|
42
|
+
# applies to nested comments.
|
43
|
+
'comment': [
|
44
|
+
(r'(?<!\S)\((?!\S)', Comment.Multiline, '#push'), # nested comments
|
45
|
+
(r'(?<!\S)\)(?!\S)', Comment.Multiline, '#pop'), # nested comments
|
46
|
+
(r'[^()]+', Comment.Multiline), # comments
|
47
|
+
(r'[()]+', Comment.Multiline), # comments
|
48
|
+
],
|
49
|
+
'root': [
|
50
|
+
(r'\s+', Whitespace), # spaces
|
51
|
+
(r'(?<!\S)\((?!\S)', Comment.Multiline, 'comment'), # comments
|
52
|
+
(words(instructions, prefix=r'(?<!\S)', suffix=r'2?k?r?(?!\S)'),
|
53
|
+
Keyword.Reserved), # instructions
|
54
|
+
(r'[][{}](?!\S)', Punctuation), # delimiters
|
55
|
+
(r'#([0-9a-f]{2}){1,2}(?!\S)', Number.Hex), # integer
|
56
|
+
(r'"\S+', String), # raw string
|
57
|
+
(r"'\S(?!\S)", String.Char), # raw char
|
58
|
+
(r'([0-9a-f]{2}){1,2}(?!\S)', Literal), # raw integer
|
59
|
+
(r'[|$][0-9a-f]{1,4}(?!\S)', Keyword.Declaration), # abs/rel pad
|
60
|
+
(r'%\S+', Name.Decorator), # macro
|
61
|
+
(r'@\S+', Name.Function), # label
|
62
|
+
(r'&\S+', Name.Label), # sublabel
|
63
|
+
(r'/\S+', Name.Tag), # spacer
|
64
|
+
(r'\.\S+', Name.Variable.Magic), # zero page addr
|
65
|
+
(r',\S+', Name.Variable.Instance), # rel addr
|
66
|
+
(r';\S+', Name.Variable.Global), # abs addr
|
67
|
+
(r':\S+', Literal), # raw addr
|
68
|
+
(r'~\S+', Keyword.Namespace), # include
|
69
|
+
(r'\S+', Name),
|
70
|
+
]
|
71
|
+
}
|
72
|
+
|
73
|
+
def analyse_text(text):
|
74
|
+
return '|0100' in text[:500]
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexers for Tcl 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
|
|
@@ -24,23 +24,27 @@ class TclLexer(RegexLexer):
|
|
24
24
|
"""
|
25
25
|
|
26
26
|
keyword_cmds_re = words((
|
27
|
-
'after', 'apply', 'array', 'break', 'catch', 'continue', 'elseif',
|
28
|
-
'
|
29
|
-
'
|
30
|
-
'
|
27
|
+
'after', 'apply', 'array', 'break', 'catch', 'continue', 'elseif',
|
28
|
+
'else', 'error', 'eval', 'expr', 'for', 'foreach', 'global', 'if',
|
29
|
+
'namespace', 'proc', 'rename', 'return', 'set', 'switch', 'then',
|
30
|
+
'trace', 'unset', 'update', 'uplevel', 'upvar', 'variable', 'vwait',
|
31
|
+
'while'), prefix=r'\b', suffix=r'\b')
|
31
32
|
|
32
33
|
builtin_cmds_re = words((
|
33
|
-
'append', 'bgerror', 'binary', 'cd', 'chan', 'clock', 'close',
|
34
|
-
'
|
35
|
-
'
|
36
|
-
'
|
37
|
-
'
|
38
|
-
'
|
39
|
-
'
|
40
|
-
'
|
41
|
-
'
|
34
|
+
'append', 'bgerror', 'binary', 'cd', 'chan', 'clock', 'close',
|
35
|
+
'concat', 'dde', 'dict', 'encoding', 'eof', 'exec', 'exit', 'fblocked',
|
36
|
+
'fconfigure', 'fcopy', 'file', 'fileevent', 'flush', 'format', 'gets',
|
37
|
+
'glob', 'history', 'http', 'incr', 'info', 'interp', 'join', 'lappend',
|
38
|
+
'lassign', 'lindex', 'linsert', 'list', 'llength', 'load', 'loadTk',
|
39
|
+
'lrange', 'lrepeat', 'lreplace', 'lreverse', 'lsearch', 'lset', 'lsort',
|
40
|
+
'mathfunc', 'mathop', 'memory', 'msgcat', 'open', 'package', 'pid',
|
41
|
+
'pkg::create', 'pkg_mkIndex', 'platform', 'platform::shell', 'puts',
|
42
|
+
'pwd', 're_syntax', 'read', 'refchan', 'regexp', 'registry', 'regsub',
|
43
|
+
'scan', 'seek', 'socket', 'source', 'split', 'string', 'subst', 'tell',
|
44
|
+
'time', 'tm', 'unknown', 'unload'), prefix=r'\b', suffix=r'\b')
|
42
45
|
|
43
46
|
name = 'Tcl'
|
47
|
+
url = 'https://www.tcl.tk/about/language.html'
|
44
48
|
aliases = ['tcl']
|
45
49
|
filenames = ['*.tcl', '*.rvt']
|
46
50
|
mimetypes = ['text/x-tcl', 'text/x-script.tcl', 'application/x-tcl']
|
@@ -84,8 +88,9 @@ class TclLexer(RegexLexer):
|
|
84
88
|
(r'0[0-7]+', Number.Oct),
|
85
89
|
(r'\d+\.\d+', Number.Float),
|
86
90
|
(r'\d+', Number.Integer),
|
87
|
-
(r'\$
|
88
|
-
(r'
|
91
|
+
(r'\$[\w.:-]+', Name.Variable),
|
92
|
+
(r'\$\{[\w.:-]+\}', Name.Variable),
|
93
|
+
(r'[\w.,@:-]+', Text),
|
89
94
|
],
|
90
95
|
'params': [
|
91
96
|
(r';', Keyword, '#pop'),
|
@@ -1,23 +1,23 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
1
|
"""
|
3
2
|
pygments.lexers.teal
|
4
3
|
~~~~~~~~~~~~~~~~~~~~
|
5
4
|
|
6
5
|
Lexer for TEAL.
|
7
6
|
|
8
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2023 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, bygroups, include, words
|
13
|
-
from pygments.token import Comment, Name, Number, String, Text, Keyword
|
12
|
+
from pygments.token import Comment, Name, Number, String, Text, Keyword, \
|
13
|
+
Whitespace
|
14
14
|
|
15
15
|
__all__ = ['TealLexer']
|
16
16
|
|
17
|
+
|
17
18
|
class TealLexer(RegexLexer):
|
18
19
|
"""
|
19
|
-
For the
|
20
|
-
<https://developer.algorand.org/docs/reference/teal/specification/>`
|
20
|
+
For the Transaction Execution Approval Language (TEAL)
|
21
21
|
|
22
22
|
For more information about the grammar, see:
|
23
23
|
https://github.com/algorand/go-algorand/blob/master/data/transactions/logic/assembler.go
|
@@ -25,6 +25,7 @@ class TealLexer(RegexLexer):
|
|
25
25
|
.. versionadded:: 2.9
|
26
26
|
"""
|
27
27
|
name = 'teal'
|
28
|
+
url = 'https://developer.algorand.org/docs/reference/teal/specification/'
|
28
29
|
aliases = ['teal']
|
29
30
|
filenames = ['*.teal']
|
30
31
|
|
@@ -49,7 +50,7 @@ class TealLexer(RegexLexer):
|
|
49
50
|
'AssetTotal', 'AssetDecimals', 'AssetDefaultFrozen', 'AssetUnitName',
|
50
51
|
'AssetName', 'AssetURL', 'AssetMetadataHash', 'AssetManager',
|
51
52
|
'AssetReserve', 'AssetFreeze', 'AssetClawback',
|
52
|
-
}, suffix
|
53
|
+
}, suffix=r'\b')
|
53
54
|
|
54
55
|
identifier = r'[^ \t\n]+(?=\/\/)|[^ \t\n]+'
|
55
56
|
newline = r'\r?\n'
|
@@ -69,7 +70,7 @@ class TealLexer(RegexLexer):
|
|
69
70
|
(r'"', String, 'string'),
|
70
71
|
(r'(b(?:ase)?(?:32|64) ?)(\(?[a-zA-Z0-9+/=]+\)?)',
|
71
72
|
bygroups(String.Affix, String.Other)),
|
72
|
-
(r'[A-Z2-7]{58}', Number),
|
73
|
+
(r'[A-Z2-7]{58}', Number), # address
|
73
74
|
(r'0x[\da-fA-F]+', Number.Hex),
|
74
75
|
(r'\d+', Number.Integer),
|
75
76
|
(keywords, Keyword),
|
@@ -82,7 +83,7 @@ class TealLexer(RegexLexer):
|
|
82
83
|
(r'"', String, '#pop'),
|
83
84
|
],
|
84
85
|
'whitespace': [
|
85
|
-
(r'[ \t]+',
|
86
|
+
(r'[ \t]+', Whitespace),
|
86
87
|
(r'//[^\n]+', Comment.Single),
|
87
88
|
],
|
88
89
|
}
|