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
|
Lexers for assembly languages.
|
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
|
|
@@ -15,7 +15,7 @@ from pygments.lexer import RegexLexer, include, bygroups, using, words, \
|
|
15
15
|
from pygments.lexers.c_cpp import CppLexer, CLexer
|
16
16
|
from pygments.lexers.d import DLexer
|
17
17
|
from pygments.token import Text, Name, Number, String, Comment, Punctuation, \
|
18
|
-
Other, Keyword, Operator,
|
18
|
+
Other, Keyword, Operator, Whitespace
|
19
19
|
|
20
20
|
__all__ = ['GasLexer', 'ObjdumpLexer', 'DObjdumpLexer', 'CppObjdumpLexer',
|
21
21
|
'CObjdumpLexer', 'HsailLexer', 'LlvmLexer', 'LlvmMirBodyLexer',
|
@@ -37,7 +37,7 @@ class GasLexer(RegexLexer):
|
|
37
37
|
char = r'[\w$.@-]'
|
38
38
|
identifier = r'(?:[a-zA-Z$_]' + char + r'*|\.' + char + '+)'
|
39
39
|
number = r'(?:0[xX][a-fA-F0-9]+|#?-?\d+)'
|
40
|
-
register = '%' + identifier
|
40
|
+
register = '%' + identifier + r'\b'
|
41
41
|
|
42
42
|
tokens = {
|
43
43
|
'root': [
|
@@ -54,7 +54,7 @@ class GasLexer(RegexLexer):
|
|
54
54
|
('@' + identifier, Name.Attribute),
|
55
55
|
(number, Number.Integer),
|
56
56
|
(register, Name.Variable),
|
57
|
-
(r'[\r\n]+',
|
57
|
+
(r'[\r\n]+', Whitespace, '#pop'),
|
58
58
|
(r'([;#]|//).*?\n', Comment.Single, '#pop'),
|
59
59
|
(r'/[*].*?[*]/', Comment.Multiline),
|
60
60
|
(r'/[*].*?\n[\w\W]*?[*]/', Comment.Multiline, '#pop'),
|
@@ -80,7 +80,7 @@ class GasLexer(RegexLexer):
|
|
80
80
|
# Numeric constants
|
81
81
|
('$'+number, Number.Integer),
|
82
82
|
(r"$'(.|\\')'", String.Char),
|
83
|
-
(r'[\r\n]+',
|
83
|
+
(r'[\r\n]+', Whitespace, '#pop'),
|
84
84
|
(r'([;#]|//).*?\n', Comment.Single, '#pop'),
|
85
85
|
(r'/[*].*?[*]/', Comment.Multiline),
|
86
86
|
(r'/[*].*?\n[\w\W]*?[*]/', Comment.Multiline, '#pop'),
|
@@ -89,13 +89,13 @@ class GasLexer(RegexLexer):
|
|
89
89
|
include('whitespace')
|
90
90
|
],
|
91
91
|
'whitespace': [
|
92
|
-
(r'\n',
|
93
|
-
(r'\s+',
|
92
|
+
(r'\n', Whitespace),
|
93
|
+
(r'\s+', Whitespace),
|
94
94
|
(r'([;#]|//).*?\n', Comment.Single),
|
95
95
|
(r'/[*][\w\W]*?[*]/', Comment.Multiline)
|
96
96
|
],
|
97
97
|
'punctuation': [
|
98
|
-
(r'[-*,.()\[\]!:]+', Punctuation)
|
98
|
+
(r'[-*,.()\[\]!:{}]+', Punctuation)
|
99
99
|
]
|
100
100
|
}
|
101
101
|
|
@@ -122,33 +122,37 @@ def _objdump_lexer_tokens(asm_lexer):
|
|
122
122
|
# Function labels
|
123
123
|
# (With offset)
|
124
124
|
('('+hex_re+'+)( )(<)(.*?)([-+])(0[xX][A-Za-z0-9]+)(>:)$',
|
125
|
-
bygroups(Number.Hex,
|
125
|
+
bygroups(Number.Hex, Whitespace, Punctuation, Name.Function,
|
126
126
|
Punctuation, Number.Hex, Punctuation)),
|
127
127
|
# (Without offset)
|
128
128
|
('('+hex_re+'+)( )(<)(.*?)(>:)$',
|
129
|
-
bygroups(Number.Hex,
|
129
|
+
bygroups(Number.Hex, Whitespace, Punctuation, Name.Function,
|
130
130
|
Punctuation)),
|
131
131
|
# Code line with disassembled instructions
|
132
132
|
('( *)('+hex_re+r'+:)(\t)((?:'+hex_re+hex_re+' )+)( *\t)([a-zA-Z].*?)$',
|
133
|
-
bygroups(
|
133
|
+
bygroups(Whitespace, Name.Label, Whitespace, Number.Hex, Whitespace,
|
134
|
+
using(asm_lexer))),
|
135
|
+
# Code line without raw instructions (objdump --no-show-raw-insn)
|
136
|
+
('( *)('+hex_re+r'+:)( *\t)([a-zA-Z].*?)$',
|
137
|
+
bygroups(Whitespace, Name.Label, Whitespace,
|
134
138
|
using(asm_lexer))),
|
135
139
|
# Code line with ascii
|
136
140
|
('( *)('+hex_re+r'+:)(\t)((?:'+hex_re+hex_re+' )+)( *)(.*?)$',
|
137
|
-
bygroups(
|
141
|
+
bygroups(Whitespace, Name.Label, Whitespace, Number.Hex, Whitespace, String)),
|
138
142
|
# Continued code line, only raw opcodes without disassembled
|
139
143
|
# instruction
|
140
144
|
('( *)('+hex_re+r'+:)(\t)((?:'+hex_re+hex_re+' )+)$',
|
141
|
-
bygroups(
|
145
|
+
bygroups(Whitespace, Name.Label, Whitespace, Number.Hex)),
|
142
146
|
# Skipped a few bytes
|
143
147
|
(r'\t\.\.\.$', Text),
|
144
148
|
# Relocation line
|
145
149
|
# (With offset)
|
146
150
|
(r'(\t\t\t)('+hex_re+r'+:)( )([^\t]+)(\t)(.*?)([-+])(0x'+hex_re+'+)$',
|
147
|
-
bygroups(
|
151
|
+
bygroups(Whitespace, Name.Label, Whitespace, Name.Property, Whitespace,
|
148
152
|
Name.Constant, Punctuation, Number.Hex)),
|
149
153
|
# (Without offset)
|
150
154
|
(r'(\t\t\t)('+hex_re+r'+:)( )([^\t]+)(\t)(.*?)$',
|
151
|
-
bygroups(
|
155
|
+
bygroups(Whitespace, Name.Label, Whitespace, Name.Property, Whitespace,
|
152
156
|
Name.Constant)),
|
153
157
|
(r'[^\n]+\n', Other)
|
154
158
|
]
|
@@ -221,7 +225,7 @@ class HsailLexer(RegexLexer):
|
|
221
225
|
identifier = r'[a-zA-Z_][\w.]*'
|
222
226
|
# Registers
|
223
227
|
register_number = r'[0-9]+'
|
224
|
-
register = r'(\$(c|s|d|q)' + register_number + ')'
|
228
|
+
register = r'(\$(c|s|d|q)' + register_number + r')\b'
|
225
229
|
# Qualifiers
|
226
230
|
alignQual = r'(align\(\d+\))'
|
227
231
|
widthQual = r'(width\((\d+|all)\))'
|
@@ -270,7 +274,7 @@ class HsailLexer(RegexLexer):
|
|
270
274
|
(r'[=<>{}\[\]()*.,:;!]|x\b', Punctuation)
|
271
275
|
],
|
272
276
|
'whitespace': [
|
273
|
-
(r'(\n|\s)+',
|
277
|
+
(r'(\n|\s)+', Whitespace),
|
274
278
|
],
|
275
279
|
'comments': [
|
276
280
|
(r'/\*.*?\*/', Comment.Multiline),
|
@@ -346,6 +350,7 @@ class LlvmLexer(RegexLexer):
|
|
346
350
|
For LLVM assembly code.
|
347
351
|
"""
|
348
352
|
name = 'LLVM'
|
353
|
+
url = 'https://llvm.org/docs/LangRef.html'
|
349
354
|
aliases = ['llvm']
|
350
355
|
filenames = ['*.ll']
|
351
356
|
mimetypes = ['text/x-llvm']
|
@@ -379,7 +384,7 @@ class LlvmLexer(RegexLexer):
|
|
379
384
|
(r'[=<>{}\[\]()*.,!]|x\b', Punctuation)
|
380
385
|
],
|
381
386
|
'whitespace': [
|
382
|
-
(r'(\n|\s)+',
|
387
|
+
(r'(\n|\s+)+', Whitespace),
|
383
388
|
(r';.*?\n', Comment)
|
384
389
|
],
|
385
390
|
'keyword': [
|
@@ -473,7 +478,7 @@ class LlvmLexer(RegexLexer):
|
|
473
478
|
# Types
|
474
479
|
(words(('void', 'half', 'bfloat', 'float', 'double', 'fp128',
|
475
480
|
'x86_fp80', 'ppc_fp128', 'label', 'metadata', 'x86_mmx',
|
476
|
-
'x86_amx', 'token')),
|
481
|
+
'x86_amx', 'token', 'ptr')),
|
477
482
|
Keyword.Type),
|
478
483
|
|
479
484
|
# Integer types
|
@@ -486,11 +491,10 @@ class LlvmMirBodyLexer(RegexLexer):
|
|
486
491
|
"""
|
487
492
|
For LLVM MIR examples without the YAML wrapper.
|
488
493
|
|
489
|
-
For more information on LLVM MIR see https://llvm.org/docs/MIRLangRef.html.
|
490
|
-
|
491
494
|
.. versionadded:: 2.6
|
492
495
|
"""
|
493
496
|
name = 'LLVM-MIR Body'
|
497
|
+
url = 'https://llvm.org/docs/MIRLangRef.html'
|
494
498
|
aliases = ['llvm-mir-body']
|
495
499
|
filenames = []
|
496
500
|
mimetypes = []
|
@@ -555,13 +559,13 @@ class LlvmMirBodyLexer(RegexLexer):
|
|
555
559
|
# Flags
|
556
560
|
(words(('killed', 'implicit')), Keyword),
|
557
561
|
# ConstantInt values
|
558
|
-
(r'i[0-9]+ +', Keyword.Type, 'constantint'),
|
562
|
+
(r'(i[0-9]+)( +)', bygroups(Keyword.Type, Whitespace), 'constantint'),
|
559
563
|
# ConstantFloat values
|
560
564
|
(r'(half|float|double) +', Keyword.Type, 'constantfloat'),
|
561
565
|
# Bare immediates
|
562
566
|
include('integer'),
|
563
567
|
# MMO's
|
564
|
-
(r':: *', Operator, 'mmo'),
|
568
|
+
(r'(::)( *)', bygroups(Operator, Whitespace), 'mmo'),
|
565
569
|
# MIR Comments
|
566
570
|
(r';.*', Comment),
|
567
571
|
# If we get here, assume it's a target instruction
|
@@ -581,29 +585,29 @@ class LlvmMirBodyLexer(RegexLexer):
|
|
581
585
|
],
|
582
586
|
'vreg': [
|
583
587
|
# The bank or class if there is one
|
584
|
-
(r'
|
588
|
+
(r'( *)(:(?!:))', bygroups(Whitespace, Keyword), ('#pop', 'vreg_bank_or_class')),
|
585
589
|
# The LLT if there is one
|
586
|
-
(r'
|
590
|
+
(r'( *)(\()', bygroups(Whitespace, Text), 'vreg_type'),
|
587
591
|
(r'(?=.)', Text, '#pop'),
|
588
592
|
],
|
589
593
|
'vreg_bank_or_class': [
|
590
594
|
# The unassigned bank/class
|
591
|
-
(r' *_', Name.Variable.Magic),
|
592
|
-
(r' *[a-zA-Z0-9_]+', Name.Variable),
|
595
|
+
(r'( *)(_)', bygroups(Whitespace, Name.Variable.Magic)),
|
596
|
+
(r'( *)([a-zA-Z0-9_]+)', bygroups(Whitespace, Name.Variable)),
|
593
597
|
# The LLT if there is one
|
594
|
-
(r'
|
598
|
+
(r'( *)(\()', bygroups(Whitespace, Text), 'vreg_type'),
|
595
599
|
(r'(?=.)', Text, '#pop'),
|
596
600
|
],
|
597
601
|
'vreg_type': [
|
598
602
|
# Scalar and pointer types
|
599
|
-
(r' *[sp][0-9]+', Keyword.Type),
|
600
|
-
(r'
|
603
|
+
(r'( *)([sp][0-9]+)', bygroups(Whitespace, Keyword.Type)),
|
604
|
+
(r'( *)(<[0-9]+ *x *[sp][0-9]+>)', bygroups(Whitespace, Keyword.Type)),
|
601
605
|
(r'\)', Text, '#pop'),
|
602
606
|
(r'(?=.)', Text, '#pop'),
|
603
607
|
],
|
604
608
|
'mmo': [
|
605
609
|
(r'\(', Text),
|
606
|
-
(r' +',
|
610
|
+
(r' +', Whitespace),
|
607
611
|
(words(('load', 'store', 'on', 'into', 'from', 'align', 'monotonic',
|
608
612
|
'acquire', 'release', 'acq_rel', 'seq_cst')),
|
609
613
|
Keyword),
|
@@ -632,11 +636,10 @@ class LlvmMirLexer(RegexLexer):
|
|
632
636
|
see the state of the compilation process at various points, as well as test
|
633
637
|
individual pieces of the compiler.
|
634
638
|
|
635
|
-
For more information on LLVM MIR see https://llvm.org/docs/MIRLangRef.html.
|
636
|
-
|
637
639
|
.. versionadded:: 2.6
|
638
640
|
"""
|
639
641
|
name = 'LLVM-MIR'
|
642
|
+
url = 'https://llvm.org/docs/MIRLangRef.html'
|
640
643
|
aliases = ['llvm-mir']
|
641
644
|
filenames = ['*.mir']
|
642
645
|
|
@@ -677,7 +680,7 @@ class LlvmMirLexer(RegexLexer):
|
|
677
680
|
(r'body: *\|', Keyword, 'llvm_mir_body'),
|
678
681
|
# Consume everything else
|
679
682
|
(r'.+', Text),
|
680
|
-
(r'\n',
|
683
|
+
(r'\n', Whitespace),
|
681
684
|
],
|
682
685
|
'name': [
|
683
686
|
(r'[^\n]+', Name),
|
@@ -710,7 +713,7 @@ class NasmLexer(RegexLexer):
|
|
710
713
|
"""
|
711
714
|
name = 'NASM'
|
712
715
|
aliases = ['nasm']
|
713
|
-
filenames = ['*.asm', '*.ASM']
|
716
|
+
filenames = ['*.asm', '*.ASM', '*.nasm']
|
714
717
|
mimetypes = ['text/x-nasm']
|
715
718
|
|
716
719
|
# Tasm uses the same file endings, but TASM is not as common as NASM, so
|
@@ -725,16 +728,17 @@ class NasmLexer(RegexLexer):
|
|
725
728
|
floatn = decn + r'\.e?' + decn
|
726
729
|
string = r'"(\\"|[^"\n])*"|' + r"'(\\'|[^'\n])*'|" + r"`(\\`|[^`\n])*`"
|
727
730
|
declkw = r'(?:res|d)[bwdqt]|times'
|
728
|
-
register = (r'r[0-9][0-5]?[bwd]?|'
|
731
|
+
register = (r'(r[0-9][0-5]?[bwd]?|'
|
729
732
|
r'[a-d][lh]|[er]?[a-d]x|[er]?[sb]p|[er]?[sd]i|[c-gs]s|st[0-7]|'
|
730
|
-
r'mm[0-7]|cr[0-4]|dr[0-367]|tr[3-7]'
|
731
|
-
|
733
|
+
r'mm[0-7]|cr[0-4]|dr[0-367]|tr[3-7]|k[0-7]|'
|
734
|
+
r'[xyz]mm(?:[12][0-9]?|3[01]?|[04-9]))\b')
|
735
|
+
wordop = r'seg|wrt|strict|rel|abs'
|
732
736
|
type = r'byte|[dq]?word'
|
733
737
|
# Directives must be followed by whitespace, otherwise CPU will match
|
734
738
|
# cpuid for instance.
|
735
739
|
directives = (r'(?:BITS|USE16|USE32|SECTION|SEGMENT|ABSOLUTE|EXTERN|GLOBAL|'
|
736
740
|
r'ORG|ALIGN|STRUC|ENDSTRUC|COMMON|CPU|GROUP|UPPERCASE|IMPORT|'
|
737
|
-
r'EXPORT|LIBRARY|MODULE)
|
741
|
+
r'EXPORT|LIBRARY|MODULE)(?=\s)')
|
738
742
|
|
739
743
|
flags = re.IGNORECASE | re.MULTILINE
|
740
744
|
tokens = {
|
@@ -743,12 +747,12 @@ class NasmLexer(RegexLexer):
|
|
743
747
|
include('whitespace'),
|
744
748
|
(identifier + ':', Name.Label),
|
745
749
|
(r'(%s)(\s+)(equ)' % identifier,
|
746
|
-
bygroups(Name.Constant,
|
750
|
+
bygroups(Name.Constant, Whitespace, Keyword.Declaration),
|
747
751
|
'instruction-args'),
|
748
752
|
(directives, Keyword, 'instruction-args'),
|
749
753
|
(declkw, Keyword.Declaration, 'instruction-args'),
|
750
754
|
(identifier, Name.Function, 'instruction-args'),
|
751
|
-
(r'[\r\n]+',
|
755
|
+
(r'[\r\n]+', Whitespace)
|
752
756
|
],
|
753
757
|
'instruction-args': [
|
754
758
|
(string, String),
|
@@ -760,7 +764,7 @@ class NasmLexer(RegexLexer):
|
|
760
764
|
include('punctuation'),
|
761
765
|
(register, Name.Builtin),
|
762
766
|
(identifier, Name.Variable),
|
763
|
-
(r'[\r\n]+',
|
767
|
+
(r'[\r\n]+', Whitespace, '#pop'),
|
764
768
|
include('whitespace')
|
765
769
|
],
|
766
770
|
'preproc': [
|
@@ -769,12 +773,13 @@ class NasmLexer(RegexLexer):
|
|
769
773
|
(r'\n', Comment.Preproc, '#pop'),
|
770
774
|
],
|
771
775
|
'whitespace': [
|
772
|
-
(r'\n',
|
773
|
-
(r'[ \t]+',
|
774
|
-
(r';.*', Comment.Single)
|
776
|
+
(r'\n', Whitespace),
|
777
|
+
(r'[ \t]+', Whitespace),
|
778
|
+
(r';.*', Comment.Single),
|
779
|
+
(r'#.*', Comment.Single)
|
775
780
|
],
|
776
781
|
'punctuation': [
|
777
|
-
(r'[,():\[\]]+', Punctuation),
|
782
|
+
(r'[,{}():\[\]]+', Punctuation),
|
778
783
|
(r'[&|^<>+*/%~-]+', Operator),
|
779
784
|
(r'[$]+', Keyword.Constant),
|
780
785
|
(wordop, Operator.Word),
|
@@ -819,9 +824,9 @@ class TasmLexer(RegexLexer):
|
|
819
824
|
floatn = decn + r'\.e?' + decn
|
820
825
|
string = r'"(\\"|[^"\n])*"|' + r"'(\\'|[^'\n])*'|" + r"`(\\`|[^`\n])*`"
|
821
826
|
declkw = r'(?:res|d)[bwdqt]|times'
|
822
|
-
register = (r'r[0-9][0-5]?[bwd]|'
|
827
|
+
register = (r'(r[0-9][0-5]?[bwd]|'
|
823
828
|
r'[a-d][lh]|[er]?[a-d]x|[er]?[sb]p|[er]?[sd]i|[c-gs]s|st[0-7]|'
|
824
|
-
r'mm[0-7]|cr[0-4]|dr[0-367]|tr[3-7]')
|
829
|
+
r'mm[0-7]|cr[0-4]|dr[0-367]|tr[3-7])\b')
|
825
830
|
wordop = r'seg|wrt|strict'
|
826
831
|
type = r'byte|[dq]?word'
|
827
832
|
directives = (r'BITS|USE16|USE32|SECTION|SEGMENT|ABSOLUTE|EXTERN|GLOBAL|'
|
@@ -840,11 +845,11 @@ class TasmLexer(RegexLexer):
|
|
840
845
|
(identifier + ':', Name.Label),
|
841
846
|
(directives, Keyword, 'instruction-args'),
|
842
847
|
(r'(%s)(\s+)(%s)' % (identifier, datatype),
|
843
|
-
bygroups(Name.Constant,
|
848
|
+
bygroups(Name.Constant, Whitespace, Keyword.Declaration),
|
844
849
|
'instruction-args'),
|
845
850
|
(declkw, Keyword.Declaration, 'instruction-args'),
|
846
851
|
(identifier, Name.Function, 'instruction-args'),
|
847
|
-
(r'[\r\n]+',
|
852
|
+
(r'[\r\n]+', Whitespace)
|
848
853
|
],
|
849
854
|
'instruction-args': [
|
850
855
|
(string, String),
|
@@ -856,9 +861,10 @@ class TasmLexer(RegexLexer):
|
|
856
861
|
include('punctuation'),
|
857
862
|
(register, Name.Builtin),
|
858
863
|
(identifier, Name.Variable),
|
859
|
-
# Do not match newline when it's
|
860
|
-
(r'(
|
861
|
-
|
864
|
+
# Do not match newline when it's preceded by a backslash
|
865
|
+
(r'(\\)(\s*)(;.*)([\r\n])',
|
866
|
+
bygroups(Text, Whitespace, Comment.Single, Whitespace)),
|
867
|
+
(r'[\r\n]+', Whitespace, '#pop'),
|
862
868
|
include('whitespace')
|
863
869
|
],
|
864
870
|
'preproc': [
|
@@ -867,9 +873,9 @@ class TasmLexer(RegexLexer):
|
|
867
873
|
(r'\n', Comment.Preproc, '#pop'),
|
868
874
|
],
|
869
875
|
'whitespace': [
|
870
|
-
(r'[\n\r]',
|
871
|
-
(r'\\[\n\r]', Text),
|
872
|
-
(r'[ \t]+',
|
876
|
+
(r'[\n\r]', Whitespace),
|
877
|
+
(r'(\\)([\n\r])', bygroups(Text, Whitespace)),
|
878
|
+
(r'[ \t]+', Whitespace),
|
873
879
|
(r';.*', Comment.Single)
|
874
880
|
],
|
875
881
|
'punctuation': [
|
@@ -902,7 +908,7 @@ class Ca65Lexer(RegexLexer):
|
|
902
908
|
tokens = {
|
903
909
|
'root': [
|
904
910
|
(r';.*', Comment.Single),
|
905
|
-
(r'\s+',
|
911
|
+
(r'\s+', Whitespace),
|
906
912
|
(r'[a-z_.@$][\w.@$]*:', Name.Label),
|
907
913
|
(r'((ld|st)[axy]|(in|de)[cxy]|asl|lsr|ro[lr]|adc|sbc|cmp|cp[xy]'
|
908
914
|
r'|cl[cvdi]|se[cdi]|jmp|jsr|bne|beq|bpl|bmi|bvc|bvs|bcc|bcs'
|
@@ -930,11 +936,10 @@ class Dasm16Lexer(RegexLexer):
|
|
930
936
|
"""
|
931
937
|
For DCPU-16 Assembly.
|
932
938
|
|
933
|
-
Check http://0x10c.com/doc/dcpu-16.txt
|
934
|
-
|
935
939
|
.. versionadded:: 2.4
|
936
940
|
"""
|
937
941
|
name = 'DASM16'
|
942
|
+
url = 'http://0x10c.com/doc/dcpu-16.txt'
|
938
943
|
aliases = ['dasm16']
|
939
944
|
filenames = ['*.dasm16', '*.dasm']
|
940
945
|
mimetypes = ['text/x-dasm16']
|
@@ -983,7 +988,7 @@ class Dasm16Lexer(RegexLexer):
|
|
983
988
|
(identifier + ':', Name.Label),
|
984
989
|
(instruction, Name.Function, 'instruction-args'),
|
985
990
|
(r'\.' + identifier, Name.Function, 'data-args'),
|
986
|
-
(r'[\r\n]+',
|
991
|
+
(r'[\r\n]+', Whitespace)
|
987
992
|
],
|
988
993
|
|
989
994
|
'numeric' : [
|
@@ -1005,7 +1010,7 @@ class Dasm16Lexer(RegexLexer):
|
|
1005
1010
|
],
|
1006
1011
|
|
1007
1012
|
'instruction-line' : [
|
1008
|
-
(r'[\r\n]+',
|
1013
|
+
(r'[\r\n]+', Whitespace, '#pop'),
|
1009
1014
|
(r';.*?$', Comment, '#pop'),
|
1010
1015
|
include('whitespace')
|
1011
1016
|
],
|
@@ -1025,8 +1030,8 @@ class Dasm16Lexer(RegexLexer):
|
|
1025
1030
|
],
|
1026
1031
|
|
1027
1032
|
'whitespace': [
|
1028
|
-
(r'\n',
|
1029
|
-
(r'\s+',
|
1033
|
+
(r'\n', Whitespace),
|
1034
|
+
(r'\s+', Whitespace),
|
1030
1035
|
(r';.*?\n', Comment)
|
1031
1036
|
],
|
1032
1037
|
}
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexers for automation scripting languages.
|
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
|
|
@@ -17,11 +17,12 @@ __all__ = ['AutohotkeyLexer', 'AutoItLexer']
|
|
17
17
|
|
18
18
|
class AutohotkeyLexer(RegexLexer):
|
19
19
|
"""
|
20
|
-
For
|
20
|
+
For autohotkey source code.
|
21
21
|
|
22
22
|
.. versionadded:: 1.4
|
23
23
|
"""
|
24
24
|
name = 'autohotkey'
|
25
|
+
url = 'http://www.autohotkey.com/'
|
25
26
|
aliases = ['autohotkey', 'ahk']
|
26
27
|
filenames = ['*.ahk', '*.ahkl']
|
27
28
|
mimetypes = ['text/x-autohotkey']
|
@@ -49,8 +50,8 @@ class AutohotkeyLexer(RegexLexer):
|
|
49
50
|
],
|
50
51
|
'incomment': [
|
51
52
|
(r'^\s*\*/', Comment.Multiline, '#pop'),
|
52
|
-
(r'[
|
53
|
-
(r'
|
53
|
+
(r'[^*]+', Comment.Multiline),
|
54
|
+
(r'\*', Comment.Multiline)
|
54
55
|
],
|
55
56
|
'incontinuation': [
|
56
57
|
(r'^\s*\)', Generic, '#pop'),
|
@@ -194,7 +195,7 @@ class AutohotkeyLexer(RegexLexer):
|
|
194
195
|
|
195
196
|
class AutoItLexer(RegexLexer):
|
196
197
|
"""
|
197
|
-
For
|
198
|
+
For AutoIt files.
|
198
199
|
|
199
200
|
AutoIt is a freeware BASIC-like scripting language
|
200
201
|
designed for automating the Windows GUI and general scripting
|
@@ -202,6 +203,7 @@ class AutoItLexer(RegexLexer):
|
|
202
203
|
.. versionadded:: 1.6
|
203
204
|
"""
|
204
205
|
name = 'AutoIt'
|
206
|
+
url = 'http://www.autoitscript.com/site/autoit/'
|
205
207
|
aliases = ['autoit']
|
206
208
|
filenames = ['*.au3']
|
207
209
|
mimetypes = ['text/x-autoit']
|
@@ -4,30 +4,27 @@
|
|
4
4
|
|
5
5
|
Lexer for the BARE schema.
|
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
|
|
11
|
-
import re
|
12
|
-
|
13
11
|
from pygments.lexer import RegexLexer, words, bygroups
|
14
|
-
from pygments.token import Text, Comment, Keyword, Name, Literal
|
12
|
+
from pygments.token import Text, Comment, Keyword, Name, Literal, Whitespace
|
15
13
|
|
16
14
|
__all__ = ['BareLexer']
|
17
15
|
|
18
16
|
|
19
17
|
class BareLexer(RegexLexer):
|
20
18
|
"""
|
21
|
-
For
|
19
|
+
For BARE schema source.
|
22
20
|
|
23
21
|
.. versionadded:: 2.7
|
24
22
|
"""
|
25
23
|
name = 'BARE'
|
24
|
+
url = 'https://baremessages.org'
|
26
25
|
filenames = ['*.bare']
|
27
26
|
aliases = ['bare']
|
28
27
|
|
29
|
-
flags = re.MULTILINE | re.UNICODE
|
30
|
-
|
31
28
|
keywords = [
|
32
29
|
'type',
|
33
30
|
'enum',
|
@@ -53,29 +50,30 @@ class BareLexer(RegexLexer):
|
|
53
50
|
|
54
51
|
tokens = {
|
55
52
|
'root': [
|
56
|
-
(r'(type)(\s+)([A-Z][a-zA-Z0-9]+)(\s
|
57
|
-
bygroups(Keyword,
|
58
|
-
(r'(type)(\s+)([A-Z][a-zA-Z0-9]+)(\s
|
59
|
-
bygroups(Keyword,
|
53
|
+
(r'(type)(\s+)([A-Z][a-zA-Z0-9]+)(\s+)(\{)',
|
54
|
+
bygroups(Keyword, Whitespace, Name.Class, Whitespace, Text), 'struct'),
|
55
|
+
(r'(type)(\s+)([A-Z][a-zA-Z0-9]+)(\s+)(\()',
|
56
|
+
bygroups(Keyword, Whitespace, Name.Class, Whitespace, Text), 'union'),
|
60
57
|
(r'(type)(\s+)([A-Z][a-zA-Z0-9]+)(\s+)',
|
61
|
-
bygroups(Keyword,
|
58
|
+
bygroups(Keyword, Whitespace, Name, Whitespace), 'typedef'),
|
62
59
|
(r'(enum)(\s+)([A-Z][a-zA-Z0-9]+)(\s+\{)',
|
63
|
-
bygroups(Keyword,
|
60
|
+
bygroups(Keyword, Whitespace, Name.Class, Whitespace), 'enum'),
|
64
61
|
(r'#.*?$', Comment),
|
65
|
-
(r'\s+',
|
62
|
+
(r'\s+', Whitespace),
|
66
63
|
],
|
67
64
|
'struct': [
|
68
65
|
(r'\{', Text, '#push'),
|
69
66
|
(r'\}', Text, '#pop'),
|
70
|
-
(r'([a-zA-Z0-9]+)(
|
71
|
-
|
67
|
+
(r'([a-zA-Z0-9]+)(:)(\s*)',
|
68
|
+
bygroups(Name.Attribute, Text, Whitespace), 'typedef'),
|
69
|
+
(r'\s+', Whitespace),
|
72
70
|
],
|
73
71
|
'union': [
|
74
72
|
(r'\)', Text, '#pop'),
|
75
|
-
(r'\s
|
73
|
+
(r'(\s*)(\|)(\s*)', bygroups(Whitespace, Text, Whitespace)),
|
76
74
|
(r'[A-Z][a-zA-Z0-9]+', Name.Class),
|
77
75
|
(words(keywords), Keyword),
|
78
|
-
(r'\s+',
|
76
|
+
(r'\s+', Whitespace),
|
79
77
|
],
|
80
78
|
'typedef': [
|
81
79
|
(r'\[\]', Text),
|
@@ -89,15 +87,16 @@ class BareLexer(RegexLexer):
|
|
89
87
|
(words(keywords), Keyword),
|
90
88
|
(r'\n', Text, '#pop'),
|
91
89
|
(r'\{', Text, 'struct'),
|
92
|
-
(r'\s+',
|
90
|
+
(r'\s+', Whitespace),
|
93
91
|
(r'\d+', Literal),
|
94
92
|
],
|
95
93
|
'enum': [
|
96
94
|
(r'\{', Text, '#push'),
|
97
95
|
(r'\}', Text, '#pop'),
|
98
|
-
(r'([A-Z][A-Z0-9_]*)(\s*=\s*)(\d+)',
|
96
|
+
(r'([A-Z][A-Z0-9_]*)(\s*=\s*)(\d+)',
|
97
|
+
bygroups(Name.Attribute, Text, Literal)),
|
99
98
|
(r'([A-Z][A-Z0-9_]*)', bygroups(Name.Attribute)),
|
100
99
|
(r'#.*?$', Comment),
|
101
|
-
(r'\s+',
|
100
|
+
(r'\s+', Whitespace),
|
102
101
|
],
|
103
102
|
}
|