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,16 +4,16 @@
|
|
4
4
|
|
5
5
|
Lexers for JavaScript and related 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
|
|
11
11
|
import re
|
12
12
|
|
13
13
|
from pygments.lexer import bygroups, combined, default, do_insertions, include, \
|
14
|
-
inherit, Lexer, RegexLexer, this, using, words
|
14
|
+
inherit, Lexer, RegexLexer, this, using, words, line_re
|
15
15
|
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
|
16
|
-
Number, Punctuation, Other, Generic
|
16
|
+
Number, Punctuation, Other, Generic, Whitespace
|
17
17
|
from pygments.util import get_bool_opt
|
18
18
|
import pygments.unistring as uni
|
19
19
|
|
@@ -29,7 +29,6 @@ JS_IDENT_PART = ('(?:[$' + uni.combine('Lu', 'Ll', 'Lt', 'Lm', 'Lo', 'Nl',
|
|
29
29
|
'\u200c\u200d]|\\\\u[a-fA-F0-9]{4})')
|
30
30
|
JS_IDENT = JS_IDENT_START + '(?:' + JS_IDENT_PART + ')*'
|
31
31
|
|
32
|
-
line_re = re.compile('.*?\n')
|
33
32
|
|
34
33
|
class JavascriptLexer(RegexLexer):
|
35
34
|
"""
|
@@ -37,18 +36,19 @@ class JavascriptLexer(RegexLexer):
|
|
37
36
|
"""
|
38
37
|
|
39
38
|
name = 'JavaScript'
|
39
|
+
url = 'https://www.ecma-international.org/publications-and-standards/standards/ecma-262/'
|
40
40
|
aliases = ['javascript', 'js']
|
41
41
|
filenames = ['*.js', '*.jsm', '*.mjs', '*.cjs']
|
42
42
|
mimetypes = ['application/javascript', 'application/x-javascript',
|
43
43
|
'text/x-javascript', 'text/javascript']
|
44
44
|
|
45
|
-
flags = re.DOTALL | re.
|
45
|
+
flags = re.DOTALL | re.MULTILINE
|
46
46
|
|
47
47
|
tokens = {
|
48
48
|
'commentsandwhitespace': [
|
49
|
-
(r'\s+',
|
49
|
+
(r'\s+', Whitespace),
|
50
50
|
(r'<!--', Comment),
|
51
|
-
(r'
|
51
|
+
(r'//.*?$', Comment.Single),
|
52
52
|
(r'/\*.*?\*/', Comment.Multiline)
|
53
53
|
],
|
54
54
|
'slashstartsregex': [
|
@@ -59,10 +59,10 @@ class JavascriptLexer(RegexLexer):
|
|
59
59
|
default('#pop')
|
60
60
|
],
|
61
61
|
'badregex': [
|
62
|
-
(r'\n',
|
62
|
+
(r'\n', Whitespace, '#pop')
|
63
63
|
],
|
64
64
|
'root': [
|
65
|
-
(r'\A#!
|
65
|
+
(r'\A#! ?/.*?$', Comment.Hashbang), # recognized by node.js
|
66
66
|
(r'^(?=\s|/|<!--)', Text, 'slashstartsregex'),
|
67
67
|
include('commentsandwhitespace'),
|
68
68
|
|
@@ -110,7 +110,7 @@ class JavascriptLexer(RegexLexer):
|
|
110
110
|
|
111
111
|
# Match stuff like: super(argument, list)
|
112
112
|
(r'(super)(\s*)(\([\w,?.$\s]+\s*\))',
|
113
|
-
bygroups(Keyword,
|
113
|
+
bygroups(Keyword, Whitespace), 'slashstartsregex'),
|
114
114
|
# Match stuff like: function() {...}
|
115
115
|
(r'([a-zA-Z_?.$][\w?.$]*)(?=\(\) \{)', Name.Other, 'slashstartsregex'),
|
116
116
|
|
@@ -136,12 +136,13 @@ class JavascriptLexer(RegexLexer):
|
|
136
136
|
|
137
137
|
class TypeScriptLexer(JavascriptLexer):
|
138
138
|
"""
|
139
|
-
For
|
139
|
+
For TypeScript source code.
|
140
140
|
|
141
141
|
.. versionadded:: 1.6
|
142
142
|
"""
|
143
143
|
|
144
144
|
name = 'TypeScript'
|
145
|
+
url = 'https://www.typescriptlang.org/'
|
145
146
|
aliases = ['typescript', 'ts']
|
146
147
|
filenames = ['*.ts']
|
147
148
|
mimetypes = ['application/x-typescript', 'text/x-typescript']
|
@@ -159,11 +160,11 @@ class TypeScriptLexer(JavascriptLexer):
|
|
159
160
|
# Match variable type keywords
|
160
161
|
(r'\b(string|boolean|number)\b', Keyword.Type),
|
161
162
|
# Match stuff like: module name {...}
|
162
|
-
(r'\b(module)(\s*)(
|
163
|
-
bygroups(Keyword.Reserved,
|
163
|
+
(r'\b(module)(\s*)([\w?.$]+)(\s*)',
|
164
|
+
bygroups(Keyword.Reserved, Whitespace, Name.Other, Whitespace), 'slashstartsregex'),
|
164
165
|
# Match stuff like: (function: return type)
|
165
|
-
(r'([\w?.$]
|
166
|
-
bygroups(Name.Other,
|
166
|
+
(r'([\w?.$]+)(\s*)(:)(\s*)([\w?.$]+)',
|
167
|
+
bygroups(Name.Other, Whitespace, Operator, Whitespace, Keyword.Type)),
|
167
168
|
# Match stuff like: Decorators
|
168
169
|
(r'@' + JS_IDENT, Keyword.Declaration),
|
169
170
|
inherit,
|
@@ -173,15 +174,13 @@ class TypeScriptLexer(JavascriptLexer):
|
|
173
174
|
|
174
175
|
class KalLexer(RegexLexer):
|
175
176
|
"""
|
176
|
-
For
|
177
|
-
|
178
|
-
.. _Kal: http://rzimmerman.github.io/kal
|
179
|
-
|
177
|
+
For Kal source code.
|
180
178
|
|
181
179
|
.. versionadded:: 2.0
|
182
180
|
"""
|
183
181
|
|
184
182
|
name = 'Kal'
|
183
|
+
url = 'http://rzimmerman.github.io/kal'
|
185
184
|
aliases = ['kal']
|
186
185
|
filenames = ['*.kal']
|
187
186
|
mimetypes = ['text/kal', 'application/kal']
|
@@ -189,18 +188,20 @@ class KalLexer(RegexLexer):
|
|
189
188
|
flags = re.DOTALL
|
190
189
|
tokens = {
|
191
190
|
'commentsandwhitespace': [
|
192
|
-
(r'\s+',
|
191
|
+
(r'\s+', Whitespace),
|
193
192
|
(r'###[^#].*?###', Comment.Multiline),
|
194
|
-
(r'#(?!##[^#])
|
193
|
+
(r'(#(?!##[^#]).*?)(\n)', bygroups(Comment.Single, Whitespace)),
|
195
194
|
],
|
196
195
|
'functiondef': [
|
197
|
-
(r'[$a-zA-Z_][\w$]
|
196
|
+
(r'([$a-zA-Z_][\w$]*)(\s*)', bygroups(Name.Function, Whitespace),
|
197
|
+
'#pop'),
|
198
198
|
include('commentsandwhitespace'),
|
199
199
|
],
|
200
200
|
'classdef': [
|
201
|
-
(r'\
|
202
|
-
|
203
|
-
(r'[$a-zA-Z_][\w$]*\
|
201
|
+
(r'\b(inherits)(\s+)(from)\b',
|
202
|
+
bygroups(Keyword, Whitespace, Keyword)),
|
203
|
+
(r'([$a-zA-Z_][\w$]*)(?=\s*\n)', Name.Class, '#pop'),
|
204
|
+
(r'[$a-zA-Z_][\w$]*\b', Name.Class),
|
204
205
|
include('commentsandwhitespace'),
|
205
206
|
],
|
206
207
|
'listcomprehension': [
|
@@ -209,7 +210,7 @@ class KalLexer(RegexLexer):
|
|
209
210
|
include('root'),
|
210
211
|
],
|
211
212
|
'waitfor': [
|
212
|
-
(r'\n',
|
213
|
+
(r'\n', Whitespace, '#pop'),
|
213
214
|
(r'\bfrom\b', Keyword),
|
214
215
|
include('root'),
|
215
216
|
],
|
@@ -221,29 +222,48 @@ class KalLexer(RegexLexer):
|
|
221
222
|
Operator),
|
222
223
|
(r'\b(and|or|isnt|is|not|but|bitwise|mod|\^|xor|exists|'
|
223
224
|
r'doesnt\s+exist)\b', Operator.Word),
|
224
|
-
(r'(
|
225
|
+
(r'(\([^()]+\))?(\s*)(>)',
|
226
|
+
bygroups(Name.Function, Whitespace, Punctuation)),
|
225
227
|
(r'[{(]', Punctuation),
|
226
228
|
(r'\[', Punctuation, 'listcomprehension'),
|
227
229
|
(r'[})\].,]', Punctuation),
|
228
230
|
(r'\b(function|method|task)\b', Keyword.Declaration, 'functiondef'),
|
229
231
|
(r'\bclass\b', Keyword.Declaration, 'classdef'),
|
230
|
-
(r'\b(safe\s
|
232
|
+
(r'\b(safe(?=\s))?(\s*)(wait(?=\s))(\s+)(for)\b',
|
233
|
+
bygroups(Keyword, Whitespace, Keyword, Whitespace,
|
234
|
+
Keyword), 'waitfor'),
|
231
235
|
(r'\b(me|this)(\.[$a-zA-Z_][\w.$]*)?\b', Name.Variable.Instance),
|
232
|
-
(r'(?<![.$])(
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
(r'(?<![.$])(
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
236
|
+
(r'(?<![.$])(run)(\s+)(in)(\s+)(parallel)\b',
|
237
|
+
bygroups(Keyword, Whitespace, Keyword, Whitespace, Keyword)),
|
238
|
+
(r'(?<![.$])(for)(\s+)(parallel|series)?\b',
|
239
|
+
bygroups(Keyword, Whitespace, Keyword)),
|
240
|
+
(r'(?<![.$])(except)(\s+)(when)?\b',
|
241
|
+
bygroups(Keyword, Whitespace, Keyword)),
|
242
|
+
(r'(?<![.$])(fail)(\s+)(with)?\b',
|
243
|
+
bygroups(Keyword, Whitespace, Keyword)),
|
244
|
+
(r'(?<![.$])(inherits)(\s+)(from)?\b',
|
245
|
+
bygroups(Keyword, Whitespace, Keyword)),
|
246
|
+
(r'(?<![.$])(for)(\s+)(parallel|series)?\b',
|
247
|
+
bygroups(Keyword, Whitespace, Keyword)),
|
248
|
+
(words((
|
249
|
+
'in', 'of', 'while', 'until', 'break', 'return', 'continue',
|
250
|
+
'when', 'if', 'unless', 'else', 'otherwise', 'throw', 'raise',
|
251
|
+
'try', 'catch', 'finally', 'new', 'delete', 'typeof',
|
252
|
+
'instanceof', 'super'), prefix=r'(?<![.$])', suffix=r'\b'),
|
253
|
+
Keyword),
|
254
|
+
(words((
|
255
|
+
'true', 'false', 'yes', 'no', 'on', 'off', 'null', 'nothing',
|
256
|
+
'none', 'NaN', 'Infinity', 'undefined'), prefix=r'(?<![.$])',
|
257
|
+
suffix=r'\b'), Keyword.Constant),
|
258
|
+
(words((
|
259
|
+
'Array', 'Boolean', 'Date', 'Error', 'Function', 'Math',
|
260
|
+
'Number', 'Object', 'RegExp', 'String', 'decodeURI',
|
261
|
+
'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'eval',
|
262
|
+
'isFinite', 'isNaN', 'isSafeInteger', 'parseFloat', 'parseInt',
|
263
|
+
'document', 'window', 'globalThis', 'Symbol', 'print'),
|
264
|
+
suffix=r'\b'), Name.Builtin),
|
265
|
+
(r'([$a-zA-Z_][\w.$]*)(\s*)(:|[+\-*/]?\=)?\b',
|
266
|
+
bygroups(Name.Variable, Whitespace, Operator)),
|
247
267
|
(r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
|
248
268
|
(r'0x[0-9a-fA-F]+', Number.Hex),
|
249
269
|
(r'[0-9]+', Number.Integer),
|
@@ -288,14 +308,13 @@ class KalLexer(RegexLexer):
|
|
288
308
|
|
289
309
|
class LiveScriptLexer(RegexLexer):
|
290
310
|
"""
|
291
|
-
For
|
292
|
-
|
293
|
-
.. _LiveScript: https://livescript.net/
|
311
|
+
For LiveScript source code.
|
294
312
|
|
295
313
|
.. versionadded:: 1.6
|
296
314
|
"""
|
297
315
|
|
298
316
|
name = 'LiveScript'
|
317
|
+
url = 'https://livescript.net/'
|
299
318
|
aliases = ['livescript', 'live-script']
|
300
319
|
filenames = ['*.ls']
|
301
320
|
mimetypes = ['text/livescript']
|
@@ -303,9 +322,9 @@ class LiveScriptLexer(RegexLexer):
|
|
303
322
|
flags = re.DOTALL
|
304
323
|
tokens = {
|
305
324
|
'commentsandwhitespace': [
|
306
|
-
(r'\s+',
|
325
|
+
(r'\s+', Whitespace),
|
307
326
|
(r'/\*.*?\*/', Comment.Multiline),
|
308
|
-
(r'
|
327
|
+
(r'(#.*?)(\n)', bygroups(Comment.Single, Whitespace)),
|
309
328
|
],
|
310
329
|
'multilineregex': [
|
311
330
|
include('commentsandwhitespace'),
|
@@ -346,10 +365,13 @@ class LiveScriptLexer(RegexLexer):
|
|
346
365
|
r'decodeURIComponent|encodeURI|encodeURIComponent|'
|
347
366
|
r'eval|isFinite|isNaN|parseFloat|parseInt|document|window|'
|
348
367
|
r'globalThis|Symbol|Symbol|BigInt)\b', Name.Builtin),
|
349
|
-
(r'[$a-zA-Z_][\w.\-:$]
|
350
|
-
|
351
|
-
|
352
|
-
|
368
|
+
(r'([$a-zA-Z_][\w.\-:$]*)(\s*)([:=])(\s+)',
|
369
|
+
bygroups(Name.Variable, Whitespace, Operator, Whitespace),
|
370
|
+
'slashstartsregex'),
|
371
|
+
(r'(@[$a-zA-Z_][\w.\-:$]*)(\s*)([:=])(\s+)',
|
372
|
+
bygroups(Name.Variable.Instance, Whitespace, Operator,
|
373
|
+
Whitespace),
|
374
|
+
'slashstartsregex'),
|
353
375
|
(r'@', Name.Other, 'slashstartsregex'),
|
354
376
|
(r'@?[$a-zA-Z_][\w-]*', Name.Other, 'slashstartsregex'),
|
355
377
|
(r'[0-9]+\.[0-9]+([eE][0-9]+)?[fd]?(?:[a-zA-Z_]+)?', Number.Float),
|
@@ -399,12 +421,13 @@ class LiveScriptLexer(RegexLexer):
|
|
399
421
|
|
400
422
|
class DartLexer(RegexLexer):
|
401
423
|
"""
|
402
|
-
For
|
424
|
+
For Dart source code.
|
403
425
|
|
404
426
|
.. versionadded:: 1.5
|
405
427
|
"""
|
406
428
|
|
407
429
|
name = 'Dart'
|
430
|
+
url = 'http://dart.dev/'
|
408
431
|
aliases = ['dart']
|
409
432
|
filenames = ['*.dart']
|
410
433
|
mimetypes = ['text/x-dart']
|
@@ -417,11 +440,11 @@ class DartLexer(RegexLexer):
|
|
417
440
|
(r'#!(.*?)$', Comment.Preproc),
|
418
441
|
(r'\b(import|export)\b', Keyword, 'import_decl'),
|
419
442
|
(r'\b(library|source|part of|part)\b', Keyword),
|
420
|
-
(r'[^\S\n]+',
|
421
|
-
(r'
|
443
|
+
(r'[^\S\n]+', Whitespace),
|
444
|
+
(r'(//.*?)(\n)', bygroups(Comment.Single, Whitespace)),
|
422
445
|
(r'/\*.*?\*/', Comment.Multiline),
|
423
446
|
(r'\b(class|extension|mixin)\b(\s+)',
|
424
|
-
bygroups(Keyword.Declaration,
|
447
|
+
bygroups(Keyword.Declaration, Whitespace), 'class'),
|
425
448
|
(r'\b(as|assert|break|case|catch|const|continue|default|do|else|finally|'
|
426
449
|
r'for|if|in|is|new|rethrow|return|super|switch|this|throw|try|while)\b',
|
427
450
|
Keyword),
|
@@ -440,7 +463,7 @@ class DartLexer(RegexLexer):
|
|
440
463
|
# DIGIT+ (‘.’ DIGIT*)? EXPONENT?
|
441
464
|
(r'\d+(\.\d*)?([eE][+-]?\d+)?', Number),
|
442
465
|
(r'\.\d+([eE][+-]?\d+)?', Number), # ‘.’ DIGIT+ EXPONENT?
|
443
|
-
(r'\n',
|
466
|
+
(r'\n', Whitespace)
|
444
467
|
# pseudo-keyword negate intentionally left out
|
445
468
|
],
|
446
469
|
'class': [
|
@@ -448,7 +471,7 @@ class DartLexer(RegexLexer):
|
|
448
471
|
],
|
449
472
|
'import_decl': [
|
450
473
|
include('string_literal'),
|
451
|
-
(r'\s+',
|
474
|
+
(r'\s+', Whitespace),
|
452
475
|
(r'\b(as|deferred|show|hide)\b', Keyword),
|
453
476
|
(r'[a-zA-Z_$]\w*', Name),
|
454
477
|
(r'\,', Punctuation),
|
@@ -502,7 +525,7 @@ class DartLexer(RegexLexer):
|
|
502
525
|
|
503
526
|
class LassoLexer(RegexLexer):
|
504
527
|
"""
|
505
|
-
For
|
528
|
+
For Lasso source code, covering both Lasso 9
|
506
529
|
syntax and LassoScript for Lasso 8.6 and earlier. For Lasso embedded in
|
507
530
|
HTML, use the `LassoHtmlLexer`.
|
508
531
|
|
@@ -529,7 +552,7 @@ class LassoLexer(RegexLexer):
|
|
529
552
|
'root': [
|
530
553
|
(r'^#![ \S]+lasso9\b', Comment.Preproc, 'lasso'),
|
531
554
|
(r'(?=\[|<)', Other, 'delimiters'),
|
532
|
-
(r'\s+',
|
555
|
+
(r'\s+', Whitespace),
|
533
556
|
default(('delimiters', 'lassofile')),
|
534
557
|
],
|
535
558
|
'delimiters': [
|
@@ -565,8 +588,8 @@ class LassoLexer(RegexLexer):
|
|
565
588
|
include('lasso'),
|
566
589
|
],
|
567
590
|
'whitespacecomments': [
|
568
|
-
(r'\s+',
|
569
|
-
(r'
|
591
|
+
(r'\s+', Whitespace),
|
592
|
+
(r'(//.*?)(\s*)$', bygroups(Comment.Single, Whitespace)),
|
570
593
|
(r'/\*\*!.*?\*/', String.Doc),
|
571
594
|
(r'/\*.*?\*/', Comment.Multiline),
|
572
595
|
],
|
@@ -586,18 +609,20 @@ class LassoLexer(RegexLexer):
|
|
586
609
|
# names
|
587
610
|
(r'\$[a-z_][\w.]*', Name.Variable),
|
588
611
|
(r'#([a-z_][\w.]*|\d+\b)', Name.Variable.Instance),
|
589
|
-
(r"(
|
590
|
-
bygroups(Name.Builtin.Pseudo, Name.Variable.Class)),
|
591
|
-
(r"(self)(\s
|
592
|
-
bygroups(Name.Builtin.Pseudo, Operator,
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
|
612
|
+
(r"(\.)(\s*)('[a-z_][\w.]*')",
|
613
|
+
bygroups(Name.Builtin.Pseudo, Whitespace, Name.Variable.Class)),
|
614
|
+
(r"(self)(\s*)(->)(\s*)('[a-z_][\w.]*')",
|
615
|
+
bygroups(Name.Builtin.Pseudo, Whitespace, Operator, Whitespace,
|
616
|
+
Name.Variable.Class)),
|
617
|
+
(r'(\.\.?)(\s*)([a-z_][\w.]*(=(?!=))?)',
|
618
|
+
bygroups(Name.Builtin.Pseudo, Whitespace, Name.Other.Member)),
|
619
|
+
(r'(->\\?|&)(\s*)([a-z_][\w.]*(=(?!=))?)',
|
620
|
+
bygroups(Operator, Whitespace, Name.Other.Member)),
|
597
621
|
(r'(?<!->)(self|inherited|currentcapture|givenblock)\b',
|
598
622
|
Name.Builtin.Pseudo),
|
599
623
|
(r'-(?!infinity)[a-z_][\w.]*', Name.Attribute),
|
600
|
-
(r'
|
624
|
+
(r'(::)(\s*)([a-z_][\w.]*)',
|
625
|
+
bygroups(Punctuation, Whitespace, Name.Label)),
|
601
626
|
(r'(error_(code|msg)_\w+|Error_AddError|Error_ColumnRestriction|'
|
602
627
|
r'Error_DatabaseConnectionUnavailable|Error_DatabaseTimeout|'
|
603
628
|
r'Error_DeleteError|Error_FieldRestriction|Error_FileNotFound|'
|
@@ -609,18 +634,20 @@ class LassoLexer(RegexLexer):
|
|
609
634
|
r'Error_UpdateError)\b', Name.Exception),
|
610
635
|
|
611
636
|
# definitions
|
612
|
-
(r'(define)(\s+)([a-z_][\w.]*)(\s
|
613
|
-
bygroups(Keyword.Declaration,
|
614
|
-
|
615
|
-
|
616
|
-
|
637
|
+
(r'(define)(\s+)([a-z_][\w.]*)(\s*)(=>)(\s*)(type|trait|thread)\b',
|
638
|
+
bygroups(Keyword.Declaration, Whitespace, Name.Class,
|
639
|
+
Whitespace, Operator, Whitespace, Keyword)),
|
640
|
+
(r'(define)(\s+)([a-z_][\w.]*)(\s*)(->)(\s*)([a-z_][\w.]*=?|[-+*/%])',
|
641
|
+
bygroups(Keyword.Declaration, Whitespace, Name.Class,
|
642
|
+
Whitespace, Operator, Whitespace, Name.Function),
|
643
|
+
'signature'),
|
617
644
|
(r'(define)(\s+)([a-z_][\w.]*)',
|
618
|
-
bygroups(Keyword.Declaration,
|
645
|
+
bygroups(Keyword.Declaration, Whitespace, Name.Function), 'signature'),
|
619
646
|
(r'(public|protected|private|provide)(\s+)(([a-z_][\w.]*=?|[-+*/%])'
|
620
|
-
r'(?=\s*\())', bygroups(Keyword,
|
647
|
+
r'(?=\s*\())', bygroups(Keyword, Whitespace, Name.Function),
|
621
648
|
'signature'),
|
622
649
|
(r'(public|protected|private|provide)(\s+)([a-z_][\w.]*)',
|
623
|
-
bygroups(Keyword,
|
650
|
+
bygroups(Keyword, Whitespace, Name.Function)),
|
624
651
|
|
625
652
|
# keywords
|
626
653
|
(r'(true|false|none|minimal|full|all|void)\b', Keyword.Constant),
|
@@ -628,8 +655,8 @@ class LassoLexer(RegexLexer):
|
|
628
655
|
(r'(array|date|decimal|duration|integer|map|pair|string|tag|xml|'
|
629
656
|
r'null|boolean|bytes|keyword|list|locale|queue|set|stack|'
|
630
657
|
r'staticarray)\b', Keyword.Type),
|
631
|
-
(r'([a-z_][\w.]*)(\s+)(in)\b', bygroups(Name,
|
632
|
-
(r'(let|into)(\s+)([a-z_][\w.]*)', bygroups(Keyword,
|
658
|
+
(r'([a-z_][\w.]*)(\s+)(in)\b', bygroups(Name, Whitespace, Keyword)),
|
659
|
+
(r'(let|into)(\s+)([a-z_][\w.]*)', bygroups(Keyword, Whitespace, Name)),
|
633
660
|
(r'require\b', Keyword, 'requiresection'),
|
634
661
|
(r'(/?)(Namespace_Using)\b', bygroups(Punctuation, Keyword.Namespace)),
|
635
662
|
(r'(/?)(Cache|Database_Names|Database_SchemaNames|'
|
@@ -655,8 +682,9 @@ class LassoLexer(RegexLexer):
|
|
655
682
|
# other
|
656
683
|
(r',', Punctuation, 'commamember'),
|
657
684
|
(r'(and|or|not)\b', Operator.Word),
|
658
|
-
(r'([a-z_][\w.]*)(\s
|
659
|
-
bygroups(Name, Name.Label,
|
685
|
+
(r'([a-z_][\w.]*)(\s*)(::)(\s*)([a-z_][\w.]*)?(\s*=(?!=))',
|
686
|
+
bygroups(Name, Whitespace, Punctuation, Whitespace, Name.Label,
|
687
|
+
Operator)),
|
660
688
|
(r'(/?)([\w.]+)', bygroups(Punctuation, Name.Other)),
|
661
689
|
(r'(=)(n?bw|n?ew|n?cn|lte?|gte?|n?eq|n?rx|ft)\b',
|
662
690
|
bygroups(Operator, Operator.Word)),
|
@@ -695,7 +723,8 @@ class LassoLexer(RegexLexer):
|
|
695
723
|
(r'(([a-z_][\w.]*=?|[-+*/%])(?=\s*\())', Name, 'requiresignature'),
|
696
724
|
(r'(([a-z_][\w.]*=?|[-+*/%])(?=(\s*::\s*[\w.]+)?\s*,))', Name),
|
697
725
|
(r'[a-z_][\w.]*=?|[-+*/%]', Name, '#pop'),
|
698
|
-
(r'
|
726
|
+
(r'(::)(\s*)([a-z_][\w.]*)',
|
727
|
+
bygroups(Punctuation, Whitespace, Name.Label)),
|
699
728
|
(r',', Punctuation),
|
700
729
|
include('whitespacecomments'),
|
701
730
|
],
|
@@ -703,7 +732,8 @@ class LassoLexer(RegexLexer):
|
|
703
732
|
(r'(\)(?=(\s*::\s*[\w.]+)?\s*,))', Punctuation, '#pop'),
|
704
733
|
(r'\)', Punctuation, '#pop:2'),
|
705
734
|
(r'-?[a-z_][\w.]*', Name.Attribute),
|
706
|
-
(r'
|
735
|
+
(r'(::)(\s*)([a-z_][\w.]*)',
|
736
|
+
bygroups(Punctuation, Whitespace, Name.Label)),
|
707
737
|
(r'\.\.\.', Name.Builtin.Pseudo),
|
708
738
|
(r'[(,]', Punctuation),
|
709
739
|
include('whitespacecomments'),
|
@@ -770,7 +800,7 @@ class ObjectiveJLexer(RegexLexer):
|
|
770
800
|
mimetypes = ['text/x-objective-j']
|
771
801
|
|
772
802
|
#: optional Comment or Whitespace
|
773
|
-
_ws = r'(?:\s
|
803
|
+
_ws = r'(?:\s|//[^\n]*\n|/[*](?:[^*]|[*][^/])*[*]/)*'
|
774
804
|
|
775
805
|
flags = re.DOTALL | re.MULTILINE
|
776
806
|
|
@@ -784,11 +814,11 @@ class ObjectiveJLexer(RegexLexer):
|
|
784
814
|
using(this))),
|
785
815
|
|
786
816
|
# class definition
|
787
|
-
(r'(@interface|@implementation)(\s+)', bygroups(Keyword,
|
817
|
+
(r'(@interface|@implementation)(\s+)', bygroups(Keyword, Whitespace),
|
788
818
|
'classname'),
|
789
|
-
(r'(@class|@protocol)(\s*)', bygroups(Keyword,
|
819
|
+
(r'(@class|@protocol)(\s*)', bygroups(Keyword, Whitespace),
|
790
820
|
'forward_classname'),
|
791
|
-
(r'(\s*)(@end)(\s*)', bygroups(
|
821
|
+
(r'(\s*)(@end)(\s*)', bygroups(Whitespace, Keyword, Whitespace)),
|
792
822
|
|
793
823
|
include('statements'),
|
794
824
|
('[{()}]', Punctuation),
|
@@ -796,20 +826,20 @@ class ObjectiveJLexer(RegexLexer):
|
|
796
826
|
],
|
797
827
|
'whitespace': [
|
798
828
|
(r'(@import)(\s+)("(?:\\\\|\\"|[^"])*")',
|
799
|
-
bygroups(Comment.Preproc,
|
829
|
+
bygroups(Comment.Preproc, Whitespace, String.Double)),
|
800
830
|
(r'(@import)(\s+)(<(?:\\\\|\\>|[^>])*>)',
|
801
|
-
bygroups(Comment.Preproc,
|
831
|
+
bygroups(Comment.Preproc, Whitespace, String.Double)),
|
802
832
|
(r'(#(?:include|import))(\s+)("(?:\\\\|\\"|[^"])*")',
|
803
|
-
bygroups(Comment.Preproc,
|
833
|
+
bygroups(Comment.Preproc, Whitespace, String.Double)),
|
804
834
|
(r'(#(?:include|import))(\s+)(<(?:\\\\|\\>|[^>])*>)',
|
805
|
-
bygroups(Comment.Preproc,
|
835
|
+
bygroups(Comment.Preproc, Whitespace, String.Double)),
|
806
836
|
|
807
837
|
(r'#if\s+0', Comment.Preproc, 'if0'),
|
808
838
|
(r'#', Comment.Preproc, 'macro'),
|
809
839
|
|
810
|
-
(r'\
|
811
|
-
(r'\
|
812
|
-
|
840
|
+
(r'\s+', Whitespace),
|
841
|
+
(r'(\\)(\n)',
|
842
|
+
bygroups(String.Escape, Whitespace)), # line continuation
|
813
843
|
(r'//(\n|(.|\n)*?[^\\]\n)', Comment.Single),
|
814
844
|
(r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment.Multiline),
|
815
845
|
(r'<!--', Comment),
|
@@ -822,7 +852,7 @@ class ObjectiveJLexer(RegexLexer):
|
|
822
852
|
default('#pop'),
|
823
853
|
],
|
824
854
|
'badregex': [
|
825
|
-
(r'\n',
|
855
|
+
(r'\n', Whitespace, '#pop'),
|
826
856
|
],
|
827
857
|
'statements': [
|
828
858
|
(r'(L|@)?"', String, 'string'),
|
@@ -889,10 +919,10 @@ class ObjectiveJLexer(RegexLexer):
|
|
889
919
|
(r'([a-zA-Z_]\w*)', Name.Class, '#pop'),
|
890
920
|
],
|
891
921
|
'forward_classname': [
|
892
|
-
(r'([a-zA-Z_]\w*)(\s
|
893
|
-
bygroups(Name.Class, Text), '#push'),
|
894
|
-
(r'([a-zA-Z_]\w*)(\s
|
895
|
-
bygroups(Name.Class, Text), '#pop'),
|
922
|
+
(r'([a-zA-Z_]\w*)(\s*)(,)(\s*)',
|
923
|
+
bygroups(Name.Class, Whitespace, Text, Whitespace), '#push'),
|
924
|
+
(r'([a-zA-Z_]\w*)(\s*)(;?)',
|
925
|
+
bygroups(Name.Class, Whitespace, Text), '#pop'),
|
896
926
|
],
|
897
927
|
'function_signature': [
|
898
928
|
include('whitespace'),
|
@@ -955,21 +985,21 @@ class ObjectiveJLexer(RegexLexer):
|
|
955
985
|
(r'"', String, '#pop'),
|
956
986
|
(r'\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})', String.Escape),
|
957
987
|
(r'[^\\"\n]+', String), # all other characters
|
958
|
-
(r'
|
988
|
+
(r'(\\)(\n)', bygroups(String.Escape, Whitespace)), # line continuation
|
959
989
|
(r'\\', String), # stray backslash
|
960
990
|
],
|
961
991
|
'macro': [
|
962
992
|
(r'[^/\n]+', Comment.Preproc),
|
963
993
|
(r'/[*](.|\n)*?[*]/', Comment.Multiline),
|
964
|
-
(r'
|
994
|
+
(r'(//.*?)(\n)', bygroups(Comment.Single, Whitespace), '#pop'),
|
965
995
|
(r'/', Comment.Preproc),
|
966
|
-
(r'(?<=\\)\n',
|
967
|
-
(r'\n',
|
996
|
+
(r'(?<=\\)\n', Whitespace),
|
997
|
+
(r'\n', Whitespace, '#pop'),
|
968
998
|
],
|
969
999
|
'if0': [
|
970
1000
|
(r'^\s*#if.*?(?<!\\)\n', Comment.Preproc, '#push'),
|
971
1001
|
(r'^\s*#endif.*?(?<!\\)\n', Comment.Preproc, '#pop'),
|
972
|
-
(r'
|
1002
|
+
(r'(.*?)(\n)', bygroups(Comment, Whitespace)),
|
973
1003
|
]
|
974
1004
|
}
|
975
1005
|
|
@@ -982,14 +1012,13 @@ class ObjectiveJLexer(RegexLexer):
|
|
982
1012
|
|
983
1013
|
class CoffeeScriptLexer(RegexLexer):
|
984
1014
|
"""
|
985
|
-
For
|
986
|
-
|
987
|
-
.. _CoffeeScript: http://coffeescript.org
|
1015
|
+
For CoffeeScript source code.
|
988
1016
|
|
989
1017
|
.. versionadded:: 1.3
|
990
1018
|
"""
|
991
1019
|
|
992
1020
|
name = 'CoffeeScript'
|
1021
|
+
url = 'http://coffeescript.org'
|
993
1022
|
aliases = ['coffeescript', 'coffee-script', 'coffee']
|
994
1023
|
filenames = ['*.coffee']
|
995
1024
|
mimetypes = ['text/coffeescript']
|
@@ -1002,9 +1031,9 @@ class CoffeeScriptLexer(RegexLexer):
|
|
1002
1031
|
flags = re.DOTALL
|
1003
1032
|
tokens = {
|
1004
1033
|
'commentsandwhitespace': [
|
1005
|
-
(r'\s+',
|
1034
|
+
(r'\s+', Whitespace),
|
1006
1035
|
(r'###[^#].*?###', Comment.Multiline),
|
1007
|
-
(r'#(?!##[^#])
|
1036
|
+
(r'(#(?!##[^#]).*?)(\n)', bygroups(Comment.Single, Whitespace)),
|
1008
1037
|
],
|
1009
1038
|
'multilineregex': [
|
1010
1039
|
(r'[^/#]+', String.Regex),
|
@@ -1043,10 +1072,12 @@ class CoffeeScriptLexer(RegexLexer):
|
|
1043
1072
|
r'decodeURIComponent|encodeURI|encodeURIComponent|'
|
1044
1073
|
r'eval|isFinite|isNaN|parseFloat|parseInt|document|window|globalThis|Symbol)\b',
|
1045
1074
|
Name.Builtin),
|
1046
|
-
(r'[$a-zA-Z_][\w.:$]
|
1047
|
-
|
1048
|
-
|
1049
|
-
|
1075
|
+
(r'([$a-zA-Z_][\w.:$]*)(\s*)([:=])(\s+)',
|
1076
|
+
bygroups(Name.Variable, Whitespace, Operator, Whitespace),
|
1077
|
+
'slashstartsregex'),
|
1078
|
+
(r'(@[$a-zA-Z_][\w.:$]*)(\s*)([:=])(\s+)',
|
1079
|
+
bygroups(Name.Variable.Instance, Whitespace, Operator, Whitespace),
|
1080
|
+
'slashstartsregex'),
|
1050
1081
|
(r'@', Name.Other, 'slashstartsregex'),
|
1051
1082
|
(r'@?[$a-zA-Z_][\w$]*', Name.Other),
|
1052
1083
|
(r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
|
@@ -1095,11 +1126,12 @@ class CoffeeScriptLexer(RegexLexer):
|
|
1095
1126
|
|
1096
1127
|
class MaskLexer(RegexLexer):
|
1097
1128
|
"""
|
1098
|
-
For
|
1129
|
+
For Mask markup.
|
1099
1130
|
|
1100
1131
|
.. versionadded:: 2.0
|
1101
1132
|
"""
|
1102
1133
|
name = 'Mask'
|
1134
|
+
url = 'https://github.com/atmajs/MaskJS'
|
1103
1135
|
aliases = ['mask']
|
1104
1136
|
filenames = ['*.mask']
|
1105
1137
|
mimetypes = ['text/x-mask']
|
@@ -1107,8 +1139,8 @@ class MaskLexer(RegexLexer):
|
|
1107
1139
|
flags = re.MULTILINE | re.IGNORECASE | re.DOTALL
|
1108
1140
|
tokens = {
|
1109
1141
|
'root': [
|
1110
|
-
(r'\s+',
|
1111
|
-
(r'
|
1142
|
+
(r'\s+', Whitespace),
|
1143
|
+
(r'(//.*?)(\n)', bygroups(Comment.Single, Whitespace)),
|
1112
1144
|
(r'/\*.*?\*/', Comment.Multiline),
|
1113
1145
|
(r'[{};>]', Punctuation),
|
1114
1146
|
(r"'''", String, 'string-trpl-single'),
|
@@ -1143,19 +1175,23 @@ class MaskLexer(RegexLexer):
|
|
1143
1175
|
],
|
1144
1176
|
'interpolation': [
|
1145
1177
|
(r'\]', String.Interpol, '#pop'),
|
1146
|
-
(r'\s
|
1147
|
-
(r'\s
|
1178
|
+
(r'(\s*)(:)', bygroups(Whitespace, String.Interpol), 'expression'),
|
1179
|
+
(r'(\s*)(\w+)(:)', bygroups(Whitespace, Name.Other, Punctuation)),
|
1148
1180
|
(r'[^\]]+', String.Interpol)
|
1149
1181
|
],
|
1150
1182
|
'expression': [
|
1151
1183
|
(r'[^\]]+', using(JavascriptLexer), '#pop')
|
1152
1184
|
],
|
1153
1185
|
'node': [
|
1154
|
-
(r'\s+',
|
1186
|
+
(r'\s+', Whitespace),
|
1155
1187
|
(r'\.', Name.Variable.Class, 'node-class'),
|
1156
1188
|
(r'\#', Name.Function, 'node-id'),
|
1157
|
-
(r'style[ \t]
|
1158
|
-
|
1189
|
+
(r'(style)([ \t]*)(=)',
|
1190
|
+
bygroups(Name.Attribute, Whitespace, Operator),
|
1191
|
+
'node-attr-style-value'),
|
1192
|
+
(r'([\w:-]+)([ \t]*)(=)',
|
1193
|
+
bygroups(Name.Attribute, Whitespace, Operator),
|
1194
|
+
'node-attr-value'),
|
1159
1195
|
(r'[\w:-]+', Name.Attribute),
|
1160
1196
|
(r'[>{;]', Punctuation, '#pop')
|
1161
1197
|
],
|
@@ -1170,20 +1206,20 @@ class MaskLexer(RegexLexer):
|
|
1170
1206
|
default('#pop')
|
1171
1207
|
],
|
1172
1208
|
'node-attr-value': [
|
1173
|
-
(r'\s+',
|
1209
|
+
(r'\s+', Whitespace),
|
1174
1210
|
(r'\w+', Name.Variable, '#pop'),
|
1175
1211
|
(r"'", String, 'string-single-pop2'),
|
1176
1212
|
(r'"', String, 'string-double-pop2'),
|
1177
1213
|
default('#pop')
|
1178
1214
|
],
|
1179
1215
|
'node-attr-style-value': [
|
1180
|
-
(r'\s+',
|
1216
|
+
(r'\s+', Whitespace),
|
1181
1217
|
(r"'", String.Single, 'css-single-end'),
|
1182
1218
|
(r'"', String.Single, 'css-double-end'),
|
1183
1219
|
include('node-attr-value')
|
1184
1220
|
],
|
1185
1221
|
'css-base': [
|
1186
|
-
(r'\s+',
|
1222
|
+
(r'\s+', Whitespace),
|
1187
1223
|
(r";", Punctuation),
|
1188
1224
|
(r"[\w\-]+\s*:", Name.Builtin)
|
1189
1225
|
],
|
@@ -1210,9 +1246,7 @@ class MaskLexer(RegexLexer):
|
|
1210
1246
|
|
1211
1247
|
class EarlGreyLexer(RegexLexer):
|
1212
1248
|
"""
|
1213
|
-
For
|
1214
|
-
|
1215
|
-
.. _Earl-Grey: https://breuleux.github.io/earl-grey/
|
1249
|
+
For Earl-Grey source code.
|
1216
1250
|
|
1217
1251
|
.. versionadded: 2.1
|
1218
1252
|
"""
|
@@ -1224,12 +1258,12 @@ class EarlGreyLexer(RegexLexer):
|
|
1224
1258
|
|
1225
1259
|
tokens = {
|
1226
1260
|
'root': [
|
1227
|
-
(r'\n',
|
1261
|
+
(r'\n', Whitespace),
|
1228
1262
|
include('control'),
|
1229
1263
|
(r'[^\S\n]+', Text),
|
1230
|
-
(r'
|
1264
|
+
(r'(;;.*)(\n)', bygroups(Comment, Whitespace)),
|
1231
1265
|
(r'[\[\]{}:(),;]', Punctuation),
|
1232
|
-
(r'
|
1266
|
+
(r'(\\)(\n)', bygroups(String.Escape, Whitespace)),
|
1233
1267
|
(r'\\', Text),
|
1234
1268
|
include('errors'),
|
1235
1269
|
(words((
|
@@ -1268,7 +1302,7 @@ class EarlGreyLexer(RegexLexer):
|
|
1268
1302
|
bygroups(Punctuation, Name.Class.DBS)),
|
1269
1303
|
(r'(\[)([\^#][a-zA-Z$_](?:[\w$\-]*[\w$])?)(\])',
|
1270
1304
|
bygroups(Punctuation, Name.Entity.DBS, Punctuation)),
|
1271
|
-
(r'\s+',
|
1305
|
+
(r'\s+', Whitespace),
|
1272
1306
|
(r'%', Operator.DBS, '#pop'),
|
1273
1307
|
],
|
1274
1308
|
'import_paths': [
|
@@ -1298,8 +1332,8 @@ class EarlGreyLexer(RegexLexer):
|
|
1298
1332
|
(?!and|as|each\*|each|in|is|mod|of|or|when|where|with)
|
1299
1333
|
(?=(?:[+\-*/~^<>%&|?!@#.])?[a-zA-Z$_](?:[\w$-]*[\w$])?)''',
|
1300
1334
|
Keyword.Control),
|
1301
|
-
(r'([a-zA-Z$_](?:[\w$-]*[\w$])?)(?!\n)\s+(?=[\'"\d{\[(])',
|
1302
|
-
Keyword.Control),
|
1335
|
+
(r'([a-zA-Z$_](?:[\w$-]*[\w$])?)(?!\n)(\s+)(?=[\'"\d{\[(])',
|
1336
|
+
bygroups(Keyword.Control, Whitespace)),
|
1303
1337
|
(r'''(?x)
|
1304
1338
|
(?:
|
1305
1339
|
(?<=[%=])|
|
@@ -1308,11 +1342,11 @@ class EarlGreyLexer(RegexLexer):
|
|
1308
1342
|
(?<=each\*|where)
|
1309
1343
|
)(\s+)
|
1310
1344
|
([a-zA-Z$_](?:[\w$-]*[\w$])?)(:)''',
|
1311
|
-
bygroups(
|
1345
|
+
bygroups(Whitespace, Keyword.Control, Punctuation)),
|
1312
1346
|
(r'''(?x)
|
1313
1347
|
(?<![+\-*/~^<>%&|?!@#.])(\s+)
|
1314
1348
|
([a-zA-Z$_](?:[\w$-]*[\w$])?)(:)''',
|
1315
|
-
bygroups(
|
1349
|
+
bygroups(Whitespace, Keyword.Control, Punctuation)),
|
1316
1350
|
],
|
1317
1351
|
'nested': [
|
1318
1352
|
(r'''(?x)
|
@@ -1426,25 +1460,24 @@ class EarlGreyLexer(RegexLexer):
|
|
1426
1460
|
|
1427
1461
|
class JuttleLexer(RegexLexer):
|
1428
1462
|
"""
|
1429
|
-
For
|
1430
|
-
|
1431
|
-
.. _Juttle: https://github.com/juttle/juttle
|
1463
|
+
For Juttle source code.
|
1432
1464
|
|
1433
1465
|
.. versionadded:: 2.2
|
1434
1466
|
"""
|
1435
1467
|
|
1436
1468
|
name = 'Juttle'
|
1469
|
+
url = 'http://juttle.github.io/'
|
1437
1470
|
aliases = ['juttle']
|
1438
1471
|
filenames = ['*.juttle']
|
1439
1472
|
mimetypes = ['application/juttle', 'application/x-juttle',
|
1440
1473
|
'text/x-juttle', 'text/juttle']
|
1441
1474
|
|
1442
|
-
flags = re.DOTALL | re.
|
1475
|
+
flags = re.DOTALL | re.MULTILINE
|
1443
1476
|
|
1444
1477
|
tokens = {
|
1445
1478
|
'commentsandwhitespace': [
|
1446
|
-
(r'\s+',
|
1447
|
-
(r'
|
1479
|
+
(r'\s+', Whitespace),
|
1480
|
+
(r'(//.*?)(\n)', bygroups(Comment.Single, Whitespace)),
|
1448
1481
|
(r'/\*.*?\*/', Comment.Multiline)
|
1449
1482
|
],
|
1450
1483
|
'slashstartsregex': [
|
@@ -1525,8 +1558,9 @@ class NodeConsoleLexer(Lexer):
|
|
1525
1558
|
for match in line_re.finditer(text):
|
1526
1559
|
line = match.group()
|
1527
1560
|
if line.startswith('> '):
|
1528
|
-
insertions.append((len(curcode),
|
1529
|
-
[(0, Generic.Prompt, line[:
|
1561
|
+
insertions.append((len(curcode),
|
1562
|
+
[(0, Generic.Prompt, line[:1]),
|
1563
|
+
(1, Whitespace, line[1:2])]))
|
1530
1564
|
|
1531
1565
|
curcode += line[2:]
|
1532
1566
|
elif line.startswith('...'):
|
@@ -1534,21 +1568,21 @@ class NodeConsoleLexer(Lexer):
|
|
1534
1568
|
code = line.lstrip('.')
|
1535
1569
|
lead = len(line) - len(code)
|
1536
1570
|
|
1537
|
-
insertions.append((len(curcode),
|
1571
|
+
insertions.append((len(curcode),
|
1538
1572
|
[(0, Generic.Prompt, line[:lead])]))
|
1539
1573
|
|
1540
1574
|
curcode += code
|
1541
1575
|
else:
|
1542
1576
|
if curcode:
|
1543
|
-
yield from do_insertions(insertions,
|
1577
|
+
yield from do_insertions(insertions,
|
1544
1578
|
jslexer.get_tokens_unprocessed(curcode))
|
1545
1579
|
|
1546
1580
|
curcode = ''
|
1547
1581
|
insertions = []
|
1548
1582
|
|
1549
|
-
yield from do_insertions([],
|
1583
|
+
yield from do_insertions([],
|
1550
1584
|
jslexer.get_tokens_unprocessed(line))
|
1551
1585
|
|
1552
1586
|
if curcode:
|
1553
|
-
yield from do_insertions(insertions,
|
1587
|
+
yield from do_insertions(insertions,
|
1554
1588
|
jslexer.get_tokens_unprocessed(curcode))
|