pygments.rb 2.4.1 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|