pygments.rb 3.0.0 → 5.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/.rubocop.yml +1 -2
- data/CHANGELOG.adoc +13 -1
- data/README.adoc +3 -3
- data/Rakefile +1 -1
- data/bench.rb +3 -3
- data/lib/pygments/version.rb +1 -1
- data/pygments.rb.gemspec +6 -4
- 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/cmdline.py +2 -2
- data/vendor/pygments-main/pygments/console.py +1 -1
- data/vendor/pygments-main/pygments/filter.py +1 -1
- data/vendor/pygments-main/pygments/filters/__init__.py +10 -8
- data/vendor/pygments-main/pygments/formatter.py +1 -1
- data/vendor/pygments-main/pygments/formatters/__init__.py +1 -1
- data/vendor/pygments-main/pygments/formatters/_mapping.py +0 -0
- data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
- data/vendor/pygments-main/pygments/formatters/groff.py +1 -1
- data/vendor/pygments-main/pygments/formatters/html.py +20 -10
- data/vendor/pygments-main/pygments/formatters/img.py +3 -2
- data/vendor/pygments-main/pygments/formatters/irc.py +1 -2
- data/vendor/pygments-main/pygments/formatters/latex.py +1 -1
- data/vendor/pygments-main/pygments/formatters/other.py +1 -1
- data/vendor/pygments-main/pygments/formatters/pangomarkup.py +1 -1
- data/vendor/pygments-main/pygments/formatters/rtf.py +1 -1
- data/vendor/pygments-main/pygments/formatters/svg.py +1 -1
- data/vendor/pygments-main/pygments/formatters/terminal.py +1 -1
- data/vendor/pygments-main/pygments/formatters/terminal256.py +6 -6
- data/vendor/pygments-main/pygments/lexer.py +7 -5
- data/vendor/pygments-main/pygments/lexers/__init__.py +1 -1
- 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 +1 -1
- 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 +404 -152
- data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_luau_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_mapping.py +24 -10
- data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +52 -3
- data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_php_builtins.py +7 -4
- data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +1 -1
- 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 +1 -1
- data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_sql_builtins.py +106 -0
- data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +126 -13
- 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 +3 -3
- data/vendor/pygments-main/pygments/lexers/ada.py +1 -1
- data/vendor/pygments-main/pygments/lexers/agile.py +1 -1
- data/vendor/pygments-main/pygments/lexers/algebra.py +8 -6
- data/vendor/pygments-main/pygments/lexers/ambient.py +1 -1
- data/vendor/pygments-main/pygments/lexers/amdgpu.py +1 -1
- data/vendor/pygments-main/pygments/lexers/ampl.py +1 -1
- data/vendor/pygments-main/pygments/lexers/apdlexer.py +1 -1
- data/vendor/pygments-main/pygments/lexers/apl.py +1 -1
- data/vendor/pygments-main/pygments/lexers/archetype.py +4 -4
- data/vendor/pygments-main/pygments/lexers/arrow.py +1 -1
- data/vendor/pygments-main/pygments/lexers/arturo.py +1 -1
- data/vendor/pygments-main/pygments/lexers/asc.py +1 -1
- data/vendor/pygments-main/pygments/lexers/asm.py +29 -21
- data/vendor/pygments-main/pygments/lexers/asn1.py +3 -3
- data/vendor/pygments-main/pygments/lexers/automation.py +1 -1
- data/vendor/pygments-main/pygments/lexers/bare.py +1 -1
- data/vendor/pygments-main/pygments/lexers/basic.py +1 -1
- data/vendor/pygments-main/pygments/lexers/bdd.py +1 -1
- data/vendor/pygments-main/pygments/lexers/berry.py +1 -1
- data/vendor/pygments-main/pygments/lexers/bibtex.py +1 -1
- data/vendor/pygments-main/pygments/lexers/blueprint.py +1 -1
- data/vendor/pygments-main/pygments/lexers/boa.py +1 -1
- data/vendor/pygments-main/pygments/lexers/bqn.py +18 -15
- data/vendor/pygments-main/pygments/lexers/business.py +1 -1
- data/vendor/pygments-main/pygments/lexers/c_cpp.py +18 -17
- data/vendor/pygments-main/pygments/lexers/c_like.py +1 -1
- data/vendor/pygments-main/pygments/lexers/capnproto.py +1 -1
- data/vendor/pygments-main/pygments/lexers/carbon.py +1 -1
- data/vendor/pygments-main/pygments/lexers/cddl.py +1 -1
- data/vendor/pygments-main/pygments/lexers/chapel.py +1 -1
- data/vendor/pygments-main/pygments/lexers/clean.py +1 -1
- data/vendor/pygments-main/pygments/lexers/codeql.py +80 -0
- data/vendor/pygments-main/pygments/lexers/comal.py +1 -1
- data/vendor/pygments-main/pygments/lexers/compiled.py +1 -1
- data/vendor/pygments-main/pygments/lexers/configs.py +17 -8
- data/vendor/pygments-main/pygments/lexers/console.py +1 -1
- data/vendor/pygments-main/pygments/lexers/cplint.py +1 -1
- data/vendor/pygments-main/pygments/lexers/crystal.py +1 -1
- data/vendor/pygments-main/pygments/lexers/csound.py +1 -1
- data/vendor/pygments-main/pygments/lexers/css.py +32 -2
- data/vendor/pygments-main/pygments/lexers/d.py +1 -1
- data/vendor/pygments-main/pygments/lexers/dalvik.py +1 -1
- data/vendor/pygments-main/pygments/lexers/data.py +2 -2
- data/vendor/pygments-main/pygments/lexers/dax.py +1 -1
- data/vendor/pygments-main/pygments/lexers/devicetree.py +17 -5
- data/vendor/pygments-main/pygments/lexers/diff.py +1 -1
- data/vendor/pygments-main/pygments/lexers/dns.py +1 -1
- data/vendor/pygments-main/pygments/lexers/dotnet.py +40 -13
- data/vendor/pygments-main/pygments/lexers/dsls.py +2 -2
- data/vendor/pygments-main/pygments/lexers/dylan.py +3 -3
- data/vendor/pygments-main/pygments/lexers/ecl.py +1 -1
- data/vendor/pygments-main/pygments/lexers/eiffel.py +1 -1
- data/vendor/pygments-main/pygments/lexers/elm.py +1 -1
- data/vendor/pygments-main/pygments/lexers/elpi.py +55 -26
- data/vendor/pygments-main/pygments/lexers/email.py +1 -1
- data/vendor/pygments-main/pygments/lexers/erlang.py +1 -1
- data/vendor/pygments-main/pygments/lexers/esoteric.py +1 -1
- data/vendor/pygments-main/pygments/lexers/ezhil.py +1 -1
- data/vendor/pygments-main/pygments/lexers/factor.py +1 -1
- data/vendor/pygments-main/pygments/lexers/fantom.py +1 -1
- data/vendor/pygments-main/pygments/lexers/felix.py +1 -1
- data/vendor/pygments-main/pygments/lexers/fift.py +1 -1
- data/vendor/pygments-main/pygments/lexers/floscript.py +1 -1
- data/vendor/pygments-main/pygments/lexers/forth.py +1 -1
- data/vendor/pygments-main/pygments/lexers/fortran.py +1 -1
- data/vendor/pygments-main/pygments/lexers/foxpro.py +1 -1
- data/vendor/pygments-main/pygments/lexers/freefem.py +1 -1
- data/vendor/pygments-main/pygments/lexers/func.py +1 -1
- data/vendor/pygments-main/pygments/lexers/functional.py +2 -2
- data/vendor/pygments-main/pygments/lexers/futhark.py +1 -1
- data/vendor/pygments-main/pygments/lexers/gcodelexer.py +1 -1
- data/vendor/pygments-main/pygments/lexers/gdscript.py +1 -1
- data/vendor/pygments-main/pygments/lexers/gleam.py +74 -0
- data/vendor/pygments-main/pygments/lexers/go.py +1 -1
- data/vendor/pygments-main/pygments/lexers/grammar_notation.py +1 -1
- data/vendor/pygments-main/pygments/lexers/graph.py +1 -1
- data/vendor/pygments-main/pygments/lexers/graphics.py +1 -1
- data/vendor/pygments-main/pygments/lexers/graphql.py +1 -1
- data/vendor/pygments-main/pygments/lexers/graphviz.py +1 -1
- data/vendor/pygments-main/pygments/lexers/gsql.py +1 -1
- data/vendor/pygments-main/pygments/lexers/hare.py +73 -0
- data/vendor/pygments-main/pygments/lexers/haskell.py +5 -4
- data/vendor/pygments-main/pygments/lexers/haxe.py +9 -3
- data/vendor/pygments-main/pygments/lexers/hdl.py +1 -1
- data/vendor/pygments-main/pygments/lexers/hexdump.py +1 -1
- data/vendor/pygments-main/pygments/lexers/html.py +48 -4
- data/vendor/pygments-main/pygments/lexers/idl.py +1 -1
- data/vendor/pygments-main/pygments/lexers/igor.py +2 -2
- data/vendor/pygments-main/pygments/lexers/inferno.py +1 -1
- data/vendor/pygments-main/pygments/lexers/installers.py +53 -26
- data/vendor/pygments-main/pygments/lexers/int_fiction.py +1 -1
- data/vendor/pygments-main/pygments/lexers/iolang.py +1 -1
- data/vendor/pygments-main/pygments/lexers/j.py +1 -1
- data/vendor/pygments-main/pygments/lexers/javascript.py +5 -1
- data/vendor/pygments-main/pygments/lexers/jmespath.py +1 -1
- data/vendor/pygments-main/pygments/lexers/jslt.py +1 -1
- data/vendor/pygments-main/pygments/lexers/json5.py +83 -0
- data/vendor/pygments-main/pygments/lexers/jsonnet.py +1 -1
- data/vendor/pygments-main/pygments/lexers/jsx.py +64 -39
- data/vendor/pygments-main/pygments/lexers/julia.py +2 -1
- data/vendor/pygments-main/pygments/lexers/jvm.py +11 -6
- data/vendor/pygments-main/pygments/lexers/kuin.py +1 -1
- data/vendor/pygments-main/pygments/lexers/kusto.py +1 -1
- data/vendor/pygments-main/pygments/lexers/ldap.py +1 -1
- data/vendor/pygments-main/pygments/lexers/lean.py +3 -3
- data/vendor/pygments-main/pygments/lexers/lilypond.py +1 -1
- data/vendor/pygments-main/pygments/lexers/lisp.py +18 -12
- data/vendor/pygments-main/pygments/lexers/macaulay2.py +169 -110
- data/vendor/pygments-main/pygments/lexers/make.py +1 -1
- data/vendor/pygments-main/pygments/lexers/maple.py +291 -0
- data/vendor/pygments-main/pygments/lexers/markup.py +11 -6
- data/vendor/pygments-main/pygments/lexers/math.py +1 -1
- data/vendor/pygments-main/pygments/lexers/matlab.py +5 -4
- data/vendor/pygments-main/pygments/lexers/maxima.py +1 -1
- data/vendor/pygments-main/pygments/lexers/meson.py +3 -3
- data/vendor/pygments-main/pygments/lexers/mime.py +1 -1
- data/vendor/pygments-main/pygments/lexers/minecraft.py +3 -2
- data/vendor/pygments-main/pygments/lexers/mips.py +1 -1
- data/vendor/pygments-main/pygments/lexers/ml.py +1 -1
- data/vendor/pygments-main/pygments/lexers/modeling.py +3 -1
- data/vendor/pygments-main/pygments/lexers/modula2.py +1 -1
- data/vendor/pygments-main/pygments/lexers/mojo.py +7 -4
- data/vendor/pygments-main/pygments/lexers/monte.py +1 -1
- data/vendor/pygments-main/pygments/lexers/mosel.py +1 -1
- data/vendor/pygments-main/pygments/lexers/ncl.py +1 -1
- data/vendor/pygments-main/pygments/lexers/nimrod.py +1 -1
- data/vendor/pygments-main/pygments/lexers/nit.py +1 -1
- data/vendor/pygments-main/pygments/lexers/nix.py +1 -1
- data/vendor/pygments-main/pygments/lexers/numbair.py +63 -0
- data/vendor/pygments-main/pygments/lexers/oberon.py +2 -2
- data/vendor/pygments-main/pygments/lexers/objective.py +12 -12
- data/vendor/pygments-main/pygments/lexers/ooc.py +3 -3
- data/vendor/pygments-main/pygments/lexers/openscad.py +1 -1
- data/vendor/pygments-main/pygments/lexers/other.py +1 -1
- data/vendor/pygments-main/pygments/lexers/parasail.py +1 -1
- data/vendor/pygments-main/pygments/lexers/parsers.py +5 -5
- data/vendor/pygments-main/pygments/lexers/pascal.py +1 -1
- data/vendor/pygments-main/pygments/lexers/pawn.py +1 -1
- data/vendor/pygments-main/pygments/lexers/pddl.py +82 -0
- data/vendor/pygments-main/pygments/lexers/perl.py +1 -1
- data/vendor/pygments-main/pygments/lexers/phix.py +1 -1
- data/vendor/pygments-main/pygments/lexers/php.py +6 -5
- data/vendor/pygments-main/pygments/lexers/pointless.py +1 -1
- data/vendor/pygments-main/pygments/lexers/pony.py +1 -1
- data/vendor/pygments-main/pygments/lexers/praat.py +1 -1
- data/vendor/pygments-main/pygments/lexers/procfile.py +1 -1
- data/vendor/pygments-main/pygments/lexers/prolog.py +1 -1
- data/vendor/pygments-main/pygments/lexers/promql.py +1 -1
- data/vendor/pygments-main/pygments/lexers/prql.py +1 -1
- data/vendor/pygments-main/pygments/lexers/ptx.py +1 -1
- data/vendor/pygments-main/pygments/lexers/python.py +58 -52
- data/vendor/pygments-main/pygments/lexers/q.py +1 -1
- data/vendor/pygments-main/pygments/lexers/qlik.py +1 -1
- data/vendor/pygments-main/pygments/lexers/qvt.py +1 -1
- data/vendor/pygments-main/pygments/lexers/r.py +8 -4
- data/vendor/pygments-main/pygments/lexers/rdf.py +4 -4
- data/vendor/pygments-main/pygments/lexers/rebol.py +1 -1
- data/vendor/pygments-main/pygments/lexers/rego.py +57 -0
- data/vendor/pygments-main/pygments/lexers/rell.py +68 -0
- data/vendor/pygments-main/pygments/lexers/resource.py +1 -1
- data/vendor/pygments-main/pygments/lexers/ride.py +1 -1
- data/vendor/pygments-main/pygments/lexers/rita.py +1 -1
- data/vendor/pygments-main/pygments/lexers/rnc.py +1 -1
- data/vendor/pygments-main/pygments/lexers/roboconf.py +1 -1
- data/vendor/pygments-main/pygments/lexers/robotframework.py +1 -1
- data/vendor/pygments-main/pygments/lexers/ruby.py +1 -1
- data/vendor/pygments-main/pygments/lexers/rust.py +1 -1
- data/vendor/pygments-main/pygments/lexers/sas.py +1 -1
- data/vendor/pygments-main/pygments/lexers/savi.py +1 -1
- data/vendor/pygments-main/pygments/lexers/scdoc.py +1 -1
- data/vendor/pygments-main/pygments/lexers/scripting.py +65 -25
- data/vendor/pygments-main/pygments/lexers/sgf.py +1 -1
- data/vendor/pygments-main/pygments/lexers/shell.py +5 -1
- data/vendor/pygments-main/pygments/lexers/sieve.py +1 -1
- data/vendor/pygments-main/pygments/lexers/slash.py +1 -1
- data/vendor/pygments-main/pygments/lexers/smalltalk.py +1 -1
- data/vendor/pygments-main/pygments/lexers/smithy.py +1 -1
- data/vendor/pygments-main/pygments/lexers/smv.py +1 -1
- data/vendor/pygments-main/pygments/lexers/snobol.py +1 -1
- data/vendor/pygments-main/pygments/lexers/solidity.py +1 -1
- data/vendor/pygments-main/pygments/lexers/soong.py +1 -1
- data/vendor/pygments-main/pygments/lexers/sophia.py +1 -1
- data/vendor/pygments-main/pygments/lexers/special.py +2 -1
- data/vendor/pygments-main/pygments/lexers/spice.py +2 -2
- data/vendor/pygments-main/pygments/lexers/sql.py +205 -127
- data/vendor/pygments-main/pygments/lexers/srcinfo.py +1 -1
- data/vendor/pygments-main/pygments/lexers/stata.py +1 -1
- data/vendor/pygments-main/pygments/lexers/supercollider.py +1 -1
- data/vendor/pygments-main/pygments/lexers/tablegen.py +177 -0
- data/vendor/pygments-main/pygments/lexers/tact.py +1 -1
- data/vendor/pygments-main/pygments/lexers/tal.py +1 -1
- data/vendor/pygments-main/pygments/lexers/tcl.py +1 -1
- data/vendor/pygments-main/pygments/lexers/teal.py +1 -1
- data/vendor/pygments-main/pygments/lexers/templates.py +3 -3
- data/vendor/pygments-main/pygments/lexers/teraterm.py +11 -1
- data/vendor/pygments-main/pygments/lexers/testing.py +1 -1
- data/vendor/pygments-main/pygments/lexers/text.py +2 -2
- data/vendor/pygments-main/pygments/lexers/textedit.py +1 -1
- data/vendor/pygments-main/pygments/lexers/textfmts.py +1 -1
- data/vendor/pygments-main/pygments/lexers/theorem.py +8 -8
- data/vendor/pygments-main/pygments/lexers/thingsdb.py +8 -5
- data/vendor/pygments-main/pygments/lexers/tlb.py +1 -1
- data/vendor/pygments-main/pygments/lexers/tls.py +1 -1
- data/vendor/pygments-main/pygments/lexers/tnt.py +1 -1
- data/vendor/pygments-main/pygments/lexers/trafficscript.py +1 -1
- data/vendor/pygments-main/pygments/lexers/typoscript.py +1 -1
- data/vendor/pygments-main/pygments/lexers/typst.py +82 -26
- data/vendor/pygments-main/pygments/lexers/ul4.py +1 -1
- data/vendor/pygments-main/pygments/lexers/unicon.py +1 -1
- data/vendor/pygments-main/pygments/lexers/urbi.py +1 -1
- data/vendor/pygments-main/pygments/lexers/usd.py +1 -1
- data/vendor/pygments-main/pygments/lexers/varnish.py +1 -1
- data/vendor/pygments-main/pygments/lexers/verification.py +1 -1
- data/vendor/pygments-main/pygments/lexers/verifpal.py +1 -1
- data/vendor/pygments-main/pygments/lexers/vip.py +1 -1
- data/vendor/pygments-main/pygments/lexers/vyper.py +2 -2
- data/vendor/pygments-main/pygments/lexers/web.py +1 -1
- data/vendor/pygments-main/pygments/lexers/webassembly.py +1 -1
- data/vendor/pygments-main/pygments/lexers/webidl.py +1 -1
- data/vendor/pygments-main/pygments/lexers/webmisc.py +1 -1
- data/vendor/pygments-main/pygments/lexers/wgsl.py +1 -1
- data/vendor/pygments-main/pygments/lexers/whiley.py +1 -1
- data/vendor/pygments-main/pygments/lexers/wowtoc.py +1 -1
- data/vendor/pygments-main/pygments/lexers/wren.py +1 -1
- data/vendor/pygments-main/pygments/lexers/x10.py +1 -1
- data/vendor/pygments-main/pygments/lexers/xorg.py +1 -1
- data/vendor/pygments-main/pygments/lexers/yang.py +1 -1
- data/vendor/pygments-main/pygments/lexers/yara.py +1 -1
- data/vendor/pygments-main/pygments/lexers/zig.py +2 -2
- data/vendor/pygments-main/pygments/modeline.py +1 -1
- data/vendor/pygments-main/pygments/plugin.py +3 -1
- data/vendor/pygments-main/pygments/regexopt.py +13 -2
- data/vendor/pygments-main/pygments/scanner.py +1 -1
- data/vendor/pygments-main/pygments/sphinxext.py +1 -1
- data/vendor/pygments-main/pygments/style.py +1 -1
- data/vendor/pygments-main/pygments/styles/__init__.py +1 -1
- data/vendor/pygments-main/pygments/styles/abap.py +1 -1
- data/vendor/pygments-main/pygments/styles/algol.py +1 -1
- data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -1
- data/vendor/pygments-main/pygments/styles/arduino.py +1 -1
- data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
- data/vendor/pygments-main/pygments/styles/borland.py +1 -1
- data/vendor/pygments-main/pygments/styles/bw.py +1 -1
- data/vendor/pygments-main/pygments/styles/coffee.py +1 -1
- data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
- data/vendor/pygments-main/pygments/styles/default.py +1 -1
- data/vendor/pygments-main/pygments/styles/dracula.py +1 -1
- data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
- data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
- data/vendor/pygments-main/pygments/styles/friendly_grayscale.py +1 -1
- data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
- data/vendor/pygments-main/pygments/styles/gh_dark.py +1 -1
- data/vendor/pygments-main/pygments/styles/gruvbox.py +1 -1
- data/vendor/pygments-main/pygments/styles/igor.py +1 -1
- data/vendor/pygments-main/pygments/styles/inkpot.py +1 -1
- data/vendor/pygments-main/pygments/styles/lightbulb.py +1 -1
- data/vendor/pygments-main/pygments/styles/lilypond.py +1 -1
- data/vendor/pygments-main/pygments/styles/lovelace.py +1 -1
- data/vendor/pygments-main/pygments/styles/manni.py +1 -1
- data/vendor/pygments-main/pygments/styles/material.py +1 -1
- data/vendor/pygments-main/pygments/styles/monokai.py +1 -1
- data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
- data/vendor/pygments-main/pygments/styles/native.py +1 -1
- data/vendor/pygments-main/pygments/styles/nord.py +1 -1
- data/vendor/pygments-main/pygments/styles/onedark.py +13 -3
- data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -1
- data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -1
- data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
- data/vendor/pygments-main/pygments/styles/perldoc.py +1 -1
- data/vendor/pygments-main/pygments/styles/rainbow_dash.py +1 -1
- data/vendor/pygments-main/pygments/styles/rrt.py +18 -3
- data/vendor/pygments-main/pygments/styles/sas.py +1 -1
- data/vendor/pygments-main/pygments/styles/solarized.py +1 -1
- data/vendor/pygments-main/pygments/styles/staroffice.py +1 -1
- data/vendor/pygments-main/pygments/styles/stata_dark.py +1 -1
- data/vendor/pygments-main/pygments/styles/stata_light.py +1 -1
- data/vendor/pygments-main/pygments/styles/tango.py +1 -1
- data/vendor/pygments-main/pygments/styles/trac.py +1 -1
- data/vendor/pygments-main/pygments/styles/vim.py +1 -1
- data/vendor/pygments-main/pygments/styles/vs.py +1 -1
- data/vendor/pygments-main/pygments/styles/xcode.py +1 -1
- data/vendor/pygments-main/pygments/styles/zenburn.py +1 -1
- data/vendor/pygments-main/pygments/token.py +1 -1
- data/vendor/pygments-main/pygments/unistring.py +1 -1
- data/vendor/pygments-main/pygments/util.py +2 -2
- data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.20.0.dist-info}/METADATA +7 -7
- data/vendor/pygments-main/pygments-2.20.0.dist-info/RECORD +687 -0
- data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.20.0.dist-info}/WHEEL +1 -1
- data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.20.0.dist-info}/licenses/AUTHORS +9 -0
- metadata +44 -21
- data/vendor/pygments-main/pygments-2.18.0.dist-info/RECORD +0 -663
- /data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.20.0.dist-info}/INSTALLER +0 -0
- /data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.20.0.dist-info}/REQUESTED +0 -0
- /data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.20.0.dist-info}/entry_points.txt +0 -0
- /data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.20.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Lexers for Python and related languages.
|
|
6
6
|
|
|
7
|
-
:copyright: Copyright 2006-
|
|
7
|
+
:copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
|
|
8
8
|
:license: BSD, see LICENSE for details.
|
|
9
9
|
"""
|
|
10
10
|
|
|
@@ -33,7 +33,7 @@ class PythonLexer(RegexLexer):
|
|
|
33
33
|
|
|
34
34
|
name = 'Python'
|
|
35
35
|
url = 'https://www.python.org'
|
|
36
|
-
aliases = ['python', 'py', 'sage', 'python3', 'py3', 'bazel', 'starlark']
|
|
36
|
+
aliases = ['python', 'py', 'sage', 'python3', 'py3', 'bazel', 'starlark', 'pyi']
|
|
37
37
|
filenames = [
|
|
38
38
|
'*.py',
|
|
39
39
|
'*.pyw',
|
|
@@ -55,6 +55,8 @@ class PythonLexer(RegexLexer):
|
|
|
55
55
|
'WORKSPACE',
|
|
56
56
|
# Twisted Application infrastructure
|
|
57
57
|
'*.tac',
|
|
58
|
+
# Execubot level format
|
|
59
|
+
'*.pye',
|
|
58
60
|
]
|
|
59
61
|
mimetypes = ['text/x-python', 'application/x-python',
|
|
60
62
|
'text/x-python3', 'application/x-python3']
|
|
@@ -109,36 +111,36 @@ class PythonLexer(RegexLexer):
|
|
|
109
111
|
(r'\\', Text),
|
|
110
112
|
include('keywords'),
|
|
111
113
|
include('soft-keywords'),
|
|
112
|
-
(r'(def)((?:\s|\\\s)+)', bygroups(Keyword,
|
|
113
|
-
(r'(class)((?:\s|\\\s)+)', bygroups(Keyword,
|
|
114
|
-
(r'(from)((?:\s|\\\s)+)', bygroups(Keyword.Namespace,
|
|
114
|
+
(r'(def)((?:\s|\\\s)+)', bygroups(Keyword, Whitespace), 'funcname'),
|
|
115
|
+
(r'(class)((?:\s|\\\s)+)', bygroups(Keyword, Whitespace), 'classname'),
|
|
116
|
+
(r'(from)((?:\s|\\\s)+)', bygroups(Keyword.Namespace, Whitespace),
|
|
115
117
|
'fromimport'),
|
|
116
|
-
(r'(import)((?:\s|\\\s)+)', bygroups(Keyword.Namespace,
|
|
118
|
+
(r'(import)((?:\s|\\\s)+)', bygroups(Keyword.Namespace, Whitespace),
|
|
117
119
|
'import'),
|
|
118
120
|
include('expr'),
|
|
119
121
|
],
|
|
120
122
|
'expr': [
|
|
121
|
-
# raw f-strings
|
|
122
|
-
('(?i)(
|
|
123
|
+
# raw f-strings and t-strings
|
|
124
|
+
('(?i)(r[ft]|[ft]r)(""")',
|
|
123
125
|
bygroups(String.Affix, String.Double),
|
|
124
126
|
combined('rfstringescape', 'tdqf')),
|
|
125
|
-
("(?i)(
|
|
127
|
+
("(?i)(r[ft]|[ft]r)(''')",
|
|
126
128
|
bygroups(String.Affix, String.Single),
|
|
127
129
|
combined('rfstringescape', 'tsqf')),
|
|
128
|
-
('(?i)(
|
|
130
|
+
('(?i)(r[ft]|[ft]r)(")',
|
|
129
131
|
bygroups(String.Affix, String.Double),
|
|
130
132
|
combined('rfstringescape', 'dqf')),
|
|
131
|
-
("(?i)(
|
|
133
|
+
("(?i)(r[ft]|[ft]r)(')",
|
|
132
134
|
bygroups(String.Affix, String.Single),
|
|
133
135
|
combined('rfstringescape', 'sqf')),
|
|
134
|
-
# non-raw f-strings
|
|
135
|
-
('([
|
|
136
|
+
# non-raw f-strings and t-strings
|
|
137
|
+
('([fFtT])(""")', bygroups(String.Affix, String.Double),
|
|
136
138
|
combined('fstringescape', 'tdqf')),
|
|
137
|
-
("([
|
|
139
|
+
("([fFtT])(''')", bygroups(String.Affix, String.Single),
|
|
138
140
|
combined('fstringescape', 'tsqf')),
|
|
139
|
-
('([
|
|
141
|
+
('([fFtT])(")', bygroups(String.Affix, String.Double),
|
|
140
142
|
combined('fstringescape', 'dqf')),
|
|
141
|
-
("([
|
|
143
|
+
("([fFtT])(')", bygroups(String.Affix, String.Single),
|
|
142
144
|
combined('fstringescape', 'sqf')),
|
|
143
145
|
# raw bytes and strings
|
|
144
146
|
('(?i)(rb|br|r)(""")',
|
|
@@ -329,14 +331,14 @@ class PythonLexer(RegexLexer):
|
|
|
329
331
|
(uni_name, Name.Class, '#pop'),
|
|
330
332
|
],
|
|
331
333
|
'import': [
|
|
332
|
-
(r'(\s+)(as)(\s+)', bygroups(
|
|
334
|
+
(r'(\s+)(as)(\s+)', bygroups(Whitespace, Keyword, Whitespace)),
|
|
333
335
|
(r'\.', Name.Namespace),
|
|
334
336
|
(uni_name, Name.Namespace),
|
|
335
|
-
(r'(\s*)(,)(\s*)', bygroups(
|
|
337
|
+
(r'(\s*)(,)(\s*)', bygroups(Whitespace, Operator, Whitespace)),
|
|
336
338
|
default('#pop') # all else: go back
|
|
337
339
|
],
|
|
338
340
|
'fromimport': [
|
|
339
|
-
(r'(\s+)(import)\b', bygroups(
|
|
341
|
+
(r'(\s+)(import)\b', bygroups(Whitespace, Keyword.Namespace), '#pop'),
|
|
340
342
|
(r'\.', Name.Namespace),
|
|
341
343
|
# if None occurs here, it's "raise x from None", since None can
|
|
342
344
|
# never be a module name
|
|
@@ -459,11 +461,11 @@ class Python2Lexer(RegexLexer):
|
|
|
459
461
|
(r'(in|is|and|or|not)\b', Operator.Word),
|
|
460
462
|
(r'!=|==|<<|>>|[-~+/*%=<>&^|.]', Operator),
|
|
461
463
|
include('keywords'),
|
|
462
|
-
(r'(def)((?:\s|\\\s)+)', bygroups(Keyword,
|
|
463
|
-
(r'(class)((?:\s|\\\s)+)', bygroups(Keyword,
|
|
464
|
-
(r'(from)((?:\s|\\\s)+)', bygroups(Keyword.Namespace,
|
|
464
|
+
(r'(def)((?:\s|\\\s)+)', bygroups(Keyword, Whitespace), 'funcname'),
|
|
465
|
+
(r'(class)((?:\s|\\\s)+)', bygroups(Keyword, Whitespace), 'classname'),
|
|
466
|
+
(r'(from)((?:\s|\\\s)+)', bygroups(Keyword.Namespace, Whitespace),
|
|
465
467
|
'fromimport'),
|
|
466
|
-
(r'(import)((?:\s|\\\s)+)', bygroups(Keyword.Namespace,
|
|
468
|
+
(r'(import)((?:\s|\\\s)+)', bygroups(Keyword.Namespace, Whitespace),
|
|
467
469
|
'import'),
|
|
468
470
|
include('builtins'),
|
|
469
471
|
include('magicfuncs'),
|
|
@@ -635,6 +637,7 @@ class Python2Lexer(RegexLexer):
|
|
|
635
637
|
def analyse_text(text):
|
|
636
638
|
return shebang_matches(text, r'pythonw?2(\.\d)?')
|
|
637
639
|
|
|
640
|
+
|
|
638
641
|
class _PythonConsoleLexerBase(RegexLexer):
|
|
639
642
|
name = 'Python console session'
|
|
640
643
|
aliases = ['pycon', 'python-console']
|
|
@@ -671,6 +674,7 @@ class _PythonConsoleLexerBase(RegexLexer):
|
|
|
671
674
|
],
|
|
672
675
|
}
|
|
673
676
|
|
|
677
|
+
|
|
674
678
|
class PythonConsoleLexer(DelegatingLexer):
|
|
675
679
|
"""
|
|
676
680
|
For Python console output or doctests, such as:
|
|
@@ -719,6 +723,7 @@ class PythonConsoleLexer(DelegatingLexer):
|
|
|
719
723
|
super().__init__(pylexer, _PythonConsoleLexerBase, Other.Code, **options)
|
|
720
724
|
super().__init__(tblexer, _ReplaceInnerCode, Other.Traceback, **options)
|
|
721
725
|
|
|
726
|
+
|
|
722
727
|
class PythonTracebackLexer(RegexLexer):
|
|
723
728
|
"""
|
|
724
729
|
For Python 3.x tracebacks, with support for chained exceptions.
|
|
@@ -851,16 +856,16 @@ class CythonLexer(RegexLexer):
|
|
|
851
856
|
bygroups(Punctuation, Keyword.Type, Punctuation)),
|
|
852
857
|
(r'!=|==|<<|>>|[-~+/*%=<>&^|.?]', Operator),
|
|
853
858
|
(r'(from)(\d+)(<=)(\s+)(<)(\d+)(:)',
|
|
854
|
-
bygroups(Keyword, Number.Integer, Operator,
|
|
859
|
+
bygroups(Keyword, Number.Integer, Operator, Whitespace, Operator,
|
|
855
860
|
Name, Punctuation)),
|
|
856
861
|
include('keywords'),
|
|
857
|
-
(r'(def|property)(\s+)', bygroups(Keyword,
|
|
858
|
-
(r'(cp?def)(\s+)', bygroups(Keyword,
|
|
862
|
+
(r'(def|property)(\s+)', bygroups(Keyword, Whitespace), 'funcname'),
|
|
863
|
+
(r'(cp?def)(\s+)', bygroups(Keyword, Whitespace), 'cdef'),
|
|
859
864
|
# (should actually start a block with only cdefs)
|
|
860
865
|
(r'(cdef)(:)', bygroups(Keyword, Punctuation)),
|
|
861
|
-
(r'(class|struct)(\s+)', bygroups(Keyword,
|
|
862
|
-
(r'(from)(\s+)', bygroups(Keyword,
|
|
863
|
-
(r'(c?import)(\s+)', bygroups(Keyword,
|
|
866
|
+
(r'(class|cppclass|struct)(\s+)', bygroups(Keyword, Whitespace), 'classname'),
|
|
867
|
+
(r'(from)(\s+)', bygroups(Keyword, Whitespace), 'fromimport'),
|
|
868
|
+
(r'(c?import)(\s+)', bygroups(Keyword, Whitespace), 'import'),
|
|
864
869
|
include('builtins'),
|
|
865
870
|
include('backtick'),
|
|
866
871
|
('(?:[rR]|[uU][rR]|[rR][uU])"""', String, 'tdqs'),
|
|
@@ -876,37 +881,38 @@ class CythonLexer(RegexLexer):
|
|
|
876
881
|
],
|
|
877
882
|
'keywords': [
|
|
878
883
|
(words((
|
|
879
|
-
'assert', 'async', 'await', 'break', 'by', 'continue', 'ctypedef', 'del',
|
|
880
|
-
'else', 'except', 'except?', 'exec', 'finally', 'for', 'fused', 'gil',
|
|
881
|
-
'global', 'if', 'include', 'lambda', '
|
|
882
|
-
'raise', 'return', 'try', 'while', 'yield', 'as', 'with'),
|
|
884
|
+
'assert', 'async', 'await', 'break', 'by', 'continue', 'ctypedef', 'del',
|
|
885
|
+
'elif', 'else', 'except', 'except?', 'exec', 'finally', 'for', 'fused', 'gil',
|
|
886
|
+
'global', 'if', 'include', 'lambda', 'namespace', 'new', 'noexcept','nogil',
|
|
887
|
+
'pass', 'print', 'raise', 'return', 'try', 'while', 'yield', 'as', 'with'),
|
|
888
|
+
suffix=r'\b'),
|
|
883
889
|
Keyword),
|
|
890
|
+
(words(('True', 'False', 'None', 'NULL'), suffix=r'\b'), Keyword.Constant),
|
|
884
891
|
(r'(DEF|IF|ELIF|ELSE)\b', Comment.Preproc),
|
|
885
892
|
],
|
|
886
893
|
'builtins': [
|
|
887
894
|
(words((
|
|
888
895
|
'__import__', 'abs', 'all', 'any', 'apply', 'basestring', 'bin', 'bint',
|
|
889
|
-
'bool', 'buffer', 'bytearray', 'bytes', 'callable', 'chr',
|
|
896
|
+
'bool', 'buffer', 'bytearray', 'bytes', 'callable', 'char', 'chr',
|
|
890
897
|
'classmethod', 'cmp', 'coerce', 'compile', 'complex', 'delattr',
|
|
891
|
-
'dict', 'dir', 'divmod', 'enumerate', 'eval', 'execfile', 'exit',
|
|
898
|
+
'dict', 'dir', 'divmod', 'double', 'enumerate', 'eval', 'execfile', 'exit',
|
|
892
899
|
'file', 'filter', 'float', 'frozenset', 'getattr', 'globals',
|
|
893
900
|
'hasattr', 'hash', 'hex', 'id', 'input', 'int', 'intern', 'isinstance',
|
|
894
901
|
'issubclass', 'iter', 'len', 'list', 'locals', 'long', 'map', 'max',
|
|
895
|
-
'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'property',
|
|
896
|
-
'range', 'raw_input', 'reduce', 'reload', 'repr', 'reversed',
|
|
897
|
-
'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod',
|
|
898
|
-
'str', 'sum', 'super', 'tuple', 'type', 'unichr', 'unicode',
|
|
899
|
-
'vars', 'xrange', 'zip'), prefix=r'(?<!\.)', suffix=r'\b'),
|
|
902
|
+
'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'property',
|
|
903
|
+
'Py_ssize_t', 'range', 'raw_input', 'reduce', 'reload', 'repr', 'reversed',
|
|
904
|
+
'round', 'set', 'setattr', 'size_t', 'slice', 'sorted', 'staticmethod',
|
|
905
|
+
'ssize_t', 'str', 'sum', 'super', 'tuple', 'type', 'unichr', 'unicode',
|
|
906
|
+
'unsigned', 'vars', 'xrange', 'zip'), prefix=r'(?<!\.)', suffix=r'\b'),
|
|
900
907
|
Name.Builtin),
|
|
901
|
-
(r'(?<!\.)(self|
|
|
902
|
-
r')\b', Name.Builtin.Pseudo),
|
|
908
|
+
(r'(?<!\.)(self|cls|Ellipsis|NotImplemented)\b', Name.Builtin.Pseudo),
|
|
903
909
|
(words((
|
|
904
910
|
'ArithmeticError', 'AssertionError', 'AttributeError',
|
|
905
911
|
'BaseException', 'DeprecationWarning', 'EOFError', 'EnvironmentError',
|
|
906
912
|
'Exception', 'FloatingPointError', 'FutureWarning', 'GeneratorExit',
|
|
907
913
|
'IOError', 'ImportError', 'ImportWarning', 'IndentationError',
|
|
908
914
|
'IndexError', 'KeyError', 'KeyboardInterrupt', 'LookupError',
|
|
909
|
-
'MemoryError', 'NameError', '
|
|
915
|
+
'MemoryError', 'NameError', 'NotImplementedError',
|
|
910
916
|
'OSError', 'OverflowError', 'OverflowWarning',
|
|
911
917
|
'PendingDeprecationWarning', 'ReferenceError', 'RuntimeError',
|
|
912
918
|
'RuntimeWarning', 'StandardError', 'StopIteration', 'SyntaxError',
|
|
@@ -935,12 +941,12 @@ class CythonLexer(RegexLexer):
|
|
|
935
941
|
(r'[a-zA-Z_]\w*', Name.Function, '#pop')
|
|
936
942
|
],
|
|
937
943
|
'cdef': [
|
|
938
|
-
(r
|
|
939
|
-
(r
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
(r
|
|
943
|
-
|
|
944
|
+
(r"(public|readonly|extern|api|inline|packed)\b", Keyword.Reserved),
|
|
945
|
+
(r"(struct|enum|union|class|cppclass)\b(\s+)([a-zA-Z_]\w*)",
|
|
946
|
+
bygroups(Keyword, Whitespace, Name.Class), "#pop",),
|
|
947
|
+
(r"([a-zA-Z_]\w*)(\s*)(?=\()", bygroups(Name.Function, Whitespace), "#pop"),
|
|
948
|
+
(r"([a-zA-Z_]\w*)(\s*)(?=[:,=#\n]|$)", bygroups(Name.Variable, Whitespace), "#pop"),
|
|
949
|
+
(r"([a-zA-Z_]\w*)(\s*)(,)", bygroups(Name.Variable, Whitespace, Punctuation)),
|
|
944
950
|
(r'from\b', Keyword, '#pop'),
|
|
945
951
|
(r'as\b', Keyword),
|
|
946
952
|
(r':', Punctuation, '#pop'),
|
|
@@ -952,13 +958,13 @@ class CythonLexer(RegexLexer):
|
|
|
952
958
|
(r'[a-zA-Z_]\w*', Name.Class, '#pop')
|
|
953
959
|
],
|
|
954
960
|
'import': [
|
|
955
|
-
(r'(\s+)(as)(\s+)', bygroups(
|
|
961
|
+
(r'(\s+)(as)(\s+)', bygroups(Whitespace, Keyword, Whitespace)),
|
|
956
962
|
(r'[a-zA-Z_][\w.]*', Name.Namespace),
|
|
957
|
-
(r'(\s*)(,)(\s*)', bygroups(
|
|
963
|
+
(r'(\s*)(,)(\s*)', bygroups(Whitespace, Operator, Whitespace)),
|
|
958
964
|
default('#pop') # all else: go back
|
|
959
965
|
],
|
|
960
966
|
'fromimport': [
|
|
961
|
-
(r'(\s+)(c?import)\b', bygroups(
|
|
967
|
+
(r'(\s+)(c?import)\b', bygroups(Whitespace, Keyword), '#pop'),
|
|
962
968
|
(r'[a-zA-Z_.][\w.]*', Name.Namespace),
|
|
963
969
|
# ``cdef foo from "header"``, or ``for foo from 0 < i < 10``
|
|
964
970
|
default('#pop'),
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Lexers for the R/S languages.
|
|
6
6
|
|
|
7
|
-
:copyright: Copyright 2006-
|
|
7
|
+
:copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
|
|
8
8
|
:license: BSD, see LICENSE for details.
|
|
9
9
|
"""
|
|
10
10
|
|
|
@@ -30,6 +30,7 @@ class RConsoleLexer(Lexer):
|
|
|
30
30
|
filenames = ['*.Rout']
|
|
31
31
|
url = 'https://www.r-project.org'
|
|
32
32
|
version_added = ''
|
|
33
|
+
_example = "rconsole/r-console-transcript.Rout"
|
|
33
34
|
|
|
34
35
|
def get_tokens_unprocessed(self, text):
|
|
35
36
|
slexer = SLexer(**self.options)
|
|
@@ -87,6 +88,9 @@ class SLexer(RegexLexer):
|
|
|
87
88
|
'valid_name': [
|
|
88
89
|
(valid_name, Name),
|
|
89
90
|
],
|
|
91
|
+
'function_name': [
|
|
92
|
+
(rf'({valid_name})\s*(?=\()', Name.Function),
|
|
93
|
+
],
|
|
90
94
|
'punctuation': [
|
|
91
95
|
(r'\[{1,2}|\]{1,2}|\(|\)|;|,', Punctuation),
|
|
92
96
|
],
|
|
@@ -96,7 +100,7 @@ class SLexer(RegexLexer):
|
|
|
96
100
|
Keyword.Reserved),
|
|
97
101
|
],
|
|
98
102
|
'operators': [
|
|
99
|
-
(r'
|
|
103
|
+
(r'<<?-|->>?|-|==|<=|>=|\|>|<|>|&&?|!=|\|\|?|\?', Operator),
|
|
100
104
|
(r'\*|\+|\^|/|!|%[^%]*%|=|~|\$|@|:{1,3}', Operator),
|
|
101
105
|
],
|
|
102
106
|
'builtin_symbols': [
|
|
@@ -120,15 +124,15 @@ class SLexer(RegexLexer):
|
|
|
120
124
|
(r'\'', String, 'string_squote'),
|
|
121
125
|
(r'\"', String, 'string_dquote'),
|
|
122
126
|
include('builtin_symbols'),
|
|
127
|
+
include('keywords'),
|
|
128
|
+
include('function_name'),
|
|
123
129
|
include('valid_name'),
|
|
124
130
|
include('numbers'),
|
|
125
|
-
include('keywords'),
|
|
126
131
|
include('punctuation'),
|
|
127
132
|
include('operators'),
|
|
128
133
|
],
|
|
129
134
|
'root': [
|
|
130
135
|
# calls:
|
|
131
|
-
(rf'({valid_name})\s*(?=\()', Name.Function),
|
|
132
136
|
include('statements'),
|
|
133
137
|
# blocks:
|
|
134
138
|
(r'\{|\}', Punctuation),
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Lexers for semantic web and RDF query languages and markup.
|
|
6
6
|
|
|
7
|
-
:copyright: Copyright 2006-
|
|
7
|
+
:copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
|
|
8
8
|
:license: BSD, see LICENSE for details.
|
|
9
9
|
"""
|
|
10
10
|
|
|
@@ -265,7 +265,7 @@ class TurtleLexer(RegexLexer):
|
|
|
265
265
|
bygroups(Name.Namespace, Punctuation, Name.Tag)),
|
|
266
266
|
|
|
267
267
|
# Comment
|
|
268
|
-
(r'#[^\n]
|
|
268
|
+
(r'#([^\n]+|$)', Comment),
|
|
269
269
|
|
|
270
270
|
(r'\b(true|false)\b', Literal),
|
|
271
271
|
(r'[+\-]?\d*\.\d+', Number.Float),
|
|
@@ -280,7 +280,7 @@ class TurtleLexer(RegexLexer):
|
|
|
280
280
|
],
|
|
281
281
|
'triple-double-quoted-string': [
|
|
282
282
|
(r'"""', String, 'end-of-string'),
|
|
283
|
-
(r'[^\\]+', String),
|
|
283
|
+
(r'[^\\]+(?=""")', String),
|
|
284
284
|
(r'\\', String, 'string-escape'),
|
|
285
285
|
],
|
|
286
286
|
'single-double-quoted-string': [
|
|
@@ -290,7 +290,7 @@ class TurtleLexer(RegexLexer):
|
|
|
290
290
|
],
|
|
291
291
|
'triple-single-quoted-string': [
|
|
292
292
|
(r"'''", String, 'end-of-string'),
|
|
293
|
-
(r
|
|
293
|
+
(r"[^\\]+(?=''')", String),
|
|
294
294
|
(r'\\', String, 'string-escape'),
|
|
295
295
|
],
|
|
296
296
|
'single-single-quoted-string': [
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"""
|
|
2
|
+
pygments.lexers.rego
|
|
3
|
+
~~~~~~~~~~~~~~~~~~~~
|
|
4
|
+
|
|
5
|
+
Lexers for the Rego policy languages.
|
|
6
|
+
|
|
7
|
+
:copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
|
|
8
|
+
:license: BSD, see LICENSE for details.
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
from pygments.lexer import RegexLexer, words
|
|
12
|
+
from pygments.token import Comment, Operator, Keyword, Name, String, Number, Punctuation, Whitespace
|
|
13
|
+
|
|
14
|
+
class RegoLexer(RegexLexer):
|
|
15
|
+
"""
|
|
16
|
+
For Rego source.
|
|
17
|
+
"""
|
|
18
|
+
name = 'Rego'
|
|
19
|
+
url = 'https://www.openpolicyagent.org/docs/latest/policy-language/'
|
|
20
|
+
filenames = ['*.rego']
|
|
21
|
+
aliases = ['rego']
|
|
22
|
+
mimetypes = ['text/x-rego']
|
|
23
|
+
version_added = '2.19'
|
|
24
|
+
|
|
25
|
+
reserved_words = (
|
|
26
|
+
'as', 'contains', 'data', 'default', 'else', 'every', 'false',
|
|
27
|
+
'if', 'in', 'import', 'package', 'not', 'null',
|
|
28
|
+
'some', 'true', 'with'
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
builtins = (
|
|
32
|
+
# https://www.openpolicyagent.org/docs/latest/philosophy/#the-opa-document-model
|
|
33
|
+
'data', # Global variable for accessing base and virtual documents
|
|
34
|
+
'input', # Represents synchronously pushed base documents
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
tokens = {
|
|
38
|
+
'root': [
|
|
39
|
+
(r'\n', Whitespace),
|
|
40
|
+
(r'\s+', Whitespace),
|
|
41
|
+
(r'#.*?$', Comment.Single),
|
|
42
|
+
(words(reserved_words, suffix=r'\b'), Keyword),
|
|
43
|
+
(words(builtins, suffix=r'\b'), Name.Builtin),
|
|
44
|
+
(r'[a-zA-Z_][a-zA-Z0-9_]*', Name),
|
|
45
|
+
(r'"(\\\\|\\"|[^"])*"', String.Double),
|
|
46
|
+
(r'`[^`]*`', String.Backtick),
|
|
47
|
+
(r'-?\d+(\.\d+)?', Number),
|
|
48
|
+
(r'(==|!=|<=|>=|:=)', Operator), # Compound operators
|
|
49
|
+
(r'[=<>+\-*/%&|]', Operator), # Single-character operators
|
|
50
|
+
(r'[\[\]{}(),.:;]', Punctuation),
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
__all__ = ['RegoLexer']
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"""
|
|
2
|
+
pygments.lexers.rell
|
|
3
|
+
~~~~~~~~~~~~~~~~~~~~
|
|
4
|
+
|
|
5
|
+
Lexers for the Rell language.
|
|
6
|
+
|
|
7
|
+
:copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
|
|
8
|
+
:license: BSD, see LICENSE for details.
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
from pygments.lexer import RegexLexer, bygroups, default, words
|
|
12
|
+
from pygments.token import Comment, Keyword, Name, String, Number, \
|
|
13
|
+
Punctuation, Whitespace
|
|
14
|
+
|
|
15
|
+
__all__ = ['RellLexer']
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class RellLexer(RegexLexer):
|
|
19
|
+
"""
|
|
20
|
+
A Lexer for Rell.
|
|
21
|
+
"""
|
|
22
|
+
name = 'Rell'
|
|
23
|
+
url = 'https://docs.chromia.com/rell/rell-intro'
|
|
24
|
+
aliases = ['rell']
|
|
25
|
+
filenames = ['*.rell']
|
|
26
|
+
mimetypes = ['text/x-rell']
|
|
27
|
+
version_added = '2.20'
|
|
28
|
+
|
|
29
|
+
ident = r'[a-zA-Z_][a-zA-Z0-9_]*'
|
|
30
|
+
|
|
31
|
+
tokens = {
|
|
32
|
+
'root': [
|
|
33
|
+
(words((
|
|
34
|
+
'big_integer', 'boolean', 'byte_array', 'decimal', 'gtv',
|
|
35
|
+
'integer', 'json', 'list', 'map', 'mutable', 'set', 'text',
|
|
36
|
+
'virtual'), suffix=r'\b'),
|
|
37
|
+
Keyword.Type),
|
|
38
|
+
(r'(false|true|null)\b', Keyword.Constant),
|
|
39
|
+
(r'(entity|enum|namespace|object|struct)\b', Keyword.Declaration),
|
|
40
|
+
(r'(function|operation|query)\b', Keyword.Declaration, 'function'),
|
|
41
|
+
(words((
|
|
42
|
+
'abstract', 'and', 'break', 'continue', 'create', 'delete',
|
|
43
|
+
'else', 'for', 'if', 'import', 'in', 'index', 'key', 'limit',
|
|
44
|
+
'module', 'not', 'offset', 'or', 'override', 'return', 'update',
|
|
45
|
+
'val', 'var', 'when', 'while'), suffix=r'\b'),
|
|
46
|
+
Keyword.Reserved),
|
|
47
|
+
(r'//.*?$', Comment.Single),
|
|
48
|
+
(r'/\*(.|\n|\r)*?\*/', Comment.Multiline),
|
|
49
|
+
(r'"(\\\\|\\"|[^"])*"', String.Double),
|
|
50
|
+
(r'\'(\\\\|\\\'|[^\\\'])*\'', String.Single),
|
|
51
|
+
(r'-?[0-9]*\.[0-9]+([eE][+-][0-9]+)?', Number.Float),
|
|
52
|
+
(r'-?[0-9]+([eE][+-][0-9]+|[lL])?', Number.Integer),
|
|
53
|
+
(r'x(\'[a-fA-F0-9]*\'|"[a-fA-F0-9]*")', String.Binary),
|
|
54
|
+
(r'(\.)([ \n\t\r]*)(' + ident + ')',
|
|
55
|
+
bygroups(Punctuation, Whitespace, Name.Attribute)),
|
|
56
|
+
(r'[{}():;,]+', Punctuation),
|
|
57
|
+
(r'[ \n\t\r]+', Whitespace),
|
|
58
|
+
(r'@[a-zA-Z_][a-zA-Z0-9_]*', Name.Decorator),
|
|
59
|
+
(r'[~^*!%&\[\]<>|+=/?\-@\$]', Punctuation.Marker),
|
|
60
|
+
(ident, Name),
|
|
61
|
+
(r'(\.)+', Punctuation),
|
|
62
|
+
],
|
|
63
|
+
'function': [
|
|
64
|
+
(r'[ \n\t\r]+', Whitespace),
|
|
65
|
+
(ident, Name.Function, '#pop'),
|
|
66
|
+
default('#pop'),
|
|
67
|
+
],
|
|
68
|
+
}
|