pygments.rb 2.4.0 → 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 +12 -0
- data/README.adoc +2 -2
- data/lib/pygments/popen.rb +2 -2
- data/lib/pygments/version.rb +1 -1
- data/pygments.rb.gemspec +3 -3
- 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 +41 -17
- 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
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexers for ML family 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,14 +20,14 @@ __all__ = ['SMLLexer', 'OcamlLexer', 'OpaLexer', 'ReasonLexer', 'FStarLexer']
|
|
20
20
|
class SMLLexer(RegexLexer):
|
21
21
|
"""
|
22
22
|
For the Standard ML language.
|
23
|
-
|
24
|
-
.. versionadded:: 1.5
|
25
23
|
"""
|
26
24
|
|
27
25
|
name = 'Standard ML'
|
28
26
|
aliases = ['sml']
|
29
27
|
filenames = ['*.sml', '*.sig', '*.fun']
|
30
28
|
mimetypes = ['text/x-standardml', 'application/x-standardml']
|
29
|
+
url = 'https://en.wikipedia.org/wiki/Standard_ML'
|
30
|
+
version_added = '1.5'
|
31
31
|
|
32
32
|
alphanumid_reserved = {
|
33
33
|
# Core
|
@@ -121,7 +121,7 @@ class SMLLexer(RegexLexer):
|
|
121
121
|
|
122
122
|
'core': [
|
123
123
|
# Punctuation that doesn't overlap symbolic identifiers
|
124
|
-
(r'(
|
124
|
+
(r'({})'.format('|'.join(re.escape(z) for z in nonid_reserved)),
|
125
125
|
Punctuation),
|
126
126
|
|
127
127
|
# Special constants: strings, floats, numbers in decimal and hex
|
@@ -137,8 +137,8 @@ class SMLLexer(RegexLexer):
|
|
137
137
|
|
138
138
|
# Labels
|
139
139
|
(r'#\s*[1-9][0-9]*', Name.Label),
|
140
|
-
(
|
141
|
-
(
|
140
|
+
(rf'#\s*({alphanumid_re})', Name.Label),
|
141
|
+
(rf'#\s+({symbolicid_re})', Name.Label),
|
142
142
|
# Some reserved words trigger a special, local lexer state change
|
143
143
|
(r'\b(datatype|abstype)\b(?!\')', Keyword.Reserved, 'dname'),
|
144
144
|
(r'\b(exception)\b(?!\')', Keyword.Reserved, 'ename'),
|
@@ -148,14 +148,14 @@ class SMLLexer(RegexLexer):
|
|
148
148
|
|
149
149
|
# Regular identifiers, long and otherwise
|
150
150
|
(r'\'[\w\']*', Name.Decorator),
|
151
|
-
(
|
152
|
-
(
|
153
|
-
(
|
151
|
+
(rf'({alphanumid_re})(\.)', long_id_callback, "dotted"),
|
152
|
+
(rf'({alphanumid_re})', id_callback),
|
153
|
+
(rf'({symbolicid_re})', id_callback),
|
154
154
|
],
|
155
155
|
'dotted': [
|
156
|
-
(
|
157
|
-
(
|
158
|
-
(
|
156
|
+
(rf'({alphanumid_re})(\.)', long_id_callback),
|
157
|
+
(rf'({alphanumid_re})', end_id_callback, "#pop"),
|
158
|
+
(rf'({symbolicid_re})', end_id_callback, "#pop"),
|
159
159
|
(r'\s+', Error),
|
160
160
|
(r'\S+', Error),
|
161
161
|
],
|
@@ -208,7 +208,7 @@ class SMLLexer(RegexLexer):
|
|
208
208
|
'string': stringy(String.Double),
|
209
209
|
|
210
210
|
'breakout': [
|
211
|
-
(r'(?=\b(
|
211
|
+
(r'(?=\b({})\b(?!\'))'.format('|'.join(alphanumid_reserved)), Text, '#pop'),
|
212
212
|
],
|
213
213
|
|
214
214
|
# Dealing with what comes after module system keywords
|
@@ -216,7 +216,7 @@ class SMLLexer(RegexLexer):
|
|
216
216
|
include('whitespace'),
|
217
217
|
include('breakout'),
|
218
218
|
|
219
|
-
(
|
219
|
+
(rf'({alphanumid_re})', Name.Namespace),
|
220
220
|
default('#pop'),
|
221
221
|
],
|
222
222
|
|
@@ -226,8 +226,8 @@ class SMLLexer(RegexLexer):
|
|
226
226
|
(r'\'[\w\']*', Name.Decorator),
|
227
227
|
(r'\(', Punctuation, 'tyvarseq'),
|
228
228
|
|
229
|
-
(
|
230
|
-
(
|
229
|
+
(rf'({alphanumid_re})', Name.Function, '#pop'),
|
230
|
+
(rf'({symbolicid_re})', Name.Function, '#pop'),
|
231
231
|
|
232
232
|
# Ignore interesting function declarations like "fun (x + y) = ..."
|
233
233
|
default('#pop'),
|
@@ -239,12 +239,12 @@ class SMLLexer(RegexLexer):
|
|
239
239
|
(r'\'[\w\']*', Name.Decorator),
|
240
240
|
(r'\(', Punctuation, 'tyvarseq'),
|
241
241
|
|
242
|
-
(
|
242
|
+
(rf'({alphanumid_re})(\s*)(=(?!{symbolicid_re}))',
|
243
243
|
bygroups(Name.Variable, Text, Punctuation), '#pop'),
|
244
|
-
(
|
244
|
+
(rf'({symbolicid_re})(\s*)(=(?!{symbolicid_re}))',
|
245
245
|
bygroups(Name.Variable, Text, Punctuation), '#pop'),
|
246
|
-
(
|
247
|
-
(
|
246
|
+
(rf'({alphanumid_re})', Name.Variable, '#pop'),
|
247
|
+
(rf'({symbolicid_re})', Name.Variable, '#pop'),
|
248
248
|
|
249
249
|
# Ignore interesting patterns like 'val (x, y)'
|
250
250
|
default('#pop'),
|
@@ -257,10 +257,10 @@ class SMLLexer(RegexLexer):
|
|
257
257
|
|
258
258
|
(r'\'[\w\']*', Name.Decorator),
|
259
259
|
(r'\(', Punctuation, 'tyvarseq'),
|
260
|
-
(
|
260
|
+
(rf'=(?!{symbolicid_re})', Punctuation, ('#pop', 'typbind')),
|
261
261
|
|
262
|
-
(
|
263
|
-
(
|
262
|
+
(rf'({alphanumid_re})', Keyword.Type),
|
263
|
+
(rf'({symbolicid_re})', Keyword.Type),
|
264
264
|
(r'\S+', Error, '#pop'),
|
265
265
|
],
|
266
266
|
|
@@ -284,11 +284,11 @@ class SMLLexer(RegexLexer):
|
|
284
284
|
(r'\(', Punctuation, 'tyvarseq'),
|
285
285
|
(r'(=)(\s*)(datatype)',
|
286
286
|
bygroups(Punctuation, Text, Keyword.Reserved), '#pop'),
|
287
|
-
(
|
287
|
+
(rf'=(?!{symbolicid_re})', Punctuation,
|
288
288
|
('#pop', 'datbind', 'datcon')),
|
289
289
|
|
290
|
-
(
|
291
|
-
(
|
290
|
+
(rf'({alphanumid_re})', Keyword.Type),
|
291
|
+
(rf'({symbolicid_re})', Keyword.Type),
|
292
292
|
(r'\S+', Error, '#pop'),
|
293
293
|
],
|
294
294
|
|
@@ -300,9 +300,9 @@ class SMLLexer(RegexLexer):
|
|
300
300
|
(r'\b(withtype)\b(?!\')', Keyword.Reserved, ('#pop', 'tname')),
|
301
301
|
(r'\b(of)\b(?!\')', Keyword.Reserved),
|
302
302
|
|
303
|
-
(
|
303
|
+
(rf'(\|)(\s*)({alphanumid_re})',
|
304
304
|
bygroups(Punctuation, Text, Name.Class)),
|
305
|
-
(
|
305
|
+
(rf'(\|)(\s+)({symbolicid_re})',
|
306
306
|
bygroups(Punctuation, Text, Name.Class)),
|
307
307
|
|
308
308
|
include('breakout'),
|
@@ -314,20 +314,20 @@ class SMLLexer(RegexLexer):
|
|
314
314
|
'ename': [
|
315
315
|
include('whitespace'),
|
316
316
|
|
317
|
-
(
|
317
|
+
(rf'(and\b)(\s+)({alphanumid_re})',
|
318
318
|
bygroups(Keyword.Reserved, Text, Name.Class)),
|
319
|
-
(
|
319
|
+
(rf'(and\b)(\s*)({symbolicid_re})',
|
320
320
|
bygroups(Keyword.Reserved, Text, Name.Class)),
|
321
321
|
(r'\b(of)\b(?!\')', Keyword.Reserved),
|
322
|
-
(
|
322
|
+
(rf'({alphanumid_re})|({symbolicid_re})', Name.Class),
|
323
323
|
|
324
324
|
default('#pop'),
|
325
325
|
],
|
326
326
|
|
327
327
|
'datcon': [
|
328
328
|
include('whitespace'),
|
329
|
-
(
|
330
|
-
(
|
329
|
+
(rf'({alphanumid_re})', Name.Class, '#pop'),
|
330
|
+
(rf'({symbolicid_re})', Name.Class, '#pop'),
|
331
331
|
(r'\S+', Error, '#pop'),
|
332
332
|
],
|
333
333
|
|
@@ -355,8 +355,6 @@ class SMLLexer(RegexLexer):
|
|
355
355
|
class OcamlLexer(RegexLexer):
|
356
356
|
"""
|
357
357
|
For the OCaml language.
|
358
|
-
|
359
|
-
.. versionadded:: 0.7
|
360
358
|
"""
|
361
359
|
|
362
360
|
name = 'OCaml'
|
@@ -364,15 +362,16 @@ class OcamlLexer(RegexLexer):
|
|
364
362
|
aliases = ['ocaml']
|
365
363
|
filenames = ['*.ml', '*.mli', '*.mll', '*.mly']
|
366
364
|
mimetypes = ['text/x-ocaml']
|
365
|
+
version_added = '0.7'
|
367
366
|
|
368
367
|
keywords = (
|
369
|
-
'as', 'assert', 'begin', 'class', 'constraint', 'do', 'done',
|
368
|
+
'and', 'as', 'assert', 'begin', 'class', 'constraint', 'do', 'done',
|
370
369
|
'downto', 'else', 'end', 'exception', 'external', 'false',
|
371
370
|
'for', 'fun', 'function', 'functor', 'if', 'in', 'include',
|
372
371
|
'inherit', 'initializer', 'lazy', 'let', 'match', 'method',
|
373
372
|
'module', 'mutable', 'new', 'object', 'of', 'open', 'private',
|
374
373
|
'raise', 'rec', 'sig', 'struct', 'then', 'to', 'true', 'try',
|
375
|
-
'type', '
|
374
|
+
'type', 'val', 'virtual', 'when', 'while', 'with',
|
376
375
|
)
|
377
376
|
keyopts = (
|
378
377
|
'!=', '#', '&', '&&', r'\(', r'\)', r'\*', r'\+', ',', '-',
|
@@ -382,7 +381,7 @@ class OcamlLexer(RegexLexer):
|
|
382
381
|
)
|
383
382
|
|
384
383
|
operators = r'[!$%&*+\./:<=>?@^|~-]'
|
385
|
-
word_operators = ('
|
384
|
+
word_operators = ('asr', 'land', 'lor', 'lsl', 'lxor', 'mod', 'or')
|
386
385
|
prefix_syms = r'[!?~]'
|
387
386
|
infix_syms = r'[=<>@^|&+\*/$%-]'
|
388
387
|
primitives = ('unit', 'int', 'float', 'bool', 'string', 'char', 'list', 'array')
|
@@ -399,11 +398,11 @@ class OcamlLexer(RegexLexer):
|
|
399
398
|
(r'\b([A-Z][\w\']*)(?=\s*\.)', Name.Namespace, 'dotted'),
|
400
399
|
(r'\b([A-Z][\w\']*)', Name.Class),
|
401
400
|
(r'\(\*(?![)])', Comment, 'comment'),
|
402
|
-
(r'\b(
|
403
|
-
(r'(
|
404
|
-
(
|
405
|
-
(r'\b(
|
406
|
-
(r'\b(
|
401
|
+
(r'\b({})\b'.format('|'.join(keywords)), Keyword),
|
402
|
+
(r'({})'.format('|'.join(keyopts[::-1])), Operator),
|
403
|
+
(rf'({infix_syms}|{prefix_syms})?{operators}', Operator),
|
404
|
+
(r'\b({})\b'.format('|'.join(word_operators)), Operator.Word),
|
405
|
+
(r'\b({})\b'.format('|'.join(primitives)), Keyword.Type),
|
407
406
|
|
408
407
|
(r"[^\W\d][\w']*", Name),
|
409
408
|
|
@@ -448,14 +447,14 @@ class OcamlLexer(RegexLexer):
|
|
448
447
|
class OpaLexer(RegexLexer):
|
449
448
|
"""
|
450
449
|
Lexer for the Opa language.
|
451
|
-
|
452
|
-
.. versionadded:: 1.5
|
453
450
|
"""
|
454
451
|
|
455
452
|
name = 'Opa'
|
456
453
|
aliases = ['opa']
|
457
454
|
filenames = ['*.opa']
|
458
455
|
mimetypes = ['text/x-opa']
|
456
|
+
url = 'http://opalang.org'
|
457
|
+
version_added = '1.5'
|
459
458
|
|
460
459
|
# most of these aren't strictly keywords
|
461
460
|
# but if you color only real keywords, you might just
|
@@ -557,8 +556,8 @@ class OpaLexer(RegexLexer):
|
|
557
556
|
# way to syntactic distinguish binding constructions
|
558
557
|
# unfortunately, this colors the equal in {x=2} too
|
559
558
|
(r'=(?!'+op_re+r')', Keyword),
|
560
|
-
(
|
561
|
-
(
|
559
|
+
(rf'({op_re})+', Operator),
|
560
|
+
(rf'({punc_re})+', Operator),
|
562
561
|
|
563
562
|
# coercions
|
564
563
|
(r':', Operator, 'type'),
|
@@ -771,8 +770,6 @@ class OpaLexer(RegexLexer):
|
|
771
770
|
class ReasonLexer(RegexLexer):
|
772
771
|
"""
|
773
772
|
For the ReasonML language.
|
774
|
-
|
775
|
-
.. versionadded:: 2.6
|
776
773
|
"""
|
777
774
|
|
778
775
|
name = 'ReasonML'
|
@@ -780,6 +777,7 @@ class ReasonLexer(RegexLexer):
|
|
780
777
|
aliases = ['reasonml', 'reason']
|
781
778
|
filenames = ['*.re', '*.rei']
|
782
779
|
mimetypes = ['text/x-reasonml']
|
780
|
+
version_added = '2.6'
|
783
781
|
|
784
782
|
keywords = (
|
785
783
|
'as', 'assert', 'begin', 'class', 'constraint', 'do', 'done', 'downto',
|
@@ -815,11 +813,11 @@ class ReasonLexer(RegexLexer):
|
|
815
813
|
(r'\b([A-Z][\w\']*)', Name.Class),
|
816
814
|
(r'//.*?\n', Comment.Single),
|
817
815
|
(r'\/\*(?!/)', Comment.Multiline, 'comment'),
|
818
|
-
(r'\b(
|
819
|
-
(r'(
|
820
|
-
(
|
821
|
-
(r'\b(
|
822
|
-
(r'\b(
|
816
|
+
(r'\b({})\b'.format('|'.join(keywords)), Keyword),
|
817
|
+
(r'({})'.format('|'.join(keyopts[::-1])), Operator.Word),
|
818
|
+
(rf'({infix_syms}|{prefix_syms})?{operators}', Operator),
|
819
|
+
(r'\b({})\b'.format('|'.join(word_operators)), Operator.Word),
|
820
|
+
(r'\b({})\b'.format('|'.join(primitives)), Keyword.Type),
|
823
821
|
|
824
822
|
(r"[^\W\d][\w']*", Name),
|
825
823
|
|
@@ -864,7 +862,6 @@ class ReasonLexer(RegexLexer):
|
|
864
862
|
class FStarLexer(RegexLexer):
|
865
863
|
"""
|
866
864
|
For the F* language.
|
867
|
-
.. versionadded:: 2.7
|
868
865
|
"""
|
869
866
|
|
870
867
|
name = 'FStar'
|
@@ -872,6 +869,7 @@ class FStarLexer(RegexLexer):
|
|
872
869
|
aliases = ['fstar']
|
873
870
|
filenames = ['*.fst', '*.fsti']
|
874
871
|
mimetypes = ['text/x-fstar']
|
872
|
+
version_added = '2.7'
|
875
873
|
|
876
874
|
keywords = (
|
877
875
|
'abstract', 'attributes', 'noeq', 'unopteq', 'and'
|
@@ -912,12 +910,12 @@ class FStarLexer(RegexLexer):
|
|
912
910
|
(r'\b([A-Z][\w\']*)', Name.Class),
|
913
911
|
(r'\(\*(?![)])', Comment, 'comment'),
|
914
912
|
(r'\/\/.+$', Comment),
|
915
|
-
(r'\b(
|
916
|
-
(r'\b(
|
917
|
-
(r'\b(
|
918
|
-
(r'(
|
919
|
-
(
|
920
|
-
(r'\b(
|
913
|
+
(r'\b({})\b'.format('|'.join(keywords)), Keyword),
|
914
|
+
(r'\b({})\b'.format('|'.join(assume_keywords)), Name.Exception),
|
915
|
+
(r'\b({})\b'.format('|'.join(decl_keywords)), Keyword.Declaration),
|
916
|
+
(r'({})'.format('|'.join(keyopts[::-1])), Operator),
|
917
|
+
(rf'({infix_syms}|{prefix_syms})?{operators}', Operator),
|
918
|
+
(r'\b({})\b'.format('|'.join(primitives)), Keyword.Type),
|
921
919
|
|
922
920
|
(r"[^\W\d][\w']*", Name),
|
923
921
|
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexers for modeling 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,14 +23,13 @@ __all__ = ['ModelicaLexer', 'BugsLexer', 'JagsLexer', 'StanLexer']
|
|
23
23
|
class ModelicaLexer(RegexLexer):
|
24
24
|
"""
|
25
25
|
For Modelica source code.
|
26
|
-
|
27
|
-
.. versionadded:: 1.1
|
28
26
|
"""
|
29
27
|
name = 'Modelica'
|
30
28
|
url = 'http://www.modelica.org/'
|
31
29
|
aliases = ['modelica']
|
32
30
|
filenames = ['*.mo']
|
33
31
|
mimetypes = ['text/x-modelica']
|
32
|
+
version_added = '1.1'
|
34
33
|
|
35
34
|
flags = re.DOTALL | re.MULTILINE
|
36
35
|
|
@@ -100,13 +99,13 @@ class BugsLexer(RegexLexer):
|
|
100
99
|
"""
|
101
100
|
Pygments Lexer for OpenBugs and WinBugs
|
102
101
|
models.
|
103
|
-
|
104
|
-
.. versionadded:: 1.6
|
105
102
|
"""
|
106
103
|
|
107
104
|
name = 'BUGS'
|
108
105
|
aliases = ['bugs', 'winbugs', 'openbugs']
|
109
106
|
filenames = ['*.bug']
|
107
|
+
url = 'https://www.mrc-bsu.cam.ac.uk/software/bugs/openbugs'
|
108
|
+
version_added = '1.6'
|
110
109
|
|
111
110
|
_FUNCTIONS = (
|
112
111
|
# Scalar functions
|
@@ -166,8 +165,7 @@ class BugsLexer(RegexLexer):
|
|
166
165
|
# Reserved Words
|
167
166
|
(r'(for|in)(?![\w.])', Keyword.Reserved),
|
168
167
|
# Built-in Functions
|
169
|
-
(r'(
|
170
|
-
% r'|'.join(_FUNCTIONS + _DISTRIBUTIONS),
|
168
|
+
(r'({})(?=\s*\()'.format(r'|'.join(_FUNCTIONS + _DISTRIBUTIONS)),
|
171
169
|
Name.Builtin),
|
172
170
|
# Regular variable names
|
173
171
|
(r'[A-Za-z][\w.]*', Name),
|
@@ -195,13 +193,13 @@ class BugsLexer(RegexLexer):
|
|
195
193
|
class JagsLexer(RegexLexer):
|
196
194
|
"""
|
197
195
|
Pygments Lexer for JAGS.
|
198
|
-
|
199
|
-
.. versionadded:: 1.6
|
200
196
|
"""
|
201
197
|
|
202
198
|
name = 'JAGS'
|
203
199
|
aliases = ['jags']
|
204
200
|
filenames = ['*.jag', '*.bug']
|
201
|
+
url = 'https://mcmc-jags.sourceforge.io'
|
202
|
+
version_added = '1.6'
|
205
203
|
|
206
204
|
# JAGS
|
207
205
|
_FUNCTIONS = (
|
@@ -215,7 +213,7 @@ class JagsLexer(RegexLexer):
|
|
215
213
|
# Truncation/Censoring (should I include)
|
216
214
|
'T', 'I')
|
217
215
|
# Distributions with density, probability and quartile functions
|
218
|
-
_DISTRIBUTIONS = tuple('[dpq]
|
216
|
+
_DISTRIBUTIONS = tuple(f'[dpq]{x}' for x in
|
219
217
|
('bern', 'beta', 'dchiqsqr', 'ddexp', 'dexp',
|
220
218
|
'df', 'gamma', 'gen.gamma', 'logis', 'lnorm',
|
221
219
|
'negbin', 'nchisqr', 'norm', 'par', 'pois', 'weib'))
|
@@ -251,9 +249,9 @@ class JagsLexer(RegexLexer):
|
|
251
249
|
(r'(for|in)(?![\w.])', Keyword.Reserved),
|
252
250
|
# Builtins
|
253
251
|
# Need to use lookahead because . is a valid char
|
254
|
-
(r'(
|
252
|
+
(r'({})(?=\s*\()'.format(r'|'.join(_FUNCTIONS
|
255
253
|
+ _DISTRIBUTIONS
|
256
|
-
+ _OTHER_DISTRIBUTIONS),
|
254
|
+
+ _OTHER_DISTRIBUTIONS)),
|
257
255
|
Name.Builtin),
|
258
256
|
# Names
|
259
257
|
include('names'),
|
@@ -286,13 +284,13 @@ class StanLexer(RegexLexer):
|
|
286
284
|
The Stan modeling language is specified in the *Stan Modeling Language
|
287
285
|
User's Guide and Reference Manual, v2.17.0*,
|
288
286
|
`pdf <https://github.com/stan-dev/stan/releases/download/v2.17.0/stan-reference-2.17.0.pdf>`__.
|
289
|
-
|
290
|
-
.. versionadded:: 1.6
|
291
287
|
"""
|
292
288
|
|
293
289
|
name = 'Stan'
|
294
290
|
aliases = ['stan']
|
295
291
|
filenames = ['*.stan']
|
292
|
+
url = 'https://mc-stan.org'
|
293
|
+
version_added = '1.6'
|
296
294
|
|
297
295
|
tokens = {
|
298
296
|
'whitespace': [
|
@@ -310,19 +308,18 @@ class StanLexer(RegexLexer):
|
|
310
308
|
# block start
|
311
309
|
include('whitespace'),
|
312
310
|
# Block start
|
313
|
-
(r'(
|
314
|
-
r'|'.join(('functions', 'data', r'transformed\s+?data',
|
311
|
+
(r'({})(\s*)(\{{)'.format(r'|'.join(('functions', 'data', r'transformed\s+?data',
|
315
312
|
'parameters', r'transformed\s+parameters',
|
316
|
-
'model', r'generated\s+quantities')),
|
313
|
+
'model', r'generated\s+quantities'))),
|
317
314
|
bygroups(Keyword.Namespace, Text, Punctuation)),
|
318
315
|
# target keyword
|
319
316
|
(r'target\s*\+=', Keyword),
|
320
317
|
# Reserved Words
|
321
|
-
(r'(
|
318
|
+
(r'({})\b'.format(r'|'.join(_stan_builtins.KEYWORDS)), Keyword),
|
322
319
|
# Truncation
|
323
320
|
(r'T(?=\s*\[)', Keyword),
|
324
321
|
# Data types
|
325
|
-
(r'(
|
322
|
+
(r'({})\b'.format(r'|'.join(_stan_builtins.TYPES)), Keyword.Type),
|
326
323
|
# < should be punctuation, but elsewhere I can't tell if it is in
|
327
324
|
# a range constraint
|
328
325
|
(r'(<)(\s*)(upper|lower|offset|multiplier)(\s*)(=)',
|
@@ -332,12 +329,12 @@ class StanLexer(RegexLexer):
|
|
332
329
|
# Punctuation
|
333
330
|
(r"[;,\[\]()]", Punctuation),
|
334
331
|
# Builtin
|
335
|
-
(r'(
|
336
|
-
(r'(~)(\s*)(
|
332
|
+
(r'({})(?=\s*\()'.format('|'.join(_stan_builtins.FUNCTIONS)), Name.Builtin),
|
333
|
+
(r'(~)(\s*)({})(?=\s*\()'.format('|'.join(_stan_builtins.DISTRIBUTIONS)),
|
337
334
|
bygroups(Operator, Whitespace, Name.Builtin)),
|
338
335
|
# Special names ending in __, like lp__
|
339
336
|
(r'[A-Za-z]\w*__\b', Name.Builtin.Pseudo),
|
340
|
-
(r'(
|
337
|
+
(r'({})\b'.format(r'|'.join(_stan_builtins.RESERVED)), Keyword.Reserved),
|
341
338
|
# user-defined functions
|
342
339
|
(r'[A-Za-z]\w*(?=\s*\()]', Name.Function),
|
343
340
|
# Imaginary Literals
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Multi-Dialect Lexer for Modula-2.
|
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
|
|
@@ -153,8 +153,6 @@ class Modula2Lexer(RegexLexer):
|
|
153
153
|
``$ pygmentize -O full,dialect=m2r10,treat_stdlib_adts_as_builtins=Off ...``
|
154
154
|
Render standard library ADTs as ordinary library types.
|
155
155
|
|
156
|
-
.. versionadded:: 1.3
|
157
|
-
|
158
156
|
.. versionchanged:: 2.1
|
159
157
|
Added multi-dialect support.
|
160
158
|
"""
|
@@ -163,6 +161,7 @@ class Modula2Lexer(RegexLexer):
|
|
163
161
|
aliases = ['modula2', 'm2']
|
164
162
|
filenames = ['*.def', '*.mod']
|
165
163
|
mimetypes = ['text/x-modula2']
|
164
|
+
version_added = '1.3'
|
166
165
|
|
167
166
|
flags = re.MULTILINE | re.DOTALL
|
168
167
|
|