pygments.rb 2.4.1 → 4.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 -2
- data/CHANGELOG.adoc +15 -1
- data/README.adoc +2 -2
- data/Rakefile +1 -1
- data/bench.rb +3 -3
- data/lib/pygments/version.rb +1 -1
- data/pygments.rb.gemspec +3 -3
- data/test/test_pygments.rb +0 -4
- 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/__pycache__/__init__.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/__pycache__/__main__.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/__pycache__/cmdline.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/__pycache__/console.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/__pycache__/filter.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/__pycache__/formatter.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/__pycache__/lexer.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/__pycache__/modeline.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/__pycache__/plugin.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/__pycache__/regexopt.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/__pycache__/scanner.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/__pycache__/sphinxext.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/__pycache__/style.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/__pycache__/token.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/__pycache__/unistring.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/__pycache__/util.cpython-313.pyc +0 -0
- 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/filters/__pycache__/__init__.cpython-313.pyc +0 -0
- 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/__pycache__/__init__.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/formatters/__pycache__/_mapping.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/formatters/__pycache__/bbcode.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/formatters/__pycache__/groff.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/formatters/__pycache__/html.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/formatters/__pycache__/img.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/formatters/__pycache__/irc.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/formatters/__pycache__/latex.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/formatters/__pycache__/other.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/formatters/__pycache__/pangomarkup.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/formatters/__pycache__/rtf.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/formatters/__pycache__/svg.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/formatters/__pycache__/terminal.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/formatters/__pycache__/terminal256.cpython-313.pyc +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 +47 -41
- data/vendor/pygments-main/pygments/formatters/img.py +53 -12
- 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/__pycache__/__init__.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_ada_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_asy_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_cl_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_cocoa_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_csound_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_css_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_googlesql_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_julia_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_lasso_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_lilypond_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_lua_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_luau_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_mapping.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_mql_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_mysql_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_openedge_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_php_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_postgres_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_qlik_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_scheme_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_scilab_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_sourcemod_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_sql_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_stan_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_stata_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_tsql_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_usd_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_vbscript_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/_vim_builtins.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/actionscript.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/ada.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/agile.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/algebra.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/ambient.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/amdgpu.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/ampl.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/apdlexer.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/apl.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/archetype.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/arrow.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/arturo.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/asc.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/asm.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/asn1.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/automation.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/bare.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/basic.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/bdd.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/berry.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/bibtex.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/blueprint.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/boa.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/bqn.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/business.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/c_cpp.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/c_like.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/capnproto.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/carbon.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/cddl.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/chapel.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/clean.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/codeql.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/comal.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/compiled.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/configs.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/console.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/cplint.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/crystal.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/csound.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/css.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/d.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/dalvik.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/data.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/dax.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/devicetree.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/diff.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/dns.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/dotnet.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/dsls.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/dylan.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/ecl.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/eiffel.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/elm.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/elpi.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/email.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/erlang.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/esoteric.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/ezhil.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/factor.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/fantom.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/felix.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/fift.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/floscript.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/forth.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/fortran.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/foxpro.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/freefem.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/func.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/functional.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/futhark.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/gcodelexer.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/gdscript.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/gleam.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/go.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/grammar_notation.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/graph.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/graphics.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/graphql.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/graphviz.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/gsql.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/hare.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/haskell.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/haxe.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/hdl.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/hexdump.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/html.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/idl.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/igor.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/inferno.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/installers.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/int_fiction.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/iolang.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/j.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/javascript.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/jmespath.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/jslt.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/json5.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/jsonnet.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/jsx.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/julia.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/jvm.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/kuin.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/kusto.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/ldap.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/lean.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/lilypond.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/lisp.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/macaulay2.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/make.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/maple.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/markup.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/math.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/matlab.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/maxima.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/meson.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/mime.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/minecraft.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/mips.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/ml.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/modeling.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/modula2.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/mojo.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/monte.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/mosel.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/ncl.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/nimrod.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/nit.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/nix.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/numbair.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/oberon.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/objective.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/ooc.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/openscad.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/other.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/parasail.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/parsers.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/pascal.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/pawn.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/pddl.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/perl.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/phix.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/php.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/pointless.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/pony.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/praat.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/procfile.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/prolog.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/promql.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/prql.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/ptx.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/python.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/q.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/qlik.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/qvt.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/r.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/rdf.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/rebol.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/rego.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/resource.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/ride.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/rita.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/rnc.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/roboconf.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/robotframework.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/ruby.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/rust.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/sas.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/savi.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/scdoc.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/scripting.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/sgf.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/shell.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/sieve.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/slash.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/smalltalk.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/smithy.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/smv.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/snobol.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/solidity.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/soong.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/sophia.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/special.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/spice.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/sql.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/srcinfo.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/stata.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/supercollider.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/tablegen.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/tact.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/tal.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/tcl.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/teal.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/templates.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/teraterm.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/testing.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/text.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/textedit.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/textfmts.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/theorem.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/thingsdb.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/tlb.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/tls.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/tnt.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/trafficscript.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/typoscript.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/typst.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/ul4.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/unicon.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/urbi.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/usd.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/varnish.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/verification.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/verifpal.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/vip.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/vyper.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/web.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/webassembly.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/webidl.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/webmisc.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/wgsl.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/whiley.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/wowtoc.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/wren.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/x10.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/xorg.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/yang.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/yara.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/lexers/__pycache__/zig.cpython-313.pyc +0 -0
- 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/_googlesql_builtins.py +918 -0
- 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 +56 -13
- 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/_sql_builtins.py +106 -0
- 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 +10 -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 +48 -34
- 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 +112 -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/codeql.py +80 -0
- 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 +353 -110
- 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 +6 -6
- 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 +58 -26
- data/vendor/pygments-main/pygments/lexers/dsls.py +24 -35
- data/vendor/pygments-main/pygments/lexers/dylan.py +9 -17
- 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 +45 -35
- 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/gleam.py +74 -0
- 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/hare.py +73 -0
- data/vendor/pygments-main/pygments/lexers/haskell.py +29 -34
- 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 +79 -14
- data/vendor/pygments-main/pygments/lexers/idl.py +2 -3
- data/vendor/pygments-main/pygments/lexers/igor.py +306 -291
- data/vendor/pygments-main/pygments/lexers/inferno.py +2 -3
- data/vendor/pygments-main/pygments/lexers/installers.py +58 -33
- 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 +22 -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/json5.py +83 -0
- data/vendor/pygments-main/pygments/lexers/jsonnet.py +4 -3
- data/vendor/pygments-main/pygments/lexers/jsx.py +100 -0
- data/vendor/pygments-main/pygments/lexers/julia.py +5 -5
- data/vendor/pygments-main/pygments/lexers/jvm.py +99 -117
- 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 +175 -100
- data/vendor/pygments-main/pygments/lexers/make.py +7 -5
- data/vendor/pygments-main/pygments/lexers/maple.py +291 -0
- 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 +14 -15
- 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 +707 -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/numbair.py +63 -0
- data/vendor/pygments-main/pygments/lexers/oberon.py +3 -3
- data/vendor/pygments-main/pygments/lexers/objective.py +25 -17
- data/vendor/pygments-main/pygments/lexers/ooc.py +4 -5
- 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/pddl.py +82 -0
- 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 +49 -46
- 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 +14 -8
- data/vendor/pygments-main/pygments/lexers/rdf.py +21 -15
- data/vendor/pygments-main/pygments/lexers/rebol.py +7 -7
- data/vendor/pygments-main/pygments/lexers/rego.py +57 -0
- 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 +385 -55
- data/vendor/pygments-main/pygments/lexers/sgf.py +2 -3
- data/vendor/pygments-main/pygments/lexers/shell.py +111 -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 +9 -3
- data/vendor/pygments-main/pygments/lexers/spice.py +15 -16
- data/vendor/pygments-main/pygments/lexers/sql.py +224 -142
- 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/tablegen.py +177 -0
- 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 +133 -74
- 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 +3 -2
- 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 +160 -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/__pycache__/__init__.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/_mapping.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/abap.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/algol.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/algol_nu.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/arduino.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/autumn.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/borland.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/bw.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/coffee.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/colorful.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/default.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/dracula.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/emacs.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/friendly.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/friendly_grayscale.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/fruity.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/gh_dark.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/gruvbox.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/igor.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/inkpot.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/lightbulb.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/lilypond.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/lovelace.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/manni.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/material.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/monokai.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/murphy.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/native.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/nord.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/onedark.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/paraiso_dark.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/paraiso_light.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/pastie.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/perldoc.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/rainbow_dash.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/rrt.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/sas.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/solarized.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/staroffice.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/stata_dark.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/stata_light.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/tango.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/trac.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/vim.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/vs.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/xcode.cpython-313.pyc +0 -0
- data/vendor/pygments-main/pygments/styles/__pycache__/zenburn.cpython-313.pyc +0 -0
- 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 +9 -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.19.2.dist-info}/METADATA +15 -13
- data/vendor/pygments-main/pygments-2.19.2.dist-info/RECORD +685 -0
- data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.19.2.dist-info}/WHEEL +1 -2
- data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.19.2.dist-info/licenses}/AUTHORS +21 -0
- metadata +390 -20
- 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.19.2.dist-info}/INSTALLER +0 -0
- /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.19.2.dist-info}/REQUESTED +0 -0
- /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.19.2.dist-info}/entry_points.txt +0 -0
- /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.19.2.dist-info/licenses}/LICENSE +0 -0
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexers for configuration file formats.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
|
@@ -17,8 +17,8 @@ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
|
|
17
17
|
from pygments.lexers.shell import BashLexer
|
18
18
|
from pygments.lexers.data import JsonLexer
|
19
19
|
|
20
|
-
__all__ = ['IniLexer', '
|
21
|
-
'Cfengine3Lexer', 'ApacheConfLexer', 'SquidConfLexer',
|
20
|
+
__all__ = ['IniLexer', 'SystemdLexer', 'DesktopLexer', 'RegeditLexer', 'PropertiesLexer',
|
21
|
+
'KconfigLexer', 'Cfengine3Lexer', 'ApacheConfLexer', 'SquidConfLexer',
|
22
22
|
'NginxConfLexer', 'LighttpdConfLexer', 'DockerLexer',
|
23
23
|
'TerraformLexer', 'TermcapLexer', 'TerminfoLexer',
|
24
24
|
'PkgConfigLexer', 'PacmanConfLexer', 'AugeasLexer', 'TOMLLexer',
|
@@ -34,27 +34,34 @@ class IniLexer(RegexLexer):
|
|
34
34
|
aliases = ['ini', 'cfg', 'dosini']
|
35
35
|
filenames = [
|
36
36
|
'*.ini', '*.cfg', '*.inf', '.editorconfig',
|
37
|
-
# systemd unit files
|
38
|
-
# https://www.freedesktop.org/software/systemd/man/systemd.unit.html
|
39
|
-
'*.service', '*.socket', '*.device', '*.mount', '*.automount',
|
40
|
-
'*.swap', '*.target', '*.path', '*.timer', '*.slice', '*.scope',
|
41
37
|
]
|
42
38
|
mimetypes = ['text/x-ini', 'text/inf']
|
39
|
+
url = 'https://en.wikipedia.org/wiki/INI_file'
|
40
|
+
version_added = ''
|
43
41
|
|
44
42
|
tokens = {
|
45
43
|
'root': [
|
46
44
|
(r'\s+', Whitespace),
|
47
45
|
(r'[;#].*', Comment.Single),
|
48
46
|
(r'(\[.*?\])([ \t]*)$', bygroups(Keyword, Whitespace)),
|
49
|
-
(r'(.*?)([
|
47
|
+
(r'''(.*?)([ \t]*)([=:])([ \t]*)(["'])''',
|
48
|
+
bygroups(Name.Attribute, Whitespace, Operator, Whitespace, String),
|
49
|
+
"quoted_value"),
|
50
|
+
(r'(.*?)([ \t]*)([=:])([ \t]*)([^;#\n]*)(\\)(\s+)',
|
50
51
|
bygroups(Name.Attribute, Whitespace, Operator, Whitespace, String,
|
51
52
|
Text, Whitespace),
|
52
53
|
"value"),
|
53
|
-
(r'(.*?)([ \t]*)([=:])([
|
54
|
+
(r'(.*?)([ \t]*)([=:])([ \t]*)([^ ;#\n]*(?: +[^ ;#\n]+)*)',
|
54
55
|
bygroups(Name.Attribute, Whitespace, Operator, Whitespace, String)),
|
55
56
|
# standalone option, supported by some INI parsers
|
56
57
|
(r'(.+?)$', Name.Attribute),
|
57
58
|
],
|
59
|
+
'quoted_value': [
|
60
|
+
(r'''([^"'\n]*)(["'])(\s*)''',
|
61
|
+
bygroups(String, String, Whitespace), "#pop"),
|
62
|
+
(r'[;#].*', Comment.Single),
|
63
|
+
(r'$', String, "#pop"),
|
64
|
+
],
|
58
65
|
'value': [ # line continuation
|
59
66
|
(r'\s+', Whitespace),
|
60
67
|
(r'(\s*)(.*)(\\)([ \t]*)',
|
@@ -67,14 +74,88 @@ class IniLexer(RegexLexer):
|
|
67
74
|
npos = text.find('\n')
|
68
75
|
if npos < 3:
|
69
76
|
return False
|
70
|
-
|
77
|
+
if text[0] == '[' and text[npos-1] == ']':
|
78
|
+
return 0.8
|
79
|
+
return False
|
80
|
+
|
81
|
+
|
82
|
+
class DesktopLexer(RegexLexer):
|
83
|
+
"""
|
84
|
+
Lexer for .desktop files.
|
85
|
+
"""
|
86
|
+
|
87
|
+
name = 'Desktop file'
|
88
|
+
url = "https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html"
|
89
|
+
aliases = ['desktop']
|
90
|
+
filenames = ['*.desktop']
|
91
|
+
mimetypes = ['application/x-desktop']
|
92
|
+
version_added = '2.16'
|
93
|
+
|
94
|
+
tokens = {
|
95
|
+
'root': [
|
96
|
+
(r'^[ \t]*\n', Whitespace),
|
97
|
+
(r'^(#.*)(\n)', bygroups(Comment.Single, Whitespace)),
|
98
|
+
(r'(\[[^\]\n]+\])(\n)', bygroups(Keyword, Whitespace)),
|
99
|
+
(r'([-A-Za-z0-9]+)(\[[^\] \t=]+\])?([ \t]*)(=)([ \t]*)([^\n]*)([ \t\n]*\n)',
|
100
|
+
bygroups(Name.Attribute, Name.Namespace, Whitespace, Operator, Whitespace, String, Whitespace)),
|
101
|
+
],
|
102
|
+
}
|
103
|
+
|
104
|
+
def analyse_text(text):
|
105
|
+
if text.startswith("[Desktop Entry]"):
|
106
|
+
return 1.0
|
107
|
+
if re.search(r"^\[Desktop Entry\][ \t]*$", text[:500], re.MULTILINE) is not None:
|
108
|
+
return 0.9
|
109
|
+
return 0.0
|
110
|
+
|
111
|
+
|
112
|
+
class SystemdLexer(RegexLexer):
|
113
|
+
"""
|
114
|
+
Lexer for systemd unit files.
|
115
|
+
"""
|
116
|
+
|
117
|
+
name = 'Systemd'
|
118
|
+
url = "https://www.freedesktop.org/software/systemd/man/systemd.syntax.html"
|
119
|
+
aliases = ['systemd']
|
120
|
+
filenames = [
|
121
|
+
'*.service', '*.socket', '*.device', '*.mount', '*.automount',
|
122
|
+
'*.swap', '*.target', '*.path', '*.timer', '*.slice', '*.scope',
|
123
|
+
]
|
124
|
+
version_added = '2.16'
|
125
|
+
|
126
|
+
tokens = {
|
127
|
+
'root': [
|
128
|
+
(r'^[ \t]*\n', Whitespace),
|
129
|
+
(r'^([;#].*)(\n)', bygroups(Comment.Single, Whitespace)),
|
130
|
+
(r'(\[[^\]\n]+\])(\n)', bygroups(Keyword, Whitespace)),
|
131
|
+
(r'([^=]+)([ \t]*)(=)([ \t]*)([^\n]*)(\\)(\n)',
|
132
|
+
bygroups(Name.Attribute, Whitespace, Operator, Whitespace, String,
|
133
|
+
Text, Whitespace),
|
134
|
+
"value"),
|
135
|
+
(r'([^=]+)([ \t]*)(=)([ \t]*)([^\n]*)(\n)',
|
136
|
+
bygroups(Name.Attribute, Whitespace, Operator, Whitespace, String, Whitespace)),
|
137
|
+
],
|
138
|
+
'value': [
|
139
|
+
# line continuation
|
140
|
+
(r'^([;#].*)(\n)', bygroups(Comment.Single, Whitespace)),
|
141
|
+
(r'([ \t]*)([^\n]*)(\\)(\n)',
|
142
|
+
bygroups(Whitespace, String, Text, Whitespace)),
|
143
|
+
(r'([ \t]*)([^\n]*)(\n)',
|
144
|
+
bygroups(Whitespace, String, Whitespace), "#pop"),
|
145
|
+
],
|
146
|
+
}
|
147
|
+
|
148
|
+
def analyse_text(text):
|
149
|
+
if text.startswith("[Unit]"):
|
150
|
+
return 1.0
|
151
|
+
if re.search(r"^\[Unit\][ \t]*$", text[:500], re.MULTILINE) is not None:
|
152
|
+
return 0.9
|
153
|
+
return 0.0
|
71
154
|
|
72
155
|
|
73
156
|
class RegeditLexer(RegexLexer):
|
74
157
|
"""
|
75
158
|
Lexer for Windows Registry files produced by regedit.
|
76
|
-
|
77
|
-
.. versionadded:: 1.6
|
78
159
|
"""
|
79
160
|
|
80
161
|
name = 'reg'
|
@@ -82,6 +163,7 @@ class RegeditLexer(RegexLexer):
|
|
82
163
|
aliases = ['registry']
|
83
164
|
filenames = ['*.reg']
|
84
165
|
mimetypes = ['text/x-windows-registry']
|
166
|
+
version_added = '1.6'
|
85
167
|
|
86
168
|
tokens = {
|
87
169
|
'root': [
|
@@ -118,14 +200,14 @@ class PropertiesLexer(RegexLexer):
|
|
118
200
|
Lexer for configuration files in Java's properties format.
|
119
201
|
|
120
202
|
Note: trailing whitespace counts as part of the value as per spec
|
121
|
-
|
122
|
-
.. versionadded:: 1.4
|
123
203
|
"""
|
124
204
|
|
125
205
|
name = 'Properties'
|
126
206
|
aliases = ['properties', 'jproperties']
|
127
207
|
filenames = ['*.properties']
|
128
208
|
mimetypes = ['text/x-java-properties']
|
209
|
+
url = 'https://en.wikipedia.org/wiki/.properties'
|
210
|
+
version_added = '1.4'
|
129
211
|
|
130
212
|
tokens = {
|
131
213
|
'root': [
|
@@ -185,29 +267,30 @@ def _rx_indent(level):
|
|
185
267
|
if level == 1:
|
186
268
|
level_repeat = ''
|
187
269
|
else:
|
188
|
-
level_repeat = '{
|
189
|
-
return
|
270
|
+
level_repeat = f'{{{level}}}'
|
271
|
+
return rf'(?:\t| {space_repeat}\t| {{{tab_width}}}){level_repeat}.*\n'
|
190
272
|
|
191
273
|
|
192
274
|
class KconfigLexer(RegexLexer):
|
193
275
|
"""
|
194
276
|
For Linux-style Kconfig files.
|
195
|
-
|
196
|
-
.. versionadded:: 1.6
|
197
277
|
"""
|
198
278
|
|
199
279
|
name = 'Kconfig'
|
200
280
|
aliases = ['kconfig', 'menuconfig', 'linux-config', 'kernel-config']
|
281
|
+
version_added = '1.6'
|
201
282
|
# Adjust this if new kconfig file names appear in your environment
|
202
283
|
filenames = ['Kconfig*', '*Config.in*', 'external.in*',
|
203
284
|
'standard-modules.in']
|
204
285
|
mimetypes = ['text/x-kconfig']
|
286
|
+
url = 'https://www.kernel.org/doc/html/latest/kbuild/kconfig-language.html'
|
287
|
+
|
205
288
|
# No re.MULTILINE, indentation-aware help text needs line-by-line handling
|
206
289
|
flags = 0
|
207
290
|
|
208
291
|
def call_indent(level):
|
209
292
|
# If indentation >= {level} is detected, enter state 'indent{level}'
|
210
|
-
return (_rx_indent(level), String.Doc, 'indent
|
293
|
+
return (_rx_indent(level), String.Doc, f'indent{level}')
|
211
294
|
|
212
295
|
def do_indent(level):
|
213
296
|
# Print paragraphs of indentation level >= {level} as String.Doc,
|
@@ -269,8 +352,6 @@ class KconfigLexer(RegexLexer):
|
|
269
352
|
class Cfengine3Lexer(RegexLexer):
|
270
353
|
"""
|
271
354
|
Lexer for CFEngine3 policy files.
|
272
|
-
|
273
|
-
.. versionadded:: 1.5
|
274
355
|
"""
|
275
356
|
|
276
357
|
name = 'CFEngine3'
|
@@ -278,6 +359,7 @@ class Cfengine3Lexer(RegexLexer):
|
|
278
359
|
aliases = ['cfengine3', 'cf3']
|
279
360
|
filenames = ['*.cf']
|
280
361
|
mimetypes = []
|
362
|
+
version_added = '1.5'
|
281
363
|
|
282
364
|
tokens = {
|
283
365
|
'root': [
|
@@ -332,14 +414,14 @@ class ApacheConfLexer(RegexLexer):
|
|
332
414
|
"""
|
333
415
|
Lexer for configuration files following the Apache config file
|
334
416
|
format.
|
335
|
-
|
336
|
-
.. versionadded:: 0.6
|
337
417
|
"""
|
338
418
|
|
339
419
|
name = 'ApacheConf'
|
340
420
|
aliases = ['apacheconf', 'aconf', 'apache']
|
341
421
|
filenames = ['.htaccess', 'apache.conf', 'apache2.conf']
|
342
422
|
mimetypes = ['text/x-apacheconf']
|
423
|
+
url = 'https://httpd.apache.org/docs/current/configuring.html'
|
424
|
+
version_added = '0.6'
|
343
425
|
flags = re.MULTILINE | re.IGNORECASE
|
344
426
|
|
345
427
|
tokens = {
|
@@ -374,8 +456,6 @@ class ApacheConfLexer(RegexLexer):
|
|
374
456
|
class SquidConfLexer(RegexLexer):
|
375
457
|
"""
|
376
458
|
Lexer for squid configuration files.
|
377
|
-
|
378
|
-
.. versionadded:: 0.9
|
379
459
|
"""
|
380
460
|
|
381
461
|
name = 'SquidConf'
|
@@ -383,6 +463,7 @@ class SquidConfLexer(RegexLexer):
|
|
383
463
|
aliases = ['squidconf', 'squid.conf', 'squid']
|
384
464
|
filenames = ['squid.conf']
|
385
465
|
mimetypes = ['text/x-squidconf']
|
466
|
+
version_added = '0.9'
|
386
467
|
flags = re.IGNORECASE
|
387
468
|
|
388
469
|
keywords = (
|
@@ -469,15 +550,14 @@ class SquidConfLexer(RegexLexer):
|
|
469
550
|
"dst", "time", "dstdomain", "ident", "snmp_community",
|
470
551
|
)
|
471
552
|
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
)
|
553
|
+
ipv4_group = r'(\d+|0x[0-9a-f]+)'
|
554
|
+
ipv4 = rf'({ipv4_group}(\.{ipv4_group}){{3}})'
|
555
|
+
ipv6_group = r'([0-9a-f]{0,4})'
|
556
|
+
ipv6 = rf'({ipv6_group}(:{ipv6_group}){{1,7}})'
|
557
|
+
bare_ip = rf'({ipv4}|{ipv6})'
|
558
|
+
# XXX: /integer is a subnet mark, but what is /IP ?
|
559
|
+
# There is no test where it is used.
|
560
|
+
ip = rf'{bare_ip}(/({bare_ip}|\d+))?'
|
481
561
|
|
482
562
|
tokens = {
|
483
563
|
'root': [
|
@@ -490,7 +570,7 @@ class SquidConfLexer(RegexLexer):
|
|
490
570
|
(words(actions_stats, prefix=r'stats/', suffix=r'\b'), String),
|
491
571
|
(words(actions_log, prefix=r'log/', suffix=r'='), String),
|
492
572
|
(words(acls, prefix=r'\b', suffix=r'\b'), Keyword),
|
493
|
-
(
|
573
|
+
(ip, Number.Float),
|
494
574
|
(r'(?:\b\d+\b(?:-\b\d+|%)?)', Number),
|
495
575
|
(r'\S+', Text),
|
496
576
|
],
|
@@ -505,14 +585,13 @@ class SquidConfLexer(RegexLexer):
|
|
505
585
|
class NginxConfLexer(RegexLexer):
|
506
586
|
"""
|
507
587
|
Lexer for Nginx configuration files.
|
508
|
-
|
509
|
-
.. versionadded:: 0.11
|
510
588
|
"""
|
511
589
|
name = 'Nginx configuration file'
|
512
590
|
url = 'http://nginx.net/'
|
513
591
|
aliases = ['nginx']
|
514
592
|
filenames = ['nginx.conf']
|
515
593
|
mimetypes = ['text/x-nginx-conf']
|
594
|
+
version_added = '0.11'
|
516
595
|
|
517
596
|
tokens = {
|
518
597
|
'root': [
|
@@ -552,14 +631,13 @@ class NginxConfLexer(RegexLexer):
|
|
552
631
|
class LighttpdConfLexer(RegexLexer):
|
553
632
|
"""
|
554
633
|
Lexer for Lighttpd configuration files.
|
555
|
-
|
556
|
-
.. versionadded:: 0.11
|
557
634
|
"""
|
558
635
|
name = 'Lighttpd configuration file'
|
559
636
|
url = 'http://lighttpd.net/'
|
560
637
|
aliases = ['lighttpd', 'lighty']
|
561
638
|
filenames = ['lighttpd.conf']
|
562
639
|
mimetypes = ['text/x-lighttpd-conf']
|
640
|
+
version_added = '0.11'
|
563
641
|
|
564
642
|
tokens = {
|
565
643
|
'root': [
|
@@ -581,14 +659,13 @@ class LighttpdConfLexer(RegexLexer):
|
|
581
659
|
class DockerLexer(RegexLexer):
|
582
660
|
"""
|
583
661
|
Lexer for Docker configuration files.
|
584
|
-
|
585
|
-
.. versionadded:: 2.0
|
586
662
|
"""
|
587
663
|
name = 'Docker'
|
588
664
|
url = 'http://docker.io'
|
589
665
|
aliases = ['docker', 'dockerfile']
|
590
666
|
filenames = ['Dockerfile', '*.docker']
|
591
667
|
mimetypes = ['text/x-dockerfile-config']
|
668
|
+
version_added = '2.0'
|
592
669
|
|
593
670
|
_keywords = (r'(?:MAINTAINER|EXPOSE|WORKDIR|USER|STOPSIGNAL)')
|
594
671
|
_bash_keywords = (r'(?:RUN|CMD|ENTRYPOINT|ENV|ARG|LABEL|ADD|COPY)')
|
@@ -600,15 +677,15 @@ class DockerLexer(RegexLexer):
|
|
600
677
|
(r'#.*', Comment),
|
601
678
|
(r'(FROM)([ \t]*)(\S*)([ \t]*)(?:(AS)([ \t]*)(\S*))?',
|
602
679
|
bygroups(Keyword, Whitespace, String, Whitespace, Keyword, Whitespace, String)),
|
603
|
-
(
|
604
|
-
(
|
680
|
+
(rf'(ONBUILD)(\s+)({_lb})', bygroups(Keyword, Whitespace, using(BashLexer))),
|
681
|
+
(rf'(HEALTHCHECK)(\s+)(({_lb}--\w+=\w+{_lb})*)',
|
605
682
|
bygroups(Keyword, Whitespace, using(BashLexer))),
|
606
|
-
(
|
683
|
+
(rf'(VOLUME|ENTRYPOINT|CMD|SHELL)(\s+)({_lb})(\[.*?\])',
|
607
684
|
bygroups(Keyword, Whitespace, using(BashLexer), using(JsonLexer))),
|
608
|
-
(
|
685
|
+
(rf'(LABEL|ENV|ARG)(\s+)(({_lb}\w+=\w+{_lb})*)',
|
609
686
|
bygroups(Keyword, Whitespace, using(BashLexer))),
|
610
|
-
(
|
611
|
-
(
|
687
|
+
(rf'({_keywords}|VOLUME)\b(\s+)(.*)', bygroups(Keyword, Whitespace, String)),
|
688
|
+
(rf'({_bash_keywords})(\s+)', bygroups(Keyword, Whitespace)),
|
612
689
|
(r'(.*\\\n)*.+', using(BashLexer)),
|
613
690
|
]
|
614
691
|
}
|
@@ -617,8 +694,6 @@ class DockerLexer(RegexLexer):
|
|
617
694
|
class TerraformLexer(ExtendedRegexLexer):
|
618
695
|
"""
|
619
696
|
Lexer for terraformi ``.tf`` files.
|
620
|
-
|
621
|
-
.. versionadded:: 2.1
|
622
697
|
"""
|
623
698
|
|
624
699
|
name = 'Terraform'
|
@@ -626,6 +701,7 @@ class TerraformLexer(ExtendedRegexLexer):
|
|
626
701
|
aliases = ['terraform', 'tf', 'hcl']
|
627
702
|
filenames = ['*.tf', '*.hcl']
|
628
703
|
mimetypes = ['application/x-tf', 'application/x-terraform']
|
704
|
+
version_added = '2.1'
|
629
705
|
|
630
706
|
classes = ('backend', 'data', 'module', 'output', 'provider',
|
631
707
|
'provisioner', 'resource', 'variable')
|
@@ -789,13 +865,13 @@ class TermcapLexer(RegexLexer):
|
|
789
865
|
Lexer for termcap database source.
|
790
866
|
|
791
867
|
This is very simple and minimal.
|
792
|
-
|
793
|
-
.. versionadded:: 2.1
|
794
868
|
"""
|
795
869
|
name = 'Termcap'
|
796
870
|
aliases = ['termcap']
|
797
871
|
filenames = ['termcap', 'termcap.src']
|
798
872
|
mimetypes = []
|
873
|
+
url = 'https://en.wikipedia.org/wiki/Termcap'
|
874
|
+
version_added = '2.1'
|
799
875
|
|
800
876
|
# NOTE:
|
801
877
|
# * multiline with trailing backslash
|
@@ -836,13 +912,13 @@ class TerminfoLexer(RegexLexer):
|
|
836
912
|
Lexer for terminfo database source.
|
837
913
|
|
838
914
|
This is very simple and minimal.
|
839
|
-
|
840
|
-
.. versionadded:: 2.1
|
841
915
|
"""
|
842
916
|
name = 'Terminfo'
|
843
917
|
aliases = ['terminfo']
|
844
918
|
filenames = ['terminfo', 'terminfo.src']
|
845
919
|
mimetypes = []
|
920
|
+
url = 'https://en.wikipedia.org/wiki/Terminfo'
|
921
|
+
version_added = '2.1'
|
846
922
|
|
847
923
|
# NOTE:
|
848
924
|
# * multiline with leading whitespace
|
@@ -882,8 +958,6 @@ class PkgConfigLexer(RegexLexer):
|
|
882
958
|
"""
|
883
959
|
Lexer for pkg-config
|
884
960
|
(see also `manual page <http://linux.die.net/man/1/pkg-config>`_).
|
885
|
-
|
886
|
-
.. versionadded:: 2.1
|
887
961
|
"""
|
888
962
|
|
889
963
|
name = 'PkgConfig'
|
@@ -891,6 +965,7 @@ class PkgConfigLexer(RegexLexer):
|
|
891
965
|
aliases = ['pkgconfig']
|
892
966
|
filenames = ['*.pc']
|
893
967
|
mimetypes = []
|
968
|
+
version_added = '2.1'
|
894
969
|
|
895
970
|
tokens = {
|
896
971
|
'root': [
|
@@ -951,8 +1026,6 @@ class PacmanConfLexer(RegexLexer):
|
|
951
1026
|
VerbosePkgLists
|
952
1027
|
|
953
1028
|
These are flags to switch on.
|
954
|
-
|
955
|
-
.. versionadded:: 2.1
|
956
1029
|
"""
|
957
1030
|
|
958
1031
|
name = 'PacmanConf'
|
@@ -960,6 +1033,7 @@ class PacmanConfLexer(RegexLexer):
|
|
960
1033
|
aliases = ['pacmanconf']
|
961
1034
|
filenames = ['pacman.conf']
|
962
1035
|
mimetypes = []
|
1036
|
+
version_added = '2.1'
|
963
1037
|
|
964
1038
|
tokens = {
|
965
1039
|
'root': [
|
@@ -997,13 +1071,12 @@ class PacmanConfLexer(RegexLexer):
|
|
997
1071
|
class AugeasLexer(RegexLexer):
|
998
1072
|
"""
|
999
1073
|
Lexer for Augeas.
|
1000
|
-
|
1001
|
-
.. versionadded:: 2.4
|
1002
1074
|
"""
|
1003
1075
|
name = 'Augeas'
|
1004
1076
|
url = 'http://augeas.net'
|
1005
1077
|
aliases = ['augeas']
|
1006
1078
|
filenames = ['*.aug']
|
1079
|
+
version_added = '2.4'
|
1007
1080
|
|
1008
1081
|
tokens = {
|
1009
1082
|
'root': [
|
@@ -1041,79 +1114,250 @@ class AugeasLexer(RegexLexer):
|
|
1041
1114
|
|
1042
1115
|
class TOMLLexer(RegexLexer):
|
1043
1116
|
"""
|
1044
|
-
Lexer for TOML, a simple language
|
1045
|
-
for config files.
|
1046
|
-
|
1047
|
-
.. versionadded:: 2.4
|
1117
|
+
Lexer for TOML, a simple language for config files.
|
1048
1118
|
"""
|
1049
1119
|
|
1050
1120
|
name = 'TOML'
|
1051
|
-
url = 'https://github.com/toml-lang/toml'
|
1052
1121
|
aliases = ['toml']
|
1053
1122
|
filenames = ['*.toml', 'Pipfile', 'poetry.lock']
|
1123
|
+
mimetypes = ['application/toml']
|
1124
|
+
url = 'https://toml.io'
|
1125
|
+
version_added = '2.4'
|
1126
|
+
|
1127
|
+
# Based on the TOML spec: https://toml.io/en/v1.0.0
|
1128
|
+
|
1129
|
+
# The following is adapted from CPython's tomllib:
|
1130
|
+
_time = r"\d\d:\d\d:\d\d(\.\d+)?"
|
1131
|
+
_datetime = rf"""(?x)
|
1132
|
+
\d\d\d\d-\d\d-\d\d # date, e.g., 1988-10-27
|
1133
|
+
(
|
1134
|
+
[Tt ] {_time} # optional time
|
1135
|
+
(
|
1136
|
+
[Zz]|[+-]\d\d:\d\d # optional time offset
|
1137
|
+
)?
|
1138
|
+
)?
|
1139
|
+
"""
|
1054
1140
|
|
1055
1141
|
tokens = {
|
1056
1142
|
'root': [
|
1057
|
-
#
|
1058
|
-
|
1143
|
+
# Note that we make an effort in order to distinguish
|
1144
|
+
# moments at which we're parsing a key and moments at
|
1145
|
+
# which we're parsing a value. In the TOML code
|
1146
|
+
#
|
1147
|
+
# 1234 = 1234
|
1148
|
+
#
|
1149
|
+
# the first "1234" should be Name, the second Integer.
|
1150
|
+
|
1151
|
+
# Whitespace
|
1152
|
+
(r'\s+', Whitespace),
|
1059
1153
|
|
1060
|
-
#
|
1061
|
-
(r'
|
1062
|
-
|
1063
|
-
|
1064
|
-
|
1065
|
-
|
1066
|
-
#
|
1067
|
-
(r'
|
1068
|
-
|
1069
|
-
|
1070
|
-
(r'[
|
1071
|
-
|
1072
|
-
|
1073
|
-
#
|
1074
|
-
|
1075
|
-
|
1076
|
-
|
1077
|
-
|
1078
|
-
|
1079
|
-
(r'\d+[eE][+-]?[0-9]+j?', Number.Float),
|
1080
|
-
# Handle +-inf, +-infinity, +-nan
|
1081
|
-
(r'[+-]?(?:(inf(?:inity)?)|nan)', Number.Float),
|
1082
|
-
(r'[+-]?\d+', Number.Integer),
|
1083
|
-
|
1084
|
-
# Punctuation
|
1085
|
-
(r'[]{}:(),;[]', Punctuation),
|
1154
|
+
# Comment
|
1155
|
+
(r'#.*', Comment.Single),
|
1156
|
+
|
1157
|
+
# Assignment keys
|
1158
|
+
include('key'),
|
1159
|
+
|
1160
|
+
# After "=", find a value
|
1161
|
+
(r'(=)(\s*)', bygroups(Operator, Whitespace), 'value'),
|
1162
|
+
|
1163
|
+
# Table header
|
1164
|
+
(r'\[\[?', Keyword, 'table-key'),
|
1165
|
+
],
|
1166
|
+
'key': [
|
1167
|
+
# Start of bare key (only ASCII is allowed here).
|
1168
|
+
(r'[A-Za-z0-9_-]+', Name),
|
1169
|
+
# Quoted key
|
1170
|
+
(r'"', String.Double, 'basic-string'),
|
1171
|
+
(r"'", String.Single, 'literal-string'),
|
1172
|
+
# Dots act as separators in keys
|
1086
1173
|
(r'\.', Punctuation),
|
1174
|
+
],
|
1175
|
+
'table-key': [
|
1176
|
+
# This is like 'key', but highlights the name components
|
1177
|
+
# and separating dots as Keyword because it looks better
|
1178
|
+
# when the whole table header is Keyword. We do highlight
|
1179
|
+
# strings as strings though.
|
1180
|
+
# Start of bare key (only ASCII is allowed here).
|
1181
|
+
(r'[A-Za-z0-9_-]+', Keyword),
|
1182
|
+
(r'"', String.Double, 'basic-string'),
|
1183
|
+
(r"'", String.Single, 'literal-string'),
|
1184
|
+
(r'\.', Keyword),
|
1185
|
+
(r'\]\]?', Keyword, '#pop'),
|
1186
|
+
|
1187
|
+
# Inline whitespace allowed
|
1188
|
+
(r'[ \t]+', Whitespace),
|
1189
|
+
],
|
1190
|
+
'value': [
|
1191
|
+
# Datetime, baretime
|
1192
|
+
(_datetime, Literal.Date, '#pop'),
|
1193
|
+
(_time, Literal.Date, '#pop'),
|
1087
1194
|
|
1088
|
-
#
|
1089
|
-
|
1195
|
+
# Recognize as float if there is a fractional part
|
1196
|
+
# and/or an exponent.
|
1197
|
+
(r'[+-]?\d[0-9_]*[eE][+-]?\d[0-9_]*', Number.Float, '#pop'),
|
1198
|
+
(r'[+-]?\d[0-9_]*\.\d[0-9_]*([eE][+-]?\d[0-9_]*)?',
|
1199
|
+
Number.Float, '#pop'),
|
1090
1200
|
|
1091
|
-
|
1201
|
+
# Infinities and NaN
|
1202
|
+
(r'[+-]?(inf|nan)', Number.Float, '#pop'),
|
1203
|
+
|
1204
|
+
# Integers
|
1205
|
+
(r'-?0b[01_]+', Number.Bin, '#pop'),
|
1206
|
+
(r'-?0o[0-7_]+', Number.Oct, '#pop'),
|
1207
|
+
(r'-?0x[0-9a-fA-F_]+', Number.Hex, '#pop'),
|
1208
|
+
(r'[+-]?[0-9_]+', Number.Integer, '#pop'),
|
1209
|
+
|
1210
|
+
# Strings
|
1211
|
+
(r'"""', String.Double, ('#pop', 'multiline-basic-string')),
|
1212
|
+
(r'"', String.Double, ('#pop', 'basic-string')),
|
1213
|
+
(r"'''", String.Single, ('#pop', 'multiline-literal-string')),
|
1214
|
+
(r"'", String.Single, ('#pop', 'literal-string')),
|
1215
|
+
|
1216
|
+
# Booleans
|
1217
|
+
(r'true|false', Keyword.Constant, '#pop'),
|
1218
|
+
|
1219
|
+
# Start of array
|
1220
|
+
(r'\[', Punctuation, ('#pop', 'array')),
|
1221
|
+
|
1222
|
+
# Start of inline table
|
1223
|
+
(r'\{', Punctuation, ('#pop', 'inline-table')),
|
1224
|
+
],
|
1225
|
+
'array': [
|
1226
|
+
# Whitespace, including newlines, is ignored inside arrays,
|
1227
|
+
# and comments are allowed.
|
1228
|
+
(r'\s+', Whitespace),
|
1229
|
+
(r'#.*', Comment.Single),
|
1230
|
+
|
1231
|
+
# Delimiters
|
1232
|
+
(r',', Punctuation),
|
1233
|
+
|
1234
|
+
# End of array
|
1235
|
+
(r'\]', Punctuation, '#pop'),
|
1236
|
+
|
1237
|
+
# Parse a value and come back
|
1238
|
+
default('value'),
|
1239
|
+
],
|
1240
|
+
'inline-table': [
|
1241
|
+
# Note that unlike inline arrays, inline tables do not
|
1242
|
+
# allow newlines or comments.
|
1243
|
+
(r'[ \t]+', Whitespace),
|
1244
|
+
|
1245
|
+
# Keys
|
1246
|
+
include('key'),
|
1247
|
+
|
1248
|
+
# Values
|
1249
|
+
(r'(=)(\s*)', bygroups(Punctuation, Whitespace), 'value'),
|
1250
|
+
|
1251
|
+
# Delimiters
|
1252
|
+
(r',', Punctuation),
|
1253
|
+
|
1254
|
+
# End of inline table
|
1255
|
+
(r'\}', Punctuation, '#pop'),
|
1256
|
+
],
|
1257
|
+
'basic-string': [
|
1258
|
+
(r'"', String.Double, '#pop'),
|
1259
|
+
include('escapes'),
|
1260
|
+
(r'[^"\\]+', String.Double),
|
1261
|
+
],
|
1262
|
+
'literal-string': [
|
1263
|
+
(r".*?'", String.Single, '#pop'),
|
1264
|
+
],
|
1265
|
+
'multiline-basic-string': [
|
1266
|
+
(r'"""', String.Double, '#pop'),
|
1267
|
+
(r'(\\)(\n)', bygroups(String.Escape, Whitespace)),
|
1268
|
+
include('escapes'),
|
1269
|
+
(r'[^"\\]+', String.Double),
|
1270
|
+
(r'"', String.Double),
|
1271
|
+
],
|
1272
|
+
'multiline-literal-string': [
|
1273
|
+
(r"'''", String.Single, '#pop'),
|
1274
|
+
(r"[^']+", String.Single),
|
1275
|
+
(r"'", String.Single),
|
1276
|
+
],
|
1277
|
+
'escapes': [
|
1278
|
+
(r'\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}', String.Escape),
|
1279
|
+
(r'\\.', String.Escape),
|
1280
|
+
],
|
1092
1281
|
}
|
1093
1282
|
|
1094
1283
|
class NestedTextLexer(RegexLexer):
|
1095
1284
|
"""
|
1096
|
-
Lexer for NextedText
|
1097
|
-
format.
|
1285
|
+
Lexer for *NextedText*, a human-friendly data format.
|
1098
1286
|
|
1099
|
-
..
|
1287
|
+
.. versionchanged:: 2.16
|
1288
|
+
Added support for *NextedText* v3.0.
|
1100
1289
|
"""
|
1101
1290
|
|
1102
1291
|
name = 'NestedText'
|
1103
1292
|
url = 'https://nestedtext.org'
|
1104
1293
|
aliases = ['nestedtext', 'nt']
|
1105
1294
|
filenames = ['*.nt']
|
1106
|
-
|
1107
|
-
_quoted_dict_item = r'^(\s*)({0})(.*?)({0}: ?)(.*?)(\s*)$'
|
1295
|
+
version_added = '2.9'
|
1108
1296
|
|
1109
1297
|
tokens = {
|
1110
1298
|
'root': [
|
1111
|
-
|
1112
|
-
(r'^(
|
1113
|
-
|
1114
|
-
|
1115
|
-
(
|
1116
|
-
|
1299
|
+
# Comment: # ...
|
1300
|
+
(r'^([ ]*)(#.*)$', bygroups(Whitespace, Comment)),
|
1301
|
+
|
1302
|
+
# Inline dictionary: {...}
|
1303
|
+
(r'^([ ]*)(\{)', bygroups(Whitespace, Punctuation), 'inline_dict'),
|
1304
|
+
|
1305
|
+
# Inline list: [...]
|
1306
|
+
(r'^([ ]*)(\[)', bygroups(Whitespace, Punctuation), 'inline_list'),
|
1307
|
+
|
1308
|
+
# empty multiline string item: >
|
1309
|
+
(r'^([ ]*)(>)$', bygroups(Whitespace, Punctuation)),
|
1310
|
+
|
1311
|
+
# multiline string item: > ...
|
1312
|
+
(r'^([ ]*)(>)( )(.*?)([ \t]*)$', bygroups(Whitespace, Punctuation, Whitespace, Text, Whitespace)),
|
1313
|
+
|
1314
|
+
# empty list item: -
|
1315
|
+
(r'^([ ]*)(-)$', bygroups(Whitespace, Punctuation)),
|
1316
|
+
|
1317
|
+
# list item: - ...
|
1318
|
+
(r'^([ ]*)(-)( )(.*?)([ \t]*)$', bygroups(Whitespace, Punctuation, Whitespace, Text, Whitespace)),
|
1319
|
+
|
1320
|
+
# empty multiline key item: :
|
1321
|
+
(r'^([ ]*)(:)$', bygroups(Whitespace, Punctuation)),
|
1322
|
+
|
1323
|
+
# multiline key item: : ...
|
1324
|
+
(r'^([ ]*)(:)( )([^\n]*?)([ \t]*)$', bygroups(Whitespace, Punctuation, Whitespace, Name.Tag, Whitespace)),
|
1325
|
+
|
1326
|
+
# empty dict key item: ...:
|
1327
|
+
(r'^([ ]*)([^\{\[\s].*?)(:)$', bygroups(Whitespace, Name.Tag, Punctuation)),
|
1328
|
+
|
1329
|
+
# dict key item: ...: ...
|
1330
|
+
(r'^([ ]*)([^\{\[\s].*?)(:)( )(.*?)([ \t]*)$', bygroups(Whitespace, Name.Tag, Punctuation, Whitespace, Text, Whitespace)),
|
1331
|
+
],
|
1332
|
+
'inline_list': [
|
1333
|
+
include('whitespace'),
|
1334
|
+
(r'[^\{\}\[\],\s]+', Text),
|
1335
|
+
include('inline_value'),
|
1336
|
+
(r',', Punctuation),
|
1337
|
+
(r'\]', Punctuation, '#pop'),
|
1338
|
+
(r'\n', Error, '#pop'),
|
1339
|
+
],
|
1340
|
+
'inline_dict': [
|
1341
|
+
include('whitespace'),
|
1342
|
+
(r'[^\{\}\[\],:\s]+', Name.Tag),
|
1343
|
+
(r':', Punctuation, 'inline_dict_value'),
|
1344
|
+
(r'\}', Punctuation, '#pop'),
|
1345
|
+
(r'\n', Error, '#pop'),
|
1346
|
+
],
|
1347
|
+
'inline_dict_value': [
|
1348
|
+
include('whitespace'),
|
1349
|
+
(r'[^\{\}\[\],:\s]+', Text),
|
1350
|
+
include('inline_value'),
|
1351
|
+
(r',', Punctuation, '#pop'),
|
1352
|
+
(r'\}', Punctuation, '#pop:2'),
|
1353
|
+
],
|
1354
|
+
'inline_value': [
|
1355
|
+
include('whitespace'),
|
1356
|
+
(r'\{', Punctuation, 'inline_dict'),
|
1357
|
+
(r'\[', Punctuation, 'inline_list'),
|
1358
|
+
],
|
1359
|
+
'whitespace': [
|
1360
|
+
(r'[ \t]+', Whitespace),
|
1117
1361
|
],
|
1118
1362
|
}
|
1119
1363
|
|
@@ -1121,14 +1365,13 @@ class NestedTextLexer(RegexLexer):
|
|
1121
1365
|
class SingularityLexer(RegexLexer):
|
1122
1366
|
"""
|
1123
1367
|
Lexer for Singularity definition files.
|
1124
|
-
|
1125
|
-
.. versionadded:: 2.6
|
1126
1368
|
"""
|
1127
1369
|
|
1128
1370
|
name = 'Singularity'
|
1129
1371
|
url = 'https://www.sylabs.io/guides/3.0/user-guide/definition_files.html'
|
1130
1372
|
aliases = ['singularity']
|
1131
1373
|
filenames = ['*.def', 'Singularity']
|
1374
|
+
version_added = '2.6'
|
1132
1375
|
flags = re.IGNORECASE | re.MULTILINE | re.DOTALL
|
1133
1376
|
|
1134
1377
|
_headers = r'^(\s*)(bootstrap|from|osversion|mirrorurl|include|registry|namespace|includecmd)(:)'
|
@@ -1170,13 +1413,13 @@ class UnixConfigLexer(RegexLexer):
|
|
1170
1413
|
* ``/etc/group``
|
1171
1414
|
* ``/etc/passwd``
|
1172
1415
|
* ``/etc/shadow``
|
1173
|
-
|
1174
|
-
.. versionadded:: 2.12
|
1175
1416
|
"""
|
1176
1417
|
|
1177
1418
|
name = 'Unix/Linux config files'
|
1178
1419
|
aliases = ['unixconfig', 'linuxconfig']
|
1179
1420
|
filenames = []
|
1421
|
+
url = 'https://en.wikipedia.org/wiki/Configuration_file#Unix_and_Unix-like_operating_systems'
|
1422
|
+
version_added = '2.12'
|
1180
1423
|
|
1181
1424
|
tokens = {
|
1182
1425
|
'root': [
|