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
@@ -0,0 +1,128 @@
|
|
1
|
+
"""
|
2
|
+
pygments.lexers.mips
|
3
|
+
~~~~~~~~~~~~~~~~~~~~
|
4
|
+
|
5
|
+
Lexers for MIPS assembly.
|
6
|
+
|
7
|
+
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
|
8
|
+
:license: BSD, see LICENSE for details.
|
9
|
+
"""
|
10
|
+
|
11
|
+
from pygments.lexer import RegexLexer, words
|
12
|
+
from pygments.token import Whitespace, Comment, String, Keyword, Name, Text
|
13
|
+
|
14
|
+
__all__ = ["MIPSLexer"]
|
15
|
+
|
16
|
+
|
17
|
+
class MIPSLexer(RegexLexer):
|
18
|
+
"""
|
19
|
+
A MIPS Assembly Lexer.
|
20
|
+
|
21
|
+
Based on the Emacs major mode by hlissner:
|
22
|
+
https://github.com/hlissner/emacs-mips-mode
|
23
|
+
"""
|
24
|
+
|
25
|
+
name = 'MIPS'
|
26
|
+
aliases = ['mips']
|
27
|
+
# TODO: add '*.s' and '*.asm', which will require designing an analyse_text
|
28
|
+
# method for this lexer and refactoring those from Gas and Nasm in order to
|
29
|
+
# have relatively reliable detection
|
30
|
+
filenames = ['*.mips', '*.MIPS']
|
31
|
+
|
32
|
+
keywords = [
|
33
|
+
# Arithmetic insturctions
|
34
|
+
"add", "sub", "subu", "addi", "subi", "addu", "addiu",
|
35
|
+
# Multiplication/division
|
36
|
+
"mul", "mult", "multu", "mulu", "madd", "maddu", "msub", "msubu", "div", "divu",
|
37
|
+
# Bitwise operations
|
38
|
+
"and", "or", "nor", "xor", "andi", "ori", "xori", "clo", "clz",
|
39
|
+
# Shifts
|
40
|
+
"sll", "srl", "sllv", "srlv", "sra", "srav",
|
41
|
+
# Comparisons
|
42
|
+
"slt", "sltu", "slti", "sltiu",
|
43
|
+
# Move data
|
44
|
+
"mfhi", "mthi", "mflo", "mtlo", "movn", "movz", "movf", "movt",
|
45
|
+
# Jump
|
46
|
+
"j", "jal", "jalr", "jr",
|
47
|
+
# branch
|
48
|
+
"bc1f", "bc1t", "beq", "bgez", "bgezal", "bgtz", "blez", "bltzal", "bltz", "bne",
|
49
|
+
# Load
|
50
|
+
"lui", "lb", "lbu", "lh", "lhu", "lw", "lwcl", "lwl", "lwr",
|
51
|
+
# Store
|
52
|
+
"sb", "sh", "sw", "swl", "swr", # coproc: swc1 sdc1
|
53
|
+
# Concurrent load/store
|
54
|
+
"ll", "sc",
|
55
|
+
# Trap handling
|
56
|
+
"teq", "teqi", "tne", "tneqi", "tge", "tgeu", "tgei", "tgeiu", "tlt", "tltu", "tlti",
|
57
|
+
"tltiu",
|
58
|
+
# Exception / Interrupt
|
59
|
+
"eret", "break", "bop", "syscall",
|
60
|
+
# --- Floats -----------------------------------------------------
|
61
|
+
# Arithmetic
|
62
|
+
"add.s", "add.d", "sub.s", "sub.d", "mul.s", "mul.d", "div.s", "div.d", "neg.d",
|
63
|
+
"neg.s",
|
64
|
+
# Comparison
|
65
|
+
"c.e.d", "c.e.s", "c.le.d", "c.le.s", "c.lt.s", "c.lt.d", # "c.gt.s", "c.gt.d",
|
66
|
+
"madd.s", "madd.d", "msub.s", "msub.d",
|
67
|
+
# Move Floats
|
68
|
+
"mov.d", "move.s", "movf.d", "movf.s", "movt.d", "movt.s", "movn.d", "movn.s",
|
69
|
+
"movnzd", "movz.s", "movz.d",
|
70
|
+
# Conversion
|
71
|
+
"cvt.d.s", "cvt.d.w", "cvt.s.d", "cvt.s.w", "cvt.w.d", "cvt.w.s", "trunc.w.d",
|
72
|
+
"trunc.w.s",
|
73
|
+
# Math
|
74
|
+
"abs.s", "abs.d", "sqrt.s", "sqrt.d", "ceil.w.d", "ceil.w.s", "floor.w.d",
|
75
|
+
"floor.w.s", "round.w.d", "round.w.s",
|
76
|
+
]
|
77
|
+
|
78
|
+
pseudoinstructions = [
|
79
|
+
# Arithmetic & logical
|
80
|
+
"rem", "remu", "mulo", "mulou", "abs", "neg", "negu", "not", "rol", "ror",
|
81
|
+
# branches
|
82
|
+
"b", "beqz", "bge", "bgeu", "bgt", "bgtu", "ble", "bleu", "blt", "bltu", "bnez",
|
83
|
+
# loads
|
84
|
+
"la", "li", "ld", "ulh", "ulhu", "ulw",
|
85
|
+
# Store
|
86
|
+
"sd", "ush", "usw",
|
87
|
+
# move
|
88
|
+
"move", # coproc: "mfc1.d",
|
89
|
+
# comparisons
|
90
|
+
"sgt", "sgtu", "sge", "sgeu", "sle", "sleu", "sne", "seq",
|
91
|
+
# --- Floats -----------------------------------------------------
|
92
|
+
# load-store
|
93
|
+
"l.d", "l.s", "s.d", "s.s",
|
94
|
+
]
|
95
|
+
|
96
|
+
directives = [
|
97
|
+
".align", ".ascii", ".asciiz", ".byte", ".data", ".double", ".extern", ".float",
|
98
|
+
".globl", ".half", ".kdata", ".ktext", ".space", ".text", ".word",
|
99
|
+
]
|
100
|
+
|
101
|
+
deprecated = [
|
102
|
+
"beql", "bnel", "bgtzl", "bgezl", "bltzl", "blezl", "bltzall", "bgezall",
|
103
|
+
]
|
104
|
+
|
105
|
+
tokens = {
|
106
|
+
'root': [
|
107
|
+
(r'\s+', Whitespace),
|
108
|
+
(r'#.*', Comment),
|
109
|
+
(r'"', String, 'string'),
|
110
|
+
(r'-?[0-9]+?', Keyword.Constant),
|
111
|
+
(r'\w*:', Name.Function),
|
112
|
+
(words(deprecated, suffix=r'\b'), Keyword.Pseudo), # need warning face
|
113
|
+
(words(pseudoinstructions, suffix=r'\b'), Name.Variable),
|
114
|
+
(words(keywords, suffix=r'\b'), Keyword),
|
115
|
+
(r'[slm][ftwd]c[0-9]([.]d)?', Keyword),
|
116
|
+
(r'\$(f?[0-2][0-9]|f?3[01]|[ft]?[0-9]|[vk][01]|a[0-3]|s[0-7]|[gsf]p|ra|at|zero)',
|
117
|
+
Keyword.Type),
|
118
|
+
(words(directives, suffix=r'\b'), Name.Entity), # Preprocessor?
|
119
|
+
(r':|,|;|\{|\}|=>|@|\$|=', Name.Builtin),
|
120
|
+
(r'\w+', Text),
|
121
|
+
(r'.', Text),
|
122
|
+
],
|
123
|
+
'string': [
|
124
|
+
(r'\\.', String.Escape),
|
125
|
+
(r'"', String, '#pop'),
|
126
|
+
(r'[^\\"]+', String),
|
127
|
+
],
|
128
|
+
}
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexers for ML family 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
|
|
@@ -55,7 +55,7 @@ class SMLLexer(RegexLexer):
|
|
55
55
|
# A character constant is a sequence of the form #s, where s is a string
|
56
56
|
# constant denoting a string of size one character. This setup just parses
|
57
57
|
# the entire string as either a String.Double or a String.Char (depending
|
58
|
-
# on the argument), even if the String.Char is an
|
58
|
+
# on the argument), even if the String.Char is an erroneous
|
59
59
|
# multiple-character string.
|
60
60
|
def stringy(whatkind):
|
61
61
|
return [
|
@@ -360,6 +360,7 @@ class OcamlLexer(RegexLexer):
|
|
360
360
|
"""
|
361
361
|
|
362
362
|
name = 'OCaml'
|
363
|
+
url = 'https://ocaml.org/'
|
363
364
|
aliases = ['ocaml']
|
364
365
|
filenames = ['*.ml', '*.mli', '*.mll', '*.mly']
|
365
366
|
mimetypes = ['text/x-ocaml']
|
@@ -446,7 +447,7 @@ class OcamlLexer(RegexLexer):
|
|
446
447
|
|
447
448
|
class OpaLexer(RegexLexer):
|
448
449
|
"""
|
449
|
-
Lexer for the Opa language
|
450
|
+
Lexer for the Opa language.
|
450
451
|
|
451
452
|
.. versionadded:: 1.5
|
452
453
|
"""
|
@@ -769,12 +770,13 @@ class OpaLexer(RegexLexer):
|
|
769
770
|
|
770
771
|
class ReasonLexer(RegexLexer):
|
771
772
|
"""
|
772
|
-
For the ReasonML language
|
773
|
+
For the ReasonML language.
|
773
774
|
|
774
775
|
.. versionadded:: 2.6
|
775
776
|
"""
|
776
777
|
|
777
778
|
name = 'ReasonML'
|
779
|
+
url = 'https://reasonml.github.io/'
|
778
780
|
aliases = ['reasonml', 'reason']
|
779
781
|
filenames = ['*.re', '*.rei']
|
780
782
|
mimetypes = ['text/x-reasonml']
|
@@ -861,11 +863,12 @@ class ReasonLexer(RegexLexer):
|
|
861
863
|
|
862
864
|
class FStarLexer(RegexLexer):
|
863
865
|
"""
|
864
|
-
For the F* language
|
866
|
+
For the F* language.
|
865
867
|
.. versionadded:: 2.7
|
866
868
|
"""
|
867
869
|
|
868
870
|
name = 'FStar'
|
871
|
+
url = 'https://www.fstar-lang.org/'
|
869
872
|
aliases = ['fstar']
|
870
873
|
filenames = ['*.fst', '*.fsti']
|
871
874
|
mimetypes = ['text/x-fstar']
|
@@ -908,7 +911,7 @@ class FStarLexer(RegexLexer):
|
|
908
911
|
(r'\b([A-Z][\w\']*)(?=\s*\.)', Name.Namespace, 'dotted'),
|
909
912
|
(r'\b([A-Z][\w\']*)', Name.Class),
|
910
913
|
(r'\(\*(?![)])', Comment, 'comment'),
|
911
|
-
(r'
|
914
|
+
(r'\/\/.+$', Comment),
|
912
915
|
(r'\b(%s)\b' % '|'.join(keywords), Keyword),
|
913
916
|
(r'\b(%s)\b' % '|'.join(assume_keywords), Name.Exception),
|
914
917
|
(r'\b(%s)\b' % '|'.join(decl_keywords), Keyword.Declaration),
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexers for modeling 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
|
|
@@ -22,11 +22,12 @@ __all__ = ['ModelicaLexer', 'BugsLexer', 'JagsLexer', 'StanLexer']
|
|
22
22
|
|
23
23
|
class ModelicaLexer(RegexLexer):
|
24
24
|
"""
|
25
|
-
For
|
25
|
+
For Modelica source code.
|
26
26
|
|
27
27
|
.. versionadded:: 1.1
|
28
28
|
"""
|
29
29
|
name = 'Modelica'
|
30
|
+
url = 'http://www.modelica.org/'
|
30
31
|
aliases = ['modelica']
|
31
32
|
filenames = ['*.mo']
|
32
33
|
mimetypes = ['text/x-modelica']
|
@@ -97,7 +98,7 @@ class ModelicaLexer(RegexLexer):
|
|
97
98
|
|
98
99
|
class BugsLexer(RegexLexer):
|
99
100
|
"""
|
100
|
-
Pygments Lexer for
|
101
|
+
Pygments Lexer for OpenBugs and WinBugs
|
101
102
|
models.
|
102
103
|
|
103
104
|
.. versionadded:: 1.6
|
@@ -303,7 +304,6 @@ class StanLexer(RegexLexer):
|
|
303
304
|
(r'(//|#).*$', Comment.Single),
|
304
305
|
],
|
305
306
|
'root': [
|
306
|
-
# Stan is more restrictive on strings than this regex
|
307
307
|
(r'"[^"]*"', String),
|
308
308
|
# Comments
|
309
309
|
include('comments'),
|
@@ -325,7 +325,7 @@ class StanLexer(RegexLexer):
|
|
325
325
|
(r'(%s)\b' % r'|'.join(_stan_builtins.TYPES), Keyword.Type),
|
326
326
|
# < should be punctuation, but elsewhere I can't tell if it is in
|
327
327
|
# a range constraint
|
328
|
-
(r'(<)(\s*)(upper|lower)(\s*)(=)',
|
328
|
+
(r'(<)(\s*)(upper|lower|offset|multiplier)(\s*)(=)',
|
329
329
|
bygroups(Operator, Whitespace, Keyword, Whitespace, Punctuation)),
|
330
330
|
(r'(,)(\s*)(upper)(\s*)(=)',
|
331
331
|
bygroups(Punctuation, Whitespace, Keyword, Whitespace, Punctuation)),
|
@@ -340,17 +340,21 @@ class StanLexer(RegexLexer):
|
|
340
340
|
(r'(%s)\b' % r'|'.join(_stan_builtins.RESERVED), Keyword.Reserved),
|
341
341
|
# user-defined functions
|
342
342
|
(r'[A-Za-z]\w*(?=\s*\()]', Name.Function),
|
343
|
-
#
|
344
|
-
(r'[
|
343
|
+
# Imaginary Literals
|
344
|
+
(r'[0-9]+(\.[0-9]*)?([eE][+-]?[0-9]+)?i', Number.Float),
|
345
|
+
(r'\.[0-9]+([eE][+-]?[0-9]+)?i', Number.Float),
|
346
|
+
(r'[0-9]+i', Number.Float),
|
345
347
|
# Real Literals
|
346
348
|
(r'[0-9]+(\.[0-9]*)?([eE][+-]?[0-9]+)?', Number.Float),
|
347
349
|
(r'\.[0-9]+([eE][+-]?[0-9]+)?', Number.Float),
|
348
350
|
# Integer Literals
|
349
351
|
(r'[0-9]+', Number.Integer),
|
352
|
+
# Regular variable names
|
353
|
+
(r'[A-Za-z]\w*\b', Name),
|
350
354
|
# Assignment operators
|
351
355
|
(r'<-|(?:\+|-|\.?/|\.?\*|=)?=|~', Operator),
|
352
356
|
# Infix, prefix and postfix operators (and = )
|
353
|
-
(r"\+|-|\.?\*|\.?/|\\|'
|
357
|
+
(r"\+|-|\.?\*|\.?/|\\|'|\.?\^|!=?|<=?|>=?|\|\||&&|%|\?|:|%/%|!", Operator),
|
354
358
|
# Block delimiters
|
355
359
|
(r'[{}]', Punctuation),
|
356
360
|
# Distribution |
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Multi-Dialect Lexer for Modula-2.
|
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
|
|
@@ -21,7 +21,7 @@ __all__ = ['Modula2Lexer']
|
|
21
21
|
# Multi-Dialect Modula-2 Lexer
|
22
22
|
class Modula2Lexer(RegexLexer):
|
23
23
|
"""
|
24
|
-
For
|
24
|
+
For Modula-2 source code.
|
25
25
|
|
26
26
|
The Modula-2 lexer supports several dialects. By default, it operates in
|
27
27
|
fallback mode, recognising the *combined* literals, punctuation symbols
|
@@ -159,6 +159,7 @@ class Modula2Lexer(RegexLexer):
|
|
159
159
|
Added multi-dialect support.
|
160
160
|
"""
|
161
161
|
name = 'Modula-2'
|
162
|
+
url = 'http://www.modula2.org/'
|
162
163
|
aliases = ['modula2', 'm2']
|
163
164
|
filenames = ['*.def', '*.mod']
|
164
165
|
mimetypes = ['text/x-modula2']
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexer for the Monte programming language.
|
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
|
|
@@ -77,11 +77,12 @@ _safeScope = [
|
|
77
77
|
|
78
78
|
class MonteLexer(RegexLexer):
|
79
79
|
"""
|
80
|
-
Lexer for the
|
80
|
+
Lexer for the Monte programming language.
|
81
81
|
|
82
82
|
.. versionadded:: 2.2
|
83
83
|
"""
|
84
84
|
name = 'Monte'
|
85
|
+
url = 'https://monte.readthedocs.io/'
|
85
86
|
aliases = ['monte']
|
86
87
|
filenames = ['*.mt']
|
87
88
|
|
@@ -5,7 +5,7 @@
|
|
5
5
|
Lexers for the mosel language.
|
6
6
|
http://www.fico.com/en/products/fico-xpress-optimization
|
7
7
|
|
8
|
-
:copyright: Copyright 2006-
|
8
|
+
:copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
|
9
9
|
:license: BSD, see LICENSE for details.
|
10
10
|
"""
|
11
11
|
|
@@ -4,13 +4,13 @@
|
|
4
4
|
|
5
5
|
Lexer for the Nim language (formerly known as Nimrod).
|
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
11
|
import re
|
12
12
|
|
13
|
-
from pygments.lexer import RegexLexer, include, default
|
13
|
+
from pygments.lexer import RegexLexer, include, default, bygroups
|
14
14
|
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
|
15
15
|
Number, Punctuation, Error
|
16
16
|
|
@@ -19,36 +19,38 @@ __all__ = ['NimrodLexer']
|
|
19
19
|
|
20
20
|
class NimrodLexer(RegexLexer):
|
21
21
|
"""
|
22
|
-
For
|
22
|
+
For Nim source code.
|
23
23
|
|
24
24
|
.. versionadded:: 1.5
|
25
25
|
"""
|
26
26
|
|
27
27
|
name = 'Nimrod'
|
28
|
+
url = 'http://nim-lang.org/'
|
28
29
|
aliases = ['nimrod', 'nim']
|
29
30
|
filenames = ['*.nim', '*.nimrod']
|
30
31
|
mimetypes = ['text/x-nim']
|
31
32
|
|
32
|
-
flags = re.MULTILINE | re.IGNORECASE
|
33
|
+
flags = re.MULTILINE | re.IGNORECASE
|
33
34
|
|
34
35
|
def underscorize(words):
|
35
36
|
newWords = []
|
36
|
-
new =
|
37
|
+
new = []
|
37
38
|
for word in words:
|
38
39
|
for ch in word:
|
39
|
-
new
|
40
|
-
|
41
|
-
new
|
40
|
+
new.append(ch)
|
41
|
+
new.append("_?")
|
42
|
+
newWords.append(''.join(new))
|
43
|
+
new = []
|
42
44
|
return "|".join(newWords)
|
43
45
|
|
44
46
|
keywords = [
|
45
47
|
'addr', 'and', 'as', 'asm', 'bind', 'block', 'break', 'case',
|
46
48
|
'cast', 'concept', 'const', 'continue', 'converter', 'defer', 'discard',
|
47
49
|
'distinct', 'div', 'do', 'elif', 'else', 'end', 'enum', 'except',
|
48
|
-
'export', 'finally', 'for', '
|
49
|
-
'is', 'isnot', 'iterator', 'let', '
|
50
|
-
'not', 'notin', 'object', 'of', 'or', 'out', '
|
51
|
-
'ref', 'return', 'shl', 'shr', 'static', '
|
50
|
+
'export', 'finally', 'for', 'if', 'in', 'yield', 'interface',
|
51
|
+
'is', 'isnot', 'iterator', 'let', 'mixin', 'mod',
|
52
|
+
'not', 'notin', 'object', 'of', 'or', 'out', 'ptr', 'raise',
|
53
|
+
'ref', 'return', 'shl', 'shr', 'static', 'try',
|
52
54
|
'tuple', 'type', 'using', 'when', 'while', 'xor'
|
53
55
|
]
|
54
56
|
|
@@ -68,15 +70,27 @@ class NimrodLexer(RegexLexer):
|
|
68
70
|
|
69
71
|
tokens = {
|
70
72
|
'root': [
|
73
|
+
# Comments
|
74
|
+
(r'##\[', String.Doc, 'doccomment'),
|
71
75
|
(r'##.*$', String.Doc),
|
76
|
+
(r'#\[', Comment.Multiline, 'comment'),
|
72
77
|
(r'#.*$', Comment),
|
78
|
+
|
79
|
+
# Pragmas
|
80
|
+
(r'\{\.', String.Other, 'pragma'),
|
81
|
+
|
82
|
+
# Operators
|
73
83
|
(r'[*=><+\-/@$~&%!?|\\\[\]]', Operator),
|
74
84
|
(r'\.\.|\.|,|\[\.|\.\]|\{\.|\.\}|\(\.|\.\)|\{|\}|\(|\)|:|\^|`|;',
|
75
85
|
Punctuation),
|
76
86
|
|
87
|
+
# Case statement branch
|
88
|
+
(r'(\n\s*)(of)(\s)', bygroups(Text.Whitespace, Keyword,
|
89
|
+
Text.Whitespace), 'casebranch'),
|
90
|
+
|
77
91
|
# Strings
|
78
92
|
(r'(?:[\w]+)"', String, 'rdqs'),
|
79
|
-
(r'"""', String, 'tdqs'),
|
93
|
+
(r'"""', String.Double, 'tdqs'),
|
80
94
|
('"', String, 'dqs'),
|
81
95
|
|
82
96
|
# Char
|
@@ -84,15 +98,18 @@ class NimrodLexer(RegexLexer):
|
|
84
98
|
|
85
99
|
# Keywords
|
86
100
|
(r'(%s)\b' % underscorize(opWords), Operator.Word),
|
87
|
-
(r'(
|
101
|
+
(r'(proc|func|method|macro|template)(\s)(?![(\[\]])',
|
102
|
+
bygroups(Keyword, Text.Whitespace), 'funcname'),
|
88
103
|
(r'(%s)\b' % underscorize(keywords), Keyword),
|
89
|
-
(r'(%s)\b' % underscorize(['from', 'import', 'include']),
|
104
|
+
(r'(%s)\b' % underscorize(['from', 'import', 'include', 'export']),
|
90
105
|
Keyword.Namespace),
|
91
106
|
(r'(v_?a_?r)\b', Keyword.Declaration),
|
92
|
-
(r'(%s)\b' % underscorize(types),
|
107
|
+
(r'(%s)\b' % underscorize(types), Name.Builtin),
|
93
108
|
(r'(%s)\b' % underscorize(keywordsPseudo), Keyword.Pseudo),
|
109
|
+
|
94
110
|
# Identifiers
|
95
111
|
(r'\b((?![_\d])\w)(((?!_)\w)|(_(?!_)\w))*', Name),
|
112
|
+
|
96
113
|
# Numbers
|
97
114
|
(r'[0-9][0-9_]*(?=([e.]|\'f(32|64)))',
|
98
115
|
Number.Float, ('float-suffix', 'float-number')),
|
@@ -100,8 +117,9 @@ class NimrodLexer(RegexLexer):
|
|
100
117
|
(r'0b[01][01_]*', Number.Bin, 'int-suffix'),
|
101
118
|
(r'0o[0-7][0-7_]*', Number.Oct, 'int-suffix'),
|
102
119
|
(r'[0-9][0-9_]*', Number.Integer, 'int-suffix'),
|
120
|
+
|
103
121
|
# Whitespace
|
104
|
-
(r'\s+', Text),
|
122
|
+
(r'\s+', Text.Whitespace),
|
105
123
|
(r'.+$', Error),
|
106
124
|
],
|
107
125
|
'chars': [
|
@@ -118,6 +136,18 @@ class NimrodLexer(RegexLexer):
|
|
118
136
|
(r'\$', String)
|
119
137
|
# newlines are an error (use "nl" state)
|
120
138
|
],
|
139
|
+
'doccomment': [
|
140
|
+
(r'[^\]#]+', String.Doc),
|
141
|
+
(r'##\[', String.Doc, '#push'),
|
142
|
+
(r'\]##', String.Doc, '#pop'),
|
143
|
+
(r'[\]#]', String.Doc),
|
144
|
+
],
|
145
|
+
'comment': [
|
146
|
+
(r'[^\]#]+', Comment.Multiline),
|
147
|
+
(r'#\[', Comment.Multiline, '#push'),
|
148
|
+
(r'\]#', Comment.Multiline, '#pop'),
|
149
|
+
(r'[\]#]', Comment.Multiline),
|
150
|
+
],
|
121
151
|
'dqs': [
|
122
152
|
(r'\\([\\abcefnrtvl"\']|\n|x[a-f0-9]{2}|[0-9]{1,3})',
|
123
153
|
String.Escape),
|
@@ -130,9 +160,9 @@ class NimrodLexer(RegexLexer):
|
|
130
160
|
include('strings')
|
131
161
|
],
|
132
162
|
'tdqs': [
|
133
|
-
(r'"""
|
163
|
+
(r'"""', String.Double, '#pop'),
|
134
164
|
include('strings'),
|
135
|
-
|
165
|
+
(r'\n', String.Double)
|
136
166
|
],
|
137
167
|
'funcname': [
|
138
168
|
(r'((?![\d_])\w)(((?!_)\w)|(_(?!_)\w))*', Name.Function, '#pop'),
|
@@ -142,7 +172,7 @@ class NimrodLexer(RegexLexer):
|
|
142
172
|
(r'\n', String)
|
143
173
|
],
|
144
174
|
'float-number': [
|
145
|
-
(r'\.(?!\.)[0-9_]*', Number.Float),
|
175
|
+
(r'\.(?!\.)[0-9_]*[f]*', Number.Float),
|
146
176
|
(r'e[+-]?[0-9][0-9_]*', Number.Float),
|
147
177
|
default('#pop')
|
148
178
|
],
|
@@ -155,4 +185,16 @@ class NimrodLexer(RegexLexer):
|
|
155
185
|
(r'\'i(8|16)', Number.Integer),
|
156
186
|
default('#pop')
|
157
187
|
],
|
188
|
+
'casebranch': [
|
189
|
+
(r',', Punctuation),
|
190
|
+
(r'[\n ]+', Text.Whitespace),
|
191
|
+
(r':', Operator, '#pop'),
|
192
|
+
(r'\w+|[^:]', Name.Label),
|
193
|
+
],
|
194
|
+
'pragma': [
|
195
|
+
(r'[:,]', Text),
|
196
|
+
(r'[\n ]+', Text.Whitespace),
|
197
|
+
(r'\.\}', String.Other, '#pop'),
|
198
|
+
(r'\w+|\W+|[^.}]', String.Other),
|
199
|
+
],
|
158
200
|
}
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexer for the Nit language.
|
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,12 +17,13 @@ __all__ = ['NitLexer']
|
|
17
17
|
|
18
18
|
class NitLexer(RegexLexer):
|
19
19
|
"""
|
20
|
-
For
|
20
|
+
For nit source.
|
21
21
|
|
22
22
|
.. versionadded:: 2.0
|
23
23
|
"""
|
24
24
|
|
25
25
|
name = 'Nit'
|
26
|
+
url = 'http://nitlanguage.org'
|
26
27
|
aliases = ['nit']
|
27
28
|
filenames = ['*.nit']
|
28
29
|
tokens = {
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexers for the NixOS Nix language.
|
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
|
|
@@ -19,18 +19,17 @@ __all__ = ['NixLexer']
|
|
19
19
|
|
20
20
|
class NixLexer(RegexLexer):
|
21
21
|
"""
|
22
|
-
For the
|
22
|
+
For the Nix language.
|
23
23
|
|
24
24
|
.. versionadded:: 2.0
|
25
25
|
"""
|
26
26
|
|
27
27
|
name = 'Nix'
|
28
|
+
url = 'http://nixos.org/nix/'
|
28
29
|
aliases = ['nixos', 'nix']
|
29
30
|
filenames = ['*.nix']
|
30
31
|
mimetypes = ['text/x-nix']
|
31
32
|
|
32
|
-
flags = re.MULTILINE | re.UNICODE
|
33
|
-
|
34
33
|
keywords = ['rec', 'with', 'let', 'in', 'inherit', 'assert', 'if',
|
35
34
|
'else', 'then', '...']
|
36
35
|
builtins = ['import', 'abort', 'baseNameOf', 'dirOf', 'isNull', 'builtins',
|
@@ -103,7 +102,8 @@ class NixLexer(RegexLexer):
|
|
103
102
|
(r"''\t", String.Escape),
|
104
103
|
(r"''", String.Single, '#pop'),
|
105
104
|
(r'\$\{', String.Interpol, 'antiquote'),
|
106
|
-
(r"[
|
105
|
+
(r"['$]", String.Single),
|
106
|
+
(r"[^'$]+", String.Single),
|
107
107
|
],
|
108
108
|
'doublequote': [
|
109
109
|
(r'\\', String.Escape),
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexers for Oberon family 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
|
|
@@ -19,7 +19,7 @@ __all__ = ['ComponentPascalLexer']
|
|
19
19
|
|
20
20
|
class ComponentPascalLexer(RegexLexer):
|
21
21
|
"""
|
22
|
-
For
|
22
|
+
For Component Pascal source code.
|
23
23
|
|
24
24
|
.. versionadded:: 2.1
|
25
25
|
"""
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
Lexers for Objective-C family 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
|
|
@@ -175,12 +175,12 @@ def objective(baselexer):
|
|
175
175
|
return 0.8
|
176
176
|
return 0
|
177
177
|
|
178
|
-
def get_tokens_unprocessed(self, text):
|
178
|
+
def get_tokens_unprocessed(self, text, stack=('root',)):
|
179
179
|
from pygments.lexers._cocoa_builtins import COCOA_INTERFACES, \
|
180
180
|
COCOA_PROTOCOLS, COCOA_PRIMITIVES
|
181
181
|
|
182
182
|
for index, token, value in \
|
183
|
-
baselexer.get_tokens_unprocessed(self, text):
|
183
|
+
baselexer.get_tokens_unprocessed(self, text, stack):
|
184
184
|
if token is Name or token is Name.Class:
|
185
185
|
if value in COCOA_INTERFACES or value in COCOA_PROTOCOLS \
|
186
186
|
or value in COCOA_PRIMITIVES:
|
@@ -197,6 +197,7 @@ class ObjectiveCLexer(objective(CLexer)):
|
|
197
197
|
"""
|
198
198
|
|
199
199
|
name = 'Objective-C'
|
200
|
+
url = 'https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html'
|
200
201
|
aliases = ['objective-c', 'objectivec', 'obj-c', 'objc']
|
201
202
|
filenames = ['*.m', '*.h']
|
202
203
|
mimetypes = ['text/x-objective-c']
|
@@ -281,11 +282,12 @@ class LogosLexer(ObjectiveCppLexer):
|
|
281
282
|
|
282
283
|
class SwiftLexer(RegexLexer):
|
283
284
|
"""
|
284
|
-
For
|
285
|
+
For Swift source.
|
285
286
|
|
286
287
|
.. versionadded:: 2.0
|
287
288
|
"""
|
288
289
|
name = 'Swift'
|
290
|
+
url = 'https://www.swift.org/'
|
289
291
|
filenames = ['*.swift']
|
290
292
|
aliases = ['swift']
|
291
293
|
mimetypes = ['text/x-swift']
|