pygments.rb 2.4.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +8 -8
- data/.github/workflows/release.yml +5 -5
- data/.gitignore +2 -0
- data/.rubocop.yml +1 -1
- data/CHANGELOG.adoc +9 -1
- data/README.adoc +2 -2
- data/lib/pygments/version.rb +1 -1
- data/pygments.rb.gemspec +2 -2
- data/vendor/pygments-main/bin/pygmentize +1 -1
- data/vendor/pygments-main/pygments/__init__.py +2 -2
- data/vendor/pygments-main/pygments/__main__.py +1 -1
- data/vendor/pygments-main/pygments/cmdline.py +12 -12
- data/vendor/pygments-main/pygments/console.py +5 -5
- data/vendor/pygments-main/pygments/filter.py +2 -3
- data/vendor/pygments-main/pygments/filters/__init__.py +4 -4
- data/vendor/pygments-main/pygments/formatter.py +6 -1
- data/vendor/pygments-main/pygments/formatters/__init__.py +7 -8
- data/vendor/pygments-main/pygments/formatters/_mapping.py +0 -0
- data/vendor/pygments-main/pygments/formatters/bbcode.py +2 -2
- data/vendor/pygments-main/pygments/formatters/groff.py +3 -3
- data/vendor/pygments-main/pygments/formatters/html.py +38 -40
- data/vendor/pygments-main/pygments/formatters/img.py +51 -11
- data/vendor/pygments-main/pygments/formatters/irc.py +1 -1
- data/vendor/pygments-main/pygments/formatters/latex.py +24 -27
- data/vendor/pygments-main/pygments/formatters/other.py +3 -4
- data/vendor/pygments-main/pygments/formatters/pangomarkup.py +2 -2
- data/vendor/pygments-main/pygments/formatters/rtf.py +228 -25
- data/vendor/pygments-main/pygments/formatters/svg.py +17 -20
- data/vendor/pygments-main/pygments/formatters/terminal.py +1 -1
- data/vendor/pygments-main/pygments/formatters/terminal256.py +1 -1
- data/vendor/pygments-main/pygments/lexer.py +51 -33
- data/vendor/pygments-main/pygments/lexers/__init__.py +12 -12
- data/vendor/pygments-main/pygments/lexers/_ada_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +2 -2
- data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_css_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_julia_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_lilypond_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +5 -5
- data/vendor/pygments-main/pygments/lexers/_luau_builtins.py +62 -0
- data/vendor/pygments-main/pygments/lexers/_mapping.py +41 -11
- data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +3 -3
- data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_php_builtins.py +3 -3
- data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +5 -5
- data/vendor/pygments-main/pygments/lexers/_qlik_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_scheme_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +4 -4
- data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +3 -3
- data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/actionscript.py +6 -8
- data/vendor/pygments-main/pygments/lexers/ada.py +3 -3
- data/vendor/pygments-main/pygments/lexers/agile.py +3 -1
- data/vendor/pygments-main/pygments/lexers/algebra.py +9 -13
- data/vendor/pygments-main/pygments/lexers/ambient.py +2 -3
- data/vendor/pygments-main/pygments/lexers/amdgpu.py +3 -3
- data/vendor/pygments-main/pygments/lexers/ampl.py +2 -3
- data/vendor/pygments-main/pygments/lexers/apdlexer.py +4 -3
- data/vendor/pygments-main/pygments/lexers/apl.py +2 -3
- data/vendor/pygments-main/pygments/lexers/archetype.py +8 -12
- data/vendor/pygments-main/pygments/lexers/arrow.py +2 -3
- data/vendor/pygments-main/pygments/lexers/arturo.py +2 -3
- data/vendor/pygments-main/pygments/lexers/asc.py +4 -4
- data/vendor/pygments-main/pygments/lexers/asm.py +28 -15
- data/vendor/pygments-main/pygments/lexers/asn1.py +178 -0
- data/vendor/pygments-main/pygments/lexers/automation.py +6 -8
- data/vendor/pygments-main/pygments/lexers/bare.py +2 -3
- data/vendor/pygments-main/pygments/lexers/basic.py +48 -57
- data/vendor/pygments-main/pygments/lexers/bdd.py +3 -4
- data/vendor/pygments-main/pygments/lexers/berry.py +4 -4
- data/vendor/pygments-main/pygments/lexers/bibtex.py +5 -5
- data/vendor/pygments-main/pygments/lexers/blueprint.py +173 -0
- data/vendor/pygments-main/pygments/lexers/boa.py +4 -4
- data/vendor/pygments-main/pygments/lexers/bqn.py +109 -0
- data/vendor/pygments-main/pygments/lexers/business.py +21 -22
- data/vendor/pygments-main/pygments/lexers/c_cpp.py +9 -4
- data/vendor/pygments-main/pygments/lexers/c_like.py +99 -27
- data/vendor/pygments-main/pygments/lexers/capnproto.py +2 -3
- data/vendor/pygments-main/pygments/lexers/carbon.py +10 -11
- data/vendor/pygments-main/pygments/lexers/cddl.py +8 -9
- data/vendor/pygments-main/pygments/lexers/chapel.py +2 -3
- data/vendor/pygments-main/pygments/lexers/clean.py +2 -1
- data/vendor/pygments-main/pygments/lexers/comal.py +2 -1
- data/vendor/pygments-main/pygments/lexers/compiled.py +2 -1
- data/vendor/pygments-main/pygments/lexers/configs.py +342 -108
- data/vendor/pygments-main/pygments/lexers/console.py +5 -5
- data/vendor/pygments-main/pygments/lexers/cplint.py +2 -3
- data/vendor/pygments-main/pygments/lexers/crystal.py +4 -5
- data/vendor/pygments-main/pygments/lexers/csound.py +6 -8
- data/vendor/pygments-main/pygments/lexers/css.py +5 -5
- data/vendor/pygments-main/pygments/lexers/d.py +4 -3
- data/vendor/pygments-main/pygments/lexers/dalvik.py +2 -3
- data/vendor/pygments-main/pygments/lexers/data.py +8 -12
- data/vendor/pygments-main/pygments/lexers/dax.py +2 -3
- data/vendor/pygments-main/pygments/lexers/devicetree.py +2 -3
- data/vendor/pygments-main/pygments/lexers/diff.py +7 -6
- data/vendor/pygments-main/pygments/lexers/dns.py +109 -0
- data/vendor/pygments-main/pygments/lexers/dotnet.py +19 -14
- data/vendor/pygments-main/pygments/lexers/dsls.py +24 -35
- data/vendor/pygments-main/pygments/lexers/dylan.py +8 -16
- data/vendor/pygments-main/pygments/lexers/ecl.py +2 -3
- data/vendor/pygments-main/pygments/lexers/eiffel.py +3 -4
- data/vendor/pygments-main/pygments/lexers/elm.py +3 -4
- data/vendor/pygments-main/pygments/lexers/elpi.py +28 -21
- data/vendor/pygments-main/pygments/lexers/email.py +3 -3
- data/vendor/pygments-main/pygments/lexers/erlang.py +22 -24
- data/vendor/pygments-main/pygments/lexers/esoteric.py +11 -12
- data/vendor/pygments-main/pygments/lexers/ezhil.py +2 -3
- data/vendor/pygments-main/pygments/lexers/factor.py +2 -3
- data/vendor/pygments-main/pygments/lexers/fantom.py +3 -3
- data/vendor/pygments-main/pygments/lexers/felix.py +9 -10
- data/vendor/pygments-main/pygments/lexers/fift.py +2 -1
- data/vendor/pygments-main/pygments/lexers/floscript.py +2 -3
- data/vendor/pygments-main/pygments/lexers/forth.py +2 -3
- data/vendor/pygments-main/pygments/lexers/fortran.py +6 -7
- data/vendor/pygments-main/pygments/lexers/foxpro.py +3 -3
- data/vendor/pygments-main/pygments/lexers/freefem.py +2 -3
- data/vendor/pygments-main/pygments/lexers/func.py +3 -1
- data/vendor/pygments-main/pygments/lexers/functional.py +2 -1
- data/vendor/pygments-main/pygments/lexers/futhark.py +6 -7
- data/vendor/pygments-main/pygments/lexers/gcodelexer.py +3 -3
- data/vendor/pygments-main/pygments/lexers/gdscript.py +2 -1
- data/vendor/pygments-main/pygments/lexers/go.py +3 -4
- data/vendor/pygments-main/pygments/lexers/grammar_notation.py +6 -9
- data/vendor/pygments-main/pygments/lexers/graph.py +12 -9
- data/vendor/pygments-main/pygments/lexers/graphics.py +13 -17
- data/vendor/pygments-main/pygments/lexers/graphql.py +176 -0
- data/vendor/pygments-main/pygments/lexers/graphviz.py +2 -3
- data/vendor/pygments-main/pygments/lexers/gsql.py +2 -3
- data/vendor/pygments-main/pygments/lexers/haskell.py +27 -32
- data/vendor/pygments-main/pygments/lexers/haxe.py +3 -5
- data/vendor/pygments-main/pygments/lexers/hdl.py +8 -7
- data/vendor/pygments-main/pygments/lexers/hexdump.py +3 -3
- data/vendor/pygments-main/pygments/lexers/html.py +34 -13
- data/vendor/pygments-main/pygments/lexers/idl.py +2 -3
- data/vendor/pygments-main/pygments/lexers/igor.py +305 -290
- data/vendor/pygments-main/pygments/lexers/inferno.py +2 -3
- data/vendor/pygments-main/pygments/lexers/installers.py +7 -9
- data/vendor/pygments-main/pygments/lexers/int_fiction.py +150 -162
- data/vendor/pygments-main/pygments/lexers/iolang.py +2 -3
- data/vendor/pygments-main/pygments/lexers/j.py +2 -3
- data/vendor/pygments-main/pygments/lexers/javascript.py +18 -19
- data/vendor/pygments-main/pygments/lexers/jmespath.py +2 -1
- data/vendor/pygments-main/pygments/lexers/jslt.py +2 -3
- data/vendor/pygments-main/pygments/lexers/jsonnet.py +4 -3
- data/vendor/pygments-main/pygments/lexers/jsx.py +75 -0
- data/vendor/pygments-main/pygments/lexers/julia.py +4 -5
- data/vendor/pygments-main/pygments/lexers/jvm.py +98 -116
- data/vendor/pygments-main/pygments/lexers/kuin.py +2 -3
- data/vendor/pygments-main/pygments/lexers/kusto.py +93 -0
- data/vendor/pygments-main/pygments/lexers/ldap.py +155 -0
- data/vendor/pygments-main/pygments/lexers/lean.py +241 -0
- data/vendor/pygments-main/pygments/lexers/lilypond.py +2 -3
- data/vendor/pygments-main/pygments/lexers/lisp.py +373 -65
- data/vendor/pygments-main/pygments/lexers/macaulay2.py +53 -4
- data/vendor/pygments-main/pygments/lexers/make.py +7 -5
- data/vendor/pygments-main/pygments/lexers/markup.py +242 -91
- data/vendor/pygments-main/pygments/lexers/math.py +2 -1
- data/vendor/pygments-main/pygments/lexers/matlab.py +10 -12
- data/vendor/pygments-main/pygments/lexers/maxima.py +2 -3
- data/vendor/pygments-main/pygments/lexers/meson.py +2 -3
- data/vendor/pygments-main/pygments/lexers/mime.py +4 -4
- data/vendor/pygments-main/pygments/lexers/minecraft.py +24 -27
- data/vendor/pygments-main/pygments/lexers/mips.py +3 -1
- data/vendor/pygments-main/pygments/lexers/ml.py +59 -61
- data/vendor/pygments-main/pygments/lexers/modeling.py +19 -22
- data/vendor/pygments-main/pygments/lexers/modula2.py +2 -3
- data/vendor/pygments-main/pygments/lexers/mojo.py +704 -0
- data/vendor/pygments-main/pygments/lexers/monte.py +2 -3
- data/vendor/pygments-main/pygments/lexers/mosel.py +3 -3
- data/vendor/pygments-main/pygments/lexers/ncl.py +4 -3
- data/vendor/pygments-main/pygments/lexers/nimrod.py +7 -8
- data/vendor/pygments-main/pygments/lexers/nit.py +2 -3
- data/vendor/pygments-main/pygments/lexers/nix.py +40 -31
- data/vendor/pygments-main/pygments/lexers/oberon.py +3 -3
- data/vendor/pygments-main/pygments/lexers/objective.py +14 -6
- data/vendor/pygments-main/pygments/lexers/ooc.py +2 -3
- data/vendor/pygments-main/pygments/lexers/openscad.py +96 -0
- data/vendor/pygments-main/pygments/lexers/other.py +2 -1
- data/vendor/pygments-main/pygments/lexers/parasail.py +2 -3
- data/vendor/pygments-main/pygments/lexers/parsers.py +41 -44
- data/vendor/pygments-main/pygments/lexers/pascal.py +6 -3
- data/vendor/pygments-main/pygments/lexers/pawn.py +5 -5
- data/vendor/pygments-main/pygments/lexers/perl.py +3 -3
- data/vendor/pygments-main/pygments/lexers/phix.py +2 -3
- data/vendor/pygments-main/pygments/lexers/php.py +4 -5
- data/vendor/pygments-main/pygments/lexers/pointless.py +2 -3
- data/vendor/pygments-main/pygments/lexers/pony.py +3 -3
- data/vendor/pygments-main/pygments/lexers/praat.py +2 -3
- data/vendor/pygments-main/pygments/lexers/procfile.py +2 -3
- data/vendor/pygments-main/pygments/lexers/prolog.py +23 -9
- data/vendor/pygments-main/pygments/lexers/promql.py +2 -1
- data/vendor/pygments-main/pygments/lexers/prql.py +251 -0
- data/vendor/pygments-main/pygments/lexers/ptx.py +119 -0
- data/vendor/pygments-main/pygments/lexers/python.py +24 -24
- data/vendor/pygments-main/pygments/lexers/q.py +5 -6
- data/vendor/pygments-main/pygments/lexers/qlik.py +3 -3
- data/vendor/pygments-main/pygments/lexers/qvt.py +5 -3
- data/vendor/pygments-main/pygments/lexers/r.py +8 -6
- data/vendor/pygments-main/pygments/lexers/rdf.py +19 -13
- data/vendor/pygments-main/pygments/lexers/rebol.py +7 -7
- data/vendor/pygments-main/pygments/lexers/resource.py +5 -6
- data/vendor/pygments-main/pygments/lexers/ride.py +4 -5
- data/vendor/pygments-main/pygments/lexers/rita.py +2 -3
- data/vendor/pygments-main/pygments/lexers/rnc.py +2 -3
- data/vendor/pygments-main/pygments/lexers/roboconf.py +5 -5
- data/vendor/pygments-main/pygments/lexers/robotframework.py +2 -3
- data/vendor/pygments-main/pygments/lexers/ruby.py +8 -13
- data/vendor/pygments-main/pygments/lexers/rust.py +9 -10
- data/vendor/pygments-main/pygments/lexers/sas.py +3 -3
- data/vendor/pygments-main/pygments/lexers/savi.py +131 -130
- data/vendor/pygments-main/pygments/lexers/scdoc.py +13 -7
- data/vendor/pygments-main/pygments/lexers/scripting.py +354 -42
- data/vendor/pygments-main/pygments/lexers/sgf.py +2 -3
- data/vendor/pygments-main/pygments/lexers/shell.py +107 -129
- data/vendor/pygments-main/pygments/lexers/sieve.py +3 -3
- data/vendor/pygments-main/pygments/lexers/slash.py +4 -5
- data/vendor/pygments-main/pygments/lexers/smalltalk.py +3 -5
- data/vendor/pygments-main/pygments/lexers/smithy.py +2 -3
- data/vendor/pygments-main/pygments/lexers/smv.py +3 -3
- data/vendor/pygments-main/pygments/lexers/snobol.py +3 -3
- data/vendor/pygments-main/pygments/lexers/solidity.py +3 -3
- data/vendor/pygments-main/pygments/lexers/soong.py +78 -0
- data/vendor/pygments-main/pygments/lexers/sophia.py +3 -4
- data/vendor/pygments-main/pygments/lexers/special.py +8 -3
- data/vendor/pygments-main/pygments/lexers/spice.py +15 -16
- data/vendor/pygments-main/pygments/lexers/sql.py +24 -18
- data/vendor/pygments-main/pygments/lexers/srcinfo.py +3 -3
- data/vendor/pygments-main/pygments/lexers/stata.py +2 -3
- data/vendor/pygments-main/pygments/lexers/supercollider.py +2 -3
- data/vendor/pygments-main/pygments/lexers/tact.py +303 -0
- data/vendor/pygments-main/pygments/lexers/tal.py +13 -10
- data/vendor/pygments-main/pygments/lexers/tcl.py +2 -3
- data/vendor/pygments-main/pygments/lexers/teal.py +2 -3
- data/vendor/pygments-main/pygments/lexers/templates.py +131 -72
- data/vendor/pygments-main/pygments/lexers/teraterm.py +2 -3
- data/vendor/pygments-main/pygments/lexers/testing.py +4 -5
- data/vendor/pygments-main/pygments/lexers/text.py +2 -1
- data/vendor/pygments-main/pygments/lexers/textedit.py +9 -6
- data/vendor/pygments-main/pygments/lexers/textfmts.py +20 -15
- data/vendor/pygments-main/pygments/lexers/theorem.py +41 -115
- data/vendor/pygments-main/pygments/lexers/thingsdb.py +50 -26
- data/vendor/pygments-main/pygments/lexers/tlb.py +3 -1
- data/vendor/pygments-main/pygments/lexers/tls.py +54 -0
- data/vendor/pygments-main/pygments/lexers/tnt.py +2 -3
- data/vendor/pygments-main/pygments/lexers/trafficscript.py +3 -3
- data/vendor/pygments-main/pygments/lexers/typoscript.py +6 -7
- data/vendor/pygments-main/pygments/lexers/typst.py +104 -0
- data/vendor/pygments-main/pygments/lexers/ul4.py +47 -5
- data/vendor/pygments-main/pygments/lexers/unicon.py +9 -7
- data/vendor/pygments-main/pygments/lexers/urbi.py +3 -3
- data/vendor/pygments-main/pygments/lexers/usd.py +6 -11
- data/vendor/pygments-main/pygments/lexers/varnish.py +5 -5
- data/vendor/pygments-main/pygments/lexers/verification.py +4 -5
- data/vendor/pygments-main/pygments/lexers/verifpal.py +65 -0
- data/vendor/pygments-main/pygments/lexers/vip.py +150 -0
- data/vendor/pygments-main/pygments/lexers/vyper.py +140 -0
- data/vendor/pygments-main/pygments/lexers/web.py +2 -1
- data/vendor/pygments-main/pygments/lexers/webassembly.py +2 -3
- data/vendor/pygments-main/pygments/lexers/webidl.py +2 -3
- data/vendor/pygments-main/pygments/lexers/webmisc.py +11 -15
- data/vendor/pygments-main/pygments/lexers/wgsl.py +6 -7
- data/vendor/pygments-main/pygments/lexers/whiley.py +2 -3
- data/vendor/pygments-main/pygments/lexers/wowtoc.py +3 -3
- data/vendor/pygments-main/pygments/lexers/wren.py +3 -4
- data/vendor/pygments-main/pygments/lexers/x10.py +6 -7
- data/vendor/pygments-main/pygments/lexers/xorg.py +2 -1
- data/vendor/pygments-main/pygments/lexers/yang.py +2 -3
- data/vendor/pygments-main/pygments/lexers/yara.py +69 -0
- data/vendor/pygments-main/pygments/lexers/zig.py +2 -1
- data/vendor/pygments-main/pygments/modeline.py +4 -4
- data/vendor/pygments-main/pygments/plugin.py +3 -19
- data/vendor/pygments-main/pygments/regexopt.py +1 -1
- data/vendor/pygments-main/pygments/scanner.py +1 -1
- data/vendor/pygments-main/pygments/sphinxext.py +38 -8
- data/vendor/pygments-main/pygments/style.py +8 -2
- data/vendor/pygments-main/pygments/styles/__init__.py +17 -59
- data/vendor/pygments-main/pygments/styles/_mapping.py +54 -0
- data/vendor/pygments-main/pygments/styles/abap.py +5 -1
- data/vendor/pygments-main/pygments/styles/algol.py +5 -1
- data/vendor/pygments-main/pygments/styles/algol_nu.py +5 -1
- data/vendor/pygments-main/pygments/styles/arduino.py +76 -72
- data/vendor/pygments-main/pygments/styles/autumn.py +6 -1
- data/vendor/pygments-main/pygments/styles/borland.py +6 -1
- data/vendor/pygments-main/pygments/styles/bw.py +6 -1
- data/vendor/pygments-main/pygments/styles/coffee.py +80 -0
- data/vendor/pygments-main/pygments/styles/colorful.py +6 -1
- data/vendor/pygments-main/pygments/styles/default.py +6 -1
- data/vendor/pygments-main/pygments/styles/dracula.py +68 -80
- data/vendor/pygments-main/pygments/styles/emacs.py +6 -1
- data/vendor/pygments-main/pygments/styles/friendly.py +6 -1
- data/vendor/pygments-main/pygments/styles/friendly_grayscale.py +6 -1
- data/vendor/pygments-main/pygments/styles/fruity.py +7 -1
- data/vendor/pygments-main/pygments/styles/gh_dark.py +7 -1
- data/vendor/pygments-main/pygments/styles/gruvbox.py +10 -1
- data/vendor/pygments-main/pygments/styles/igor.py +6 -1
- data/vendor/pygments-main/pygments/styles/inkpot.py +7 -2
- data/vendor/pygments-main/pygments/styles/lightbulb.py +110 -0
- data/vendor/pygments-main/pygments/styles/lilypond.py +8 -2
- data/vendor/pygments-main/pygments/styles/lovelace.py +16 -10
- data/vendor/pygments-main/pygments/styles/manni.py +7 -2
- data/vendor/pygments-main/pygments/styles/material.py +21 -14
- data/vendor/pygments-main/pygments/styles/monokai.py +16 -10
- data/vendor/pygments-main/pygments/styles/murphy.py +7 -2
- data/vendor/pygments-main/pygments/styles/native.py +10 -5
- data/vendor/pygments-main/pygments/styles/nord.py +9 -3
- data/vendor/pygments-main/pygments/styles/onedark.py +6 -2
- data/vendor/pygments-main/pygments/styles/paraiso_dark.py +7 -2
- data/vendor/pygments-main/pygments/styles/paraiso_light.py +7 -2
- data/vendor/pygments-main/pygments/styles/pastie.py +7 -1
- data/vendor/pygments-main/pygments/styles/perldoc.py +7 -1
- data/vendor/pygments-main/pygments/styles/rainbow_dash.py +26 -19
- data/vendor/pygments-main/pygments/styles/rrt.py +8 -2
- data/vendor/pygments-main/pygments/styles/sas.py +6 -1
- data/vendor/pygments-main/pygments/styles/solarized.py +9 -1
- data/vendor/pygments-main/pygments/styles/staroffice.py +6 -1
- data/vendor/pygments-main/pygments/styles/stata_dark.py +6 -2
- data/vendor/pygments-main/pygments/styles/stata_light.py +6 -1
- data/vendor/pygments-main/pygments/styles/tango.py +7 -3
- data/vendor/pygments-main/pygments/styles/trac.py +7 -1
- data/vendor/pygments-main/pygments/styles/vim.py +7 -1
- data/vendor/pygments-main/pygments/styles/vs.py +7 -2
- data/vendor/pygments-main/pygments/styles/xcode.py +6 -1
- data/vendor/pygments-main/pygments/styles/zenburn.py +6 -1
- data/vendor/pygments-main/pygments/token.py +2 -1
- data/vendor/pygments-main/pygments/unistring.py +5 -5
- data/vendor/pygments-main/pygments/util.py +13 -19
- data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/METADATA +14 -13
- data/vendor/pygments-main/pygments-2.18.0.dist-info/RECORD +663 -0
- data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/WHEEL +1 -2
- data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info/licenses}/AUTHORS +13 -0
- metadata +39 -15
- data/vendor/pygments-main/Pygments-2.15.1.dist-info/RECORD +0 -614
- data/vendor/pygments-main/Pygments-2.15.1.dist-info/top_level.txt +0 -1
- /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/INSTALLER +0 -0
- /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/REQUESTED +0 -0
- /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/entry_points.txt +0 -0
- /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info/licenses}/LICENSE +0 -0
@@ -0,0 +1,109 @@
|
|
1
|
+
"""
|
2
|
+
pygments.lexers.bqn
|
3
|
+
~~~~~~~~~~~~~~~~~~~
|
4
|
+
|
5
|
+
Lexer for BQN.
|
6
|
+
|
7
|
+
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
|
8
|
+
:license: BSD, see LICENSE for details.
|
9
|
+
"""
|
10
|
+
|
11
|
+
from pygments.lexer import RegexLexer
|
12
|
+
from pygments.token import Comment, Operator, Keyword, Name, String, \
|
13
|
+
Number, Punctuation, Whitespace
|
14
|
+
|
15
|
+
__all__ = ['BQNLexer']
|
16
|
+
|
17
|
+
|
18
|
+
class BQNLexer(RegexLexer):
|
19
|
+
"""
|
20
|
+
A simple BQN lexer.
|
21
|
+
"""
|
22
|
+
name = 'BQN'
|
23
|
+
url = 'https://mlochbaum.github.io/BQN/index.html'
|
24
|
+
aliases = ['bqn']
|
25
|
+
filenames = ['*.bqn']
|
26
|
+
mimetypes = []
|
27
|
+
version_added = '2.16'
|
28
|
+
|
29
|
+
tokens = {
|
30
|
+
'root': [
|
31
|
+
# Whitespace
|
32
|
+
# ==========
|
33
|
+
(r'\s+', Whitespace),
|
34
|
+
#
|
35
|
+
# Comment
|
36
|
+
# =======
|
37
|
+
# '#' is a comment that continues to the end of the line
|
38
|
+
(r'#.*$', Comment.Single),
|
39
|
+
#
|
40
|
+
# Strings
|
41
|
+
# =======
|
42
|
+
(r'\'((\'\')|[^\'])*\'', String.Single),
|
43
|
+
(r'"(("")|[^"])*"', String.Double),
|
44
|
+
#
|
45
|
+
# Null Character
|
46
|
+
# ==============
|
47
|
+
# Literal representation of the null character
|
48
|
+
(r'@', String.Symbol),
|
49
|
+
#
|
50
|
+
# Punctuation
|
51
|
+
# ===========
|
52
|
+
# This token type is used for diamond, commas
|
53
|
+
# and array and list brackets and strand syntax
|
54
|
+
(r'[\.⋄,\[\]⟨⟩‿]', Punctuation),
|
55
|
+
#
|
56
|
+
# Expression Grouping
|
57
|
+
# ===================
|
58
|
+
# Since this token type is important in BQN, it is not included in
|
59
|
+
# the punctuation token type but rather in the following one
|
60
|
+
(r'[\(\)]', String.Regex),
|
61
|
+
#
|
62
|
+
# Numbers
|
63
|
+
# =======
|
64
|
+
# Includes the numeric literals and the Nothing character
|
65
|
+
(r'¯?([0-9]+\.?[0-9]+|[0-9]+)([Ee][¯]?[0-9]+)?|¯|∞|π|·', Number),
|
66
|
+
#
|
67
|
+
# Variables
|
68
|
+
# =========
|
69
|
+
(r'\b[a-z]\w*\b', Name.Variable),
|
70
|
+
#
|
71
|
+
# 1-Modifiers
|
72
|
+
# ===========
|
73
|
+
(r'[˙˜˘¨⌜⁼´˝`𝕣]', Name.Attribute),
|
74
|
+
(r'\b_[a-zA-Z0-9]+\b', Name.Attribute),
|
75
|
+
#
|
76
|
+
# 2-Modifiers
|
77
|
+
# ===========
|
78
|
+
(r'[∘○⊸⟜⌾⊘◶⎉⚇⍟⎊]', Name.Property),
|
79
|
+
(r'\b_[a-zA-Z0-9]+_\b', Name.Property),
|
80
|
+
#
|
81
|
+
# Functions
|
82
|
+
# =========
|
83
|
+
# The monadic or dyadic function primitives and function
|
84
|
+
# operands and arguments, along with function self-reference
|
85
|
+
(r'[+\-×÷\*√⌊⌈∧∨¬|≤<>≥=≠≡≢⊣⊢⥊∾≍⋈↑↓↕«»⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!𝕎𝕏𝔽𝔾𝕊]',
|
86
|
+
Operator),
|
87
|
+
(r'[A-Z]\w*|•\w+\b', Operator),
|
88
|
+
#
|
89
|
+
# Constant
|
90
|
+
# ========
|
91
|
+
(r'˙', Name.Constant),
|
92
|
+
#
|
93
|
+
# Define/Export/Change
|
94
|
+
# ====================
|
95
|
+
(r'[←↩⇐]', Keyword.Declaration),
|
96
|
+
#
|
97
|
+
# Blocks
|
98
|
+
# ======
|
99
|
+
(r'[{}]', Keyword.Type),
|
100
|
+
#
|
101
|
+
# Extra characters
|
102
|
+
# ================
|
103
|
+
(r'[;:?𝕨𝕩𝕗𝕘𝕤]', Name.Entity),
|
104
|
+
#
|
105
|
+
|
106
|
+
],
|
107
|
+
}
|
108
|
+
|
109
|
+
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexers for "business-oriented" languages.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
|
@@ -23,13 +23,14 @@ __all__ = ['CobolLexer', 'CobolFreeformatLexer', 'ABAPLexer', 'OpenEdgeLexer',
|
|
23
23
|
class CobolLexer(RegexLexer):
|
24
24
|
"""
|
25
25
|
Lexer for OpenCOBOL code.
|
26
|
-
|
27
|
-
.. versionadded:: 1.6
|
28
26
|
"""
|
29
27
|
name = 'COBOL'
|
30
28
|
aliases = ['cobol']
|
31
29
|
filenames = ['*.cob', '*.COB', '*.cpy', '*.CPY']
|
32
30
|
mimetypes = ['text/x-cobol']
|
31
|
+
url = 'https://en.wikipedia.org/wiki/COBOL'
|
32
|
+
version_added = '1.6'
|
33
|
+
|
33
34
|
flags = re.IGNORECASE | re.MULTILINE
|
34
35
|
|
35
36
|
# Data Types: by PICTURE and USAGE
|
@@ -221,13 +222,14 @@ class CobolLexer(RegexLexer):
|
|
221
222
|
class CobolFreeformatLexer(CobolLexer):
|
222
223
|
"""
|
223
224
|
Lexer for Free format OpenCOBOL code.
|
224
|
-
|
225
|
-
.. versionadded:: 1.6
|
226
225
|
"""
|
227
226
|
name = 'COBOLFree'
|
228
227
|
aliases = ['cobolfree']
|
229
228
|
filenames = ['*.cbl', '*.CBL']
|
230
229
|
mimetypes = []
|
230
|
+
url = 'https://opencobol.add1tocobol.com'
|
231
|
+
version_added = '1.6'
|
232
|
+
|
231
233
|
flags = re.IGNORECASE | re.MULTILINE
|
232
234
|
|
233
235
|
tokens = {
|
@@ -240,13 +242,13 @@ class CobolFreeformatLexer(CobolLexer):
|
|
240
242
|
class ABAPLexer(RegexLexer):
|
241
243
|
"""
|
242
244
|
Lexer for ABAP, SAP's integrated language.
|
243
|
-
|
244
|
-
.. versionadded:: 1.1
|
245
245
|
"""
|
246
246
|
name = 'ABAP'
|
247
247
|
aliases = ['abap']
|
248
248
|
filenames = ['*.abap', '*.ABAP']
|
249
249
|
mimetypes = ['text/x-abap']
|
250
|
+
url = 'https://community.sap.com/topics/abap'
|
251
|
+
version_added = '1.1'
|
250
252
|
|
251
253
|
flags = re.IGNORECASE | re.MULTILINE
|
252
254
|
|
@@ -448,15 +450,14 @@ class ABAPLexer(RegexLexer):
|
|
448
450
|
|
449
451
|
class OpenEdgeLexer(RegexLexer):
|
450
452
|
"""
|
451
|
-
Lexer for
|
452
|
-
<http://web.progress.com/en/openedge/abl.html>`_ source code.
|
453
|
-
|
454
|
-
.. versionadded:: 1.5
|
453
|
+
Lexer for OpenEdge ABL (formerly Progress) source code.
|
455
454
|
"""
|
456
455
|
name = 'OpenEdge ABL'
|
457
456
|
aliases = ['openedge', 'abl', 'progress']
|
458
457
|
filenames = ['*.p', '*.cls']
|
459
458
|
mimetypes = ['text/x-openedge', 'application/x-openedge']
|
459
|
+
url = 'https://www.progress.com/openedge/features/abl'
|
460
|
+
version_added = '1.5'
|
460
461
|
|
461
462
|
types = (r'(?i)(^|(?<=[^\w\-]))(CHARACTER|CHAR|CHARA|CHARAC|CHARACT|CHARACTE|'
|
462
463
|
r'COM-HANDLE|DATE|DATETIME|DATETIME-TZ|'
|
@@ -517,20 +518,20 @@ class OpenEdgeLexer(RegexLexer):
|
|
517
518
|
|
518
519
|
class GoodDataCLLexer(RegexLexer):
|
519
520
|
"""
|
520
|
-
Lexer for
|
521
|
-
<https://github.com/gooddata/GoodData-CL/raw/master/cli/src/main/resources/\
|
522
|
-
com/gooddata/processor/COMMANDS.txt>`_
|
523
|
-
script files.
|
524
|
-
|
525
|
-
.. versionadded:: 1.4
|
521
|
+
Lexer for GoodData-CL script files.
|
526
522
|
"""
|
527
523
|
|
528
524
|
name = 'GoodData-CL'
|
529
525
|
aliases = ['gooddata-cl']
|
530
526
|
filenames = ['*.gdc']
|
531
527
|
mimetypes = ['text/x-gooddata-cl']
|
528
|
+
url = 'https://github.com/gooddata/GoodData-CL'
|
529
|
+
version_added = '1.4'
|
532
530
|
|
533
531
|
flags = re.IGNORECASE
|
532
|
+
|
533
|
+
# Syntax:
|
534
|
+
# https://github.com/gooddata/GoodData-CL/raw/master/cli/src/main/resources/com/gooddata/processor/COMMANDS.txt
|
534
535
|
tokens = {
|
535
536
|
'root': [
|
536
537
|
# Comments
|
@@ -564,17 +565,15 @@ com/gooddata/processor/COMMANDS.txt>`_
|
|
564
565
|
|
565
566
|
class MaqlLexer(RegexLexer):
|
566
567
|
"""
|
567
|
-
Lexer for
|
568
|
-
<https://secure.gooddata.com/docs/html/advanced.metric.tutorial.html>`_
|
569
|
-
scripts.
|
570
|
-
|
571
|
-
.. versionadded:: 1.4
|
568
|
+
Lexer for GoodData MAQL scripts.
|
572
569
|
"""
|
573
570
|
|
574
571
|
name = 'MAQL'
|
575
572
|
aliases = ['maql']
|
576
573
|
filenames = ['*.maql']
|
577
574
|
mimetypes = ['text/x-gooddata-maql', 'application/x-gooddata-maql']
|
575
|
+
url = 'https://help.gooddata.com/doc/enterprise/en/dashboards-and-insights/maql-analytical-query-language'
|
576
|
+
version_added = '1.4'
|
578
577
|
|
579
578
|
flags = re.IGNORECASE
|
580
579
|
tokens = {
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexers for C/C++ languages.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
|
@@ -107,7 +107,8 @@ class CFamilyLexer(RegexLexer):
|
|
107
107
|
(words(('int8', 'int16', 'int32', 'int64', 'wchar_t'), prefix=r'__',
|
108
108
|
suffix=r'\b'), Keyword.Reserved),
|
109
109
|
(words(('bool', 'int', 'long', 'float', 'short', 'double', 'char',
|
110
|
-
'unsigned', 'signed', 'void'
|
110
|
+
'unsigned', 'signed', 'void', '_BitInt',
|
111
|
+
'__int128'), suffix=r'\b'), Keyword.Type)
|
111
112
|
],
|
112
113
|
'keywords': [
|
113
114
|
(r'(struct|union)(\s+)', bygroups(Keyword, Whitespace), 'classname'),
|
@@ -293,6 +294,8 @@ class CLexer(CFamilyLexer):
|
|
293
294
|
aliases = ['c']
|
294
295
|
filenames = ['*.c', '*.h', '*.idc', '*.x[bp]m']
|
295
296
|
mimetypes = ['text/x-chdr', 'text/x-csrc', 'image/x-xbitmap', 'image/x-xpixmap']
|
297
|
+
url = 'https://en.wikipedia.org/wiki/C_(programming_language)'
|
298
|
+
version_added = ''
|
296
299
|
priority = 0.1
|
297
300
|
|
298
301
|
tokens = {
|
@@ -346,6 +349,7 @@ class CppLexer(CFamilyLexer):
|
|
346
349
|
'*.cc', '*.hh', '*.cxx', '*.hxx',
|
347
350
|
'*.C', '*.H', '*.cp', '*.CPP', '*.tpp']
|
348
351
|
mimetypes = ['text/x-c++hdr', 'text/x-c++src']
|
352
|
+
version_added = ''
|
349
353
|
priority = 0.1
|
350
354
|
|
351
355
|
tokens = {
|
@@ -380,11 +384,12 @@ class CppLexer(CFamilyLexer):
|
|
380
384
|
'catch', 'const_cast', 'delete', 'dynamic_cast', 'explicit',
|
381
385
|
'export', 'friend', 'mutable', 'new', 'operator',
|
382
386
|
'private', 'protected', 'public', 'reinterpret_cast', 'class',
|
383
|
-
'
|
387
|
+
'__restrict', 'static_cast', 'template', 'this', 'throw', 'throws',
|
384
388
|
'try', 'typeid', 'using', 'virtual', 'constexpr', 'nullptr', 'concept',
|
385
389
|
'decltype', 'noexcept', 'override', 'final', 'constinit', 'consteval',
|
386
390
|
'co_await', 'co_return', 'co_yield', 'requires', 'import', 'module',
|
387
|
-
'typename'
|
391
|
+
'typename', 'and', 'and_eq', 'bitand', 'bitor', 'compl', 'not',
|
392
|
+
'not_eq', 'or', 'or_eq', 'xor', 'xor_eq'),
|
388
393
|
suffix=r'\b'), Keyword),
|
389
394
|
(r'namespace\b', Keyword, 'namespace'),
|
390
395
|
(r'(enum)(\s+)', bygroups(Keyword, Whitespace), 'enumname'),
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexers for other C-like languages.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
|
@@ -20,19 +20,18 @@ from pygments.lexers import _mql_builtins
|
|
20
20
|
|
21
21
|
__all__ = ['PikeLexer', 'NesCLexer', 'ClayLexer', 'ECLexer', 'ValaLexer',
|
22
22
|
'CudaLexer', 'SwigLexer', 'MqlLexer', 'ArduinoLexer', 'CharmciLexer',
|
23
|
-
'OmgIdlLexer']
|
23
|
+
'OmgIdlLexer', 'PromelaLexer']
|
24
24
|
|
25
25
|
|
26
26
|
class PikeLexer(CppLexer):
|
27
27
|
"""
|
28
28
|
For `Pike <http://pike.lysator.liu.se/>`_ source code.
|
29
|
-
|
30
|
-
.. versionadded:: 2.0
|
31
29
|
"""
|
32
30
|
name = 'Pike'
|
33
31
|
aliases = ['pike']
|
34
32
|
filenames = ['*.pike', '*.pmod']
|
35
33
|
mimetypes = ['text/x-pike']
|
34
|
+
version_added = '2.0'
|
36
35
|
|
37
36
|
tokens = {
|
38
37
|
'statements': [
|
@@ -68,13 +67,12 @@ class NesCLexer(CLexer):
|
|
68
67
|
"""
|
69
68
|
For `nesC <https://github.com/tinyos/nesc>`_ source code with preprocessor
|
70
69
|
directives.
|
71
|
-
|
72
|
-
.. versionadded:: 2.0
|
73
70
|
"""
|
74
71
|
name = 'nesC'
|
75
72
|
aliases = ['nesc']
|
76
73
|
filenames = ['*.nc']
|
77
74
|
mimetypes = ['text/x-nescsrc']
|
75
|
+
version_added = '2.0'
|
78
76
|
|
79
77
|
tokens = {
|
80
78
|
'statements': [
|
@@ -95,14 +93,15 @@ class NesCLexer(CLexer):
|
|
95
93
|
|
96
94
|
class ClayLexer(RegexLexer):
|
97
95
|
"""
|
98
|
-
For
|
99
|
-
|
100
|
-
.. versionadded:: 2.0
|
96
|
+
For Clay source.
|
101
97
|
"""
|
102
98
|
name = 'Clay'
|
103
99
|
filenames = ['*.clay']
|
104
100
|
aliases = ['clay']
|
105
101
|
mimetypes = ['text/x-clay']
|
102
|
+
url = 'http://claylabs.com/clay'
|
103
|
+
version_added = '2.0'
|
104
|
+
|
106
105
|
tokens = {
|
107
106
|
'root': [
|
108
107
|
(r'\s+', Whitespace),
|
@@ -147,13 +146,13 @@ class ClayLexer(RegexLexer):
|
|
147
146
|
class ECLexer(CLexer):
|
148
147
|
"""
|
149
148
|
For eC source code with preprocessor directives.
|
150
|
-
|
151
|
-
.. versionadded:: 1.5
|
152
149
|
"""
|
153
150
|
name = 'eC'
|
154
151
|
aliases = ['ec']
|
155
152
|
filenames = ['*.ec', '*.eh']
|
156
153
|
mimetypes = ['text/x-echdr', 'text/x-ecsrc']
|
154
|
+
url = 'https://ec-lang.org'
|
155
|
+
version_added = '1.5'
|
157
156
|
|
158
157
|
tokens = {
|
159
158
|
'statements': [
|
@@ -180,13 +179,13 @@ class ECLexer(CLexer):
|
|
180
179
|
class ValaLexer(RegexLexer):
|
181
180
|
"""
|
182
181
|
For Vala source code with preprocessor directives.
|
183
|
-
|
184
|
-
.. versionadded:: 1.1
|
185
182
|
"""
|
186
183
|
name = 'Vala'
|
187
184
|
aliases = ['vala', 'vapi']
|
188
185
|
filenames = ['*.vala', '*.vapi']
|
189
186
|
mimetypes = ['text/x-vala']
|
187
|
+
url = 'https://vala.dev'
|
188
|
+
version_added = '1.1'
|
190
189
|
|
191
190
|
tokens = {
|
192
191
|
'whitespace': [
|
@@ -277,15 +276,14 @@ class ValaLexer(RegexLexer):
|
|
277
276
|
|
278
277
|
class CudaLexer(CLexer):
|
279
278
|
"""
|
280
|
-
For NVIDIA
|
281
|
-
source.
|
282
|
-
|
283
|
-
.. versionadded:: 1.6
|
279
|
+
For NVIDIA CUDA™ source.
|
284
280
|
"""
|
285
281
|
name = 'CUDA'
|
286
282
|
filenames = ['*.cu', '*.cuh']
|
287
283
|
aliases = ['cuda', 'cu']
|
288
284
|
mimetypes = ['text/x-cuda']
|
285
|
+
url = 'https://developer.nvidia.com/category/zone/cuda-zone'
|
286
|
+
version_added = '1.6'
|
289
287
|
|
290
288
|
function_qualifiers = {'__device__', '__global__', '__host__',
|
291
289
|
'__noinline__', '__forceinline__'}
|
@@ -326,13 +324,12 @@ class CudaLexer(CLexer):
|
|
326
324
|
class SwigLexer(CppLexer):
|
327
325
|
"""
|
328
326
|
For `SWIG <http://www.swig.org/>`_ source code.
|
329
|
-
|
330
|
-
.. versionadded:: 2.0
|
331
327
|
"""
|
332
328
|
name = 'SWIG'
|
333
329
|
aliases = ['swig']
|
334
330
|
filenames = ['*.swg', '*.i']
|
335
331
|
mimetypes = ['text/swig']
|
332
|
+
version_added = '2.0'
|
336
333
|
priority = 0.04 # Lower than C/C++ and Objective C/C++
|
337
334
|
|
338
335
|
tokens = {
|
@@ -393,13 +390,12 @@ class MqlLexer(CppLexer):
|
|
393
390
|
"""
|
394
391
|
For `MQL4 <http://docs.mql4.com/>`_ and
|
395
392
|
`MQL5 <http://www.mql5.com/en/docs>`_ source code.
|
396
|
-
|
397
|
-
.. versionadded:: 2.0
|
398
393
|
"""
|
399
394
|
name = 'MQL'
|
400
395
|
aliases = ['mql', 'mq4', 'mq5', 'mql4', 'mql5']
|
401
396
|
filenames = ['*.mq4', '*.mq5', '*.mqh']
|
402
397
|
mimetypes = ['text/x-mql']
|
398
|
+
version_added = '2.0'
|
403
399
|
|
404
400
|
tokens = {
|
405
401
|
'statements': [
|
@@ -420,14 +416,13 @@ class ArduinoLexer(CppLexer):
|
|
420
416
|
|
421
417
|
This is an extension of the CppLexer, as the Arduino® Language is a superset
|
422
418
|
of C++
|
423
|
-
|
424
|
-
.. versionadded:: 2.1
|
425
419
|
"""
|
426
420
|
|
427
421
|
name = 'Arduino'
|
428
422
|
aliases = ['arduino']
|
429
423
|
filenames = ['*.ino']
|
430
424
|
mimetypes = ['text/x-arduino']
|
425
|
+
version_added = '2.1'
|
431
426
|
|
432
427
|
# Language sketch main structure functions
|
433
428
|
structure = {'setup', 'loop'}
|
@@ -545,13 +540,12 @@ class ArduinoLexer(CppLexer):
|
|
545
540
|
class CharmciLexer(CppLexer):
|
546
541
|
"""
|
547
542
|
For `Charm++ <https://charm.cs.illinois.edu>`_ interface files (.ci).
|
548
|
-
|
549
|
-
.. versionadded:: 2.4
|
550
543
|
"""
|
551
544
|
|
552
545
|
name = 'Charmci'
|
553
546
|
aliases = ['charmci']
|
554
547
|
filenames = ['*.ci']
|
548
|
+
version_added = '2.4'
|
555
549
|
|
556
550
|
mimetypes = []
|
557
551
|
|
@@ -575,8 +569,6 @@ class CharmciLexer(CppLexer):
|
|
575
569
|
class OmgIdlLexer(CLexer):
|
576
570
|
"""
|
577
571
|
Lexer for Object Management Group Interface Definition Language.
|
578
|
-
|
579
|
-
.. versionadded:: 2.9
|
580
572
|
"""
|
581
573
|
|
582
574
|
name = 'OMG Interface Definition Language'
|
@@ -584,6 +576,7 @@ class OmgIdlLexer(CLexer):
|
|
584
576
|
aliases = ['omg-idl']
|
585
577
|
filenames = ['*.idl', '*.pidl']
|
586
578
|
mimetypes = []
|
579
|
+
version_added = '2.9'
|
587
580
|
|
588
581
|
scoped_name = r'((::)?\w+)+'
|
589
582
|
|
@@ -664,3 +657,82 @@ class OmgIdlLexer(CLexer):
|
|
664
657
|
include('annotation_appl'),
|
665
658
|
],
|
666
659
|
}
|
660
|
+
|
661
|
+
|
662
|
+
class PromelaLexer(CLexer):
|
663
|
+
"""
|
664
|
+
For the Promela language used with SPIN.
|
665
|
+
"""
|
666
|
+
|
667
|
+
name = 'Promela'
|
668
|
+
aliases = ['promela']
|
669
|
+
filenames = ['*.pml', '*.prom', '*.prm', '*.promela', '*.pr', '*.pm']
|
670
|
+
mimetypes = ['text/x-promela']
|
671
|
+
url = 'https://spinroot.com/spin/whatispin.html'
|
672
|
+
version_added = '2.18'
|
673
|
+
|
674
|
+
# Promela's language reference:
|
675
|
+
# https://spinroot.com/spin/Man/promela.html
|
676
|
+
# Promela's grammar definition:
|
677
|
+
# https://spinroot.com/spin/Man/grammar.html
|
678
|
+
|
679
|
+
tokens = {
|
680
|
+
'statements': [
|
681
|
+
(r'(\[\]|<>|/\\|\\/)|(U|W|V)\b', Operator), # LTL Operators
|
682
|
+
(r'@', Punctuation), #remoterefs
|
683
|
+
(r'(\.)([a-zA-Z_]\w*)', bygroups(Operator, Name.Attribute)),
|
684
|
+
inherit
|
685
|
+
],
|
686
|
+
'types': [
|
687
|
+
# Predefined (data types)
|
688
|
+
(words((
|
689
|
+
'bit', 'bool', 'byte', 'pid', 'short', 'int', 'unsigned'),
|
690
|
+
suffix=r'\b'),
|
691
|
+
Keyword.Type),
|
692
|
+
],
|
693
|
+
'keywords': [
|
694
|
+
# ControlFlow
|
695
|
+
(words((
|
696
|
+
'atomic', 'break', 'd_step', 'do', 'od', 'for', 'in', 'goto',
|
697
|
+
'if', 'fi', 'unless'), suffix=r'\b'),
|
698
|
+
Keyword),
|
699
|
+
# BasicStatements
|
700
|
+
(words((
|
701
|
+
'assert', 'get_priority', 'printf', 'printm', 'set_priority'),
|
702
|
+
suffix=r'\b'),
|
703
|
+
Name.Function),
|
704
|
+
# Embedded C Code
|
705
|
+
(words((
|
706
|
+
'c_code', 'c_decl', 'c_expr', 'c_state', 'c_track'),
|
707
|
+
suffix=r'\b'),
|
708
|
+
Keyword),
|
709
|
+
# Predefined (local/global variables)
|
710
|
+
(words((
|
711
|
+
'_', '_last', '_nr_pr', '_pid', '_priority', 'else', 'np_',
|
712
|
+
'STDIN'), suffix=r'\b'),
|
713
|
+
Name.Builtin),
|
714
|
+
# Predefined (functions)
|
715
|
+
(words((
|
716
|
+
'empty', 'enabled', 'eval', 'full', 'len', 'nempty', 'nfull',
|
717
|
+
'pc_value'), suffix=r'\b'),
|
718
|
+
Name.Function),
|
719
|
+
# Predefined (operators)
|
720
|
+
(r'run\b', Operator.Word),
|
721
|
+
# Declarators
|
722
|
+
(words((
|
723
|
+
'active', 'chan', 'D_proctype', 'hidden', 'init', 'local',
|
724
|
+
'mtype', 'never', 'notrace', 'proctype', 'show', 'trace',
|
725
|
+
'typedef', 'xr', 'xs'), suffix=r'\b'),
|
726
|
+
Keyword.Declaration),
|
727
|
+
# Declarators (suffixes)
|
728
|
+
(words((
|
729
|
+
'priority', 'provided'), suffix=r'\b'),
|
730
|
+
Keyword),
|
731
|
+
# MetaTerms (declarators)
|
732
|
+
(words((
|
733
|
+
'inline', 'ltl', 'select'), suffix=r'\b'),
|
734
|
+
Keyword.Declaration),
|
735
|
+
# MetaTerms (keywords)
|
736
|
+
(r'skip\b', Keyword),
|
737
|
+
],
|
738
|
+
}
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexers for the Cap'n Proto schema language.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
|
@@ -17,13 +17,12 @@ __all__ = ['CapnProtoLexer']
|
|
17
17
|
class CapnProtoLexer(RegexLexer):
|
18
18
|
"""
|
19
19
|
For Cap'n Proto source.
|
20
|
-
|
21
|
-
.. versionadded:: 2.2
|
22
20
|
"""
|
23
21
|
name = 'Cap\'n Proto'
|
24
22
|
url = 'https://capnproto.org'
|
25
23
|
filenames = ['*.capnp']
|
26
24
|
aliases = ['capnp']
|
25
|
+
version_added = '2.2'
|
27
26
|
|
28
27
|
tokens = {
|
29
28
|
'root': [
|
@@ -4,12 +4,12 @@
|
|
4
4
|
|
5
5
|
Lexers for the Carbon programming language.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
import re
|
11
11
|
|
12
|
-
from pygments.lexer import RegexLexer,
|
12
|
+
from pygments.lexer import RegexLexer, words
|
13
13
|
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
|
14
14
|
Number, Punctuation, Whitespace
|
15
15
|
|
@@ -19,14 +19,13 @@ __all__ = ['CarbonLexer']
|
|
19
19
|
class CarbonLexer(RegexLexer):
|
20
20
|
"""
|
21
21
|
For Carbon source.
|
22
|
-
|
23
|
-
.. versionadded:: 2.15
|
24
22
|
"""
|
25
23
|
name = 'Carbon'
|
26
24
|
url = 'https://github.com/carbon-language/carbon-lang'
|
27
25
|
filenames = ['*.carbon']
|
28
26
|
aliases = ['carbon']
|
29
27
|
mimetypes = ['text/x-carbon']
|
28
|
+
version_added = '2.15'
|
30
29
|
|
31
30
|
flags = re.MULTILINE | re.DOTALL
|
32
31
|
|
@@ -37,7 +36,7 @@ class CarbonLexer(RegexLexer):
|
|
37
36
|
(r'\\\n', Text),
|
38
37
|
# comments
|
39
38
|
(r'//(.*?)\n', Comment.Single),
|
40
|
-
(r'/(\\\n)?[*]
|
39
|
+
(r'/(\\\n)?[*].*?[*](\\\n)?/', Comment.Multiline),
|
41
40
|
# Declaration
|
42
41
|
(r'(package|import|api|namespace|library)\b', Keyword.Namespace),
|
43
42
|
(r'(abstract|alias|fn|class|interface|let|var|virtual|external|'
|
@@ -53,11 +52,11 @@ class CarbonLexer(RegexLexer):
|
|
53
52
|
(r'(auto|bool|string|i8|i16|i32|i64|u8|u16|u32|u64|'
|
54
53
|
r'f8|f16|f32|f64)\b', Keyword.Type),
|
55
54
|
# numeric literals
|
56
|
-
(r'[0-9]*[.][0-9]
|
57
|
-
(r'0b[01]
|
58
|
-
(r'0o[0-7]
|
59
|
-
(r'0x[0-9a-fA-F]
|
60
|
-
(r'[0-9]
|
55
|
+
(r'[0-9]*[.][0-9]+', Number.Double),
|
56
|
+
(r'0b[01]+', Number.Bin),
|
57
|
+
(r'0o[0-7]+', Number.Oct),
|
58
|
+
(r'0x[0-9a-fA-F]+', Number.Hex),
|
59
|
+
(r'[0-9]+', Number.Integer),
|
61
60
|
# string literal
|
62
61
|
(r'"(\\.|[^"\\])*"', String),
|
63
62
|
# char literal
|
@@ -93,4 +92,4 @@ class CarbonLexer(RegexLexer):
|
|
93
92
|
result += 0.1
|
94
93
|
if 'impl' in text:
|
95
94
|
result += 0.1
|
96
|
-
return result
|
95
|
+
return result
|