pygments.rb 2.4.1 → 3.0.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 +8 -8
- data/.github/workflows/release.yml +5 -5
- data/.gitignore +2 -0
- data/.rubocop.yml +1 -1
- data/CHANGELOG.adoc +9 -1
- data/README.adoc +2 -2
- data/lib/pygments/version.rb +1 -1
- data/pygments.rb.gemspec +2 -2
- data/vendor/pygments-main/bin/pygmentize +1 -1
- data/vendor/pygments-main/pygments/__init__.py +2 -2
- data/vendor/pygments-main/pygments/__main__.py +1 -1
- data/vendor/pygments-main/pygments/cmdline.py +12 -12
- data/vendor/pygments-main/pygments/console.py +5 -5
- data/vendor/pygments-main/pygments/filter.py +2 -3
- data/vendor/pygments-main/pygments/filters/__init__.py +4 -4
- data/vendor/pygments-main/pygments/formatter.py +6 -1
- data/vendor/pygments-main/pygments/formatters/__init__.py +7 -8
- data/vendor/pygments-main/pygments/formatters/_mapping.py +0 -0
- data/vendor/pygments-main/pygments/formatters/bbcode.py +2 -2
- data/vendor/pygments-main/pygments/formatters/groff.py +3 -3
- data/vendor/pygments-main/pygments/formatters/html.py +38 -40
- data/vendor/pygments-main/pygments/formatters/img.py +51 -11
- data/vendor/pygments-main/pygments/formatters/irc.py +1 -1
- data/vendor/pygments-main/pygments/formatters/latex.py +24 -27
- data/vendor/pygments-main/pygments/formatters/other.py +3 -4
- data/vendor/pygments-main/pygments/formatters/pangomarkup.py +2 -2
- data/vendor/pygments-main/pygments/formatters/rtf.py +228 -25
- data/vendor/pygments-main/pygments/formatters/svg.py +17 -20
- data/vendor/pygments-main/pygments/formatters/terminal.py +1 -1
- data/vendor/pygments-main/pygments/formatters/terminal256.py +1 -1
- data/vendor/pygments-main/pygments/lexer.py +51 -33
- data/vendor/pygments-main/pygments/lexers/__init__.py +12 -12
- data/vendor/pygments-main/pygments/lexers/_ada_builtins.py +1 -1
- 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 +1 -1
- data/vendor/pygments-main/pygments/lexers/_css_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_julia_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_lilypond_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +5 -5
- data/vendor/pygments-main/pygments/lexers/_luau_builtins.py +62 -0
- data/vendor/pygments-main/pygments/lexers/_mapping.py +41 -11
- data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +3 -3
- data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_php_builtins.py +3 -3
- data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +5 -5
- data/vendor/pygments-main/pygments/lexers/_qlik_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_scheme_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +4 -4
- data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +3 -3
- data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_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 +6 -8
- data/vendor/pygments-main/pygments/lexers/ada.py +3 -3
- data/vendor/pygments-main/pygments/lexers/agile.py +3 -1
- data/vendor/pygments-main/pygments/lexers/algebra.py +9 -13
- data/vendor/pygments-main/pygments/lexers/ambient.py +2 -3
- data/vendor/pygments-main/pygments/lexers/amdgpu.py +3 -3
- data/vendor/pygments-main/pygments/lexers/ampl.py +2 -3
- data/vendor/pygments-main/pygments/lexers/apdlexer.py +4 -3
- data/vendor/pygments-main/pygments/lexers/apl.py +2 -3
- data/vendor/pygments-main/pygments/lexers/archetype.py +8 -12
- data/vendor/pygments-main/pygments/lexers/arrow.py +2 -3
- data/vendor/pygments-main/pygments/lexers/arturo.py +2 -3
- data/vendor/pygments-main/pygments/lexers/asc.py +4 -4
- data/vendor/pygments-main/pygments/lexers/asm.py +28 -15
- data/vendor/pygments-main/pygments/lexers/asn1.py +178 -0
- data/vendor/pygments-main/pygments/lexers/automation.py +6 -8
- data/vendor/pygments-main/pygments/lexers/bare.py +2 -3
- data/vendor/pygments-main/pygments/lexers/basic.py +48 -57
- data/vendor/pygments-main/pygments/lexers/bdd.py +3 -4
- data/vendor/pygments-main/pygments/lexers/berry.py +4 -4
- data/vendor/pygments-main/pygments/lexers/bibtex.py +5 -5
- data/vendor/pygments-main/pygments/lexers/blueprint.py +173 -0
- data/vendor/pygments-main/pygments/lexers/boa.py +4 -4
- data/vendor/pygments-main/pygments/lexers/bqn.py +109 -0
- data/vendor/pygments-main/pygments/lexers/business.py +21 -22
- data/vendor/pygments-main/pygments/lexers/c_cpp.py +9 -4
- data/vendor/pygments-main/pygments/lexers/c_like.py +99 -27
- data/vendor/pygments-main/pygments/lexers/capnproto.py +2 -3
- data/vendor/pygments-main/pygments/lexers/carbon.py +10 -11
- data/vendor/pygments-main/pygments/lexers/cddl.py +8 -9
- data/vendor/pygments-main/pygments/lexers/chapel.py +2 -3
- data/vendor/pygments-main/pygments/lexers/clean.py +2 -1
- data/vendor/pygments-main/pygments/lexers/comal.py +2 -1
- data/vendor/pygments-main/pygments/lexers/compiled.py +2 -1
- data/vendor/pygments-main/pygments/lexers/configs.py +342 -108
- data/vendor/pygments-main/pygments/lexers/console.py +5 -5
- data/vendor/pygments-main/pygments/lexers/cplint.py +2 -3
- data/vendor/pygments-main/pygments/lexers/crystal.py +4 -5
- data/vendor/pygments-main/pygments/lexers/csound.py +6 -8
- data/vendor/pygments-main/pygments/lexers/css.py +5 -5
- data/vendor/pygments-main/pygments/lexers/d.py +4 -3
- data/vendor/pygments-main/pygments/lexers/dalvik.py +2 -3
- data/vendor/pygments-main/pygments/lexers/data.py +8 -12
- data/vendor/pygments-main/pygments/lexers/dax.py +2 -3
- data/vendor/pygments-main/pygments/lexers/devicetree.py +2 -3
- data/vendor/pygments-main/pygments/lexers/diff.py +7 -6
- data/vendor/pygments-main/pygments/lexers/dns.py +109 -0
- data/vendor/pygments-main/pygments/lexers/dotnet.py +19 -14
- data/vendor/pygments-main/pygments/lexers/dsls.py +24 -35
- data/vendor/pygments-main/pygments/lexers/dylan.py +8 -16
- data/vendor/pygments-main/pygments/lexers/ecl.py +2 -3
- data/vendor/pygments-main/pygments/lexers/eiffel.py +3 -4
- data/vendor/pygments-main/pygments/lexers/elm.py +3 -4
- data/vendor/pygments-main/pygments/lexers/elpi.py +28 -21
- data/vendor/pygments-main/pygments/lexers/email.py +3 -3
- data/vendor/pygments-main/pygments/lexers/erlang.py +22 -24
- data/vendor/pygments-main/pygments/lexers/esoteric.py +11 -12
- data/vendor/pygments-main/pygments/lexers/ezhil.py +2 -3
- data/vendor/pygments-main/pygments/lexers/factor.py +2 -3
- data/vendor/pygments-main/pygments/lexers/fantom.py +3 -3
- data/vendor/pygments-main/pygments/lexers/felix.py +9 -10
- data/vendor/pygments-main/pygments/lexers/fift.py +2 -1
- 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 +6 -7
- data/vendor/pygments-main/pygments/lexers/foxpro.py +3 -3
- data/vendor/pygments-main/pygments/lexers/freefem.py +2 -3
- data/vendor/pygments-main/pygments/lexers/func.py +3 -1
- data/vendor/pygments-main/pygments/lexers/functional.py +2 -1
- data/vendor/pygments-main/pygments/lexers/futhark.py +6 -7
- data/vendor/pygments-main/pygments/lexers/gcodelexer.py +3 -3
- data/vendor/pygments-main/pygments/lexers/gdscript.py +2 -1
- data/vendor/pygments-main/pygments/lexers/go.py +3 -4
- data/vendor/pygments-main/pygments/lexers/grammar_notation.py +6 -9
- data/vendor/pygments-main/pygments/lexers/graph.py +12 -9
- data/vendor/pygments-main/pygments/lexers/graphics.py +13 -17
- data/vendor/pygments-main/pygments/lexers/graphql.py +176 -0
- data/vendor/pygments-main/pygments/lexers/graphviz.py +2 -3
- data/vendor/pygments-main/pygments/lexers/gsql.py +2 -3
- data/vendor/pygments-main/pygments/lexers/haskell.py +27 -32
- data/vendor/pygments-main/pygments/lexers/haxe.py +3 -5
- data/vendor/pygments-main/pygments/lexers/hdl.py +8 -7
- data/vendor/pygments-main/pygments/lexers/hexdump.py +3 -3
- data/vendor/pygments-main/pygments/lexers/html.py +34 -13
- data/vendor/pygments-main/pygments/lexers/idl.py +2 -3
- data/vendor/pygments-main/pygments/lexers/igor.py +305 -290
- data/vendor/pygments-main/pygments/lexers/inferno.py +2 -3
- data/vendor/pygments-main/pygments/lexers/installers.py +7 -9
- data/vendor/pygments-main/pygments/lexers/int_fiction.py +150 -162
- 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 +18 -19
- data/vendor/pygments-main/pygments/lexers/jmespath.py +2 -1
- data/vendor/pygments-main/pygments/lexers/jslt.py +2 -3
- data/vendor/pygments-main/pygments/lexers/jsonnet.py +4 -3
- data/vendor/pygments-main/pygments/lexers/jsx.py +75 -0
- data/vendor/pygments-main/pygments/lexers/julia.py +4 -5
- data/vendor/pygments-main/pygments/lexers/jvm.py +98 -116
- data/vendor/pygments-main/pygments/lexers/kuin.py +2 -3
- data/vendor/pygments-main/pygments/lexers/kusto.py +93 -0
- data/vendor/pygments-main/pygments/lexers/ldap.py +155 -0
- data/vendor/pygments-main/pygments/lexers/lean.py +241 -0
- data/vendor/pygments-main/pygments/lexers/lilypond.py +2 -3
- data/vendor/pygments-main/pygments/lexers/lisp.py +373 -65
- data/vendor/pygments-main/pygments/lexers/macaulay2.py +53 -4
- data/vendor/pygments-main/pygments/lexers/make.py +7 -5
- data/vendor/pygments-main/pygments/lexers/markup.py +242 -91
- data/vendor/pygments-main/pygments/lexers/math.py +2 -1
- data/vendor/pygments-main/pygments/lexers/matlab.py +10 -12
- data/vendor/pygments-main/pygments/lexers/maxima.py +2 -3
- data/vendor/pygments-main/pygments/lexers/meson.py +2 -3
- data/vendor/pygments-main/pygments/lexers/mime.py +4 -4
- data/vendor/pygments-main/pygments/lexers/minecraft.py +24 -27
- data/vendor/pygments-main/pygments/lexers/mips.py +3 -1
- data/vendor/pygments-main/pygments/lexers/ml.py +59 -61
- data/vendor/pygments-main/pygments/lexers/modeling.py +19 -22
- data/vendor/pygments-main/pygments/lexers/modula2.py +2 -3
- data/vendor/pygments-main/pygments/lexers/mojo.py +704 -0
- data/vendor/pygments-main/pygments/lexers/monte.py +2 -3
- data/vendor/pygments-main/pygments/lexers/mosel.py +3 -3
- data/vendor/pygments-main/pygments/lexers/ncl.py +4 -3
- data/vendor/pygments-main/pygments/lexers/nimrod.py +7 -8
- data/vendor/pygments-main/pygments/lexers/nit.py +2 -3
- data/vendor/pygments-main/pygments/lexers/nix.py +40 -31
- data/vendor/pygments-main/pygments/lexers/oberon.py +3 -3
- data/vendor/pygments-main/pygments/lexers/objective.py +14 -6
- data/vendor/pygments-main/pygments/lexers/ooc.py +2 -3
- data/vendor/pygments-main/pygments/lexers/openscad.py +96 -0
- data/vendor/pygments-main/pygments/lexers/other.py +2 -1
- data/vendor/pygments-main/pygments/lexers/parasail.py +2 -3
- data/vendor/pygments-main/pygments/lexers/parsers.py +41 -44
- data/vendor/pygments-main/pygments/lexers/pascal.py +6 -3
- data/vendor/pygments-main/pygments/lexers/pawn.py +5 -5
- data/vendor/pygments-main/pygments/lexers/perl.py +3 -3
- data/vendor/pygments-main/pygments/lexers/phix.py +2 -3
- data/vendor/pygments-main/pygments/lexers/php.py +4 -5
- data/vendor/pygments-main/pygments/lexers/pointless.py +2 -3
- data/vendor/pygments-main/pygments/lexers/pony.py +3 -3
- data/vendor/pygments-main/pygments/lexers/praat.py +2 -3
- data/vendor/pygments-main/pygments/lexers/procfile.py +2 -3
- data/vendor/pygments-main/pygments/lexers/prolog.py +23 -9
- data/vendor/pygments-main/pygments/lexers/promql.py +2 -1
- data/vendor/pygments-main/pygments/lexers/prql.py +251 -0
- data/vendor/pygments-main/pygments/lexers/ptx.py +119 -0
- data/vendor/pygments-main/pygments/lexers/python.py +24 -24
- data/vendor/pygments-main/pygments/lexers/q.py +5 -6
- data/vendor/pygments-main/pygments/lexers/qlik.py +3 -3
- data/vendor/pygments-main/pygments/lexers/qvt.py +5 -3
- data/vendor/pygments-main/pygments/lexers/r.py +8 -6
- data/vendor/pygments-main/pygments/lexers/rdf.py +19 -13
- data/vendor/pygments-main/pygments/lexers/rebol.py +7 -7
- data/vendor/pygments-main/pygments/lexers/resource.py +5 -6
- data/vendor/pygments-main/pygments/lexers/ride.py +4 -5
- data/vendor/pygments-main/pygments/lexers/rita.py +2 -3
- data/vendor/pygments-main/pygments/lexers/rnc.py +2 -3
- data/vendor/pygments-main/pygments/lexers/roboconf.py +5 -5
- data/vendor/pygments-main/pygments/lexers/robotframework.py +2 -3
- data/vendor/pygments-main/pygments/lexers/ruby.py +8 -13
- data/vendor/pygments-main/pygments/lexers/rust.py +9 -10
- data/vendor/pygments-main/pygments/lexers/sas.py +3 -3
- data/vendor/pygments-main/pygments/lexers/savi.py +131 -130
- data/vendor/pygments-main/pygments/lexers/scdoc.py +13 -7
- data/vendor/pygments-main/pygments/lexers/scripting.py +354 -42
- data/vendor/pygments-main/pygments/lexers/sgf.py +2 -3
- data/vendor/pygments-main/pygments/lexers/shell.py +107 -129
- data/vendor/pygments-main/pygments/lexers/sieve.py +3 -3
- data/vendor/pygments-main/pygments/lexers/slash.py +4 -5
- data/vendor/pygments-main/pygments/lexers/smalltalk.py +3 -5
- data/vendor/pygments-main/pygments/lexers/smithy.py +2 -3
- data/vendor/pygments-main/pygments/lexers/smv.py +3 -3
- data/vendor/pygments-main/pygments/lexers/snobol.py +3 -3
- data/vendor/pygments-main/pygments/lexers/solidity.py +3 -3
- data/vendor/pygments-main/pygments/lexers/soong.py +78 -0
- data/vendor/pygments-main/pygments/lexers/sophia.py +3 -4
- data/vendor/pygments-main/pygments/lexers/special.py +8 -3
- data/vendor/pygments-main/pygments/lexers/spice.py +15 -16
- data/vendor/pygments-main/pygments/lexers/sql.py +24 -18
- data/vendor/pygments-main/pygments/lexers/srcinfo.py +3 -3
- data/vendor/pygments-main/pygments/lexers/stata.py +2 -3
- data/vendor/pygments-main/pygments/lexers/supercollider.py +2 -3
- data/vendor/pygments-main/pygments/lexers/tact.py +303 -0
- data/vendor/pygments-main/pygments/lexers/tal.py +13 -10
- data/vendor/pygments-main/pygments/lexers/tcl.py +2 -3
- data/vendor/pygments-main/pygments/lexers/teal.py +2 -3
- data/vendor/pygments-main/pygments/lexers/templates.py +131 -72
- data/vendor/pygments-main/pygments/lexers/teraterm.py +2 -3
- data/vendor/pygments-main/pygments/lexers/testing.py +4 -5
- data/vendor/pygments-main/pygments/lexers/text.py +2 -1
- data/vendor/pygments-main/pygments/lexers/textedit.py +9 -6
- data/vendor/pygments-main/pygments/lexers/textfmts.py +20 -15
- data/vendor/pygments-main/pygments/lexers/theorem.py +41 -115
- data/vendor/pygments-main/pygments/lexers/thingsdb.py +50 -26
- data/vendor/pygments-main/pygments/lexers/tlb.py +3 -1
- data/vendor/pygments-main/pygments/lexers/tls.py +54 -0
- data/vendor/pygments-main/pygments/lexers/tnt.py +2 -3
- data/vendor/pygments-main/pygments/lexers/trafficscript.py +3 -3
- data/vendor/pygments-main/pygments/lexers/typoscript.py +6 -7
- data/vendor/pygments-main/pygments/lexers/typst.py +104 -0
- data/vendor/pygments-main/pygments/lexers/ul4.py +47 -5
- data/vendor/pygments-main/pygments/lexers/unicon.py +9 -7
- data/vendor/pygments-main/pygments/lexers/urbi.py +3 -3
- data/vendor/pygments-main/pygments/lexers/usd.py +6 -11
- data/vendor/pygments-main/pygments/lexers/varnish.py +5 -5
- data/vendor/pygments-main/pygments/lexers/verification.py +4 -5
- data/vendor/pygments-main/pygments/lexers/verifpal.py +65 -0
- data/vendor/pygments-main/pygments/lexers/vip.py +150 -0
- data/vendor/pygments-main/pygments/lexers/vyper.py +140 -0
- data/vendor/pygments-main/pygments/lexers/web.py +2 -1
- data/vendor/pygments-main/pygments/lexers/webassembly.py +2 -3
- data/vendor/pygments-main/pygments/lexers/webidl.py +2 -3
- data/vendor/pygments-main/pygments/lexers/webmisc.py +11 -15
- data/vendor/pygments-main/pygments/lexers/wgsl.py +6 -7
- data/vendor/pygments-main/pygments/lexers/whiley.py +2 -3
- data/vendor/pygments-main/pygments/lexers/wowtoc.py +3 -3
- data/vendor/pygments-main/pygments/lexers/wren.py +3 -4
- data/vendor/pygments-main/pygments/lexers/x10.py +6 -7
- data/vendor/pygments-main/pygments/lexers/xorg.py +2 -1
- data/vendor/pygments-main/pygments/lexers/yang.py +2 -3
- data/vendor/pygments-main/pygments/lexers/yara.py +69 -0
- data/vendor/pygments-main/pygments/lexers/zig.py +2 -1
- data/vendor/pygments-main/pygments/modeline.py +4 -4
- data/vendor/pygments-main/pygments/plugin.py +3 -19
- data/vendor/pygments-main/pygments/regexopt.py +1 -1
- data/vendor/pygments-main/pygments/scanner.py +1 -1
- data/vendor/pygments-main/pygments/sphinxext.py +38 -8
- data/vendor/pygments-main/pygments/style.py +8 -2
- data/vendor/pygments-main/pygments/styles/__init__.py +17 -59
- data/vendor/pygments-main/pygments/styles/_mapping.py +54 -0
- data/vendor/pygments-main/pygments/styles/abap.py +5 -1
- data/vendor/pygments-main/pygments/styles/algol.py +5 -1
- data/vendor/pygments-main/pygments/styles/algol_nu.py +5 -1
- data/vendor/pygments-main/pygments/styles/arduino.py +76 -72
- data/vendor/pygments-main/pygments/styles/autumn.py +6 -1
- data/vendor/pygments-main/pygments/styles/borland.py +6 -1
- data/vendor/pygments-main/pygments/styles/bw.py +6 -1
- data/vendor/pygments-main/pygments/styles/coffee.py +80 -0
- data/vendor/pygments-main/pygments/styles/colorful.py +6 -1
- data/vendor/pygments-main/pygments/styles/default.py +6 -1
- data/vendor/pygments-main/pygments/styles/dracula.py +68 -80
- data/vendor/pygments-main/pygments/styles/emacs.py +6 -1
- data/vendor/pygments-main/pygments/styles/friendly.py +6 -1
- data/vendor/pygments-main/pygments/styles/friendly_grayscale.py +6 -1
- data/vendor/pygments-main/pygments/styles/fruity.py +7 -1
- data/vendor/pygments-main/pygments/styles/gh_dark.py +7 -1
- data/vendor/pygments-main/pygments/styles/gruvbox.py +10 -1
- data/vendor/pygments-main/pygments/styles/igor.py +6 -1
- data/vendor/pygments-main/pygments/styles/inkpot.py +7 -2
- data/vendor/pygments-main/pygments/styles/lightbulb.py +110 -0
- data/vendor/pygments-main/pygments/styles/lilypond.py +8 -2
- data/vendor/pygments-main/pygments/styles/lovelace.py +16 -10
- data/vendor/pygments-main/pygments/styles/manni.py +7 -2
- data/vendor/pygments-main/pygments/styles/material.py +21 -14
- data/vendor/pygments-main/pygments/styles/monokai.py +16 -10
- data/vendor/pygments-main/pygments/styles/murphy.py +7 -2
- data/vendor/pygments-main/pygments/styles/native.py +10 -5
- data/vendor/pygments-main/pygments/styles/nord.py +9 -3
- data/vendor/pygments-main/pygments/styles/onedark.py +6 -2
- data/vendor/pygments-main/pygments/styles/paraiso_dark.py +7 -2
- data/vendor/pygments-main/pygments/styles/paraiso_light.py +7 -2
- data/vendor/pygments-main/pygments/styles/pastie.py +7 -1
- data/vendor/pygments-main/pygments/styles/perldoc.py +7 -1
- data/vendor/pygments-main/pygments/styles/rainbow_dash.py +26 -19
- data/vendor/pygments-main/pygments/styles/rrt.py +8 -2
- data/vendor/pygments-main/pygments/styles/sas.py +6 -1
- data/vendor/pygments-main/pygments/styles/solarized.py +9 -1
- data/vendor/pygments-main/pygments/styles/staroffice.py +6 -1
- data/vendor/pygments-main/pygments/styles/stata_dark.py +6 -2
- data/vendor/pygments-main/pygments/styles/stata_light.py +6 -1
- data/vendor/pygments-main/pygments/styles/tango.py +7 -3
- data/vendor/pygments-main/pygments/styles/trac.py +7 -1
- data/vendor/pygments-main/pygments/styles/vim.py +7 -1
- data/vendor/pygments-main/pygments/styles/vs.py +7 -2
- data/vendor/pygments-main/pygments/styles/xcode.py +6 -1
- data/vendor/pygments-main/pygments/styles/zenburn.py +6 -1
- data/vendor/pygments-main/pygments/token.py +2 -1
- data/vendor/pygments-main/pygments/unistring.py +5 -5
- data/vendor/pygments-main/pygments/util.py +13 -19
- data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/METADATA +14 -13
- data/vendor/pygments-main/pygments-2.18.0.dist-info/RECORD +663 -0
- data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/WHEEL +1 -2
- data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info/licenses}/AUTHORS +13 -0
- metadata +39 -15
- data/vendor/pygments-main/Pygments-2.15.1.dist-info/RECORD +0 -614
- data/vendor/pygments-main/Pygments-2.15.1.dist-info/top_level.txt +0 -1
- /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/INSTALLER +0 -0
- /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/REQUESTED +0 -0
- /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/entry_points.txt +0 -0
- /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info/licenses}/LICENSE +0 -0
@@ -0,0 +1,150 @@
|
|
1
|
+
"""
|
2
|
+
pygments.lexers.vip
|
3
|
+
~~~~~~~~~~~~~~~~~~~
|
4
|
+
|
5
|
+
Lexers for Visual Prolog & Grammar files.
|
6
|
+
|
7
|
+
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
|
8
|
+
:license: BSD, see LICENSE for details.
|
9
|
+
"""
|
10
|
+
|
11
|
+
import re
|
12
|
+
|
13
|
+
from pygments.lexer import RegexLexer, inherit, words, include
|
14
|
+
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
|
15
|
+
Number, Punctuation, Whitespace
|
16
|
+
|
17
|
+
__all__ = ['VisualPrologLexer', 'VisualPrologGrammarLexer']
|
18
|
+
|
19
|
+
|
20
|
+
class VisualPrologBaseLexer(RegexLexer):
|
21
|
+
minorendkw = ('try', 'foreach', 'if')
|
22
|
+
minorkwexp = ('and', 'catch', 'do', 'else', 'elseif', 'erroneous', 'externally', 'failure', 'finally', 'foreach', 'if', 'or', 'orelse', 'otherwise', 'then',
|
23
|
+
'try', 'div', 'mod', 'rem', 'quot')
|
24
|
+
dockw = ('short', 'detail', 'end', 'withdomain')
|
25
|
+
tokens = {
|
26
|
+
'root': [
|
27
|
+
(r'\s+', Whitespace),
|
28
|
+
(words(minorendkw, prefix=r'\bend\s+', suffix=r'\b'), Keyword.Minor),
|
29
|
+
(r'end', Keyword),
|
30
|
+
(words(minorkwexp, suffix=r'\b'), Keyword.Minor),
|
31
|
+
(r'0[xo][\da-fA-F_]+', Number),
|
32
|
+
(r'((\d[\d_]*)?\.)?\d[\d_]*([eE][\-+]?\d+)?', Number),
|
33
|
+
(r'_\w*', Name.Variable.Anonymous),
|
34
|
+
(r'[A-Z]\w*', Name.Variable),
|
35
|
+
(r'@\w+', Name.Variable),
|
36
|
+
(r'[a-z]\w*', Name),
|
37
|
+
(r'/\*', Comment, 'comment'),
|
38
|
+
(r'\%', Comment, 'commentline'),
|
39
|
+
(r'"', String.Symbol, 'string'),
|
40
|
+
(r'\'', String.Symbol, 'stringsingle'),
|
41
|
+
(r'@"', String.Symbol, 'atstring'),
|
42
|
+
(r'[\-+*^/!?<>=~:]+', Operator),
|
43
|
+
(r'[$,.[\]|(){}\\]+', Punctuation),
|
44
|
+
(r'.', Text),
|
45
|
+
],
|
46
|
+
'commentdoc': [
|
47
|
+
(words(dockw, prefix=r'@', suffix=r'\b'), Comment.Preproc),
|
48
|
+
(r'@', Comment),
|
49
|
+
],
|
50
|
+
'commentline': [
|
51
|
+
include('commentdoc'),
|
52
|
+
(r'[^@\n]+', Comment),
|
53
|
+
(r'$', Comment, '#pop'),
|
54
|
+
],
|
55
|
+
'comment': [
|
56
|
+
include('commentdoc'),
|
57
|
+
(r'[^@*/]+', Comment),
|
58
|
+
(r'/\*', Comment, '#push'),
|
59
|
+
(r'\*/', Comment, '#pop'),
|
60
|
+
(r'[*/]', Comment),
|
61
|
+
],
|
62
|
+
'stringescape': [
|
63
|
+
(r'\\u[0-9a-fA-F]{4}', String.Escape),
|
64
|
+
(r'\\[\'"ntr\\]', String.Escape),
|
65
|
+
],
|
66
|
+
'stringsingle': [
|
67
|
+
include('stringescape'),
|
68
|
+
(r'\'', String.Symbol, '#pop'),
|
69
|
+
(r'[^\'\\\n]+', String),
|
70
|
+
(r'\n', String.Escape.Error, '#pop'),
|
71
|
+
],
|
72
|
+
'string': [
|
73
|
+
include('stringescape'),
|
74
|
+
(r'"', String.Symbol, '#pop'),
|
75
|
+
(r'[^"\\\n]+', String),
|
76
|
+
(r'\n', String.Escape.Error, '#pop'),
|
77
|
+
],
|
78
|
+
'atstring': [
|
79
|
+
(r'""', String.Escape),
|
80
|
+
(r'"', String.Symbol, '#pop'),
|
81
|
+
(r'[^"]+', String),
|
82
|
+
]
|
83
|
+
}
|
84
|
+
|
85
|
+
|
86
|
+
class VisualPrologLexer(VisualPrologBaseLexer):
|
87
|
+
"""Lexer for VisualProlog
|
88
|
+
"""
|
89
|
+
name = 'Visual Prolog'
|
90
|
+
url = 'https://www.visual-prolog.com/'
|
91
|
+
aliases = ['visualprolog']
|
92
|
+
filenames = ['*.pro', '*.cl', '*.i', '*.pack', '*.ph']
|
93
|
+
version_added = '2.17'
|
94
|
+
|
95
|
+
majorkw = ('goal', 'namespace', 'interface', 'class', 'implement', 'where', 'open', 'inherits', 'supports', 'resolve',
|
96
|
+
'delegate', 'monitor', 'constants', 'domains', 'predicates', 'constructors', 'properties', 'clauses', 'facts')
|
97
|
+
minorkw = ('align', 'anyflow', 'as', 'bitsize', 'determ', 'digits', 'erroneous', 'externally', 'failure', 'from',
|
98
|
+
'guard', 'multi', 'nondeterm', 'or', 'orelse', 'otherwise', 'procedure', 'resolve', 'single', 'suspending')
|
99
|
+
directivekw = ('bininclude', 'else', 'elseif', 'endif', 'error', 'export', 'externally', 'from', 'grammargenerate',
|
100
|
+
'grammarinclude', 'if', 'include', 'message', 'options', 'orrequires', 'requires', 'stringinclude', 'then')
|
101
|
+
tokens = {
|
102
|
+
'root': [
|
103
|
+
(words(minorkw, suffix=r'\b'), Keyword.Minor),
|
104
|
+
(words(majorkw, suffix=r'\b'), Keyword),
|
105
|
+
(words(directivekw, prefix='#', suffix=r'\b'), Keyword.Directive),
|
106
|
+
inherit
|
107
|
+
]
|
108
|
+
}
|
109
|
+
|
110
|
+
def analyse_text(text):
|
111
|
+
"""Competes with IDL and Prolog on *.pro; div. lisps on*.cl and SwigLexer on *.i"""
|
112
|
+
# These are *really* good indicators (and not conflicting with the other languages)
|
113
|
+
# end-scope first on line e.g. 'end implement'
|
114
|
+
# section keyword alone on line e.g. 'clauses'
|
115
|
+
if re.search(r'^\s*(end\s+(interface|class|implement)|(clauses|predicates|domains|facts|constants|properties)\s*$)', text):
|
116
|
+
return 0.98
|
117
|
+
else:
|
118
|
+
return 0
|
119
|
+
|
120
|
+
|
121
|
+
class VisualPrologGrammarLexer(VisualPrologBaseLexer):
|
122
|
+
"""Lexer for VisualProlog grammar
|
123
|
+
"""
|
124
|
+
|
125
|
+
name = 'Visual Prolog Grammar'
|
126
|
+
url = 'https://www.visual-prolog.com/'
|
127
|
+
aliases = ['visualprologgrammar']
|
128
|
+
filenames = ['*.vipgrm']
|
129
|
+
version_added = '2.17'
|
130
|
+
|
131
|
+
majorkw = ('open', 'namespace', 'grammar', 'nonterminals',
|
132
|
+
'startsymbols', 'terminals', 'rules', 'precedence')
|
133
|
+
directivekw = ('bininclude', 'stringinclude')
|
134
|
+
tokens = {
|
135
|
+
'root': [
|
136
|
+
(words(majorkw, suffix=r'\b'), Keyword),
|
137
|
+
(words(directivekw, prefix='#', suffix=r'\b'), Keyword.Directive),
|
138
|
+
inherit
|
139
|
+
]
|
140
|
+
}
|
141
|
+
|
142
|
+
def analyse_text(text):
|
143
|
+
"""No competditors (currently)"""
|
144
|
+
# These are *really* good indicators
|
145
|
+
# end-scope first on line e.g. 'end grammar'
|
146
|
+
# section keyword alone on line e.g. 'rules'
|
147
|
+
if re.search(r'^\s*(end\s+grammar|(nonterminals|startsymbols|terminals|rules|precedence)\s*$)', text):
|
148
|
+
return 0.98
|
149
|
+
else:
|
150
|
+
return 0
|
@@ -0,0 +1,140 @@
|
|
1
|
+
"""
|
2
|
+
pygments.lexers.vyper
|
3
|
+
~~~~~~~~~~~~~~~~~~~~~
|
4
|
+
|
5
|
+
Lexer for the Vyper Smart Contract language.
|
6
|
+
|
7
|
+
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
|
8
|
+
:license: BSD, see LICENSE for details.
|
9
|
+
"""
|
10
|
+
|
11
|
+
from pygments.lexer import RegexLexer, bygroups, words
|
12
|
+
from pygments.token import (Comment, String, Name, Keyword, Number,
|
13
|
+
Operator, Punctuation, Text, Whitespace)
|
14
|
+
|
15
|
+
__all__ = ['VyperLexer']
|
16
|
+
|
17
|
+
|
18
|
+
class VyperLexer(RegexLexer):
|
19
|
+
"""For the Vyper smart contract language.
|
20
|
+
"""
|
21
|
+
name = 'Vyper'
|
22
|
+
aliases = ['vyper']
|
23
|
+
filenames = ['*.vy']
|
24
|
+
url = "https://vyper.readthedocs.io"
|
25
|
+
version_added = '2.17'
|
26
|
+
|
27
|
+
tokens = {
|
28
|
+
'root': [
|
29
|
+
# Whitespace
|
30
|
+
(r'\s+', Whitespace),
|
31
|
+
|
32
|
+
# Line continuations
|
33
|
+
(r'(\\)(\n|\r\n|\r)', bygroups(Text, Whitespace)),
|
34
|
+
|
35
|
+
# Comments - inline and multiline
|
36
|
+
(r'#.*$', Comment.Single),
|
37
|
+
(r'\"\"\"', Comment.Multiline, 'multiline-comment'),
|
38
|
+
|
39
|
+
# Strings - single and double
|
40
|
+
(r"'", String.Single, 'single-string'),
|
41
|
+
(r'"', String.Double, 'double-string'),
|
42
|
+
|
43
|
+
# Functions (working)
|
44
|
+
(r'(def)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)',
|
45
|
+
bygroups(Keyword, Whitespace, Name.Function)),
|
46
|
+
|
47
|
+
# Event and Struct
|
48
|
+
(r'(event|struct|interface|log)(\s+)([a-zA-Z_][a-zA-Z0-9_]*)',
|
49
|
+
bygroups(Keyword, Whitespace, Name.Class)),
|
50
|
+
|
51
|
+
# Imports
|
52
|
+
(r'(from)(\s+)(vyper\.\w+)(\s+)(import)(\s+)(\w+)',
|
53
|
+
bygroups(Keyword, Whitespace, Name.Namespace, Whitespace,
|
54
|
+
Keyword, Whitespace, Name.Class)),
|
55
|
+
|
56
|
+
# Numeric Literals
|
57
|
+
(r'\b0x[0-9a-fA-F]+\b', Number.Hex),
|
58
|
+
(r'\b(\d{1,3}(?:_\d{3})*|\d+)\b', Number.Integer),
|
59
|
+
(r'\b\d+\.\d*\b', Number.Float),
|
60
|
+
|
61
|
+
# Keywords
|
62
|
+
(words(('def', 'event', 'pass', 'return', 'for', 'while', 'if', 'elif',
|
63
|
+
'else', 'assert', 'raise', 'import', 'in', 'struct', 'implements',
|
64
|
+
'interface', 'from', 'indexed', 'log'),
|
65
|
+
prefix=r'\b', suffix=r'\b'), Keyword),
|
66
|
+
|
67
|
+
# Visibility and State Mutability
|
68
|
+
(words(('public', 'private', 'view', 'pure', 'constant',
|
69
|
+
'immutable', 'nonpayable'), prefix=r'\b', suffix=r'\b'),
|
70
|
+
Keyword.Declaration),
|
71
|
+
|
72
|
+
# Built-in Functions
|
73
|
+
(words(('bitwise_and', 'bitwise_not', 'bitwise_or', 'bitwise_xor', 'shift',
|
74
|
+
'create_minimal_proxy_to', 'create_copy_of', 'create_from_blueprint',
|
75
|
+
'ecadd', 'ecmul', 'ecrecover', 'keccak256', 'sha256', 'concat', 'convert',
|
76
|
+
'uint2str', 'extract32', 'slice', 'abs', 'ceil', 'floor', 'max', 'max_value',
|
77
|
+
'min', 'min_value', 'pow_mod256', 'sqrt', 'isqrt', 'uint256_addmod',
|
78
|
+
'uint256_mulmod', 'unsafe_add', 'unsafe_sub', 'unsafe_mul', 'unsafe_div',
|
79
|
+
'as_wei_value', 'blockhash', 'empty', 'len', 'method_id', '_abi_encode',
|
80
|
+
'_abi_decode', 'print', 'range'), prefix=r'\b', suffix=r'\b'),
|
81
|
+
Name.Builtin),
|
82
|
+
|
83
|
+
# Built-in Variables and Attributes
|
84
|
+
(words(('msg.sender', 'msg.value', 'block.timestamp', 'block.number', 'msg.gas'),
|
85
|
+
prefix=r'\b', suffix=r'\b'),
|
86
|
+
Name.Builtin.Pseudo),
|
87
|
+
|
88
|
+
(words(('uint', 'uint8', 'uint16', 'uint32', 'uint64', 'uint128', 'uint256',
|
89
|
+
'int', 'int8', 'int16', 'int32', 'int64', 'int128', 'int256', 'bool',
|
90
|
+
'decimal', 'bytes', 'bytes1', 'bytes2', 'bytes3', 'bytes4', 'bytes5',
|
91
|
+
'bytes6', 'bytes7', 'bytes8', 'bytes9', 'bytes10', 'bytes11',
|
92
|
+
'bytes12', 'bytes13', 'bytes14', 'bytes15', 'bytes16', 'bytes17',
|
93
|
+
'bytes18', 'bytes19', 'bytes20', 'bytes21', 'bytes22', 'bytes23',
|
94
|
+
'bytes24', 'bytes25', 'bytes26', 'bytes27', 'bytes28', 'bytes29',
|
95
|
+
'bytes30', 'bytes31', 'bytes32', 'string', 'String', 'address',
|
96
|
+
'enum', 'struct'), prefix=r'\b', suffix=r'\b'),
|
97
|
+
Keyword.Type),
|
98
|
+
|
99
|
+
# indexed keywords
|
100
|
+
(r'\b(indexed)\b(\s*)(\()(\s*)(\w+)(\s*)(\))',
|
101
|
+
bygroups(Keyword, Whitespace, Punctuation, Whitespace,
|
102
|
+
Keyword.Type, Punctuation)),
|
103
|
+
|
104
|
+
# Operators and Punctuation
|
105
|
+
(r'(\+|\-|\*|\/|<=?|>=?|==|!=|=|\||&|%)', Operator),
|
106
|
+
(r'[.,:;()\[\]{}]', Punctuation),
|
107
|
+
|
108
|
+
# Other variable names and types
|
109
|
+
(r'@[\w.]+', Name.Decorator),
|
110
|
+
(r'__\w+__', Name.Magic), # Matches double underscores followed by word characters
|
111
|
+
(r'EMPTY_BYTES32', Name.Constant),
|
112
|
+
(r'\bERC20\b', Name.Class),
|
113
|
+
(r'\bself\b', Name.Attribute),
|
114
|
+
|
115
|
+
(r'Bytes\[\d+\]', Keyword.Type),
|
116
|
+
|
117
|
+
# Generic names and variables
|
118
|
+
(r'\b[a-zA-Z_]\w*\b:', Name.Variable),
|
119
|
+
(r'\b[a-zA-Z_]\w*\b', Name),
|
120
|
+
|
121
|
+
],
|
122
|
+
|
123
|
+
'multiline-comment': [
|
124
|
+
(r'\"\"\"', Comment.Multiline, '#pop'),
|
125
|
+
(r'[^"]+', Comment.Multiline),
|
126
|
+
(r'\"', Comment.Multiline)
|
127
|
+
],
|
128
|
+
|
129
|
+
'single-string': [
|
130
|
+
(r"[^\\']+", String.Single),
|
131
|
+
(r"'", String.Single, '#pop'),
|
132
|
+
(r'\\.', String.Escape),
|
133
|
+
],
|
134
|
+
|
135
|
+
'double-string': [
|
136
|
+
(r'[^\\"]+', String.Double),
|
137
|
+
(r'"', String.Double, '#pop'),
|
138
|
+
(r'\\.', String.Escape),
|
139
|
+
]
|
140
|
+
}
|
@@ -4,10 +4,11 @@
|
|
4
4
|
|
5
5
|
Just export previously exported lexers.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
|
11
|
+
# ruff: noqa: F401
|
11
12
|
from pygments.lexers.html import HtmlLexer, DtdLexer, XmlLexer, XsltLexer, \
|
12
13
|
HamlLexer, ScamlLexer, JadeLexer
|
13
14
|
from pygments.lexers.css import CssLexer, SassLexer, ScssLexer
|
@@ -8,7 +8,7 @@
|
|
8
8
|
and https://webassembly.github.io/spec/core/text/.
|
9
9
|
|
10
10
|
|
11
|
-
:copyright: Copyright 2006-
|
11
|
+
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
|
12
12
|
:license: BSD, see LICENSE for details.
|
13
13
|
"""
|
14
14
|
|
@@ -63,14 +63,13 @@ builtins = (
|
|
63
63
|
|
64
64
|
class WatLexer(RegexLexer):
|
65
65
|
"""Lexer for the WebAssembly text format.
|
66
|
-
|
67
|
-
.. versionadded:: 2.9
|
68
66
|
"""
|
69
67
|
|
70
68
|
name = 'WebAssembly'
|
71
69
|
url = 'https://webassembly.org/'
|
72
70
|
aliases = ['wast', 'wat']
|
73
71
|
filenames = ['*.wat', '*.wast']
|
72
|
+
version_added = '2.9'
|
74
73
|
|
75
74
|
tokens = {
|
76
75
|
'root': [
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexers for Web IDL, including some extensions.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
|
@@ -39,14 +39,13 @@ _string = r'"[^"]*"'
|
|
39
39
|
class WebIDLLexer(RegexLexer):
|
40
40
|
"""
|
41
41
|
For Web IDL.
|
42
|
-
|
43
|
-
.. versionadded:: 2.6
|
44
42
|
"""
|
45
43
|
|
46
44
|
name = 'Web IDL'
|
47
45
|
url = 'https://www.w3.org/wiki/Web_IDL'
|
48
46
|
aliases = ['webidl']
|
49
47
|
filenames = ['*.webidl']
|
48
|
+
version_added = '2.6'
|
50
49
|
|
51
50
|
tokens = {
|
52
51
|
'common': [
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexers for misc. web stuff.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
|
@@ -26,8 +26,6 @@ __all__ = ['DuelLexer', 'SlimLexer', 'XQueryLexer', 'QmlLexer', 'CirruLexer']
|
|
26
26
|
class DuelLexer(RegexLexer):
|
27
27
|
"""
|
28
28
|
Lexer for Duel Views Engine (formerly JBST) markup with JavaScript code blocks.
|
29
|
-
|
30
|
-
.. versionadded:: 1.4
|
31
29
|
"""
|
32
30
|
|
33
31
|
name = 'Duel'
|
@@ -35,6 +33,7 @@ class DuelLexer(RegexLexer):
|
|
35
33
|
aliases = ['duel', 'jbst', 'jsonml+bst']
|
36
34
|
filenames = ['*.duel', '*.jbst']
|
37
35
|
mimetypes = ['text/x-duel', 'text/x-jbst']
|
36
|
+
version_added = '1.4'
|
38
37
|
|
39
38
|
flags = re.DOTALL
|
40
39
|
|
@@ -59,14 +58,13 @@ class XQueryLexer(ExtendedRegexLexer):
|
|
59
58
|
"""
|
60
59
|
An XQuery lexer, parsing a stream and outputting the tokens needed to
|
61
60
|
highlight xquery code.
|
62
|
-
|
63
|
-
.. versionadded:: 1.4
|
64
61
|
"""
|
65
62
|
name = 'XQuery'
|
66
63
|
url = 'https://www.w3.org/XML/Query/'
|
67
64
|
aliases = ['xquery', 'xqy', 'xq', 'xql', 'xqm']
|
68
65
|
filenames = ['*.xqy', '*.xquery', '*.xq', '*.xql', '*.xqm']
|
69
66
|
mimetypes = ['text/xquery', 'application/xquery']
|
67
|
+
version_added = '1.4'
|
70
68
|
|
71
69
|
xquery_parse_state = []
|
72
70
|
|
@@ -82,13 +80,13 @@ class XQueryLexer(ExtendedRegexLexer):
|
|
82
80
|
# ncnamechar = ncnamestartchar + (r"|-|\.|[0-9]|\u00B7|[\u0300-\u036F]|"
|
83
81
|
# r"[\u203F-\u2040]")
|
84
82
|
ncnamechar = r"(?:" + ncnamestartchar + r"|-|\.|[0-9])"
|
85
|
-
ncname = "(
|
83
|
+
ncname = f"(?:{ncnamestartchar}+{ncnamechar}*)"
|
86
84
|
pitarget_namestartchar = r"(?:[A-KN-WYZ]|_|:|[a-kn-wyz])"
|
87
85
|
pitarget_namechar = r"(?:" + pitarget_namestartchar + r"|-|\.|[0-9])"
|
88
|
-
pitarget = "
|
89
|
-
prefixedname = "
|
86
|
+
pitarget = f"{pitarget_namestartchar}+{pitarget_namechar}*"
|
87
|
+
prefixedname = f"{ncname}:{ncname}"
|
90
88
|
unprefixedname = ncname
|
91
|
-
qname = "(
|
89
|
+
qname = f"(?:{prefixedname}|{unprefixedname})"
|
92
90
|
|
93
91
|
entityref = r'(?:&(?:lt|gt|amp|quot|apos|nbsp);)'
|
94
92
|
charref = r'(?:&#[0-9]+;|&#x[0-9a-fA-F]+;)'
|
@@ -813,8 +811,6 @@ class XQueryLexer(ExtendedRegexLexer):
|
|
813
811
|
class QmlLexer(RegexLexer):
|
814
812
|
"""
|
815
813
|
For QML files.
|
816
|
-
|
817
|
-
.. versionadded:: 1.6
|
818
814
|
"""
|
819
815
|
|
820
816
|
# QML is based on javascript, so much of this is taken from the
|
@@ -825,6 +821,7 @@ class QmlLexer(RegexLexer):
|
|
825
821
|
aliases = ['qml', 'qbs']
|
826
822
|
filenames = ['*.qml', '*.qbs']
|
827
823
|
mimetypes = ['application/x-qml', 'application/x-qt.qbs+qml']
|
824
|
+
version_added = '1.6'
|
828
825
|
|
829
826
|
# pasted from JavascriptLexer, with some additions
|
830
827
|
flags = re.DOTALL | re.MULTILINE
|
@@ -891,8 +888,6 @@ class CirruLexer(RegexLexer):
|
|
891
888
|
* using ``$`` as folding operator
|
892
889
|
* using ``,`` as unfolding operator
|
893
890
|
* using indentations for nested blocks
|
894
|
-
|
895
|
-
.. versionadded:: 2.0
|
896
891
|
"""
|
897
892
|
|
898
893
|
name = 'Cirru'
|
@@ -900,6 +895,7 @@ class CirruLexer(RegexLexer):
|
|
900
895
|
aliases = ['cirru']
|
901
896
|
filenames = ['*.cirru']
|
902
897
|
mimetypes = ['text/x-cirru']
|
898
|
+
version_added = '2.0'
|
903
899
|
flags = re.MULTILINE
|
904
900
|
|
905
901
|
tokens = {
|
@@ -940,14 +936,14 @@ class CirruLexer(RegexLexer):
|
|
940
936
|
class SlimLexer(ExtendedRegexLexer):
|
941
937
|
"""
|
942
938
|
For Slim markup.
|
943
|
-
|
944
|
-
.. versionadded:: 2.0
|
945
939
|
"""
|
946
940
|
|
947
941
|
name = 'Slim'
|
948
942
|
aliases = ['slim']
|
949
943
|
filenames = ['*.slim']
|
950
944
|
mimetypes = ['text/x-slim']
|
945
|
+
url = 'https://slim-template.github.io'
|
946
|
+
version_added = '2.0'
|
951
947
|
|
952
948
|
flags = re.IGNORECASE
|
953
949
|
_dot = r'(?: \|\n(?=.* \|)|.)'
|
@@ -4,11 +4,11 @@
|
|
4
4
|
|
5
5
|
Lexer for the WebGPU Shading Language.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
|
11
|
-
from pygments.lexer import RegexLexer, include,
|
11
|
+
from pygments.lexer import RegexLexer, include, words, default
|
12
12
|
from pygments.token import Comment, Operator, Keyword, Name, \
|
13
13
|
Number, Punctuation, Whitespace
|
14
14
|
from pygments import unistring as uni
|
@@ -27,20 +27,19 @@ NotLineEndRE = '[^' + "".join(LineEndCodePoints) + ']'
|
|
27
27
|
LineEndRE = '[' + "".join(LineEndCodePoints) + ']'
|
28
28
|
|
29
29
|
# https://www.w3.org/TR/WGSL/#syntax-ident_pattern_token
|
30
|
-
ident_pattern_token = '([{}][{}]+)|[{}]'
|
30
|
+
ident_pattern_token = f'([{uni.xid_start}][{uni.xid_continue}]+)|[{uni.xid_start}]'
|
31
31
|
|
32
32
|
|
33
33
|
class WgslLexer(RegexLexer):
|
34
34
|
"""
|
35
35
|
Lexer for the WebGPU Shading Language.
|
36
|
-
|
37
|
-
.. versionadded:: 2.15
|
38
36
|
"""
|
39
37
|
name = 'WebGPU Shading Language'
|
40
38
|
url = 'https://www.w3.org/TR/WGSL/'
|
41
39
|
aliases = ['wgsl']
|
42
40
|
filenames = ['*.wgsl']
|
43
41
|
mimetypes = ['text/wgsl']
|
42
|
+
version_added = '2.15'
|
44
43
|
|
45
44
|
# https://www.w3.org/TR/WGSL/#var-and-value
|
46
45
|
keyword_decl = (words('var let const override'.split(),suffix=r'\b'), Keyword.Declaration)
|
@@ -323,8 +322,8 @@ class WgslLexer(RegexLexer):
|
|
323
322
|
'comments': [
|
324
323
|
# Line ending comments
|
325
324
|
# Match up CR/LF pair first.
|
326
|
-
(
|
327
|
-
(
|
325
|
+
(rf'//{NotLineEndRE}*{CR}{LF}', Comment.Single),
|
326
|
+
(rf'//{NotLineEndRE}*{LineEndRE}', Comment.Single),
|
328
327
|
(r'/\*', Comment.Multiline, 'block_comment'),
|
329
328
|
],
|
330
329
|
'attribute': [
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexers for the Whiley language.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
|
@@ -18,14 +18,13 @@ __all__ = ['WhileyLexer']
|
|
18
18
|
class WhileyLexer(RegexLexer):
|
19
19
|
"""
|
20
20
|
Lexer for the Whiley programming language.
|
21
|
-
|
22
|
-
.. versionadded:: 2.2
|
23
21
|
"""
|
24
22
|
name = 'Whiley'
|
25
23
|
url = 'http://whiley.org/'
|
26
24
|
filenames = ['*.whiley']
|
27
25
|
aliases = ['whiley']
|
28
26
|
mimetypes = ['text/x-whiley']
|
27
|
+
version_added = '2.2'
|
29
28
|
|
30
29
|
# See the language specification:
|
31
30
|
# http://whiley.org/download/WhileyLanguageSpec.pdf
|
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
TOC files describe game addons.
|
8
8
|
|
9
|
-
:copyright: Copyright 2006-
|
9
|
+
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
|
10
10
|
:license: BSD, see LICENSE for details.
|
11
11
|
"""
|
12
12
|
|
@@ -46,13 +46,13 @@ def _create_tag_line_token(inner_pattern, inner_token, ignore_case=False):
|
|
46
46
|
class WoWTocLexer(RegexLexer):
|
47
47
|
"""
|
48
48
|
Lexer for World of Warcraft TOC files.
|
49
|
-
|
50
|
-
.. versionadded:: 2.14
|
51
49
|
"""
|
52
50
|
|
53
51
|
name = "World of Warcraft TOC"
|
54
52
|
aliases = ["wowtoc"]
|
55
53
|
filenames = ["*.toc"]
|
54
|
+
url = 'https://wowpedia.fandom.com/wiki/TOC_format'
|
55
|
+
version_added = '2.14'
|
56
56
|
|
57
57
|
tokens = {
|
58
58
|
"root": [
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexer for Wren.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
|
@@ -12,20 +12,19 @@ import re
|
|
12
12
|
|
13
13
|
from pygments.lexer import include, RegexLexer, words
|
14
14
|
from pygments.token import Whitespace, Punctuation, Keyword, Name, Comment, \
|
15
|
-
Operator, Number, String
|
15
|
+
Operator, Number, String
|
16
16
|
|
17
17
|
__all__ = ['WrenLexer']
|
18
18
|
|
19
19
|
class WrenLexer(RegexLexer):
|
20
20
|
"""
|
21
21
|
For Wren source code, version 0.4.0.
|
22
|
-
|
23
|
-
.. versionadded:: 2.14.0
|
24
22
|
"""
|
25
23
|
name = 'Wren'
|
26
24
|
url = 'https://wren.io'
|
27
25
|
aliases = ['wren']
|
28
26
|
filenames = ['*.wren']
|
27
|
+
version_added = '2.14'
|
29
28
|
|
30
29
|
flags = re.MULTILINE | re.DOTALL
|
31
30
|
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexers for the X10 programming language.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
|
@@ -17,8 +17,6 @@ __all__ = ['X10Lexer']
|
|
17
17
|
class X10Lexer(RegexLexer):
|
18
18
|
"""
|
19
19
|
For the X10 language.
|
20
|
-
|
21
|
-
.. versionadded:: 2.2
|
22
20
|
"""
|
23
21
|
|
24
22
|
name = 'X10'
|
@@ -26,6 +24,7 @@ class X10Lexer(RegexLexer):
|
|
26
24
|
aliases = ['x10', 'xten']
|
27
25
|
filenames = ['*.x10']
|
28
26
|
mimetypes = ['text/x-x10']
|
27
|
+
version_added = '2.2'
|
29
28
|
|
30
29
|
keywords = (
|
31
30
|
'as', 'assert', 'async', 'at', 'athome', 'ateach', 'atomic',
|
@@ -56,10 +55,10 @@ class X10Lexer(RegexLexer):
|
|
56
55
|
(r'[^\S\n]+', Text),
|
57
56
|
(r'//.*?\n', Comment.Single),
|
58
57
|
(r'/\*(.|\n)*?\*/', Comment.Multiline),
|
59
|
-
(r'\b(
|
60
|
-
(r'\b(
|
61
|
-
(r'\b(
|
62
|
-
(r'\b(
|
58
|
+
(r'\b({})\b'.format('|'.join(keywords)), Keyword),
|
59
|
+
(r'\b({})\b'.format('|'.join(types)), Keyword.Type),
|
60
|
+
(r'\b({})\b'.format('|'.join(values)), Keyword.Constant),
|
61
|
+
(r'\b({})\b'.format('|'.join(modifiers)), Keyword.Declaration),
|
63
62
|
(r'"(\\\\|\\[^\\]|[^"\\])*"', String),
|
64
63
|
(r"'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'", String.Char),
|
65
64
|
(r'.', Text)
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexers for Xorg configs.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
|
@@ -21,6 +21,7 @@ class XorgLexer(RegexLexer):
|
|
21
21
|
aliases = ['xorg.conf']
|
22
22
|
filenames = ['xorg.conf']
|
23
23
|
mimetypes = []
|
24
|
+
version_added = ''
|
24
25
|
|
25
26
|
tokens = {
|
26
27
|
'root': [
|