pygments.rb 2.4.1 → 3.0.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 +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
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexers for various template engines' markup.
|
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
|
|
@@ -62,6 +62,7 @@ class ErbLexer(Lexer):
|
|
62
62
|
url = 'https://github.com/ruby/erb'
|
63
63
|
aliases = ['erb']
|
64
64
|
mimetypes = ['application/x-ruby-templating']
|
65
|
+
version_added = ''
|
65
66
|
|
66
67
|
_block_re = re.compile(r'(<%%|%%>|<%=|<%#|<%-|<%|-%>|%>|^%[^%].*?$)', re.M)
|
67
68
|
|
@@ -156,6 +157,7 @@ class SmartyLexer(RegexLexer):
|
|
156
157
|
aliases = ['smarty']
|
157
158
|
filenames = ['*.tpl']
|
158
159
|
mimetypes = ['application/x-smarty']
|
160
|
+
version_added = ''
|
159
161
|
|
160
162
|
flags = re.MULTILINE | re.DOTALL
|
161
163
|
|
@@ -212,6 +214,7 @@ class VelocityLexer(RegexLexer):
|
|
212
214
|
url = 'https://velocity.apache.org/'
|
213
215
|
aliases = ['velocity']
|
214
216
|
filenames = ['*.vm', '*.fhtml']
|
217
|
+
version_added = ''
|
215
218
|
|
216
219
|
flags = re.MULTILINE | re.DOTALL
|
217
220
|
|
@@ -292,8 +295,10 @@ class VelocityHtmlLexer(DelegatingLexer):
|
|
292
295
|
|
293
296
|
name = 'HTML+Velocity'
|
294
297
|
aliases = ['html+velocity']
|
298
|
+
version_added = ''
|
295
299
|
alias_filenames = ['*.html', '*.fhtml']
|
296
300
|
mimetypes = ['text/html+velocity']
|
301
|
+
url = 'https://velocity.apache.org/'
|
297
302
|
|
298
303
|
def __init__(self, **options):
|
299
304
|
super().__init__(HtmlLexer, VelocityLexer, **options)
|
@@ -308,8 +313,10 @@ class VelocityXmlLexer(DelegatingLexer):
|
|
308
313
|
|
309
314
|
name = 'XML+Velocity'
|
310
315
|
aliases = ['xml+velocity']
|
316
|
+
version_added = ''
|
311
317
|
alias_filenames = ['*.xml', '*.vm']
|
312
318
|
mimetypes = ['application/xml+velocity']
|
319
|
+
url = 'https://velocity.apache.org/'
|
313
320
|
|
314
321
|
def __init__(self, **options):
|
315
322
|
super().__init__(XmlLexer, VelocityLexer, **options)
|
@@ -323,8 +330,8 @@ class VelocityXmlLexer(DelegatingLexer):
|
|
323
330
|
|
324
331
|
class DjangoLexer(RegexLexer):
|
325
332
|
"""
|
326
|
-
Generic `
|
327
|
-
and `
|
333
|
+
Generic `Django <https://www.djangoproject.com/documentation/templates/>`_
|
334
|
+
and `Jinja <https://jinja.palletsprojects.com>`_ template lexer.
|
328
335
|
|
329
336
|
It just highlights django/jinja code between the preprocessor directives,
|
330
337
|
other data is left untouched by the lexer.
|
@@ -333,6 +340,8 @@ class DjangoLexer(RegexLexer):
|
|
333
340
|
name = 'Django/Jinja'
|
334
341
|
aliases = ['django', 'jinja']
|
335
342
|
mimetypes = ['application/x-django-templating', 'application/x-jinja']
|
343
|
+
url = 'https://www.djangoproject.com/documentation/templates'
|
344
|
+
version_added = ''
|
336
345
|
|
337
346
|
flags = re.M | re.S
|
338
347
|
|
@@ -408,8 +417,6 @@ class MyghtyLexer(RegexLexer):
|
|
408
417
|
"""
|
409
418
|
Generic myghty templates lexer. Code that isn't Myghty
|
410
419
|
markup is yielded as `Token.Other`.
|
411
|
-
|
412
|
-
.. versionadded:: 0.6
|
413
420
|
"""
|
414
421
|
|
415
422
|
name = 'Myghty'
|
@@ -417,6 +424,7 @@ class MyghtyLexer(RegexLexer):
|
|
417
424
|
aliases = ['myghty']
|
418
425
|
filenames = ['*.myt', 'autodelegate']
|
419
426
|
mimetypes = ['application/x-myghty']
|
427
|
+
version_added = '0.6'
|
420
428
|
|
421
429
|
tokens = {
|
422
430
|
'root': [
|
@@ -455,13 +463,13 @@ class MyghtyHtmlLexer(DelegatingLexer):
|
|
455
463
|
"""
|
456
464
|
Subclass of the `MyghtyLexer` that highlights unlexed data
|
457
465
|
with the `HtmlLexer`.
|
458
|
-
|
459
|
-
.. versionadded:: 0.6
|
460
466
|
"""
|
461
467
|
|
462
468
|
name = 'HTML+Myghty'
|
463
469
|
aliases = ['html+myghty']
|
464
470
|
mimetypes = ['text/html+myghty']
|
471
|
+
url = 'http://www.myghty.org/'
|
472
|
+
version_added = '0.6'
|
465
473
|
|
466
474
|
def __init__(self, **options):
|
467
475
|
super().__init__(HtmlLexer, MyghtyLexer, **options)
|
@@ -471,13 +479,13 @@ class MyghtyXmlLexer(DelegatingLexer):
|
|
471
479
|
"""
|
472
480
|
Subclass of the `MyghtyLexer` that highlights unlexed data
|
473
481
|
with the `XmlLexer`.
|
474
|
-
|
475
|
-
.. versionadded:: 0.6
|
476
482
|
"""
|
477
483
|
|
478
484
|
name = 'XML+Myghty'
|
479
485
|
aliases = ['xml+myghty']
|
480
486
|
mimetypes = ['application/xml+myghty']
|
487
|
+
url = 'http://www.myghty.org/'
|
488
|
+
version_added = '0.6'
|
481
489
|
|
482
490
|
def __init__(self, **options):
|
483
491
|
super().__init__(XmlLexer, MyghtyLexer, **options)
|
@@ -487,8 +495,6 @@ class MyghtyJavascriptLexer(DelegatingLexer):
|
|
487
495
|
"""
|
488
496
|
Subclass of the `MyghtyLexer` that highlights unlexed data
|
489
497
|
with the `JavascriptLexer`.
|
490
|
-
|
491
|
-
.. versionadded:: 0.6
|
492
498
|
"""
|
493
499
|
|
494
500
|
name = 'JavaScript+Myghty'
|
@@ -496,6 +502,8 @@ class MyghtyJavascriptLexer(DelegatingLexer):
|
|
496
502
|
mimetypes = ['application/x-javascript+myghty',
|
497
503
|
'text/x-javascript+myghty',
|
498
504
|
'text/javascript+mygthy']
|
505
|
+
url = 'http://www.myghty.org/'
|
506
|
+
version_added = '0.6'
|
499
507
|
|
500
508
|
def __init__(self, **options):
|
501
509
|
super().__init__(JavascriptLexer, MyghtyLexer, **options)
|
@@ -505,13 +513,13 @@ class MyghtyCssLexer(DelegatingLexer):
|
|
505
513
|
"""
|
506
514
|
Subclass of the `MyghtyLexer` that highlights unlexed data
|
507
515
|
with the `CssLexer`.
|
508
|
-
|
509
|
-
.. versionadded:: 0.6
|
510
516
|
"""
|
511
517
|
|
512
518
|
name = 'CSS+Myghty'
|
513
519
|
aliases = ['css+myghty']
|
514
520
|
mimetypes = ['text/css+myghty']
|
521
|
+
url = 'http://www.myghty.org/'
|
522
|
+
version_added = '0.6'
|
515
523
|
|
516
524
|
def __init__(self, **options):
|
517
525
|
super().__init__(CssLexer, MyghtyLexer, **options)
|
@@ -521,14 +529,13 @@ class MasonLexer(RegexLexer):
|
|
521
529
|
"""
|
522
530
|
Generic mason templates lexer. Stolen from Myghty lexer. Code that isn't
|
523
531
|
Mason markup is HTML.
|
524
|
-
|
525
|
-
.. versionadded:: 1.4
|
526
532
|
"""
|
527
533
|
name = 'Mason'
|
528
534
|
url = 'http://www.masonhq.com/'
|
529
535
|
aliases = ['mason']
|
530
536
|
filenames = ['*.m', '*.mhtml', '*.mc', '*.mi', 'autohandler', 'dhandler']
|
531
537
|
mimetypes = ['application/x-mason']
|
538
|
+
version_added = '1.4'
|
532
539
|
|
533
540
|
tokens = {
|
534
541
|
'root': [
|
@@ -576,8 +583,6 @@ class MakoLexer(RegexLexer):
|
|
576
583
|
"""
|
577
584
|
Generic mako templates lexer. Code that isn't Mako
|
578
585
|
markup is yielded as `Token.Other`.
|
579
|
-
|
580
|
-
.. versionadded:: 0.7
|
581
586
|
"""
|
582
587
|
|
583
588
|
name = 'Mako'
|
@@ -585,6 +590,7 @@ class MakoLexer(RegexLexer):
|
|
585
590
|
aliases = ['mako']
|
586
591
|
filenames = ['*.mao']
|
587
592
|
mimetypes = ['application/x-mako']
|
593
|
+
version_added = '0.7'
|
588
594
|
|
589
595
|
tokens = {
|
590
596
|
'root': [
|
@@ -643,13 +649,13 @@ class MakoHtmlLexer(DelegatingLexer):
|
|
643
649
|
"""
|
644
650
|
Subclass of the `MakoLexer` that highlights unlexed data
|
645
651
|
with the `HtmlLexer`.
|
646
|
-
|
647
|
-
.. versionadded:: 0.7
|
648
652
|
"""
|
649
653
|
|
650
654
|
name = 'HTML+Mako'
|
651
655
|
aliases = ['html+mako']
|
652
656
|
mimetypes = ['text/html+mako']
|
657
|
+
url = 'http://www.makotemplates.org/'
|
658
|
+
version_added = '0.7'
|
653
659
|
|
654
660
|
def __init__(self, **options):
|
655
661
|
super().__init__(HtmlLexer, MakoLexer, **options)
|
@@ -659,13 +665,13 @@ class MakoXmlLexer(DelegatingLexer):
|
|
659
665
|
"""
|
660
666
|
Subclass of the `MakoLexer` that highlights unlexed data
|
661
667
|
with the `XmlLexer`.
|
662
|
-
|
663
|
-
.. versionadded:: 0.7
|
664
668
|
"""
|
665
669
|
|
666
670
|
name = 'XML+Mako'
|
667
671
|
aliases = ['xml+mako']
|
668
672
|
mimetypes = ['application/xml+mako']
|
673
|
+
url = 'http://www.makotemplates.org/'
|
674
|
+
version_added = '0.7'
|
669
675
|
|
670
676
|
def __init__(self, **options):
|
671
677
|
super().__init__(XmlLexer, MakoLexer, **options)
|
@@ -675,8 +681,6 @@ class MakoJavascriptLexer(DelegatingLexer):
|
|
675
681
|
"""
|
676
682
|
Subclass of the `MakoLexer` that highlights unlexed data
|
677
683
|
with the `JavascriptLexer`.
|
678
|
-
|
679
|
-
.. versionadded:: 0.7
|
680
684
|
"""
|
681
685
|
|
682
686
|
name = 'JavaScript+Mako'
|
@@ -684,6 +688,8 @@ class MakoJavascriptLexer(DelegatingLexer):
|
|
684
688
|
mimetypes = ['application/x-javascript+mako',
|
685
689
|
'text/x-javascript+mako',
|
686
690
|
'text/javascript+mako']
|
691
|
+
url = 'http://www.makotemplates.org/'
|
692
|
+
version_added = '0.7'
|
687
693
|
|
688
694
|
def __init__(self, **options):
|
689
695
|
super().__init__(JavascriptLexer, MakoLexer, **options)
|
@@ -693,13 +699,13 @@ class MakoCssLexer(DelegatingLexer):
|
|
693
699
|
"""
|
694
700
|
Subclass of the `MakoLexer` that highlights unlexed data
|
695
701
|
with the `CssLexer`.
|
696
|
-
|
697
|
-
.. versionadded:: 0.7
|
698
702
|
"""
|
699
703
|
|
700
704
|
name = 'CSS+Mako'
|
701
705
|
aliases = ['css+mako']
|
702
706
|
mimetypes = ['text/css+mako']
|
707
|
+
url = 'http://www.makotemplates.org/'
|
708
|
+
version_added = '0.7'
|
703
709
|
|
704
710
|
def __init__(self, **options):
|
705
711
|
super().__init__(CssLexer, MakoLexer, **options)
|
@@ -734,6 +740,7 @@ class CheetahLexer(RegexLexer):
|
|
734
740
|
aliases = ['cheetah', 'spitfire']
|
735
741
|
filenames = ['*.tmpl', '*.spt']
|
736
742
|
mimetypes = ['application/x-cheetah', 'application/x-spitfire']
|
743
|
+
version_added = ''
|
737
744
|
|
738
745
|
tokens = {
|
739
746
|
'root': [
|
@@ -773,6 +780,8 @@ class CheetahHtmlLexer(DelegatingLexer):
|
|
773
780
|
name = 'HTML+Cheetah'
|
774
781
|
aliases = ['html+cheetah', 'html+spitfire', 'htmlcheetah']
|
775
782
|
mimetypes = ['text/html+cheetah', 'text/html+spitfire']
|
783
|
+
url = 'http://www.cheetahtemplate.org/'
|
784
|
+
version_added = ''
|
776
785
|
|
777
786
|
def __init__(self, **options):
|
778
787
|
super().__init__(HtmlLexer, CheetahLexer, **options)
|
@@ -787,6 +796,8 @@ class CheetahXmlLexer(DelegatingLexer):
|
|
787
796
|
name = 'XML+Cheetah'
|
788
797
|
aliases = ['xml+cheetah', 'xml+spitfire']
|
789
798
|
mimetypes = ['application/xml+cheetah', 'application/xml+spitfire']
|
799
|
+
url = 'http://www.cheetahtemplate.org/'
|
800
|
+
version_added = ''
|
790
801
|
|
791
802
|
def __init__(self, **options):
|
792
803
|
super().__init__(XmlLexer, CheetahLexer, **options)
|
@@ -807,6 +818,8 @@ class CheetahJavascriptLexer(DelegatingLexer):
|
|
807
818
|
'application/x-javascript+spitfire',
|
808
819
|
'text/x-javascript+spitfire',
|
809
820
|
'text/javascript+spitfire']
|
821
|
+
url = 'http://www.cheetahtemplate.org/'
|
822
|
+
version_added = ''
|
810
823
|
|
811
824
|
def __init__(self, **options):
|
812
825
|
super().__init__(JavascriptLexer, CheetahLexer, **options)
|
@@ -818,9 +831,10 @@ class GenshiTextLexer(RegexLexer):
|
|
818
831
|
"""
|
819
832
|
|
820
833
|
name = 'Genshi Text'
|
821
|
-
url = '
|
834
|
+
url = 'https://genshi.edgewall.org/'
|
822
835
|
aliases = ['genshitext']
|
823
836
|
mimetypes = ['application/x-genshi-text', 'text/x-genshi']
|
837
|
+
version_added = ''
|
824
838
|
|
825
839
|
tokens = {
|
826
840
|
'root': [
|
@@ -913,14 +927,16 @@ class GenshiMarkupLexer(RegexLexer):
|
|
913
927
|
|
914
928
|
class HtmlGenshiLexer(DelegatingLexer):
|
915
929
|
"""
|
916
|
-
A lexer that highlights `genshi <
|
930
|
+
A lexer that highlights `genshi <https://genshi.edgewall.org/>`_ and
|
917
931
|
`kid <http://kid-templating.org/>`_ kid HTML templates.
|
918
932
|
"""
|
919
933
|
|
920
934
|
name = 'HTML+Genshi'
|
921
935
|
aliases = ['html+genshi', 'html+kid']
|
936
|
+
version_added = ''
|
922
937
|
alias_filenames = ['*.html', '*.htm', '*.xhtml']
|
923
938
|
mimetypes = ['text/html+genshi']
|
939
|
+
url = 'https://genshi.edgewall.org/'
|
924
940
|
|
925
941
|
def __init__(self, **options):
|
926
942
|
super().__init__(HtmlLexer, GenshiMarkupLexer, **options)
|
@@ -936,15 +952,17 @@ class HtmlGenshiLexer(DelegatingLexer):
|
|
936
952
|
|
937
953
|
class GenshiLexer(DelegatingLexer):
|
938
954
|
"""
|
939
|
-
A lexer that highlights `genshi <
|
955
|
+
A lexer that highlights `genshi <https://genshi.edgewall.org/>`_ and
|
940
956
|
`kid <http://kid-templating.org/>`_ kid XML templates.
|
941
957
|
"""
|
942
958
|
|
943
959
|
name = 'Genshi'
|
944
960
|
aliases = ['genshi', 'kid', 'xml+genshi', 'xml+kid']
|
945
961
|
filenames = ['*.kid']
|
962
|
+
version_added = ''
|
946
963
|
alias_filenames = ['*.xml']
|
947
964
|
mimetypes = ['application/x-genshi', 'application/x-kid']
|
965
|
+
url = 'https://genshi.edgewall.org/'
|
948
966
|
|
949
967
|
def __init__(self, **options):
|
950
968
|
super().__init__(XmlLexer, GenshiMarkupLexer, **options)
|
@@ -966,10 +984,12 @@ class JavascriptGenshiLexer(DelegatingLexer):
|
|
966
984
|
name = 'JavaScript+Genshi Text'
|
967
985
|
aliases = ['js+genshitext', 'js+genshi', 'javascript+genshitext',
|
968
986
|
'javascript+genshi']
|
987
|
+
version_added = ''
|
969
988
|
alias_filenames = ['*.js']
|
970
989
|
mimetypes = ['application/x-javascript+genshi',
|
971
990
|
'text/x-javascript+genshi',
|
972
991
|
'text/javascript+genshi']
|
992
|
+
url = 'https://genshi.edgewall.org'
|
973
993
|
|
974
994
|
def __init__(self, **options):
|
975
995
|
super().__init__(JavascriptLexer, GenshiTextLexer, **options)
|
@@ -985,8 +1005,10 @@ class CssGenshiLexer(DelegatingLexer):
|
|
985
1005
|
|
986
1006
|
name = 'CSS+Genshi Text'
|
987
1007
|
aliases = ['css+genshitext', 'css+genshi']
|
1008
|
+
version_added = ''
|
988
1009
|
alias_filenames = ['*.css']
|
989
1010
|
mimetypes = ['text/css+genshi']
|
1011
|
+
url = 'https://genshi.edgewall.org'
|
990
1012
|
|
991
1013
|
def __init__(self, **options):
|
992
1014
|
super().__init__(CssLexer, GenshiTextLexer, **options)
|
@@ -1006,8 +1028,11 @@ class RhtmlLexer(DelegatingLexer):
|
|
1006
1028
|
name = 'RHTML'
|
1007
1029
|
aliases = ['rhtml', 'html+erb', 'html+ruby']
|
1008
1030
|
filenames = ['*.rhtml']
|
1031
|
+
version_added = ''
|
1009
1032
|
alias_filenames = ['*.html', '*.htm', '*.xhtml']
|
1010
1033
|
mimetypes = ['text/html+ruby']
|
1034
|
+
url = 'https://github.com/ruby/erb'
|
1035
|
+
|
1011
1036
|
|
1012
1037
|
def __init__(self, **options):
|
1013
1038
|
super().__init__(HtmlLexer, ErbLexer, **options)
|
@@ -1028,8 +1053,10 @@ class XmlErbLexer(DelegatingLexer):
|
|
1028
1053
|
|
1029
1054
|
name = 'XML+Ruby'
|
1030
1055
|
aliases = ['xml+ruby', 'xml+erb']
|
1056
|
+
version_added = ''
|
1031
1057
|
alias_filenames = ['*.xml']
|
1032
1058
|
mimetypes = ['application/xml+ruby']
|
1059
|
+
url = 'https://github.com/ruby/erb'
|
1033
1060
|
|
1034
1061
|
def __init__(self, **options):
|
1035
1062
|
super().__init__(XmlLexer, ErbLexer, **options)
|
@@ -1048,8 +1075,10 @@ class CssErbLexer(DelegatingLexer):
|
|
1048
1075
|
|
1049
1076
|
name = 'CSS+Ruby'
|
1050
1077
|
aliases = ['css+ruby', 'css+erb']
|
1078
|
+
version_added = ''
|
1051
1079
|
alias_filenames = ['*.css']
|
1052
1080
|
mimetypes = ['text/css+ruby']
|
1081
|
+
url = 'https://github.com/ruby/erb'
|
1053
1082
|
|
1054
1083
|
def __init__(self, **options):
|
1055
1084
|
super().__init__(CssLexer, ErbLexer, **options)
|
@@ -1066,10 +1095,12 @@ class JavascriptErbLexer(DelegatingLexer):
|
|
1066
1095
|
|
1067
1096
|
name = 'JavaScript+Ruby'
|
1068
1097
|
aliases = ['javascript+ruby', 'js+ruby', 'javascript+erb', 'js+erb']
|
1098
|
+
version_added = ''
|
1069
1099
|
alias_filenames = ['*.js']
|
1070
1100
|
mimetypes = ['application/x-javascript+ruby',
|
1071
1101
|
'text/x-javascript+ruby',
|
1072
1102
|
'text/javascript+ruby']
|
1103
|
+
url = 'https://github.com/ruby/erb'
|
1073
1104
|
|
1074
1105
|
def __init__(self, **options):
|
1075
1106
|
super().__init__(JavascriptLexer, ErbLexer, **options)
|
@@ -1088,11 +1119,14 @@ class HtmlPhpLexer(DelegatingLexer):
|
|
1088
1119
|
name = 'HTML+PHP'
|
1089
1120
|
aliases = ['html+php']
|
1090
1121
|
filenames = ['*.phtml']
|
1122
|
+
version_added = ''
|
1091
1123
|
alias_filenames = ['*.php', '*.html', '*.htm', '*.xhtml',
|
1092
1124
|
'*.php[345]']
|
1093
1125
|
mimetypes = ['application/x-php',
|
1094
1126
|
'application/x-httpd-php', 'application/x-httpd-php3',
|
1095
1127
|
'application/x-httpd-php4', 'application/x-httpd-php5']
|
1128
|
+
url = 'https://www.php.net'
|
1129
|
+
|
1096
1130
|
|
1097
1131
|
def __init__(self, **options):
|
1098
1132
|
super().__init__(HtmlLexer, PhpLexer, **options)
|
@@ -1111,8 +1145,10 @@ class XmlPhpLexer(DelegatingLexer):
|
|
1111
1145
|
|
1112
1146
|
name = 'XML+PHP'
|
1113
1147
|
aliases = ['xml+php']
|
1148
|
+
version_added = ''
|
1114
1149
|
alias_filenames = ['*.xml', '*.php', '*.php[345]']
|
1115
1150
|
mimetypes = ['application/xml+php']
|
1151
|
+
url = 'https://www.php.net'
|
1116
1152
|
|
1117
1153
|
def __init__(self, **options):
|
1118
1154
|
super().__init__(XmlLexer, PhpLexer, **options)
|
@@ -1131,8 +1167,10 @@ class CssPhpLexer(DelegatingLexer):
|
|
1131
1167
|
|
1132
1168
|
name = 'CSS+PHP'
|
1133
1169
|
aliases = ['css+php']
|
1170
|
+
version_added = ''
|
1134
1171
|
alias_filenames = ['*.css']
|
1135
1172
|
mimetypes = ['text/css+php']
|
1173
|
+
url = 'https://www.php.net'
|
1136
1174
|
|
1137
1175
|
def __init__(self, **options):
|
1138
1176
|
super().__init__(CssLexer, PhpLexer, **options)
|
@@ -1149,10 +1187,12 @@ class JavascriptPhpLexer(DelegatingLexer):
|
|
1149
1187
|
|
1150
1188
|
name = 'JavaScript+PHP'
|
1151
1189
|
aliases = ['javascript+php', 'js+php']
|
1190
|
+
version_added = ''
|
1152
1191
|
alias_filenames = ['*.js']
|
1153
1192
|
mimetypes = ['application/x-javascript+php',
|
1154
1193
|
'text/x-javascript+php',
|
1155
1194
|
'text/javascript+php']
|
1195
|
+
url = 'https://www.php.net'
|
1156
1196
|
|
1157
1197
|
def __init__(self, **options):
|
1158
1198
|
super().__init__(JavascriptLexer, PhpLexer, **options)
|
@@ -1171,8 +1211,10 @@ class HtmlSmartyLexer(DelegatingLexer):
|
|
1171
1211
|
|
1172
1212
|
name = 'HTML+Smarty'
|
1173
1213
|
aliases = ['html+smarty']
|
1214
|
+
version_added = ''
|
1174
1215
|
alias_filenames = ['*.html', '*.htm', '*.xhtml', '*.tpl']
|
1175
1216
|
mimetypes = ['text/html+smarty']
|
1217
|
+
url = 'https://www.smarty.net/'
|
1176
1218
|
|
1177
1219
|
def __init__(self, **options):
|
1178
1220
|
super().__init__(HtmlLexer, SmartyLexer, **options)
|
@@ -1192,8 +1234,10 @@ class XmlSmartyLexer(DelegatingLexer):
|
|
1192
1234
|
|
1193
1235
|
name = 'XML+Smarty'
|
1194
1236
|
aliases = ['xml+smarty']
|
1237
|
+
version_added = ''
|
1195
1238
|
alias_filenames = ['*.xml', '*.tpl']
|
1196
1239
|
mimetypes = ['application/xml+smarty']
|
1240
|
+
url = 'https://www.smarty.net/'
|
1197
1241
|
|
1198
1242
|
def __init__(self, **options):
|
1199
1243
|
super().__init__(XmlLexer, SmartyLexer, **options)
|
@@ -1213,8 +1257,10 @@ class CssSmartyLexer(DelegatingLexer):
|
|
1213
1257
|
|
1214
1258
|
name = 'CSS+Smarty'
|
1215
1259
|
aliases = ['css+smarty']
|
1260
|
+
version_added = ''
|
1216
1261
|
alias_filenames = ['*.css', '*.tpl']
|
1217
1262
|
mimetypes = ['text/css+smarty']
|
1263
|
+
url = 'https://www.smarty.net/'
|
1218
1264
|
|
1219
1265
|
def __init__(self, **options):
|
1220
1266
|
super().__init__(CssLexer, SmartyLexer, **options)
|
@@ -1231,10 +1277,12 @@ class JavascriptSmartyLexer(DelegatingLexer):
|
|
1231
1277
|
|
1232
1278
|
name = 'JavaScript+Smarty'
|
1233
1279
|
aliases = ['javascript+smarty', 'js+smarty']
|
1280
|
+
version_added = ''
|
1234
1281
|
alias_filenames = ['*.js', '*.tpl']
|
1235
1282
|
mimetypes = ['application/x-javascript+smarty',
|
1236
1283
|
'text/x-javascript+smarty',
|
1237
1284
|
'text/javascript+smarty']
|
1285
|
+
url = 'https://www.smarty.net/'
|
1238
1286
|
|
1239
1287
|
def __init__(self, **options):
|
1240
1288
|
super().__init__(JavascriptLexer, SmartyLexer, **options)
|
@@ -1254,8 +1302,10 @@ class HtmlDjangoLexer(DelegatingLexer):
|
|
1254
1302
|
name = 'HTML+Django/Jinja'
|
1255
1303
|
aliases = ['html+django', 'html+jinja', 'htmldjango']
|
1256
1304
|
filenames = ['*.html.j2', '*.htm.j2', '*.xhtml.j2', '*.html.jinja2', '*.htm.jinja2', '*.xhtml.jinja2']
|
1305
|
+
version_added = ''
|
1257
1306
|
alias_filenames = ['*.html', '*.htm', '*.xhtml']
|
1258
1307
|
mimetypes = ['text/html+django', 'text/html+jinja']
|
1308
|
+
url = 'https://www.djangoproject.com/documentation/templates'
|
1259
1309
|
|
1260
1310
|
def __init__(self, **options):
|
1261
1311
|
super().__init__(HtmlLexer, DjangoLexer, **options)
|
@@ -1276,8 +1326,10 @@ class XmlDjangoLexer(DelegatingLexer):
|
|
1276
1326
|
name = 'XML+Django/Jinja'
|
1277
1327
|
aliases = ['xml+django', 'xml+jinja']
|
1278
1328
|
filenames = ['*.xml.j2', '*.xml.jinja2']
|
1329
|
+
version_added = ''
|
1279
1330
|
alias_filenames = ['*.xml']
|
1280
1331
|
mimetypes = ['application/xml+django', 'application/xml+jinja']
|
1332
|
+
url = 'https://www.djangoproject.com/documentation/templates'
|
1281
1333
|
|
1282
1334
|
def __init__(self, **options):
|
1283
1335
|
super().__init__(XmlLexer, DjangoLexer, **options)
|
@@ -1298,8 +1350,10 @@ class CssDjangoLexer(DelegatingLexer):
|
|
1298
1350
|
name = 'CSS+Django/Jinja'
|
1299
1351
|
aliases = ['css+django', 'css+jinja']
|
1300
1352
|
filenames = ['*.css.j2', '*.css.jinja2']
|
1353
|
+
version_added = ''
|
1301
1354
|
alias_filenames = ['*.css']
|
1302
1355
|
mimetypes = ['text/css+django', 'text/css+jinja']
|
1356
|
+
url = 'https://www.djangoproject.com/documentation/templates'
|
1303
1357
|
|
1304
1358
|
def __init__(self, **options):
|
1305
1359
|
super().__init__(CssLexer, DjangoLexer, **options)
|
@@ -1318,6 +1372,7 @@ class JavascriptDjangoLexer(DelegatingLexer):
|
|
1318
1372
|
aliases = ['javascript+django', 'js+django',
|
1319
1373
|
'javascript+jinja', 'js+jinja']
|
1320
1374
|
filenames = ['*.js.j2', '*.js.jinja2']
|
1375
|
+
version_added = ''
|
1321
1376
|
alias_filenames = ['*.js']
|
1322
1377
|
mimetypes = ['application/x-javascript+django',
|
1323
1378
|
'application/x-javascript+jinja',
|
@@ -1325,6 +1380,7 @@ class JavascriptDjangoLexer(DelegatingLexer):
|
|
1325
1380
|
'text/x-javascript+jinja',
|
1326
1381
|
'text/javascript+django',
|
1327
1382
|
'text/javascript+jinja']
|
1383
|
+
url = 'https://www.djangoproject.com/documentation/templates'
|
1328
1384
|
|
1329
1385
|
def __init__(self, **options):
|
1330
1386
|
super().__init__(JavascriptLexer, DjangoLexer, **options)
|
@@ -1361,13 +1417,13 @@ class JspRootLexer(RegexLexer):
|
|
1361
1417
|
class JspLexer(DelegatingLexer):
|
1362
1418
|
"""
|
1363
1419
|
Lexer for Java Server Pages.
|
1364
|
-
|
1365
|
-
.. versionadded:: 0.7
|
1366
1420
|
"""
|
1367
1421
|
name = 'Java Server Page'
|
1368
1422
|
aliases = ['jsp']
|
1369
1423
|
filenames = ['*.jsp']
|
1370
1424
|
mimetypes = ['application/x-jsp']
|
1425
|
+
url = 'https://projects.eclipse.org/projects/ee4j.jsp'
|
1426
|
+
version_added = '0.7'
|
1371
1427
|
|
1372
1428
|
def __init__(self, **options):
|
1373
1429
|
super().__init__(XmlLexer, JspRootLexer, **options)
|
@@ -1384,13 +1440,13 @@ class JspLexer(DelegatingLexer):
|
|
1384
1440
|
class EvoqueLexer(RegexLexer):
|
1385
1441
|
"""
|
1386
1442
|
For files using the Evoque templating system.
|
1387
|
-
|
1388
|
-
.. versionadded:: 1.1
|
1389
1443
|
"""
|
1390
1444
|
name = 'Evoque'
|
1391
1445
|
aliases = ['evoque']
|
1392
1446
|
filenames = ['*.evoque']
|
1393
1447
|
mimetypes = ['application/x-evoque']
|
1448
|
+
url = 'https://gizmojo.org/templating'
|
1449
|
+
version_added = '1.1'
|
1394
1450
|
|
1395
1451
|
flags = re.DOTALL
|
1396
1452
|
|
@@ -1442,13 +1498,13 @@ class EvoqueHtmlLexer(DelegatingLexer):
|
|
1442
1498
|
"""
|
1443
1499
|
Subclass of the `EvoqueLexer` that highlights unlexed data with the
|
1444
1500
|
`HtmlLexer`.
|
1445
|
-
|
1446
|
-
.. versionadded:: 1.1
|
1447
1501
|
"""
|
1448
1502
|
name = 'HTML+Evoque'
|
1449
1503
|
aliases = ['html+evoque']
|
1450
1504
|
filenames = ['*.html']
|
1451
1505
|
mimetypes = ['text/html+evoque']
|
1506
|
+
url = 'https://gizmojo.org/templating'
|
1507
|
+
version_added = '1.1'
|
1452
1508
|
|
1453
1509
|
def __init__(self, **options):
|
1454
1510
|
super().__init__(HtmlLexer, EvoqueLexer, **options)
|
@@ -1461,13 +1517,13 @@ class EvoqueXmlLexer(DelegatingLexer):
|
|
1461
1517
|
"""
|
1462
1518
|
Subclass of the `EvoqueLexer` that highlights unlexed data with the
|
1463
1519
|
`XmlLexer`.
|
1464
|
-
|
1465
|
-
.. versionadded:: 1.1
|
1466
1520
|
"""
|
1467
1521
|
name = 'XML+Evoque'
|
1468
1522
|
aliases = ['xml+evoque']
|
1469
1523
|
filenames = ['*.xml']
|
1470
1524
|
mimetypes = ['application/xml+evoque']
|
1525
|
+
url = 'https://gizmojo.org/templating'
|
1526
|
+
version_added = '1.1'
|
1471
1527
|
|
1472
1528
|
def __init__(self, **options):
|
1473
1529
|
super().__init__(XmlLexer, EvoqueLexer, **options)
|
@@ -1484,6 +1540,9 @@ class ColdfusionLexer(RegexLexer):
|
|
1484
1540
|
aliases = ['cfs']
|
1485
1541
|
filenames = []
|
1486
1542
|
mimetypes = []
|
1543
|
+
url = 'https://www.adobe.com/products/coldfusion-family.html'
|
1544
|
+
version_added = ''
|
1545
|
+
|
1487
1546
|
flags = re.IGNORECASE
|
1488
1547
|
|
1489
1548
|
tokens = {
|
@@ -1532,6 +1591,7 @@ class ColdfusionMarkupLexer(RegexLexer):
|
|
1532
1591
|
aliases = ['cf']
|
1533
1592
|
filenames = []
|
1534
1593
|
mimetypes = []
|
1594
|
+
url = 'https://www.adobe.com/products/coldfusion-family.html'
|
1535
1595
|
|
1536
1596
|
tokens = {
|
1537
1597
|
'root': [
|
@@ -1578,6 +1638,8 @@ class ColdfusionHtmlLexer(DelegatingLexer):
|
|
1578
1638
|
aliases = ['cfm']
|
1579
1639
|
filenames = ['*.cfm', '*.cfml']
|
1580
1640
|
mimetypes = ['application/x-coldfusion']
|
1641
|
+
url = 'https://www.adobe.com/products/coldfusion-family.html'
|
1642
|
+
version_added = ''
|
1581
1643
|
|
1582
1644
|
def __init__(self, **options):
|
1583
1645
|
super().__init__(HtmlLexer, ColdfusionMarkupLexer, **options)
|
@@ -1586,13 +1648,13 @@ class ColdfusionHtmlLexer(DelegatingLexer):
|
|
1586
1648
|
class ColdfusionCFCLexer(DelegatingLexer):
|
1587
1649
|
"""
|
1588
1650
|
Coldfusion markup/script components
|
1589
|
-
|
1590
|
-
.. versionadded:: 2.0
|
1591
1651
|
"""
|
1592
1652
|
name = 'Coldfusion CFC'
|
1593
1653
|
aliases = ['cfc']
|
1594
1654
|
filenames = ['*.cfc']
|
1595
1655
|
mimetypes = []
|
1656
|
+
url = 'https://www.adobe.com/products/coldfusion-family.html'
|
1657
|
+
version_added = '2.0'
|
1596
1658
|
|
1597
1659
|
def __init__(self, **options):
|
1598
1660
|
super().__init__(ColdfusionHtmlLexer, ColdfusionLexer, **options)
|
@@ -1601,13 +1663,13 @@ class ColdfusionCFCLexer(DelegatingLexer):
|
|
1601
1663
|
class SspLexer(DelegatingLexer):
|
1602
1664
|
"""
|
1603
1665
|
Lexer for Scalate Server Pages.
|
1604
|
-
|
1605
|
-
.. versionadded:: 1.4
|
1606
1666
|
"""
|
1607
1667
|
name = 'Scalate Server Page'
|
1608
1668
|
aliases = ['ssp']
|
1609
1669
|
filenames = ['*.ssp']
|
1610
1670
|
mimetypes = ['application/x-ssp']
|
1671
|
+
url = 'https://scalate.github.io/scalate/'
|
1672
|
+
version_added = '1.4'
|
1611
1673
|
|
1612
1674
|
def __init__(self, **options):
|
1613
1675
|
super().__init__(XmlLexer, JspRootLexer, **options)
|
@@ -1647,14 +1709,14 @@ class TeaTemplateRootLexer(RegexLexer):
|
|
1647
1709
|
|
1648
1710
|
class TeaTemplateLexer(DelegatingLexer):
|
1649
1711
|
"""
|
1650
|
-
Lexer for
|
1651
|
-
|
1652
|
-
.. versionadded:: 1.5
|
1712
|
+
Lexer for Tea Templates.
|
1653
1713
|
"""
|
1654
1714
|
name = 'Tea'
|
1655
1715
|
aliases = ['tea']
|
1656
1716
|
filenames = ['*.tea']
|
1657
1717
|
mimetypes = ['text/x-tea']
|
1718
|
+
url = 'https://github.com/teatrove/teatrove'
|
1719
|
+
version_added = '1.5'
|
1658
1720
|
|
1659
1721
|
def __init__(self, **options):
|
1660
1722
|
super().__init__(XmlLexer, TeaTemplateRootLexer, **options)
|
@@ -1674,17 +1736,17 @@ class LassoHtmlLexer(DelegatingLexer):
|
|
1674
1736
|
`HtmlLexer`.
|
1675
1737
|
|
1676
1738
|
Nested JavaScript and CSS is also highlighted.
|
1677
|
-
|
1678
|
-
.. versionadded:: 1.6
|
1679
1739
|
"""
|
1680
1740
|
|
1681
1741
|
name = 'HTML+Lasso'
|
1682
1742
|
aliases = ['html+lasso']
|
1743
|
+
version_added = '1.6'
|
1683
1744
|
alias_filenames = ['*.html', '*.htm', '*.xhtml', '*.lasso', '*.lasso[89]',
|
1684
1745
|
'*.incl', '*.inc', '*.las']
|
1685
1746
|
mimetypes = ['text/html+lasso',
|
1686
1747
|
'application/x-httpd-lasso',
|
1687
1748
|
'application/x-httpd-lasso[89]']
|
1749
|
+
url = 'https://www.lassosoft.com'
|
1688
1750
|
|
1689
1751
|
def __init__(self, **options):
|
1690
1752
|
super().__init__(HtmlLexer, LassoLexer, **options)
|
@@ -1700,15 +1762,15 @@ class LassoXmlLexer(DelegatingLexer):
|
|
1700
1762
|
"""
|
1701
1763
|
Subclass of the `LassoLexer` which highlights unhandled data with the
|
1702
1764
|
`XmlLexer`.
|
1703
|
-
|
1704
|
-
.. versionadded:: 1.6
|
1705
1765
|
"""
|
1706
1766
|
|
1707
1767
|
name = 'XML+Lasso'
|
1708
1768
|
aliases = ['xml+lasso']
|
1769
|
+
version_added = '1.6'
|
1709
1770
|
alias_filenames = ['*.xml', '*.lasso', '*.lasso[89]',
|
1710
1771
|
'*.incl', '*.inc', '*.las']
|
1711
1772
|
mimetypes = ['application/xml+lasso']
|
1773
|
+
url = 'https://www.lassosoft.com'
|
1712
1774
|
|
1713
1775
|
def __init__(self, **options):
|
1714
1776
|
super().__init__(XmlLexer, LassoLexer, **options)
|
@@ -1724,14 +1786,14 @@ class LassoCssLexer(DelegatingLexer):
|
|
1724
1786
|
"""
|
1725
1787
|
Subclass of the `LassoLexer` which highlights unhandled data with the
|
1726
1788
|
`CssLexer`.
|
1727
|
-
|
1728
|
-
.. versionadded:: 1.6
|
1729
1789
|
"""
|
1730
1790
|
|
1731
1791
|
name = 'CSS+Lasso'
|
1732
1792
|
aliases = ['css+lasso']
|
1793
|
+
version_added = '1.6'
|
1733
1794
|
alias_filenames = ['*.css']
|
1734
1795
|
mimetypes = ['text/css+lasso']
|
1796
|
+
url = 'https://www.lassosoft.com'
|
1735
1797
|
|
1736
1798
|
def __init__(self, **options):
|
1737
1799
|
options['requiredelimiters'] = True
|
@@ -1750,16 +1812,16 @@ class LassoJavascriptLexer(DelegatingLexer):
|
|
1750
1812
|
"""
|
1751
1813
|
Subclass of the `LassoLexer` which highlights unhandled data with the
|
1752
1814
|
`JavascriptLexer`.
|
1753
|
-
|
1754
|
-
.. versionadded:: 1.6
|
1755
1815
|
"""
|
1756
1816
|
|
1757
1817
|
name = 'JavaScript+Lasso'
|
1758
1818
|
aliases = ['javascript+lasso', 'js+lasso']
|
1819
|
+
version_added = '1.6'
|
1759
1820
|
alias_filenames = ['*.js']
|
1760
1821
|
mimetypes = ['application/x-javascript+lasso',
|
1761
1822
|
'text/x-javascript+lasso',
|
1762
1823
|
'text/javascript+lasso']
|
1824
|
+
url = 'https://www.lassosoft.com'
|
1763
1825
|
|
1764
1826
|
def __init__(self, **options):
|
1765
1827
|
options['requiredelimiters'] = True
|
@@ -1776,13 +1838,12 @@ class HandlebarsLexer(RegexLexer):
|
|
1776
1838
|
|
1777
1839
|
Highlights only the Handlebars template tags (stuff between `{{` and `}}`).
|
1778
1840
|
Everything else is left for a delegating lexer.
|
1779
|
-
|
1780
|
-
.. versionadded:: 2.0
|
1781
1841
|
"""
|
1782
1842
|
|
1783
1843
|
name = "Handlebars"
|
1784
1844
|
url = 'https://handlebarsjs.com/'
|
1785
1845
|
aliases = ['handlebars']
|
1846
|
+
version_added = '2.0'
|
1786
1847
|
|
1787
1848
|
tokens = {
|
1788
1849
|
'root': [
|
@@ -1851,14 +1912,14 @@ class HandlebarsHtmlLexer(DelegatingLexer):
|
|
1851
1912
|
"""
|
1852
1913
|
Subclass of the `HandlebarsLexer` that highlights unlexed data with the
|
1853
1914
|
`HtmlLexer`.
|
1854
|
-
|
1855
|
-
.. versionadded:: 2.0
|
1856
1915
|
"""
|
1857
1916
|
|
1858
1917
|
name = "HTML+Handlebars"
|
1859
1918
|
aliases = ["html+handlebars"]
|
1860
1919
|
filenames = ['*.handlebars', '*.hbs']
|
1861
1920
|
mimetypes = ['text/html+handlebars', 'text/x-handlebars-template']
|
1921
|
+
url = 'https://handlebarsjs.com/'
|
1922
|
+
version_added = '2.0'
|
1862
1923
|
|
1863
1924
|
def __init__(self, **options):
|
1864
1925
|
super().__init__(HtmlLexer, HandlebarsLexer, **options)
|
@@ -1870,14 +1931,14 @@ class YamlJinjaLexer(DelegatingLexer):
|
|
1870
1931
|
`YamlLexer`.
|
1871
1932
|
|
1872
1933
|
Commonly used in Saltstack salt states.
|
1873
|
-
|
1874
|
-
.. versionadded:: 2.0
|
1875
1934
|
"""
|
1876
1935
|
|
1877
1936
|
name = 'YAML+Jinja'
|
1878
1937
|
aliases = ['yaml+jinja', 'salt', 'sls']
|
1879
1938
|
filenames = ['*.sls', '*.yaml.j2', '*.yml.j2', '*.yaml.jinja2', '*.yml.jinja2']
|
1880
1939
|
mimetypes = ['text/x-yaml+jinja', 'text/x-sls']
|
1940
|
+
url = 'https://jinja.palletsprojects.com'
|
1941
|
+
version_added = '2.0'
|
1881
1942
|
|
1882
1943
|
def __init__(self, **options):
|
1883
1944
|
super().__init__(YamlLexer, DjangoLexer, **options)
|
@@ -1886,13 +1947,12 @@ class YamlJinjaLexer(DelegatingLexer):
|
|
1886
1947
|
class LiquidLexer(RegexLexer):
|
1887
1948
|
"""
|
1888
1949
|
Lexer for Liquid templates.
|
1889
|
-
|
1890
|
-
.. versionadded:: 2.0
|
1891
1950
|
"""
|
1892
1951
|
name = 'liquid'
|
1893
1952
|
url = 'https://www.rubydoc.info/github/Shopify/liquid'
|
1894
1953
|
aliases = ['liquid']
|
1895
1954
|
filenames = ['*.liquid']
|
1955
|
+
version_added = '2.0'
|
1896
1956
|
|
1897
1957
|
tokens = {
|
1898
1958
|
'root': [
|
@@ -2095,13 +2155,13 @@ class TwigLexer(RegexLexer):
|
|
2095
2155
|
|
2096
2156
|
It just highlights Twig code between the preprocessor directives,
|
2097
2157
|
other data is left untouched by the lexer.
|
2098
|
-
|
2099
|
-
.. versionadded:: 2.0
|
2100
2158
|
"""
|
2101
2159
|
|
2102
2160
|
name = 'Twig'
|
2103
2161
|
aliases = ['twig']
|
2104
2162
|
mimetypes = ['application/x-twig']
|
2163
|
+
url = 'https://twig.symfony.com'
|
2164
|
+
version_added = '2.0'
|
2105
2165
|
|
2106
2166
|
flags = re.M | re.S
|
2107
2167
|
|
@@ -2130,7 +2190,7 @@ class TwigLexer(RegexLexer):
|
|
2130
2190
|
Other, Comment.Preproc, Text, Keyword, Text,
|
2131
2191
|
Comment.Preproc)),
|
2132
2192
|
# filter blocks
|
2133
|
-
(
|
2193
|
+
(rf'(\{{%)(-?\s*)(filter)(\s+)({_ident_inner})',
|
2134
2194
|
bygroups(Comment.Preproc, Text, Keyword, Text, Name.Function),
|
2135
2195
|
'tag'),
|
2136
2196
|
(r'(\{%)(-?\s*)([a-zA-Z_]\w*)',
|
@@ -2138,9 +2198,9 @@ class TwigLexer(RegexLexer):
|
|
2138
2198
|
(r'\{', Other),
|
2139
2199
|
],
|
2140
2200
|
'varnames': [
|
2141
|
-
(
|
2201
|
+
(rf'(\|)(\s*)({_ident_inner})',
|
2142
2202
|
bygroups(Operator, Text, Name.Function)),
|
2143
|
-
(
|
2203
|
+
(rf'(is)(\s+)(not)?(\s*)({_ident_inner})',
|
2144
2204
|
bygroups(Keyword, Text, Keyword, Text, Name.Function)),
|
2145
2205
|
(r'(?i)(true|false|none|null)\b', Keyword.Pseudo),
|
2146
2206
|
(r'(in|not|and|b-and|or|b-or|b-xor|is'
|
@@ -2176,14 +2236,14 @@ class TwigHtmlLexer(DelegatingLexer):
|
|
2176
2236
|
"""
|
2177
2237
|
Subclass of the `TwigLexer` that highlights unlexed data with the
|
2178
2238
|
`HtmlLexer`.
|
2179
|
-
|
2180
|
-
.. versionadded:: 2.0
|
2181
2239
|
"""
|
2182
2240
|
|
2183
2241
|
name = "HTML+Twig"
|
2184
2242
|
aliases = ["html+twig"]
|
2185
2243
|
filenames = ['*.twig']
|
2186
2244
|
mimetypes = ['text/html+twig']
|
2245
|
+
url = 'https://twig.symfony.com'
|
2246
|
+
version_added = '2.0'
|
2187
2247
|
|
2188
2248
|
def __init__(self, **options):
|
2189
2249
|
super().__init__(HtmlLexer, TwigLexer, **options)
|
@@ -2196,13 +2256,12 @@ class Angular2Lexer(RegexLexer):
|
|
2196
2256
|
Highlights only the Angular template tags (stuff between `{{` and `}}` and
|
2197
2257
|
special attributes: '(event)=', '[property]=', '[(twoWayBinding)]=').
|
2198
2258
|
Everything else is left for a delegating lexer.
|
2199
|
-
|
2200
|
-
.. versionadded:: 2.1
|
2201
2259
|
"""
|
2202
2260
|
|
2203
2261
|
name = "Angular2"
|
2204
2262
|
url = 'https://angular.io/guide/template-syntax'
|
2205
2263
|
aliases = ['ng2']
|
2264
|
+
version_added = '2.1'
|
2206
2265
|
|
2207
2266
|
tokens = {
|
2208
2267
|
'root': [
|
@@ -2256,13 +2315,13 @@ class Angular2HtmlLexer(DelegatingLexer):
|
|
2256
2315
|
"""
|
2257
2316
|
Subclass of the `Angular2Lexer` that highlights unlexed data with the
|
2258
2317
|
`HtmlLexer`.
|
2259
|
-
|
2260
|
-
.. versionadded:: 2.0
|
2261
2318
|
"""
|
2262
2319
|
|
2263
2320
|
name = "HTML + Angular2"
|
2264
2321
|
aliases = ["html+ng2"]
|
2265
2322
|
filenames = ['*.ng2']
|
2323
|
+
url = 'https://angular.io/guide/template-syntax'
|
2324
|
+
version_added = '2.0'
|
2266
2325
|
|
2267
2326
|
def __init__(self, **options):
|
2268
2327
|
super().__init__(HtmlLexer, Angular2Lexer, **options)
|
@@ -2271,13 +2330,13 @@ class Angular2HtmlLexer(DelegatingLexer):
|
|
2271
2330
|
class SqlJinjaLexer(DelegatingLexer):
|
2272
2331
|
"""
|
2273
2332
|
Templated SQL lexer.
|
2274
|
-
|
2275
|
-
.. versionadded:: 2.13
|
2276
2333
|
"""
|
2277
2334
|
|
2278
2335
|
name = 'SQL+Jinja'
|
2279
2336
|
aliases = ['sql+jinja']
|
2280
2337
|
filenames = ['*.sql', '*.sql.j2', '*.sql.jinja2']
|
2338
|
+
url = 'https://jinja.palletsprojects.com'
|
2339
|
+
version_added = '2.13'
|
2281
2340
|
|
2282
2341
|
def __init__(self, **options):
|
2283
2342
|
super().__init__(SqlLexer, DjangoLexer, **options)
|