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
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
Contributed by Thomas Beale <https://github.com/wolandscat>,
|
|
10
10
|
<https://bitbucket.org/thomas_beale>.
|
|
11
11
|
|
|
12
|
-
:copyright: Copyright 2006-
|
|
12
|
+
:copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
|
|
13
13
|
:license: BSD, see LICENSE for details.
|
|
14
14
|
"""
|
|
15
15
|
|
|
@@ -35,8 +35,8 @@ class AtomsLexer(RegexLexer):
|
|
|
35
35
|
(r'([ \t]*)(--.*)$', bygroups(Whitespace, Comment)),
|
|
36
36
|
],
|
|
37
37
|
'archetype_id': [
|
|
38
|
-
(r'([ \t]*)(([a-zA-Z]\w
|
|
39
|
-
r'\.\w
|
|
38
|
+
(r'([ \t]*)(([a-zA-Z]\w{1,100}(\.[a-zA-Z]\w{1,100})*::)?[a-zA-Z]\w{1,100}(-[a-zA-Z]\w{1,100}){2}'
|
|
39
|
+
r'\.\w{1,100}[\w-]*\.v\d+(\.\d+){,2}((-[a-z]+)(\.\d+)?)?)',
|
|
40
40
|
bygroups(Whitespace, Name.Decorator)),
|
|
41
41
|
],
|
|
42
42
|
'date_constraints': [
|
|
@@ -293,7 +293,7 @@ class AdlLexer(AtomsLexer):
|
|
|
293
293
|
# numbers and version ids
|
|
294
294
|
(r'\d+(\.\d+)*', Literal),
|
|
295
295
|
# Guids
|
|
296
|
-
(r'
|
|
296
|
+
(r'[0-9a-fA-F]{1,36}(-[0-9a-fA-F]{1,36}){3,}', Literal),
|
|
297
297
|
(r'\w+', Name.Class),
|
|
298
298
|
(r'"', String, 'string'),
|
|
299
299
|
(r'=', Operator),
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Lexers for assembly 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
|
|
|
@@ -390,14 +390,21 @@ class LlvmLexer(RegexLexer):
|
|
|
390
390
|
(r'!\d+', Name.Variable.Anonymous),
|
|
391
391
|
(r'c?' + string, String),
|
|
392
392
|
|
|
393
|
-
(r'0[xX][a-fA-F0-9]+', Number),
|
|
393
|
+
(r'0[xX][KLMHR]?[a-fA-F0-9]+', Number),
|
|
394
394
|
(r'-?\d+(?:[.]\d+)?(?:[eE][-+]?\d+(?:[.]\d+)?)?', Number),
|
|
395
395
|
|
|
396
396
|
(r'[=<>{}\[\]()*.,!]|x\b', Punctuation)
|
|
397
397
|
],
|
|
398
398
|
'whitespace': [
|
|
399
399
|
(r'(\n|\s+)+', Whitespace),
|
|
400
|
-
(r';.*?\n', Comment)
|
|
400
|
+
(r';.*?\n', Comment),
|
|
401
|
+
(r'/\*', Comment, 'c-comment'),
|
|
402
|
+
],
|
|
403
|
+
'c-comment': [
|
|
404
|
+
(r'[^*]+', Comment),
|
|
405
|
+
(r'\*/', Comment, '#pop'),
|
|
406
|
+
# Consume lone asterisks as non-comment-ending content.
|
|
407
|
+
(r'\*', Comment),
|
|
401
408
|
],
|
|
402
409
|
'keyword': [
|
|
403
410
|
# Regular keywords
|
|
@@ -465,24 +472,25 @@ class LlvmLexer(RegexLexer):
|
|
|
465
472
|
'singleImpl', 'singleImplName', 'sitofp', 'sizeM1',
|
|
466
473
|
'sizeM1BitWidth', 'sle', 'slt', 'source_filename',
|
|
467
474
|
'speculatable', 'speculative_load_hardening', 'spir_func',
|
|
468
|
-
'spir_kernel', 'srem', 'sret', 'ssp', 'sspreq',
|
|
469
|
-
'store', 'strictfp', 'sub', 'summaries',
|
|
470
|
-
'
|
|
471
|
-
'
|
|
472
|
-
'
|
|
473
|
-
'
|
|
474
|
-
'
|
|
475
|
-
'
|
|
476
|
-
'
|
|
477
|
-
'
|
|
478
|
-
'
|
|
479
|
-
'
|
|
480
|
-
'
|
|
481
|
-
'
|
|
482
|
-
'
|
|
483
|
-
'
|
|
484
|
-
'
|
|
485
|
-
'
|
|
475
|
+
'spir_kernel', 'splat', 'srem', 'sret', 'ssp', 'sspreq',
|
|
476
|
+
'sspstrong', 'store', 'strictfp', 'sub', 'summaries',
|
|
477
|
+
'summary', 'swiftcc', 'swifterror', 'swiftself', 'switch',
|
|
478
|
+
'syncscope', 'tail', 'tailcc', 'target', 'thread_local', 'to',
|
|
479
|
+
'token', 'triple', 'true', 'trunc', 'type',
|
|
480
|
+
'typeCheckedLoadConstVCalls', 'typeCheckedLoadVCalls',
|
|
481
|
+
'typeid', 'typeidCompatibleVTable', 'typeIdInfo',
|
|
482
|
+
'typeTestAssumeConstVCalls', 'typeTestAssumeVCalls',
|
|
483
|
+
'typeTestRes', 'typeTests', 'udiv', 'ueq', 'uge', 'ugt',
|
|
484
|
+
'uitofp', 'ule', 'ult', 'umax', 'umin', 'undef', 'une',
|
|
485
|
+
'uniformRetVal', 'uniqueRetVal', 'unknown', 'unnamed_addr',
|
|
486
|
+
'uno', 'unordered', 'unreachable', 'unsat', 'unwind', 'urem',
|
|
487
|
+
'uselistorder', 'uselistorder_bb', 'uwtable', 'va_arg',
|
|
488
|
+
'varFlags', 'variable', 'vcall_visibility', 'vFuncId',
|
|
489
|
+
'virtFunc', 'virtualConstProp', 'void', 'volatile', 'vscale',
|
|
490
|
+
'vTableFuncs', 'weak', 'weak_odr', 'webkit_jscc', 'win64cc',
|
|
491
|
+
'within', 'wpdRes', 'wpdResolutions', 'writeonly', 'x',
|
|
492
|
+
'x86_64_sysvcc', 'x86_fastcallcc', 'x86_intrcc', 'x86_mmx',
|
|
493
|
+
'x86_regcallcc', 'x86_stdcallcc', 'x86_thiscallcc',
|
|
486
494
|
'x86_vectorcallcc', 'xchg', 'xor', 'zeroext',
|
|
487
495
|
'zeroinitializer', 'zext', 'immarg', 'willreturn'),
|
|
488
496
|
suffix=r'\b'), Keyword),
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Pygments lexers for ASN.1.
|
|
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
|
|
|
@@ -136,7 +136,7 @@ class Asn1Lexer(RegexLexer):
|
|
|
136
136
|
(r'--.*$', Comment.Single),
|
|
137
137
|
(r'/\*', Comment.Multiline, 'comment'),
|
|
138
138
|
# Numbers:
|
|
139
|
-
(r'\d+\.\d
|
|
139
|
+
(r'\d+\.\d+([eE][-+]?\d+)?', Number.Float),
|
|
140
140
|
(r'\d+', Number.Integer),
|
|
141
141
|
# Identifier:
|
|
142
142
|
(r"&?[a-z][-a-zA-Z0-9]*[a-zA-Z0-9]\b", Name.Variable),
|
|
@@ -155,7 +155,7 @@ class Asn1Lexer(RegexLexer):
|
|
|
155
155
|
# Type identifier:
|
|
156
156
|
(r"&?[A-Z][-a-zA-Z0-9]*[a-zA-Z0-9]\b", Name.Type),
|
|
157
157
|
# Operators:
|
|
158
|
-
(r"(::=|\.\.\.|\.\.|\[\[|\]\]
|
|
158
|
+
(r"(::=|\.\.\.|\.\.|\[\[|\]\]|\||\^|-)", Operator),
|
|
159
159
|
# Punctuation:
|
|
160
160
|
(r"(\.|,|\{|\}|\(|\)|\[|\])", Punctuation),
|
|
161
161
|
# String:
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Lexer for BQN.
|
|
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
|
|
|
@@ -26,6 +26,10 @@ class BQNLexer(RegexLexer):
|
|
|
26
26
|
mimetypes = []
|
|
27
27
|
version_added = '2.16'
|
|
28
28
|
|
|
29
|
+
# An inter_word_char. Necessary because \w matches all alphanumeric
|
|
30
|
+
# Unicode characters, including ones (e.g., 𝕊) that BQN treats special.
|
|
31
|
+
_iwc = r'((?=[^𝕎𝕏𝔽𝔾𝕊𝕨𝕩𝕗𝕘𝕤𝕣])\w)'
|
|
32
|
+
|
|
29
33
|
tokens = {
|
|
30
34
|
'root': [
|
|
31
35
|
# Whitespace
|
|
@@ -57,34 +61,35 @@ class BQNLexer(RegexLexer):
|
|
|
57
61
|
# ===================
|
|
58
62
|
# Since this token type is important in BQN, it is not included in
|
|
59
63
|
# the punctuation token type but rather in the following one
|
|
60
|
-
(r'[\(\)]', String.Regex),
|
|
64
|
+
(r'[\(\)]', String.Regex),
|
|
61
65
|
#
|
|
62
66
|
# Numbers
|
|
63
67
|
# =======
|
|
64
68
|
# Includes the numeric literals and the Nothing character
|
|
65
|
-
(r'¯?([0-9]
|
|
69
|
+
(r'¯?[0-9](([0-9]|_)*\.?([0-9]|_)+|([0-9]|_)*)([Ee][¯]?([0-9]|_)+)?|¯|∞|π|·', Number),
|
|
66
70
|
#
|
|
67
71
|
# Variables
|
|
68
72
|
# =========
|
|
69
|
-
(r'
|
|
70
|
-
#
|
|
71
|
-
# 1-Modifiers
|
|
72
|
-
# ===========
|
|
73
|
-
(r'[˙˜˘¨⌜⁼´˝`𝕣]', Name.Attribute),
|
|
74
|
-
(r'\b_[a-zA-Z0-9]+\b', Name.Attribute),
|
|
73
|
+
(r'[a-z]' + _iwc + r'*', Name.Variable),
|
|
75
74
|
#
|
|
76
75
|
# 2-Modifiers
|
|
77
76
|
# ===========
|
|
77
|
+
# Needs to come before the 1-modifiers due to _𝕣 and _𝕣_
|
|
78
78
|
(r'[∘○⊸⟜⌾⊘◶⎉⚇⍟⎊]', Name.Property),
|
|
79
|
-
(r'
|
|
79
|
+
(r'_(𝕣|[a-zA-Z0-9]+)_', Name.Property),
|
|
80
|
+
#
|
|
81
|
+
# 1-Modifiers
|
|
82
|
+
# ===========
|
|
83
|
+
(r'[˙˜˘¨⌜⁼´˝`𝕣]', Name.Attribute),
|
|
84
|
+
(r'_(𝕣|[a-zA-Z0-9]+)', Name.Attribute),
|
|
80
85
|
#
|
|
81
86
|
# Functions
|
|
82
87
|
# =========
|
|
83
88
|
# The monadic or dyadic function primitives and function
|
|
84
89
|
# operands and arguments, along with function self-reference
|
|
85
|
-
(r'[
|
|
90
|
+
(r'[+\-×÷\⋆√⌊⌈∧∨¬|≤<>≥=≠≡≢⊣⊢⥊∾≍⋈↑↓↕«»⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!𝕎𝕏𝔽𝔾𝕊]',
|
|
86
91
|
Operator),
|
|
87
|
-
(r'[A-Z]
|
|
92
|
+
(r'[A-Z]' + _iwc + r'*|•' + _iwc + r'+', Operator),
|
|
88
93
|
#
|
|
89
94
|
# Constant
|
|
90
95
|
# ========
|
|
@@ -102,8 +107,6 @@ class BQNLexer(RegexLexer):
|
|
|
102
107
|
# ================
|
|
103
108
|
(r'[;:?𝕨𝕩𝕗𝕘𝕤]', Name.Entity),
|
|
104
109
|
#
|
|
105
|
-
|
|
110
|
+
|
|
106
111
|
],
|
|
107
112
|
}
|
|
108
|
-
|
|
109
|
-
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Lexers for C/C++ 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
|
|
|
@@ -36,7 +36,7 @@ class CFamilyLexer(RegexLexer):
|
|
|
36
36
|
# This includes decimal separators matching.
|
|
37
37
|
_decpart = r'\d(\'?\d)*'
|
|
38
38
|
# Integer literal suffix (e.g. 'ull' or 'll').
|
|
39
|
-
_intsuffix = r'(([uU][lL]{0,2})|[lL]{1,2}[uU]?)?'
|
|
39
|
+
_intsuffix = r'(([uU]?[zZ])|([zZ][uU])|([uU][lL]{0,2})|([lL]{1,2}[uU]?))?'
|
|
40
40
|
|
|
41
41
|
# Identifier regex with C and C++ Universal Character Name (UCN) support.
|
|
42
42
|
_ident = r'(?!\d)(?:[\w$]|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8})+'
|
|
@@ -100,7 +100,7 @@ class CFamilyLexer(RegexLexer):
|
|
|
100
100
|
(r'(-)?' + _decpart + _intsuffix, Number.Integer),
|
|
101
101
|
(r'[~!%^&*+=|?:<>/-]', Operator),
|
|
102
102
|
(r'[()\[\],.]', Punctuation),
|
|
103
|
-
(r'(true|false|NULL)\b', Name.Builtin),
|
|
103
|
+
(r'(true|false|NULL|nullptr)\b', Name.Builtin),
|
|
104
104
|
(_ident, Name)
|
|
105
105
|
],
|
|
106
106
|
'types': [
|
|
@@ -113,11 +113,11 @@ class CFamilyLexer(RegexLexer):
|
|
|
113
113
|
'keywords': [
|
|
114
114
|
(r'(struct|union)(\s+)', bygroups(Keyword, Whitespace), 'classname'),
|
|
115
115
|
(r'case\b', Keyword, 'case-value'),
|
|
116
|
-
(words(('asm', 'auto', 'break', 'const', 'continue', 'default',
|
|
117
|
-
'do', 'else', 'enum', 'extern', 'for', 'goto', 'if',
|
|
118
|
-
'
|
|
119
|
-
'
|
|
120
|
-
'thread_local', 'alignas', 'alignof', 'static_assert', '_Pragma'),
|
|
116
|
+
(words(('asm', 'auto', 'break', 'const', 'constexpr', 'continue', 'default',
|
|
117
|
+
'do', 'else', 'enum', 'extern', 'for', 'goto', 'if', 'register',
|
|
118
|
+
'restricted', 'return', 'sizeof', 'struct', 'static', 'switch',
|
|
119
|
+
'typedef', 'typeof', 'typeof_unqual', 'volatile', 'while', 'union',
|
|
120
|
+
'thread_local', 'alignas', 'alignof', 'static_assert', '_Pragma', 'fortran'),
|
|
121
121
|
suffix=r'\b'), Keyword),
|
|
122
122
|
(words(('inline', '_inline', '__inline', 'naked', 'restrict',
|
|
123
123
|
'thread'), suffix=r'\b'), Keyword.Reserved),
|
|
@@ -128,7 +128,7 @@ class CFamilyLexer(RegexLexer):
|
|
|
128
128
|
'asm', 'based', 'except', 'stdcall', 'cdecl',
|
|
129
129
|
'fastcall', 'declspec', 'finally', 'try',
|
|
130
130
|
'leave', 'w64', 'unaligned', 'raise', 'noop',
|
|
131
|
-
'identifier', 'forceinline', 'assume'),
|
|
131
|
+
'identifier', 'forceinline', 'assume', 'null'),
|
|
132
132
|
prefix=r'__', suffix=r'\b'), Keyword.Reserved)
|
|
133
133
|
],
|
|
134
134
|
'root': [
|
|
@@ -301,13 +301,13 @@ class CLexer(CFamilyLexer):
|
|
|
301
301
|
tokens = {
|
|
302
302
|
'keywords': [
|
|
303
303
|
(words((
|
|
304
|
-
'_Alignas', '_Alignof', '_Noreturn', '_Generic', '_Thread_local',
|
|
305
|
-
'_Static_assert', '_Imaginary', 'noreturn', 'imaginary', 'complex'),
|
|
304
|
+
'_Alignas', '_Alignof', '_Noreturn', '_Countof', '_Generic', '_Thread_local',
|
|
305
|
+
'_Static_assert', '_Imaginary', 'countof', 'noreturn', 'imaginary', 'complex'),
|
|
306
306
|
suffix=r'\b'), Keyword),
|
|
307
307
|
inherit
|
|
308
308
|
],
|
|
309
309
|
'types': [
|
|
310
|
-
(words(('_Bool', '_Complex', '_Atomic'), suffix=r'\b'), Keyword.Type),
|
|
310
|
+
(words(('_Bool', '_Complex', '_Atomic', '_Decimal32', '_Decimal64', '_Decimal128'), suffix=r'\b'), Keyword.Type),
|
|
311
311
|
inherit
|
|
312
312
|
]
|
|
313
313
|
}
|
|
@@ -347,7 +347,8 @@ class CppLexer(CFamilyLexer):
|
|
|
347
347
|
aliases = ['cpp', 'c++']
|
|
348
348
|
filenames = ['*.cpp', '*.hpp', '*.c++', '*.h++',
|
|
349
349
|
'*.cc', '*.hh', '*.cxx', '*.hxx',
|
|
350
|
-
'*.C', '*.H', '*.cp', '*.CPP', '*.tpp'
|
|
350
|
+
'*.C', '*.H', '*.cp', '*.CPP', '*.tpp',
|
|
351
|
+
'*.cppm', '*.ixx', '*.mxx']
|
|
351
352
|
mimetypes = ['text/x-c++hdr', 'text/x-c++src']
|
|
352
353
|
version_added = ''
|
|
353
354
|
priority = 0.1
|
|
@@ -363,8 +364,8 @@ class CppLexer(CFamilyLexer):
|
|
|
363
364
|
'root': [
|
|
364
365
|
inherit,
|
|
365
366
|
# C++ Microsoft-isms
|
|
366
|
-
(words(('virtual_inheritance', 'uuidof', 'super', 'single_inheritance',
|
|
367
|
-
'multiple_inheritance', 'interface', 'event'),
|
|
367
|
+
(words(('virtual_inheritance', 'uuidof', 'super', 'extends', 'single_inheritance',
|
|
368
|
+
'multiple_inheritance', 'interface', 'implements', 'event', 'finally', 'null'),
|
|
368
369
|
prefix=r'__', suffix=r'\b'), Keyword.Reserved),
|
|
369
370
|
# Offload C++ extensions, http://offload.codeplay.com/
|
|
370
371
|
(r'__(offload|blockingoffload|outer)\b', Keyword.Pseudo),
|
|
@@ -385,11 +386,11 @@ class CppLexer(CFamilyLexer):
|
|
|
385
386
|
'export', 'friend', 'mutable', 'new', 'operator',
|
|
386
387
|
'private', 'protected', 'public', 'reinterpret_cast', 'class',
|
|
387
388
|
'__restrict', 'static_cast', 'template', 'this', 'throw', 'throws',
|
|
388
|
-
'try', 'typeid', 'using', 'virtual', '
|
|
389
|
+
'try', 'typeid', 'using', 'virtual', 'concept',
|
|
389
390
|
'decltype', 'noexcept', 'override', 'final', 'constinit', 'consteval',
|
|
390
391
|
'co_await', 'co_return', 'co_yield', 'requires', 'import', 'module',
|
|
391
392
|
'typename', 'and', 'and_eq', 'bitand', 'bitor', 'compl', 'not',
|
|
392
|
-
'not_eq', 'or', 'or_eq', 'xor', 'xor_eq'),
|
|
393
|
+
'not_eq', 'or', 'or_eq', 'xor', 'xor_eq', 'contract_assert', 'pre', 'post'),
|
|
393
394
|
suffix=r'\b'), Keyword),
|
|
394
395
|
(r'namespace\b', Keyword, 'namespace'),
|
|
395
396
|
(r'(enum)(\s+)', bygroups(Keyword, Whitespace), 'enumname'),
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"""
|
|
2
|
+
pygments.lexers.codeql
|
|
3
|
+
~~~~~~~~~~~~~~~~~~~~~~
|
|
4
|
+
|
|
5
|
+
Lexer for CodeQL query language.
|
|
6
|
+
|
|
7
|
+
The grammar is originating from:
|
|
8
|
+
https://github.com/github/vscode-codeql/blob/main/syntaxes/README.md
|
|
9
|
+
|
|
10
|
+
:copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
|
|
11
|
+
:license: BSD, see LICENSE for details.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
__all__ = ['CodeQLLexer']
|
|
15
|
+
|
|
16
|
+
import re
|
|
17
|
+
|
|
18
|
+
from pygments.lexer import RegexLexer, words
|
|
19
|
+
from pygments.token import Comment, Operator, Keyword, Name, String, \
|
|
20
|
+
Number, Punctuation, Whitespace
|
|
21
|
+
|
|
22
|
+
class CodeQLLexer(RegexLexer):
|
|
23
|
+
name = 'CodeQL'
|
|
24
|
+
aliases = ['codeql', 'ql']
|
|
25
|
+
filenames = ['*.ql', '*.qll']
|
|
26
|
+
mimetypes = []
|
|
27
|
+
url = 'https://github.com/github/codeql'
|
|
28
|
+
version_added = '2.19'
|
|
29
|
+
|
|
30
|
+
flags = re.MULTILINE | re.UNICODE
|
|
31
|
+
|
|
32
|
+
tokens = {
|
|
33
|
+
'root': [
|
|
34
|
+
# Whitespace and comments
|
|
35
|
+
(r'\s+', Whitespace),
|
|
36
|
+
(r'//.*?\n', Comment.Single),
|
|
37
|
+
(r'/\*', Comment.Multiline, 'multiline-comments'),
|
|
38
|
+
|
|
39
|
+
# Keywords
|
|
40
|
+
(words((
|
|
41
|
+
'module', 'import', 'class', 'extends', 'implements',
|
|
42
|
+
'predicate', 'select', 'where', 'from', 'as', 'and', 'or', 'not',
|
|
43
|
+
'in', 'if', 'then', 'else', 'exists', 'forall', 'instanceof',
|
|
44
|
+
'private', 'predicate', 'abstract', 'cached', 'external',
|
|
45
|
+
'final', 'library', 'override', 'query'
|
|
46
|
+
), suffix=r'\b'), Keyword.Builtin),
|
|
47
|
+
|
|
48
|
+
# Special Keywords
|
|
49
|
+
(words(('this'), # class related keywords
|
|
50
|
+
prefix=r'\b', suffix=r'\b\??:?'), Name.Builtin.Pseudo),
|
|
51
|
+
|
|
52
|
+
# Types
|
|
53
|
+
(words((
|
|
54
|
+
'boolean', 'date', 'float', 'int', 'string'
|
|
55
|
+
), suffix=r'\b'), Keyword.Type),
|
|
56
|
+
|
|
57
|
+
# Literals
|
|
58
|
+
(r'"(\\\\|\\[^\\]|[^"\\])*"', String),
|
|
59
|
+
(r'[0-9]+\.[0-9]+', Number.Float),
|
|
60
|
+
(r'[0-9]+', Number.Integer),
|
|
61
|
+
|
|
62
|
+
# Operators
|
|
63
|
+
(r'<=|>=|<|>|=|!=|\+|-|\*|/', Operator),
|
|
64
|
+
|
|
65
|
+
# Punctuation
|
|
66
|
+
(r'[.,;:\[\]{}()]+', Punctuation),
|
|
67
|
+
|
|
68
|
+
# Identifiers
|
|
69
|
+
(r'@[a-zA-Z_]\w*', Name.Variable), # Variables with @ prefix
|
|
70
|
+
(r'[A-Z][a-zA-Z0-9_]*', Name.Class), # Types and classes
|
|
71
|
+
(r'[a-z][a-zA-Z0-9_]*', Name.Variable), # Variables and predicates
|
|
72
|
+
],
|
|
73
|
+
'multiline-comments': [
|
|
74
|
+
(r'[^*/]+', Comment.Multiline),
|
|
75
|
+
(r'/\*', Comment.Multiline, '#push'),
|
|
76
|
+
(r'\*/', Comment.Multiline, '#pop'),
|
|
77
|
+
(r'[*/]', Comment.Multiline),
|
|
78
|
+
],
|
|
79
|
+
|
|
80
|
+
}
|