pygments.rb 2.3.1 → 2.4.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 +1 -1
- data/.rubocop.yml +7 -0
- data/CHANGELOG.adoc +4 -0
- data/README.adoc +1 -1
- data/bench.rb +1 -1
- data/lib/pygments/popen.rb +3 -7
- data/lib/pygments/version.rb +1 -1
- data/pygments.rb.gemspec +2 -2
- data/test/test_pygments.rb +0 -19
- data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/AUTHORS +21 -1
- data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/LICENSE +1 -1
- data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/METADATA +19 -11
- data/vendor/pygments-main/Pygments-2.15.1.dist-info/RECORD +614 -0
- data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/WHEEL +1 -1
- data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/entry_points.txt +0 -1
- data/vendor/pygments-main/bin/pygmentize +1 -1
- data/vendor/pygments-main/pygments/__init__.py +20 -22
- data/vendor/pygments-main/pygments/__main__.py +1 -1
- data/vendor/pygments-main/pygments/cmdline.py +74 -8
- data/vendor/pygments-main/pygments/console.py +1 -1
- data/vendor/pygments-main/pygments/filter.py +1 -1
- data/vendor/pygments-main/pygments/filters/__init__.py +6 -3
- data/vendor/pygments-main/pygments/formatter.py +41 -11
- data/vendor/pygments-main/pygments/formatters/__init__.py +21 -16
- data/vendor/pygments-main/pygments/formatters/_mapping.py +5 -65
- data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
- data/vendor/pygments-main/pygments/formatters/groff.py +170 -0
- data/vendor/pygments-main/pygments/formatters/html.py +54 -32
- data/vendor/pygments-main/pygments/formatters/img.py +9 -5
- data/vendor/pygments-main/pygments/formatters/irc.py +6 -33
- data/vendor/pygments-main/pygments/formatters/latex.py +24 -14
- data/vendor/pygments-main/pygments/formatters/other.py +1 -1
- data/vendor/pygments-main/pygments/formatters/pangomarkup.py +1 -1
- data/vendor/pygments-main/pygments/formatters/rtf.py +1 -1
- data/vendor/pygments-main/pygments/formatters/svg.py +1 -1
- data/vendor/pygments-main/pygments/formatters/terminal.py +1 -3
- data/vendor/pygments-main/pygments/formatters/terminal256.py +2 -4
- data/vendor/pygments-main/pygments/lexer.py +101 -32
- data/vendor/pygments-main/pygments/lexers/__init__.py +50 -29
- data/vendor/pygments-main/pygments/lexers/_ada_builtins.py +103 -0
- 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 +21 -6
- data/vendor/pygments-main/pygments/lexers/_css_builtins.py +558 -0
- data/vendor/pygments-main/pygments/lexers/_julia_builtins.py +10 -0
- data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_lilypond_builtins.py +4932 -0
- data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +11 -18
- data/vendor/pygments-main/pygments/lexers/_mapping.py +71 -82
- data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +58 -4
- data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_php_builtins.py +408 -1835
- data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +70 -8
- data/vendor/pygments-main/pygments/lexers/_qlik_builtins.py +666 -0
- data/vendor/pygments-main/pygments/lexers/_scheme_builtins.py +1609 -0
- data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +3 -3
- data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +9 -18
- data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +185 -94
- 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 +15 -14
- data/vendor/pygments-main/pygments/lexers/ada.py +144 -0
- data/vendor/pygments-main/pygments/lexers/agile.py +1 -1
- data/vendor/pygments-main/pygments/lexers/algebra.py +72 -9
- data/vendor/pygments-main/pygments/lexers/ambient.py +8 -7
- data/vendor/pygments-main/pygments/lexers/amdgpu.py +4 -3
- data/vendor/pygments-main/pygments/lexers/ampl.py +10 -8
- data/vendor/pygments-main/pygments/lexers/apdlexer.py +164 -20
- data/vendor/pygments-main/pygments/lexers/apl.py +6 -5
- data/vendor/pygments-main/pygments/lexers/archetype.py +23 -21
- data/vendor/pygments-main/pygments/lexers/arrow.py +10 -9
- data/vendor/pygments-main/pygments/lexers/arturo.py +250 -0
- data/vendor/pygments-main/pygments/lexers/asc.py +9 -5
- data/vendor/pygments-main/pygments/lexers/asm.py +68 -63
- data/vendor/pygments-main/pygments/lexers/automation.py +7 -5
- data/vendor/pygments-main/pygments/lexers/bare.py +20 -21
- data/vendor/pygments-main/pygments/lexers/basic.py +45 -41
- data/vendor/pygments-main/pygments/lexers/bdd.py +58 -0
- data/vendor/pygments-main/pygments/lexers/berry.py +99 -0
- data/vendor/pygments-main/pygments/lexers/bibtex.py +6 -6
- data/vendor/pygments-main/pygments/lexers/boa.py +4 -8
- data/vendor/pygments-main/pygments/lexers/business.py +18 -18
- data/vendor/pygments-main/pygments/lexers/c_cpp.py +80 -40
- data/vendor/pygments-main/pygments/lexers/c_like.py +21 -19
- data/vendor/pygments-main/pygments/lexers/capnproto.py +6 -8
- data/vendor/pygments-main/pygments/lexers/carbon.py +96 -0
- data/vendor/pygments-main/pygments/lexers/cddl.py +16 -33
- data/vendor/pygments-main/pygments/lexers/chapel.py +14 -9
- data/vendor/pygments-main/pygments/lexers/clean.py +3 -2
- data/vendor/pygments-main/pygments/lexers/comal.py +80 -0
- data/vendor/pygments-main/pygments/lexers/compiled.py +3 -2
- data/vendor/pygments-main/pygments/lexers/configs.py +235 -120
- data/vendor/pygments-main/pygments/lexers/console.py +5 -4
- data/vendor/pygments-main/pygments/lexers/cplint.py +44 -0
- data/vendor/pygments-main/pygments/lexers/crystal.py +22 -23
- data/vendor/pygments-main/pygments/lexers/csound.py +19 -17
- data/vendor/pygments-main/pygments/lexers/css.py +67 -159
- data/vendor/pygments-main/pygments/lexers/d.py +15 -12
- data/vendor/pygments-main/pygments/lexers/dalvik.py +14 -11
- data/vendor/pygments-main/pygments/lexers/data.py +119 -49
- data/vendor/pygments-main/pygments/lexers/dax.py +136 -0
- data/vendor/pygments-main/pygments/lexers/devicetree.py +9 -8
- data/vendor/pygments-main/pygments/lexers/diff.py +23 -19
- data/vendor/pygments-main/pygments/lexers/dotnet.py +216 -81
- data/vendor/pygments-main/pygments/lexers/dsls.py +86 -64
- data/vendor/pygments-main/pygments/lexers/dylan.py +16 -15
- data/vendor/pygments-main/pygments/lexers/ecl.py +46 -38
- data/vendor/pygments-main/pygments/lexers/eiffel.py +15 -10
- data/vendor/pygments-main/pygments/lexers/elm.py +12 -8
- data/vendor/pygments-main/pygments/lexers/elpi.py +165 -0
- data/vendor/pygments-main/pygments/lexers/email.py +21 -39
- data/vendor/pygments-main/pygments/lexers/erlang.py +21 -22
- data/vendor/pygments-main/pygments/lexers/esoteric.py +28 -30
- data/vendor/pygments-main/pygments/lexers/ezhil.py +10 -9
- data/vendor/pygments-main/pygments/lexers/factor.py +104 -83
- data/vendor/pygments-main/pygments/lexers/fantom.py +31 -29
- data/vendor/pygments-main/pygments/lexers/felix.py +18 -14
- data/vendor/pygments-main/pygments/lexers/fift.py +67 -0
- data/vendor/pygments-main/pygments/lexers/floscript.py +7 -7
- data/vendor/pygments-main/pygments/lexers/forth.py +8 -6
- data/vendor/pygments-main/pygments/lexers/fortran.py +16 -11
- data/vendor/pygments-main/pygments/lexers/foxpro.py +2 -2
- data/vendor/pygments-main/pygments/lexers/freefem.py +7 -10
- data/vendor/pygments-main/pygments/lexers/func.py +108 -0
- data/vendor/pygments-main/pygments/lexers/functional.py +1 -1
- data/vendor/pygments-main/pygments/lexers/futhark.py +12 -17
- data/vendor/pygments-main/pygments/lexers/gcodelexer.py +1 -2
- data/vendor/pygments-main/pygments/lexers/gdscript.py +76 -233
- data/vendor/pygments-main/pygments/lexers/go.py +12 -14
- data/vendor/pygments-main/pygments/lexers/grammar_notation.py +22 -26
- data/vendor/pygments-main/pygments/lexers/graph.py +36 -15
- data/vendor/pygments-main/pygments/lexers/graphics.py +37 -38
- data/vendor/pygments-main/pygments/lexers/graphviz.py +2 -1
- data/vendor/pygments-main/pygments/lexers/gsql.py +39 -27
- data/vendor/pygments-main/pygments/lexers/haskell.py +73 -71
- data/vendor/pygments-main/pygments/lexers/haxe.py +13 -11
- data/vendor/pygments-main/pygments/lexers/hdl.py +31 -34
- data/vendor/pygments-main/pygments/lexers/hexdump.py +21 -21
- data/vendor/pygments-main/pygments/lexers/html.py +11 -19
- data/vendor/pygments-main/pygments/lexers/idl.py +10 -5
- data/vendor/pygments-main/pygments/lexers/igor.py +3 -2
- data/vendor/pygments-main/pygments/lexers/inferno.py +9 -8
- data/vendor/pygments-main/pygments/lexers/installers.py +39 -33
- data/vendor/pygments-main/pygments/lexers/int_fiction.py +35 -20
- data/vendor/pygments-main/pygments/lexers/iolang.py +9 -9
- data/vendor/pygments-main/pygments/lexers/j.py +20 -13
- data/vendor/pygments-main/pygments/lexers/javascript.py +183 -149
- data/vendor/pygments-main/pygments/lexers/jmespath.py +68 -0
- data/vendor/pygments-main/pygments/lexers/jslt.py +4 -3
- data/vendor/pygments-main/pygments/lexers/jsonnet.py +168 -0
- data/vendor/pygments-main/pygments/lexers/julia.py +44 -32
- data/vendor/pygments-main/pygments/lexers/jvm.py +161 -140
- data/vendor/pygments-main/pygments/lexers/kuin.py +93 -59
- data/vendor/pygments-main/pygments/lexers/lilypond.py +226 -0
- data/vendor/pygments-main/pygments/lexers/lisp.py +244 -107
- data/vendor/pygments-main/pygments/lexers/macaulay2.py +1739 -0
- data/vendor/pygments-main/pygments/lexers/make.py +21 -16
- data/vendor/pygments-main/pygments/lexers/markup.py +752 -11
- data/vendor/pygments-main/pygments/lexers/math.py +1 -1
- data/vendor/pygments-main/pygments/lexers/matlab.py +18 -3
- data/vendor/pygments-main/pygments/lexers/maxima.py +85 -0
- data/vendor/pygments-main/pygments/lexers/meson.py +10 -25
- data/vendor/pygments-main/pygments/lexers/mime.py +2 -2
- data/vendor/pygments-main/pygments/lexers/minecraft.py +394 -0
- data/vendor/pygments-main/pygments/lexers/mips.py +128 -0
- data/vendor/pygments-main/pygments/lexers/ml.py +9 -6
- data/vendor/pygments-main/pygments/lexers/modeling.py +12 -8
- data/vendor/pygments-main/pygments/lexers/modula2.py +3 -2
- data/vendor/pygments-main/pygments/lexers/monte.py +3 -2
- data/vendor/pygments-main/pygments/lexers/mosel.py +1 -1
- data/vendor/pygments-main/pygments/lexers/ncl.py +1 -1
- data/vendor/pygments-main/pygments/lexers/nimrod.py +62 -20
- data/vendor/pygments-main/pygments/lexers/nit.py +3 -2
- data/vendor/pygments-main/pygments/lexers/nix.py +5 -5
- data/vendor/pygments-main/pygments/lexers/oberon.py +2 -2
- data/vendor/pygments-main/pygments/lexers/objective.py +6 -4
- data/vendor/pygments-main/pygments/lexers/ooc.py +3 -2
- data/vendor/pygments-main/pygments/lexers/other.py +1 -1
- data/vendor/pygments-main/pygments/lexers/parasail.py +3 -2
- data/vendor/pygments-main/pygments/lexers/parsers.py +23 -21
- data/vendor/pygments-main/pygments/lexers/pascal.py +196 -198
- data/vendor/pygments-main/pygments/lexers/pawn.py +1 -1
- data/vendor/pygments-main/pygments/lexers/perl.py +17 -15
- data/vendor/pygments-main/pygments/lexers/phix.py +364 -0
- data/vendor/pygments-main/pygments/lexers/php.py +35 -20
- data/vendor/pygments-main/pygments/lexers/pointless.py +3 -2
- data/vendor/pygments-main/pygments/lexers/pony.py +1 -1
- data/vendor/pygments-main/pygments/lexers/praat.py +41 -38
- data/vendor/pygments-main/pygments/lexers/procfile.py +2 -3
- data/vendor/pygments-main/pygments/lexers/prolog.py +7 -8
- data/vendor/pygments-main/pygments/lexers/promql.py +5 -12
- data/vendor/pygments-main/pygments/lexers/python.py +145 -119
- data/vendor/pygments-main/pygments/lexers/q.py +188 -0
- data/vendor/pygments-main/pygments/lexers/qlik.py +117 -0
- data/vendor/pygments-main/pygments/lexers/qvt.py +1 -1
- data/vendor/pygments-main/pygments/lexers/r.py +4 -4
- data/vendor/pygments-main/pygments/lexers/rdf.py +3 -3
- data/vendor/pygments-main/pygments/lexers/rebol.py +1 -12
- data/vendor/pygments-main/pygments/lexers/resource.py +1 -1
- data/vendor/pygments-main/pygments/lexers/ride.py +3 -2
- data/vendor/pygments-main/pygments/lexers/rita.py +43 -0
- data/vendor/pygments-main/pygments/lexers/rnc.py +3 -2
- data/vendor/pygments-main/pygments/lexers/roboconf.py +3 -3
- data/vendor/pygments-main/pygments/lexers/robotframework.py +6 -5
- data/vendor/pygments-main/pygments/lexers/ruby.py +24 -24
- data/vendor/pygments-main/pygments/lexers/rust.py +3 -2
- data/vendor/pygments-main/pygments/lexers/sas.py +2 -2
- data/vendor/pygments-main/pygments/lexers/savi.py +170 -0
- data/vendor/pygments-main/pygments/lexers/scdoc.py +4 -7
- data/vendor/pygments-main/pygments/lexers/scripting.py +24 -21
- data/vendor/pygments-main/pygments/lexers/sgf.py +6 -6
- data/vendor/pygments-main/pygments/lexers/shell.py +29 -21
- data/vendor/pygments-main/pygments/lexers/sieve.py +14 -4
- data/vendor/pygments-main/pygments/lexers/slash.py +1 -1
- data/vendor/pygments-main/pygments/lexers/smalltalk.py +5 -3
- data/vendor/pygments-main/pygments/lexers/smithy.py +5 -6
- data/vendor/pygments-main/pygments/lexers/smv.py +1 -1
- data/vendor/pygments-main/pygments/lexers/snobol.py +1 -1
- data/vendor/pygments-main/pygments/lexers/solidity.py +3 -7
- data/vendor/pygments-main/pygments/lexers/sophia.py +103 -0
- data/vendor/pygments-main/pygments/lexers/special.py +2 -5
- data/vendor/pygments-main/pygments/lexers/spice.py +71 -0
- data/vendor/pygments-main/pygments/lexers/sql.py +212 -17
- data/vendor/pygments-main/pygments/lexers/srcinfo.py +62 -0
- data/vendor/pygments-main/pygments/lexers/stata.py +4 -3
- data/vendor/pygments-main/pygments/lexers/supercollider.py +4 -3
- data/vendor/pygments-main/pygments/lexers/tal.py +74 -0
- data/vendor/pygments-main/pygments/lexers/tcl.py +21 -16
- data/vendor/pygments-main/pygments/lexers/teal.py +9 -8
- data/vendor/pygments-main/pygments/lexers/templates.py +62 -29
- data/vendor/pygments-main/pygments/lexers/teraterm.py +12 -20
- data/vendor/pygments-main/pygments/lexers/testing.py +6 -2
- data/vendor/pygments-main/pygments/lexers/text.py +3 -2
- data/vendor/pygments-main/pygments/lexers/textedit.py +41 -7
- data/vendor/pygments-main/pygments/lexers/textfmts.py +7 -5
- data/vendor/pygments-main/pygments/lexers/theorem.py +42 -36
- data/vendor/pygments-main/pygments/lexers/thingsdb.py +2 -4
- data/vendor/pygments-main/pygments/lexers/tlb.py +57 -0
- data/vendor/pygments-main/pygments/lexers/tnt.py +3 -4
- data/vendor/pygments-main/pygments/lexers/trafficscript.py +2 -4
- data/vendor/pygments-main/pygments/lexers/typoscript.py +2 -3
- data/vendor/pygments-main/pygments/lexers/ul4.py +267 -0
- data/vendor/pygments-main/pygments/lexers/unicon.py +1 -1
- data/vendor/pygments-main/pygments/lexers/urbi.py +4 -4
- data/vendor/pygments-main/pygments/lexers/usd.py +2 -1
- data/vendor/pygments-main/pygments/lexers/varnish.py +5 -5
- data/vendor/pygments-main/pygments/lexers/verification.py +4 -3
- data/vendor/pygments-main/pygments/lexers/web.py +1 -1
- data/vendor/pygments-main/pygments/lexers/webassembly.py +5 -5
- data/vendor/pygments-main/pygments/lexers/webidl.py +2 -1
- data/vendor/pygments-main/pygments/lexers/webmisc.py +90 -71
- data/vendor/pygments-main/pygments/lexers/wgsl.py +407 -0
- data/vendor/pygments-main/pygments/lexers/whiley.py +2 -1
- data/vendor/pygments-main/pygments/lexers/wowtoc.py +120 -0
- data/vendor/pygments-main/pygments/lexers/wren.py +99 -0
- data/vendor/pygments-main/pygments/lexers/x10.py +5 -6
- data/vendor/pygments-main/pygments/lexers/xorg.py +3 -2
- data/vendor/pygments-main/pygments/lexers/yang.py +6 -5
- data/vendor/pygments-main/pygments/lexers/zig.py +3 -2
- data/vendor/pygments-main/pygments/modeline.py +1 -1
- data/vendor/pygments-main/pygments/plugin.py +28 -9
- data/vendor/pygments-main/pygments/regexopt.py +1 -1
- data/vendor/pygments-main/pygments/scanner.py +2 -2
- data/vendor/pygments-main/pygments/sphinxext.py +63 -1
- data/vendor/pygments-main/pygments/style.py +7 -1
- data/vendor/pygments-main/pygments/styles/__init__.py +19 -5
- data/vendor/pygments-main/pygments/styles/abap.py +2 -2
- data/vendor/pygments-main/pygments/styles/algol.py +1 -2
- data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -2
- data/vendor/pygments-main/pygments/styles/arduino.py +2 -3
- data/vendor/pygments-main/pygments/styles/autumn.py +1 -3
- data/vendor/pygments-main/pygments/styles/borland.py +1 -3
- data/vendor/pygments-main/pygments/styles/bw.py +1 -2
- data/vendor/pygments-main/pygments/styles/colorful.py +1 -3
- data/vendor/pygments-main/pygments/styles/default.py +13 -14
- data/vendor/pygments-main/pygments/styles/dracula.py +102 -0
- data/vendor/pygments-main/pygments/styles/emacs.py +1 -2
- data/vendor/pygments-main/pygments/styles/friendly.py +1 -2
- data/vendor/pygments-main/pygments/styles/friendly_grayscale.py +75 -0
- data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
- data/vendor/pygments-main/pygments/styles/gh_dark.py +107 -0
- data/vendor/pygments-main/pygments/styles/gruvbox.py +4 -2
- data/vendor/pygments-main/pygments/styles/igor.py +1 -2
- data/vendor/pygments-main/pygments/styles/inkpot.py +3 -2
- data/vendor/pygments-main/pygments/styles/lilypond.py +56 -0
- data/vendor/pygments-main/pygments/styles/lovelace.py +1 -3
- data/vendor/pygments-main/pygments/styles/manni.py +1 -1
- data/vendor/pygments-main/pygments/styles/material.py +1 -2
- data/vendor/pygments-main/pygments/styles/monokai.py +3 -3
- data/vendor/pygments-main/pygments/styles/murphy.py +1 -3
- data/vendor/pygments-main/pygments/styles/native.py +11 -11
- data/vendor/pygments-main/pygments/styles/nord.py +150 -0
- data/vendor/pygments-main/pygments/styles/onedark.py +59 -0
- data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -6
- data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -6
- data/vendor/pygments-main/pygments/styles/pastie.py +1 -3
- data/vendor/pygments-main/pygments/styles/perldoc.py +1 -2
- data/vendor/pygments-main/pygments/styles/rainbow_dash.py +3 -3
- data/vendor/pygments-main/pygments/styles/rrt.py +3 -2
- data/vendor/pygments-main/pygments/styles/sas.py +2 -4
- data/vendor/pygments-main/pygments/styles/solarized.py +1 -1
- data/vendor/pygments-main/pygments/styles/staroffice.py +26 -0
- data/vendor/pygments-main/pygments/styles/stata_dark.py +4 -6
- data/vendor/pygments-main/pygments/styles/stata_light.py +1 -2
- data/vendor/pygments-main/pygments/styles/tango.py +2 -3
- data/vendor/pygments-main/pygments/styles/trac.py +1 -3
- data/vendor/pygments-main/pygments/styles/vim.py +1 -2
- data/vendor/pygments-main/pygments/styles/vs.py +1 -2
- data/vendor/pygments-main/pygments/styles/xcode.py +1 -3
- data/vendor/pygments-main/pygments/styles/zenburn.py +4 -6
- data/vendor/pygments-main/pygments/token.py +2 -1
- data/vendor/pygments-main/pygments/unistring.py +4 -6
- data/vendor/pygments-main/pygments/util.py +27 -5
- metadata +59 -14
- data/vendor/pygments-main/Pygments-2.10.0.dist-info/RECORD +0 -524
- /data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/INSTALLER +0 -0
- /data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/REQUESTED +0 -0
- /data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/top_level.txt +0 -0
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Base lexer classes.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
|
@@ -14,15 +14,16 @@ import time
|
|
14
14
|
|
15
15
|
from pygments.filter import apply_filters, Filter
|
16
16
|
from pygments.filters import get_filter_by_name
|
17
|
-
from pygments.token import Error, Text, Other, _TokenType
|
17
|
+
from pygments.token import Error, Text, Other, Whitespace, _TokenType
|
18
18
|
from pygments.util import get_bool_opt, get_int_opt, get_list_opt, \
|
19
19
|
make_analysator, Future, guess_decode
|
20
20
|
from pygments.regexopt import regex_opt
|
21
21
|
|
22
22
|
__all__ = ['Lexer', 'RegexLexer', 'ExtendedRegexLexer', 'DelegatingLexer',
|
23
23
|
'LexerContext', 'include', 'inherit', 'bygroups', 'using', 'this',
|
24
|
-
'default', 'words']
|
24
|
+
'default', 'words', 'line_re']
|
25
25
|
|
26
|
+
line_re = re.compile('.*?\n')
|
26
27
|
|
27
28
|
_encoding_map = [(b'\xef\xbb\xbf', 'utf-8'),
|
28
29
|
(b'\xff\xfe\0\0', 'utf-32'),
|
@@ -49,7 +50,31 @@ class Lexer(metaclass=LexerMeta):
|
|
49
50
|
"""
|
50
51
|
Lexer for a specific language.
|
51
52
|
|
52
|
-
|
53
|
+
See also :doc:`lexerdevelopment`, a high-level guide to writing
|
54
|
+
lexers.
|
55
|
+
|
56
|
+
Lexer classes have attributes used for choosing the most appropriate
|
57
|
+
lexer based on various criteria.
|
58
|
+
|
59
|
+
.. autoattribute:: name
|
60
|
+
:no-value:
|
61
|
+
.. autoattribute:: aliases
|
62
|
+
:no-value:
|
63
|
+
.. autoattribute:: filenames
|
64
|
+
:no-value:
|
65
|
+
.. autoattribute:: alias_filenames
|
66
|
+
.. autoattribute:: mimetypes
|
67
|
+
:no-value:
|
68
|
+
.. autoattribute:: priority
|
69
|
+
|
70
|
+
Lexers included in Pygments should have an additional attribute:
|
71
|
+
|
72
|
+
.. autoattribute:: url
|
73
|
+
:no-value:
|
74
|
+
|
75
|
+
You can pass options to the constructor. The basic options recognized
|
76
|
+
by all lexers and processed by the base `Lexer` class are:
|
77
|
+
|
53
78
|
``stripnl``
|
54
79
|
Strip leading and trailing newlines from the input (default: True).
|
55
80
|
``stripall``
|
@@ -73,25 +98,55 @@ class Lexer(metaclass=LexerMeta):
|
|
73
98
|
Overrides the ``encoding`` if given.
|
74
99
|
"""
|
75
100
|
|
76
|
-
#:
|
101
|
+
#: Full name of the lexer, in human-readable form
|
77
102
|
name = None
|
78
103
|
|
79
|
-
#:
|
104
|
+
#: A list of short, unique identifiers that can be used to look
|
105
|
+
#: up the lexer from a list, e.g., using `get_lexer_by_name()`.
|
80
106
|
aliases = []
|
81
107
|
|
82
|
-
#:
|
108
|
+
#: A list of `fnmatch` patterns that match filenames which contain
|
109
|
+
#: content for this lexer. The patterns in this list should be unique among
|
110
|
+
#: all lexers.
|
83
111
|
filenames = []
|
84
112
|
|
85
|
-
#:
|
113
|
+
#: A list of `fnmatch` patterns that match filenames which may or may not
|
114
|
+
#: contain content for this lexer. This list is used by the
|
115
|
+
#: :func:`.guess_lexer_for_filename()` function, to determine which lexers
|
116
|
+
#: are then included in guessing the correct one. That means that
|
117
|
+
#: e.g. every lexer for HTML and a template language should include
|
118
|
+
#: ``\*.html`` in this list.
|
86
119
|
alias_filenames = []
|
87
120
|
|
88
|
-
#: MIME types
|
121
|
+
#: A list of MIME types for content that can be lexed with this lexer.
|
89
122
|
mimetypes = []
|
90
123
|
|
91
124
|
#: Priority, should multiple lexers match and no content is provided
|
92
125
|
priority = 0
|
93
126
|
|
127
|
+
#: URL of the language specification/definition. Used in the Pygments
|
128
|
+
#: documentation.
|
129
|
+
url = None
|
130
|
+
|
94
131
|
def __init__(self, **options):
|
132
|
+
"""
|
133
|
+
This constructor takes arbitrary options as keyword arguments.
|
134
|
+
Every subclass must first process its own options and then call
|
135
|
+
the `Lexer` constructor, since it processes the basic
|
136
|
+
options like `stripnl`.
|
137
|
+
|
138
|
+
An example looks like this:
|
139
|
+
|
140
|
+
.. sourcecode:: python
|
141
|
+
|
142
|
+
def __init__(self, **options):
|
143
|
+
self.compress = options.get('compress', '')
|
144
|
+
Lexer.__init__(self, **options)
|
145
|
+
|
146
|
+
As these options must all be specifiable as strings (due to the
|
147
|
+
command line usage), there are various utility functions
|
148
|
+
available to help with that, see `Utilities`_.
|
149
|
+
"""
|
95
150
|
self.options = options
|
96
151
|
self.stripnl = get_bool_opt(options, 'stripnl', True)
|
97
152
|
self.stripall = get_bool_opt(options, 'stripall', False)
|
@@ -120,10 +175,13 @@ class Lexer(metaclass=LexerMeta):
|
|
120
175
|
|
121
176
|
def analyse_text(text):
|
122
177
|
"""
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
178
|
+
A static method which is called for lexer guessing.
|
179
|
+
|
180
|
+
It should analyse the text and return a float in the range
|
181
|
+
from ``0.0`` to ``1.0``. If it returns ``0.0``, the lexer
|
182
|
+
will not be selected as the most probable one, if it returns
|
183
|
+
``1.0``, it will be selected immediately. This is used by
|
184
|
+
`guess_lexer`.
|
127
185
|
|
128
186
|
The `LexerMeta` metaclass automatically wraps this function so
|
129
187
|
that it works like a static method (no ``self`` or ``cls``
|
@@ -134,12 +192,17 @@ class Lexer(metaclass=LexerMeta):
|
|
134
192
|
|
135
193
|
def get_tokens(self, text, unfiltered=False):
|
136
194
|
"""
|
137
|
-
|
138
|
-
|
139
|
-
|
195
|
+
This method is the basic interface of a lexer. It is called by
|
196
|
+
the `highlight()` function. It must process the text and return an
|
197
|
+
iterable of ``(tokentype, value)`` pairs from `text`.
|
140
198
|
|
141
|
-
|
142
|
-
|
199
|
+
Normally, you don't need to override this method. The default
|
200
|
+
implementation processes the options recognized by all lexers
|
201
|
+
(`stripnl`, `stripall` and so on), and then yields all tokens
|
202
|
+
from `get_tokens_unprocessed()`, with the ``index`` dropped.
|
203
|
+
|
204
|
+
If `unfiltered` is set to `True`, the filtering mechanism is
|
205
|
+
bypassed even if filters are defined.
|
143
206
|
"""
|
144
207
|
if not isinstance(text, str):
|
145
208
|
if self.encoding == 'guess':
|
@@ -193,11 +256,12 @@ class Lexer(metaclass=LexerMeta):
|
|
193
256
|
|
194
257
|
def get_tokens_unprocessed(self, text):
|
195
258
|
"""
|
196
|
-
|
197
|
-
|
259
|
+
This method should process the text and return an iterable of
|
260
|
+
``(index, tokentype, value)`` tuples where ``index`` is the starting
|
261
|
+
position of the token within the input text.
|
198
262
|
|
199
|
-
|
200
|
-
maximize effectiveness.
|
263
|
+
It must be overridden by subclasses. It is recommended to
|
264
|
+
implement it as a generator to maximize effectiveness.
|
201
265
|
"""
|
202
266
|
raise NotImplementedError
|
203
267
|
|
@@ -590,19 +654,24 @@ class RegexLexer(Lexer, metaclass=RegexLexerMeta):
|
|
590
654
|
#: Defaults to MULTILINE.
|
591
655
|
flags = re.MULTILINE
|
592
656
|
|
657
|
+
#: At all time there is a stack of states. Initially, the stack contains
|
658
|
+
#: a single state 'root'. The top of the stack is called "the current state".
|
659
|
+
#:
|
593
660
|
#: Dict of ``{'state': [(regex, tokentype, new_state), ...], ...}``
|
594
661
|
#:
|
595
|
-
#: The initial state is 'root'.
|
596
662
|
#: ``new_state`` can be omitted to signify no state transition.
|
597
|
-
#: If
|
598
|
-
#:
|
599
|
-
#:
|
600
|
-
#:
|
663
|
+
#: If ``new_state`` is a string, it is pushed on the stack. This ensure
|
664
|
+
#: the new current state is ``new_state``.
|
665
|
+
#: If ``new_state`` is a tuple of strings, all of those strings are pushed
|
666
|
+
#: on the stack and the current state will be the last element of the list.
|
667
|
+
#: ``new_state`` can also be ``combined('state1', 'state2', ...)``
|
601
668
|
#: to signify a new, anonymous state combined from the rules of two
|
602
669
|
#: or more existing ones.
|
603
670
|
#: Furthermore, it can be '#pop' to signify going back one step in
|
604
671
|
#: the state stack, or '#push' to push the current state on the stack
|
605
|
-
#: again.
|
672
|
+
#: again. Note that if you push while in a combined state, the combined
|
673
|
+
#: state itself is pushed, and not only the state in which the rule is
|
674
|
+
#: defined.
|
606
675
|
#:
|
607
676
|
#: The tuple can also be replaced with ``include('state')``, in which
|
608
677
|
#: case the rules from the state named by the string are included in the
|
@@ -613,7 +682,7 @@ class RegexLexer(Lexer, metaclass=RegexLexerMeta):
|
|
613
682
|
"""
|
614
683
|
Split ``text`` into (tokentype, text) pairs.
|
615
684
|
|
616
|
-
``stack`` is the
|
685
|
+
``stack`` is the initial stack (default: ``['root']``)
|
617
686
|
"""
|
618
687
|
pos = 0
|
619
688
|
tokendefs = self._tokens
|
@@ -662,7 +731,7 @@ class RegexLexer(Lexer, metaclass=RegexLexerMeta):
|
|
662
731
|
# at EOL, reset state to "root"
|
663
732
|
statestack = ['root']
|
664
733
|
statetokens = tokendefs['root']
|
665
|
-
yield pos,
|
734
|
+
yield pos, Whitespace, '\n'
|
666
735
|
pos += 1
|
667
736
|
continue
|
668
737
|
yield pos, Error, text[pos]
|
@@ -733,7 +802,7 @@ class ExtendedRegexLexer(RegexLexer):
|
|
733
802
|
elif isinstance(new_state, int):
|
734
803
|
# see RegexLexer for why this check is made
|
735
804
|
if abs(new_state) >= len(ctx.stack):
|
736
|
-
del ctx.
|
805
|
+
del ctx.stack[1:]
|
737
806
|
else:
|
738
807
|
del ctx.stack[new_state:]
|
739
808
|
elif new_state == '#push':
|
@@ -787,7 +856,7 @@ def do_insertions(insertions, tokens):
|
|
787
856
|
# iterate over the token stream where we want to insert
|
788
857
|
# the tokens from the insertion list.
|
789
858
|
for i, t, v in tokens:
|
790
|
-
# first iteration. store the
|
859
|
+
# first iteration. store the position of first item
|
791
860
|
if realpos is None:
|
792
861
|
realpos = i
|
793
862
|
oldi = 0
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Pygments lexers.
|
6
6
|
|
7
|
-
:copyright: Copyright 2006-
|
7
|
+
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
|
8
8
|
:license: BSD, see LICENSE for details.
|
9
9
|
"""
|
10
10
|
|
@@ -47,20 +47,24 @@ def _load_lexers(module_name):
|
|
47
47
|
_lexer_cache[cls.name] = cls
|
48
48
|
|
49
49
|
|
50
|
-
def get_all_lexers():
|
50
|
+
def get_all_lexers(plugins=True):
|
51
51
|
"""Return a generator of tuples in the form ``(name, aliases,
|
52
52
|
filenames, mimetypes)`` of all know lexers.
|
53
|
+
|
54
|
+
If *plugins* is true (the default), plugin lexers supplied by entrypoints
|
55
|
+
are also returned. Otherwise, only builtin ones are considered.
|
53
56
|
"""
|
54
57
|
for item in LEXERS.values():
|
55
58
|
yield item[1:]
|
56
|
-
|
57
|
-
|
59
|
+
if plugins:
|
60
|
+
for lexer in find_plugin_lexers():
|
61
|
+
yield lexer.name, lexer.aliases, lexer.filenames, lexer.mimetypes
|
58
62
|
|
59
63
|
|
60
64
|
def find_lexer_class(name):
|
61
|
-
"""
|
62
|
-
|
63
|
-
|
65
|
+
"""
|
66
|
+
Return the `Lexer` subclass that with the *name* attribute as given by
|
67
|
+
the *name* argument.
|
64
68
|
"""
|
65
69
|
if name in _lexer_cache:
|
66
70
|
return _lexer_cache[name]
|
@@ -76,10 +80,15 @@ def find_lexer_class(name):
|
|
76
80
|
|
77
81
|
|
78
82
|
def find_lexer_class_by_name(_alias):
|
79
|
-
"""
|
83
|
+
"""
|
84
|
+
Return the `Lexer` subclass that has `alias` in its aliases list, without
|
85
|
+
instantiating it.
|
80
86
|
|
81
87
|
Like `get_lexer_by_name`, but does not instantiate the class.
|
82
88
|
|
89
|
+
Will raise :exc:`pygments.util.ClassNotFound` if no lexer with that alias is
|
90
|
+
found.
|
91
|
+
|
83
92
|
.. versionadded:: 2.2
|
84
93
|
"""
|
85
94
|
if not _alias:
|
@@ -98,9 +107,13 @@ def find_lexer_class_by_name(_alias):
|
|
98
107
|
|
99
108
|
|
100
109
|
def get_lexer_by_name(_alias, **options):
|
101
|
-
"""
|
110
|
+
"""
|
111
|
+
Return an instance of a `Lexer` subclass that has `alias` in its
|
112
|
+
aliases list. The lexer is given the `options` at its
|
113
|
+
instantiation.
|
102
114
|
|
103
|
-
|
115
|
+
Will raise :exc:`pygments.util.ClassNotFound` if no lexer with that alias is
|
116
|
+
found.
|
104
117
|
"""
|
105
118
|
if not _alias:
|
106
119
|
raise ClassNotFound('no lexer for alias %r found' % _alias)
|
@@ -199,10 +212,15 @@ def find_lexer_class_for_filename(_fn, code=None):
|
|
199
212
|
def get_lexer_for_filename(_fn, code=None, **options):
|
200
213
|
"""Get a lexer for a filename.
|
201
214
|
|
202
|
-
|
203
|
-
|
215
|
+
Return a `Lexer` subclass instance that has a filename pattern
|
216
|
+
matching `fn`. The lexer is given the `options` at its
|
217
|
+
instantiation.
|
218
|
+
|
219
|
+
Raise :exc:`pygments.util.ClassNotFound` if no lexer for that filename
|
220
|
+
is found.
|
204
221
|
|
205
|
-
|
222
|
+
If multiple lexers match the filename pattern, use their ``analyse_text()``
|
223
|
+
methods to figure out which one is more appropriate.
|
206
224
|
"""
|
207
225
|
res = find_lexer_class_for_filename(_fn, code)
|
208
226
|
if not res:
|
@@ -211,9 +229,12 @@ def get_lexer_for_filename(_fn, code=None, **options):
|
|
211
229
|
|
212
230
|
|
213
231
|
def get_lexer_for_mimetype(_mime, **options):
|
214
|
-
"""
|
232
|
+
"""
|
233
|
+
Return a `Lexer` subclass instance that has `mime` in its mimetype
|
234
|
+
list. The lexer is given the `options` at its instantiation.
|
215
235
|
|
216
|
-
|
236
|
+
Will raise :exc:`pygments.util.ClassNotFound` if not lexer for that mimetype
|
237
|
+
is found.
|
217
238
|
"""
|
218
239
|
for modname, name, _, _, mimetypes in LEXERS.values():
|
219
240
|
if _mime in mimetypes:
|
@@ -239,19 +260,11 @@ def _iter_lexerclasses(plugins=True):
|
|
239
260
|
|
240
261
|
def guess_lexer_for_filename(_fn, _text, **options):
|
241
262
|
"""
|
242
|
-
|
243
|
-
or
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
>>> from pygments.lexers import guess_lexer_for_filename
|
249
|
-
>>> guess_lexer_for_filename('hello.html', '<%= @foo %>')
|
250
|
-
<pygments.lexers.templates.RhtmlLexer object at 0xb7d2f32c>
|
251
|
-
>>> guess_lexer_for_filename('hello.html', '<h1>{{ title|e }}</h1>')
|
252
|
-
<pygments.lexers.templates.HtmlDjangoLexer object at 0xb7d2f2ac>
|
253
|
-
>>> guess_lexer_for_filename('style.css', 'a { color: <?= $link ?> }')
|
254
|
-
<pygments.lexers.templates.CssPhpLexer object at 0xb7ba518c>
|
263
|
+
As :func:`guess_lexer()`, but only lexers which have a pattern in `filenames`
|
264
|
+
or `alias_filenames` that matches `filename` are taken into consideration.
|
265
|
+
|
266
|
+
:exc:`pygments.util.ClassNotFound` is raised if no lexer thinks it can
|
267
|
+
handle the content.
|
255
268
|
"""
|
256
269
|
fn = basename(_fn)
|
257
270
|
primary = {}
|
@@ -289,7 +302,15 @@ def guess_lexer_for_filename(_fn, _text, **options):
|
|
289
302
|
|
290
303
|
|
291
304
|
def guess_lexer(_text, **options):
|
292
|
-
"""
|
305
|
+
"""
|
306
|
+
Return a `Lexer` subclass instance that's guessed from the text in
|
307
|
+
`text`. For that, the :meth:`.analyse_text()` method of every known lexer
|
308
|
+
class is called with the text as argument, and the lexer which returned the
|
309
|
+
highest value will be instantiated and returned.
|
310
|
+
|
311
|
+
:exc:`pygments.util.ClassNotFound` is raised if no lexer thinks it can
|
312
|
+
handle the content.
|
313
|
+
"""
|
293
314
|
|
294
315
|
if not isinstance(_text, str):
|
295
316
|
inencoding = options.get('inencoding', options.get('encoding'))
|
@@ -0,0 +1,103 @@
|
|
1
|
+
"""
|
2
|
+
pygments.lexers._ada_builtins
|
3
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
4
|
+
|
5
|
+
Ada builtins.
|
6
|
+
|
7
|
+
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
|
8
|
+
:license: BSD, see LICENSE for details.
|
9
|
+
"""
|
10
|
+
|
11
|
+
KEYWORD_LIST = (
|
12
|
+
'abort',
|
13
|
+
'abs',
|
14
|
+
'abstract',
|
15
|
+
'accept',
|
16
|
+
'access',
|
17
|
+
'aliased',
|
18
|
+
'all',
|
19
|
+
'array',
|
20
|
+
'at',
|
21
|
+
'begin',
|
22
|
+
'body',
|
23
|
+
'case',
|
24
|
+
'constant',
|
25
|
+
'declare',
|
26
|
+
'delay',
|
27
|
+
'delta',
|
28
|
+
'digits',
|
29
|
+
'do',
|
30
|
+
'else',
|
31
|
+
'elsif',
|
32
|
+
'end',
|
33
|
+
'entry',
|
34
|
+
'exception',
|
35
|
+
'exit',
|
36
|
+
'interface',
|
37
|
+
'for',
|
38
|
+
'goto',
|
39
|
+
'if',
|
40
|
+
'is',
|
41
|
+
'limited',
|
42
|
+
'loop',
|
43
|
+
'new',
|
44
|
+
'null',
|
45
|
+
'of',
|
46
|
+
'or',
|
47
|
+
'others',
|
48
|
+
'out',
|
49
|
+
'overriding',
|
50
|
+
'pragma',
|
51
|
+
'protected',
|
52
|
+
'raise',
|
53
|
+
'range',
|
54
|
+
'record',
|
55
|
+
'renames',
|
56
|
+
'requeue',
|
57
|
+
'return',
|
58
|
+
'reverse',
|
59
|
+
'select',
|
60
|
+
'separate',
|
61
|
+
'some',
|
62
|
+
'subtype',
|
63
|
+
'synchronized',
|
64
|
+
'task',
|
65
|
+
'tagged',
|
66
|
+
'terminate',
|
67
|
+
'then',
|
68
|
+
'type',
|
69
|
+
'until',
|
70
|
+
'when',
|
71
|
+
'while',
|
72
|
+
'xor'
|
73
|
+
)
|
74
|
+
|
75
|
+
BUILTIN_LIST = (
|
76
|
+
'Address',
|
77
|
+
'Byte',
|
78
|
+
'Boolean',
|
79
|
+
'Character',
|
80
|
+
'Controlled',
|
81
|
+
'Count',
|
82
|
+
'Cursor',
|
83
|
+
'Duration',
|
84
|
+
'File_Mode',
|
85
|
+
'File_Type',
|
86
|
+
'Float',
|
87
|
+
'Generator',
|
88
|
+
'Integer',
|
89
|
+
'Long_Float',
|
90
|
+
'Long_Integer',
|
91
|
+
'Long_Long_Float',
|
92
|
+
'Long_Long_Integer',
|
93
|
+
'Natural',
|
94
|
+
'Positive',
|
95
|
+
'Reference_Type',
|
96
|
+
'Short_Float',
|
97
|
+
'Short_Integer',
|
98
|
+
'Short_Short_Float',
|
99
|
+
'Short_Short_Integer',
|
100
|
+
'String',
|
101
|
+
'Wide_Character',
|
102
|
+
'Wide_String'
|
103
|
+
)
|
@@ -9,7 +9,7 @@
|
|
9
9
|
TODO: perl/python script in Asymptote SVN similar to asy-list.pl but only
|
10
10
|
for function and variable names.
|
11
11
|
|
12
|
-
:copyright: Copyright 2006-
|
12
|
+
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
|
13
13
|
:license: BSD, see LICENSE for details.
|
14
14
|
"""
|
15
15
|
|
@@ -5,9 +5,9 @@
|
|
5
5
|
This file defines a set of types used across Cocoa frameworks from Apple.
|
6
6
|
There is a list of @interfaces, @protocols and some other (structs, unions)
|
7
7
|
|
8
|
-
File may be also used as standalone generator for
|
8
|
+
File may be also used as standalone generator for above.
|
9
9
|
|
10
|
-
:copyright: Copyright 2006-
|
10
|
+
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
|
11
11
|
:license: BSD, see LICENSE for details.
|
12
12
|
"""
|
13
13
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
pygments.lexers._csound_builtins
|
3
3
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
4
4
|
|
5
|
-
:copyright: Copyright 2006-
|
5
|
+
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
|
6
6
|
:license: BSD, see LICENSE for details.
|
7
7
|
"""
|
8
8
|
|
@@ -34,7 +34,7 @@ tabrowlin
|
|
34
34
|
vbap1move
|
35
35
|
'''.split())
|
36
36
|
|
37
|
-
# Opcodes in Csound 6.
|
37
|
+
# Opcodes in Csound 6.18.0 using:
|
38
38
|
# python3 -c "
|
39
39
|
# import re
|
40
40
|
# from subprocess import Popen, PIPE
|
@@ -256,6 +256,7 @@ bbcuts
|
|
256
256
|
betarand
|
257
257
|
bexprnd
|
258
258
|
bformdec1
|
259
|
+
bformdec2
|
259
260
|
bformenc1
|
260
261
|
binit
|
261
262
|
biquad
|
@@ -430,6 +431,8 @@ dumpk4
|
|
430
431
|
duserrnd
|
431
432
|
dust
|
432
433
|
dust2
|
434
|
+
elapsedcycles
|
435
|
+
elapsedtime
|
433
436
|
envlpx
|
434
437
|
envlpxr
|
435
438
|
ephasor
|
@@ -437,6 +440,8 @@ eqfil
|
|
437
440
|
evalstr
|
438
441
|
event
|
439
442
|
event_i
|
443
|
+
eventcycles
|
444
|
+
eventtime
|
440
445
|
exciter
|
441
446
|
exitnow
|
442
447
|
exp
|
@@ -565,6 +570,7 @@ grain
|
|
565
570
|
grain2
|
566
571
|
grain3
|
567
572
|
granule
|
573
|
+
gtadsr
|
568
574
|
gtf
|
569
575
|
guiro
|
570
576
|
harmon
|
@@ -896,6 +902,7 @@ median
|
|
896
902
|
mediank
|
897
903
|
metro
|
898
904
|
metro2
|
905
|
+
metrobpm
|
899
906
|
mfb
|
900
907
|
midglobal
|
901
908
|
midiarp
|
@@ -944,6 +951,7 @@ mp3bitrate
|
|
944
951
|
mp3in
|
945
952
|
mp3len
|
946
953
|
mp3nchnls
|
954
|
+
mp3out
|
947
955
|
mp3scal
|
948
956
|
mp3sr
|
949
957
|
mpulse
|
@@ -1147,6 +1155,7 @@ pvsftr
|
|
1147
1155
|
pvsftw
|
1148
1156
|
pvsfwrite
|
1149
1157
|
pvsgain
|
1158
|
+
pvsgendy
|
1150
1159
|
pvshift
|
1151
1160
|
pvsifd
|
1152
1161
|
pvsin
|
@@ -1313,7 +1322,9 @@ scale
|
|
1313
1322
|
scale2
|
1314
1323
|
scalearray
|
1315
1324
|
scanhammer
|
1325
|
+
scanmap
|
1316
1326
|
scans
|
1327
|
+
scansmap
|
1317
1328
|
scantable
|
1318
1329
|
scanu
|
1319
1330
|
scanu2
|
@@ -1332,6 +1343,8 @@ sense
|
|
1332
1343
|
sensekey
|
1333
1344
|
seqtime
|
1334
1345
|
seqtime2
|
1346
|
+
sequ
|
1347
|
+
sequstate
|
1335
1348
|
serialBegin
|
1336
1349
|
serialEnd
|
1337
1350
|
serialFlush
|
@@ -1524,8 +1537,10 @@ trfilter
|
|
1524
1537
|
trhighest
|
1525
1538
|
trigExpseg
|
1526
1539
|
trigLinseg
|
1540
|
+
trigexpseg
|
1527
1541
|
trigger
|
1528
1542
|
trighold
|
1543
|
+
triglinseg
|
1529
1544
|
trigphasor
|
1530
1545
|
trigseq
|
1531
1546
|
trim
|
@@ -1656,10 +1671,6 @@ wterrain2
|
|
1656
1671
|
xadsr
|
1657
1672
|
xin
|
1658
1673
|
xout
|
1659
|
-
xscanmap
|
1660
|
-
xscans
|
1661
|
-
xscansmap
|
1662
|
-
xscanu
|
1663
1674
|
xtratim
|
1664
1675
|
xyscale
|
1665
1676
|
zacl
|
@@ -1761,5 +1772,9 @@ vbap4
|
|
1761
1772
|
vbap4move
|
1762
1773
|
vbap8
|
1763
1774
|
vbap8move
|
1775
|
+
xscanmap
|
1776
|
+
xscans
|
1777
|
+
xscansmap
|
1778
|
+
xscanu
|
1764
1779
|
xyin
|
1765
1780
|
'''.split())
|