pygments.rb 1.2.0 → 2.1.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 +5 -5
- data/.github/dependabot.yml +13 -0
- data/.github/workflows/ci.yml +40 -0
- data/.github/workflows/release.yml +24 -0
- data/.gitignore +5 -5
- data/.rubocop.yml +18 -0
- data/CHANGELOG.adoc +132 -0
- data/Gemfile +3 -1
- data/LICENSE +1 -1
- data/README.adoc +160 -0
- data/Rakefile +12 -21
- data/bench.rb +14 -8
- data/{cache-lexers.rb → cache_lexers.rb} +3 -2
- data/lexers +0 -0
- data/lib/pygments.rb +10 -11
- data/lib/pygments/lexer.rb +6 -6
- data/lib/pygments/mentos.py +23 -110
- data/lib/pygments/popen.rb +196 -275
- data/lib/pygments/version.rb +2 -2
- data/pygments.rb.gemspec +12 -10
- data/test/test_pygments.rb +50 -110
- data/vendor/pygments-main/{AUTHORS → Pygments-2.8.0.dist-info/AUTHORS} +26 -3
- data/vendor/pygments-main/Pygments-2.8.0.dist-info/INSTALLER +1 -0
- data/vendor/pygments-main/{LICENSE → Pygments-2.8.0.dist-info/LICENSE} +1 -1
- data/vendor/pygments-main/Pygments-2.8.0.dist-info/METADATA +48 -0
- data/vendor/pygments-main/Pygments-2.8.0.dist-info/RECORD +494 -0
- data/vendor/pygments-main/Pygments-2.8.0.dist-info/REQUESTED +0 -0
- data/vendor/pygments-main/Pygments-2.8.0.dist-info/WHEEL +5 -0
- data/vendor/pygments-main/Pygments-2.8.0.dist-info/entry_points.txt +3 -0
- data/vendor/pygments-main/Pygments-2.8.0.dist-info/top_level.txt +1 -0
- data/vendor/pygments-main/bin/pygmentize +8 -0
- data/vendor/pygments-main/pygments/__init__.py +6 -12
- data/vendor/pygments-main/pygments/__main__.py +17 -0
- data/vendor/pygments-main/pygments/cmdline.py +213 -184
- data/vendor/pygments-main/pygments/console.py +6 -10
- data/vendor/pygments-main/pygments/filter.py +4 -7
- data/vendor/pygments-main/pygments/filters/__init__.py +609 -22
- data/vendor/pygments-main/pygments/formatter.py +4 -5
- data/vendor/pygments-main/pygments/formatters/__init__.py +10 -10
- data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -4
- data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -2
- data/vendor/pygments-main/pygments/formatters/html.py +242 -139
- data/vendor/pygments-main/pygments/formatters/img.py +91 -50
- data/vendor/pygments-main/pygments/formatters/irc.py +39 -40
- data/vendor/pygments-main/pygments/formatters/latex.py +62 -33
- data/vendor/pygments-main/pygments/formatters/other.py +18 -17
- data/vendor/pygments-main/pygments/formatters/rtf.py +29 -30
- data/vendor/pygments-main/pygments/formatters/svg.py +40 -5
- data/vendor/pygments-main/pygments/formatters/terminal.py +25 -32
- data/vendor/pygments-main/pygments/formatters/terminal256.py +45 -14
- data/vendor/pygments-main/pygments/lexer.py +47 -44
- data/vendor/pygments-main/pygments/lexers/__init__.py +29 -17
- data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +5 -6
- data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +15 -16
- data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +21 -18
- data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1717 -1339
- data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +2 -5
- data/vendor/pygments-main/pygments/lexers/_mapping.py +79 -31
- data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +2 -3
- data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +1281 -0
- data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +439 -386
- data/vendor/pygments-main/pygments/lexers/_php_builtins.py +17 -21
- data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +73 -17
- data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +2 -3
- data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1 -4
- data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +151 -126
- data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +96 -58
- data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +112 -0
- data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +279 -0
- data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -2
- data/vendor/pygments-main/pygments/lexers/actionscript.py +14 -10
- data/vendor/pygments-main/pygments/lexers/agile.py +1 -2
- data/vendor/pygments-main/pygments/lexers/algebra.py +20 -2
- data/vendor/pygments-main/pygments/lexers/ambient.py +2 -3
- data/vendor/pygments-main/pygments/lexers/amdgpu.py +48 -0
- data/vendor/pygments-main/pygments/lexers/ampl.py +3 -4
- data/vendor/pygments-main/pygments/lexers/apl.py +15 -16
- data/vendor/pygments-main/pygments/lexers/archetype.py +4 -5
- data/vendor/pygments-main/pygments/lexers/arrow.py +116 -0
- data/vendor/pygments-main/pygments/lexers/asm.py +440 -77
- data/vendor/pygments-main/pygments/lexers/automation.py +7 -2
- data/vendor/pygments-main/pygments/lexers/bare.py +103 -0
- data/vendor/pygments-main/pygments/lexers/basic.py +168 -7
- data/vendor/pygments-main/pygments/lexers/bibtex.py +5 -6
- data/vendor/pygments-main/pygments/lexers/boa.py +101 -0
- data/vendor/pygments-main/pygments/lexers/business.py +19 -5
- data/vendor/pygments-main/pygments/lexers/c_cpp.py +138 -48
- data/vendor/pygments-main/pygments/lexers/c_like.py +67 -43
- data/vendor/pygments-main/pygments/lexers/capnproto.py +7 -8
- data/vendor/pygments-main/pygments/lexers/cddl.py +190 -0
- data/vendor/pygments-main/pygments/lexers/chapel.py +25 -16
- data/vendor/pygments-main/pygments/lexers/clean.py +135 -245
- data/vendor/pygments-main/pygments/lexers/compiled.py +1 -2
- data/vendor/pygments-main/pygments/lexers/configs.py +190 -38
- data/vendor/pygments-main/pygments/lexers/console.py +1 -2
- data/vendor/pygments-main/pygments/lexers/crystal.py +54 -81
- data/vendor/pygments-main/pygments/lexers/csound.py +288 -188
- data/vendor/pygments-main/pygments/lexers/css.py +28 -23
- data/vendor/pygments-main/pygments/lexers/d.py +12 -8
- data/vendor/pygments-main/pygments/lexers/dalvik.py +1 -2
- data/vendor/pygments-main/pygments/lexers/data.py +240 -98
- data/vendor/pygments-main/pygments/lexers/devicetree.py +108 -0
- data/vendor/pygments-main/pygments/lexers/diff.py +4 -5
- data/vendor/pygments-main/pygments/lexers/dotnet.py +46 -31
- data/vendor/pygments-main/pygments/lexers/dsls.py +146 -65
- data/vendor/pygments-main/pygments/lexers/dylan.py +16 -19
- data/vendor/pygments-main/pygments/lexers/ecl.py +17 -5
- data/vendor/pygments-main/pygments/lexers/eiffel.py +2 -3
- data/vendor/pygments-main/pygments/lexers/elm.py +5 -6
- data/vendor/pygments-main/pygments/lexers/email.py +150 -0
- data/vendor/pygments-main/pygments/lexers/erlang.py +29 -33
- data/vendor/pygments-main/pygments/lexers/esoteric.py +46 -20
- data/vendor/pygments-main/pygments/lexers/ezhil.py +21 -14
- data/vendor/pygments-main/pygments/lexers/factor.py +3 -4
- data/vendor/pygments-main/pygments/lexers/fantom.py +1 -2
- data/vendor/pygments-main/pygments/lexers/felix.py +1 -2
- data/vendor/pygments-main/pygments/lexers/floscript.py +82 -0
- data/vendor/pygments-main/pygments/lexers/forth.py +41 -41
- data/vendor/pygments-main/pygments/lexers/fortran.py +13 -10
- data/vendor/pygments-main/pygments/lexers/foxpro.py +2 -3
- data/vendor/pygments-main/pygments/lexers/freefem.py +897 -0
- data/vendor/pygments-main/pygments/lexers/functional.py +1 -2
- data/vendor/pygments-main/pygments/lexers/futhark.py +110 -0
- data/vendor/pygments-main/pygments/lexers/gdscript.py +345 -0
- data/vendor/pygments-main/pygments/lexers/go.py +2 -3
- data/vendor/pygments-main/pygments/lexers/grammar_notation.py +62 -6
- data/vendor/pygments-main/pygments/lexers/graph.py +14 -10
- data/vendor/pygments-main/pygments/lexers/graphics.py +274 -28
- data/vendor/pygments-main/pygments/lexers/graphviz.py +57 -0
- data/vendor/pygments-main/pygments/lexers/haskell.py +48 -22
- data/vendor/pygments-main/pygments/lexers/haxe.py +8 -9
- data/vendor/pygments-main/pygments/lexers/hdl.py +176 -90
- data/vendor/pygments-main/pygments/lexers/hexdump.py +1 -2
- data/vendor/pygments-main/pygments/lexers/html.py +37 -26
- data/vendor/pygments-main/pygments/lexers/idl.py +19 -9
- data/vendor/pygments-main/pygments/lexers/igor.py +244 -113
- data/vendor/pygments-main/pygments/lexers/inferno.py +2 -3
- data/vendor/pygments-main/pygments/lexers/installers.py +1 -2
- data/vendor/pygments-main/pygments/lexers/int_fiction.py +40 -16
- data/vendor/pygments-main/pygments/lexers/iolang.py +3 -4
- data/vendor/pygments-main/pygments/lexers/j.py +4 -5
- data/vendor/pygments-main/pygments/lexers/javascript.py +115 -104
- data/vendor/pygments-main/pygments/lexers/julia.py +44 -47
- data/vendor/pygments-main/pygments/lexers/jvm.py +368 -202
- data/vendor/pygments-main/pygments/lexers/lisp.py +887 -810
- data/vendor/pygments-main/pygments/lexers/make.py +12 -9
- data/vendor/pygments-main/pygments/lexers/markup.py +212 -45
- data/vendor/pygments-main/pygments/lexers/math.py +1 -2
- data/vendor/pygments-main/pygments/lexers/matlab.py +2705 -88
- data/vendor/pygments-main/pygments/lexers/mime.py +225 -0
- data/vendor/pygments-main/pygments/lexers/ml.py +203 -15
- data/vendor/pygments-main/pygments/lexers/modeling.py +26 -19
- data/vendor/pygments-main/pygments/lexers/modula2.py +27 -9
- data/vendor/pygments-main/pygments/lexers/monte.py +1 -2
- data/vendor/pygments-main/pygments/lexers/mosel.py +447 -0
- data/vendor/pygments-main/pygments/lexers/ncl.py +1 -2
- data/vendor/pygments-main/pygments/lexers/nimrod.py +4 -5
- data/vendor/pygments-main/pygments/lexers/nit.py +1 -2
- data/vendor/pygments-main/pygments/lexers/nix.py +1 -2
- data/vendor/pygments-main/pygments/lexers/oberon.py +17 -2
- data/vendor/pygments-main/pygments/lexers/objective.py +18 -19
- data/vendor/pygments-main/pygments/lexers/ooc.py +1 -2
- data/vendor/pygments-main/pygments/lexers/other.py +1 -2
- data/vendor/pygments-main/pygments/lexers/parasail.py +1 -2
- data/vendor/pygments-main/pygments/lexers/parsers.py +47 -83
- data/vendor/pygments-main/pygments/lexers/pascal.py +22 -23
- data/vendor/pygments-main/pygments/lexers/pawn.py +31 -28
- data/vendor/pygments-main/pygments/lexers/perl.py +260 -149
- data/vendor/pygments-main/pygments/lexers/php.py +66 -13
- data/vendor/pygments-main/pygments/lexers/pointless.py +70 -0
- data/vendor/pygments-main/pygments/lexers/pony.py +93 -0
- data/vendor/pygments-main/pygments/lexers/praat.py +38 -31
- data/vendor/pygments-main/pygments/lexers/prolog.py +38 -39
- data/vendor/pygments-main/pygments/lexers/promql.py +182 -0
- data/vendor/pygments-main/pygments/lexers/python.py +450 -231
- data/vendor/pygments-main/pygments/lexers/qvt.py +6 -7
- data/vendor/pygments-main/pygments/lexers/r.py +13 -276
- data/vendor/pygments-main/pygments/lexers/rdf.py +232 -40
- data/vendor/pygments-main/pygments/lexers/rebol.py +8 -9
- data/vendor/pygments-main/pygments/lexers/resource.py +2 -3
- data/vendor/pygments-main/pygments/lexers/ride.py +138 -0
- data/vendor/pygments-main/pygments/lexers/rnc.py +1 -2
- data/vendor/pygments-main/pygments/lexers/roboconf.py +1 -2
- data/vendor/pygments-main/pygments/lexers/robotframework.py +23 -32
- data/vendor/pygments-main/pygments/lexers/ruby.py +50 -46
- data/vendor/pygments-main/pygments/lexers/rust.py +76 -73
- data/vendor/pygments-main/pygments/lexers/sas.py +1 -2
- data/vendor/pygments-main/pygments/lexers/scdoc.py +82 -0
- data/vendor/pygments-main/pygments/lexers/scripting.py +79 -18
- data/vendor/pygments-main/pygments/lexers/sgf.py +60 -0
- data/vendor/pygments-main/pygments/lexers/shell.py +164 -49
- data/vendor/pygments-main/pygments/lexers/sieve.py +68 -0
- data/vendor/pygments-main/pygments/lexers/slash.py +184 -0
- data/vendor/pygments-main/pygments/lexers/smalltalk.py +2 -3
- data/vendor/pygments-main/pygments/lexers/smv.py +3 -4
- data/vendor/pygments-main/pygments/lexers/snobol.py +1 -2
- data/vendor/pygments-main/pygments/lexers/solidity.py +91 -0
- data/vendor/pygments-main/pygments/lexers/special.py +31 -28
- data/vendor/pygments-main/pygments/lexers/sql.py +330 -179
- data/vendor/pygments-main/pygments/lexers/stata.py +107 -45
- data/vendor/pygments-main/pygments/lexers/supercollider.py +8 -4
- data/vendor/pygments-main/pygments/lexers/tcl.py +1 -2
- data/vendor/pygments-main/pygments/lexers/templates.py +116 -136
- data/vendor/pygments-main/pygments/lexers/teraterm.py +334 -0
- data/vendor/pygments-main/pygments/lexers/testing.py +6 -7
- data/vendor/pygments-main/pygments/lexers/text.py +2 -2
- data/vendor/pygments-main/pygments/lexers/textedit.py +6 -7
- data/vendor/pygments-main/pygments/lexers/textfmts.py +146 -14
- data/vendor/pygments-main/pygments/lexers/theorem.py +74 -56
- data/vendor/pygments-main/pygments/lexers/tnt.py +262 -0
- data/vendor/pygments-main/pygments/lexers/trafficscript.py +1 -2
- data/vendor/pygments-main/pygments/lexers/typoscript.py +4 -12
- data/vendor/pygments-main/pygments/lexers/unicon.py +411 -0
- data/vendor/pygments-main/pygments/lexers/urbi.py +16 -4
- data/vendor/pygments-main/pygments/lexers/usd.py +89 -0
- data/vendor/pygments-main/pygments/lexers/varnish.py +4 -5
- data/vendor/pygments-main/pygments/lexers/verification.py +13 -11
- data/vendor/pygments-main/pygments/lexers/web.py +1 -2
- data/vendor/pygments-main/pygments/lexers/webidl.py +298 -0
- data/vendor/pygments-main/pygments/lexers/webmisc.py +35 -32
- data/vendor/pygments-main/pygments/lexers/whiley.py +5 -6
- data/vendor/pygments-main/pygments/lexers/x10.py +2 -3
- data/vendor/pygments-main/pygments/lexers/xorg.py +5 -5
- data/vendor/pygments-main/pygments/lexers/yang.py +103 -0
- data/vendor/pygments-main/pygments/lexers/zig.py +123 -0
- data/vendor/pygments-main/pygments/modeline.py +1 -2
- data/vendor/pygments-main/pygments/plugin.py +4 -3
- data/vendor/pygments-main/pygments/regexopt.py +1 -2
- data/vendor/pygments-main/pygments/scanner.py +2 -3
- data/vendor/pygments-main/pygments/sphinxext.py +2 -5
- data/vendor/pygments-main/pygments/style.py +61 -25
- data/vendor/pygments-main/pygments/styles/__init__.py +12 -5
- data/vendor/pygments-main/pygments/styles/abap.py +1 -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 -2
- data/vendor/pygments-main/pygments/styles/borland.py +1 -2
- data/vendor/pygments-main/pygments/styles/bw.py +1 -2
- data/vendor/pygments-main/pygments/styles/colorful.py +1 -2
- data/vendor/pygments-main/pygments/styles/default.py +1 -2
- 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/fruity.py +1 -2
- data/vendor/pygments-main/pygments/styles/igor.py +1 -2
- data/vendor/pygments-main/pygments/styles/inkpot.py +66 -0
- data/vendor/pygments-main/pygments/styles/lovelace.py +1 -2
- data/vendor/pygments-main/pygments/styles/manni.py +1 -2
- data/vendor/pygments-main/pygments/styles/material.py +118 -0
- data/vendor/pygments-main/pygments/styles/monokai.py +4 -4
- data/vendor/pygments-main/pygments/styles/murphy.py +1 -2
- data/vendor/pygments-main/pygments/styles/native.py +1 -2
- data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -2
- data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -2
- data/vendor/pygments-main/pygments/styles/pastie.py +1 -2
- data/vendor/pygments-main/pygments/styles/perldoc.py +1 -2
- data/vendor/pygments-main/pygments/styles/rainbow_dash.py +1 -2
- data/vendor/pygments-main/pygments/styles/rrt.py +1 -2
- data/vendor/pygments-main/pygments/styles/sas.py +1 -2
- data/vendor/pygments-main/pygments/styles/solarized.py +136 -0
- data/vendor/pygments-main/pygments/styles/stata_dark.py +40 -0
- data/vendor/pygments-main/pygments/styles/{stata.py → stata_light.py} +14 -16
- data/vendor/pygments-main/pygments/styles/tango.py +1 -2
- data/vendor/pygments-main/pygments/styles/trac.py +1 -2
- 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 -2
- data/vendor/pygments-main/pygments/styles/zenburn.py +80 -0
- data/vendor/pygments-main/pygments/token.py +1 -2
- data/vendor/pygments-main/pygments/unistring.py +47 -109
- data/vendor/pygments-main/pygments/util.py +16 -96
- metadata +76 -137
- data/CHANGELOG.md +0 -105
- data/README.md +0 -121
- data/circle.yml +0 -20
- data/test/test_data.c +0 -2581
- data/test/test_data.py +0 -514
- data/test/test_data_generated +0 -2582
- data/vendor/custom_lexers/github.py +0 -565
- data/vendor/pygments-main/CHANGES +0 -1186
- data/vendor/pygments-main/MANIFEST.in +0 -6
- data/vendor/pygments-main/Makefile +0 -65
- data/vendor/pygments-main/README.rst +0 -39
- data/vendor/pygments-main/REVISION +0 -1
- data/vendor/pygments-main/TODO +0 -12
- data/vendor/pygments-main/doc/Makefile +0 -153
- data/vendor/pygments-main/doc/_static/favicon.ico +0 -0
- data/vendor/pygments-main/doc/_static/logo_new.png +0 -0
- data/vendor/pygments-main/doc/_static/logo_only.png +0 -0
- data/vendor/pygments-main/doc/_templates/docssidebar.html +0 -3
- data/vendor/pygments-main/doc/_templates/indexsidebar.html +0 -25
- data/vendor/pygments-main/doc/_themes/pygments14/layout.html +0 -98
- data/vendor/pygments-main/doc/_themes/pygments14/static/bodybg.png +0 -0
- data/vendor/pygments-main/doc/_themes/pygments14/static/docbg.png +0 -0
- data/vendor/pygments-main/doc/_themes/pygments14/static/listitem.png +0 -0
- data/vendor/pygments-main/doc/_themes/pygments14/static/logo.png +0 -0
- data/vendor/pygments-main/doc/_themes/pygments14/static/pocoo.png +0 -0
- data/vendor/pygments-main/doc/_themes/pygments14/static/pygments14.css_t +0 -401
- data/vendor/pygments-main/doc/_themes/pygments14/theme.conf +0 -15
- data/vendor/pygments-main/doc/conf.py +0 -241
- data/vendor/pygments-main/doc/docs/api.rst +0 -354
- data/vendor/pygments-main/doc/docs/authors.rst +0 -4
- data/vendor/pygments-main/doc/docs/changelog.rst +0 -1
- data/vendor/pygments-main/doc/docs/cmdline.rst +0 -166
- data/vendor/pygments-main/doc/docs/filterdevelopment.rst +0 -71
- data/vendor/pygments-main/doc/docs/filters.rst +0 -41
- data/vendor/pygments-main/doc/docs/formatterdevelopment.rst +0 -169
- data/vendor/pygments-main/doc/docs/formatters.rst +0 -48
- data/vendor/pygments-main/doc/docs/index.rst +0 -66
- data/vendor/pygments-main/doc/docs/integrate.rst +0 -40
- data/vendor/pygments-main/doc/docs/java.rst +0 -70
- data/vendor/pygments-main/doc/docs/lexerdevelopment.rst +0 -728
- data/vendor/pygments-main/doc/docs/lexers.rst +0 -69
- data/vendor/pygments-main/doc/docs/moinmoin.rst +0 -39
- data/vendor/pygments-main/doc/docs/plugins.rst +0 -93
- data/vendor/pygments-main/doc/docs/quickstart.rst +0 -205
- data/vendor/pygments-main/doc/docs/rstdirective.rst +0 -22
- data/vendor/pygments-main/doc/docs/styles.rst +0 -201
- data/vendor/pygments-main/doc/docs/tokens.rst +0 -372
- data/vendor/pygments-main/doc/docs/unicode.rst +0 -58
- data/vendor/pygments-main/doc/download.rst +0 -41
- data/vendor/pygments-main/doc/faq.rst +0 -139
- data/vendor/pygments-main/doc/index.rst +0 -54
- data/vendor/pygments-main/doc/languages.rst +0 -154
- data/vendor/pygments-main/doc/make.bat +0 -190
- data/vendor/pygments-main/doc/pygmentize.1 +0 -94
- data/vendor/pygments-main/external/autopygmentize +0 -101
- data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +0 -162
- data/vendor/pygments-main/external/markdown-processor.py +0 -67
- data/vendor/pygments-main/external/moin-parser.py +0 -112
- data/vendor/pygments-main/external/pygments.bashcomp +0 -38
- data/vendor/pygments-main/external/rst-directive.py +0 -82
- data/vendor/pygments-main/pygmentize +0 -8
- data/vendor/pygments-main/pygments/lexers/github.py +0 -565
- data/vendor/pygments-main/requirements.txt +0 -5
- data/vendor/pygments-main/scripts/check_sources.py +0 -211
- data/vendor/pygments-main/scripts/debug_lexer.py +0 -246
- data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +0 -33
- data/vendor/pygments-main/scripts/epydoc.css +0 -280
- data/vendor/pygments-main/scripts/get_vimkw.py +0 -74
- data/vendor/pygments-main/scripts/pylintrc +0 -301
- data/vendor/pygments-main/scripts/vim2pygments.py +0 -935
- data/vendor/pygments-main/setup.cfg +0 -10
- data/vendor/pygments-main/setup.py +0 -77
- data/vendor/pygments-main/tox.ini +0 -7
- data/vendor/simplejson/.gitignore +0 -10
- data/vendor/simplejson/.travis.yml +0 -5
- data/vendor/simplejson/CHANGES.txt +0 -291
- data/vendor/simplejson/LICENSE.txt +0 -19
- data/vendor/simplejson/MANIFEST.in +0 -5
- data/vendor/simplejson/README.rst +0 -19
- data/vendor/simplejson/conf.py +0 -179
- data/vendor/simplejson/index.rst +0 -628
- data/vendor/simplejson/scripts/make_docs.py +0 -18
- data/vendor/simplejson/setup.py +0 -104
- data/vendor/simplejson/simplejson/__init__.py +0 -510
- data/vendor/simplejson/simplejson/_speedups.c +0 -2745
- data/vendor/simplejson/simplejson/decoder.py +0 -425
- data/vendor/simplejson/simplejson/encoder.py +0 -567
- data/vendor/simplejson/simplejson/ordered_dict.py +0 -119
- data/vendor/simplejson/simplejson/scanner.py +0 -77
- data/vendor/simplejson/simplejson/tests/__init__.py +0 -67
- data/vendor/simplejson/simplejson/tests/test_bigint_as_string.py +0 -55
- data/vendor/simplejson/simplejson/tests/test_check_circular.py +0 -30
- data/vendor/simplejson/simplejson/tests/test_decimal.py +0 -66
- data/vendor/simplejson/simplejson/tests/test_decode.py +0 -83
- data/vendor/simplejson/simplejson/tests/test_default.py +0 -9
- data/vendor/simplejson/simplejson/tests/test_dump.py +0 -67
- data/vendor/simplejson/simplejson/tests/test_encode_basestring_ascii.py +0 -46
- data/vendor/simplejson/simplejson/tests/test_encode_for_html.py +0 -32
- data/vendor/simplejson/simplejson/tests/test_errors.py +0 -34
- data/vendor/simplejson/simplejson/tests/test_fail.py +0 -91
- data/vendor/simplejson/simplejson/tests/test_float.py +0 -19
- data/vendor/simplejson/simplejson/tests/test_indent.py +0 -86
- data/vendor/simplejson/simplejson/tests/test_item_sort_key.py +0 -20
- data/vendor/simplejson/simplejson/tests/test_namedtuple.py +0 -121
- data/vendor/simplejson/simplejson/tests/test_pass1.py +0 -76
- data/vendor/simplejson/simplejson/tests/test_pass2.py +0 -14
- data/vendor/simplejson/simplejson/tests/test_pass3.py +0 -20
- data/vendor/simplejson/simplejson/tests/test_recursion.py +0 -67
- data/vendor/simplejson/simplejson/tests/test_scanstring.py +0 -117
- data/vendor/simplejson/simplejson/tests/test_separators.py +0 -42
- data/vendor/simplejson/simplejson/tests/test_speedups.py +0 -20
- data/vendor/simplejson/simplejson/tests/test_tuple.py +0 -49
- data/vendor/simplejson/simplejson/tests/test_unicode.py +0 -109
- data/vendor/simplejson/simplejson/tool.py +0 -39
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.inferno
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for Inferno os and all the related stuff.
|
|
7
6
|
|
|
8
|
-
:copyright: Copyright 2006-
|
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
|
9
8
|
:license: BSD, see LICENSE for details.
|
|
10
9
|
"""
|
|
11
10
|
|
|
@@ -64,7 +63,7 @@ class LimboLexer(RegexLexer):
|
|
|
64
63
|
(r'(byte|int|big|real|string|array|chan|list|adt'
|
|
65
64
|
r'|fn|ref|of|module|self|type)\b', Keyword.Type),
|
|
66
65
|
(r'(con|iota|nil)\b', Keyword.Constant),
|
|
67
|
-
('[a-zA-Z_]\w*', Name),
|
|
66
|
+
(r'[a-zA-Z_]\w*', Name),
|
|
68
67
|
],
|
|
69
68
|
'statement' : [
|
|
70
69
|
include('whitespace'),
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.installers
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for installer/packager DSLs and formats.
|
|
7
6
|
|
|
8
|
-
:copyright: Copyright 2006-
|
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
|
9
8
|
:license: BSD, see LICENSE for details.
|
|
10
9
|
"""
|
|
11
10
|
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.int_fiction
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for interactive fiction languages.
|
|
7
6
|
|
|
8
|
-
:copyright: Copyright 2006-
|
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
|
9
8
|
:license: BSD, see LICENSE for details.
|
|
10
9
|
"""
|
|
11
10
|
|
|
@@ -38,10 +37,10 @@ class Inform6Lexer(RegexLexer):
|
|
|
38
37
|
# Inform 7 maps these four character classes to their ASCII
|
|
39
38
|
# equivalents. To support Inform 6 inclusions within Inform 7,
|
|
40
39
|
# Inform6Lexer maps them too.
|
|
41
|
-
_dash =
|
|
42
|
-
_dquote =
|
|
43
|
-
_squote =
|
|
44
|
-
_newline =
|
|
40
|
+
_dash = '\\-\u2010-\u2014'
|
|
41
|
+
_dquote = '"\u201c\u201d'
|
|
42
|
+
_squote = "'\u2018\u2019"
|
|
43
|
+
_newline = '\\n\u0085\u2028\u2029'
|
|
45
44
|
|
|
46
45
|
tokens = {
|
|
47
46
|
'root': [
|
|
@@ -118,7 +117,7 @@ class Inform6Lexer(RegexLexer):
|
|
|
118
117
|
include('_whitespace'),
|
|
119
118
|
# Strings
|
|
120
119
|
(r'[%s][^@][%s]' % (_squote, _squote), String.Char, '#pop'),
|
|
121
|
-
(r'([%s])(@\{[0-9a-fA-F]
|
|
120
|
+
(r'([%s])(@\{[0-9a-fA-F]*\})([%s])' % (_squote, _squote),
|
|
122
121
|
bygroups(String.Char, String.Escape, String.Char), '#pop'),
|
|
123
122
|
(r'([%s])(@.{2})([%s])' % (_squote, _squote),
|
|
124
123
|
bygroups(String.Char, String.Escape, String.Char), '#pop'),
|
|
@@ -180,7 +179,7 @@ class Inform6Lexer(RegexLexer):
|
|
|
180
179
|
(r'[~^]+', String.Escape),
|
|
181
180
|
(r'[^~^\\@({%s]+' % _squote, String.Single),
|
|
182
181
|
(r'[({]', String.Single),
|
|
183
|
-
(r'@\{[0-9a-fA-F]
|
|
182
|
+
(r'@\{[0-9a-fA-F]*\}', String.Escape),
|
|
184
183
|
(r'@.{2}', String.Escape),
|
|
185
184
|
(r'[%s]' % _squote, String.Single, '#pop')
|
|
186
185
|
],
|
|
@@ -191,7 +190,7 @@ class Inform6Lexer(RegexLexer):
|
|
|
191
190
|
(r'\\', String.Escape),
|
|
192
191
|
(r'@(\\\s*[%s]\s*)*@((\\\s*[%s]\s*)*[0-9])*' %
|
|
193
192
|
(_newline, _newline), String.Escape),
|
|
194
|
-
(r'@(\\\s*[%s]\s*)*\{((\\\s*[%s]\s*)*[0-9a-fA-F])
|
|
193
|
+
(r'@(\\\s*[%s]\s*)*\{((\\\s*[%s]\s*)*[0-9a-fA-F])*'
|
|
195
194
|
r'(\\\s*[%s]\s*)*\}' % (_newline, _newline, _newline),
|
|
196
195
|
String.Escape),
|
|
197
196
|
(r'@(\\\s*[%s]\s*)*.(\\\s*[%s]\s*)*.' % (_newline, _newline),
|
|
@@ -257,8 +256,8 @@ class Inform6Lexer(RegexLexer):
|
|
|
257
256
|
(r'(?i)(extend|verb)\b', Keyword, 'grammar'),
|
|
258
257
|
(r'(?i)fake_action\b', Keyword, ('default', '_constant')),
|
|
259
258
|
(r'(?i)import\b', Keyword, 'manifest'),
|
|
260
|
-
(r'(?i)(include|link)\b', Keyword,
|
|
261
|
-
('default', 'before-plain-string')),
|
|
259
|
+
(r'(?i)(include|link|origsource)\b', Keyword,
|
|
260
|
+
('default', 'before-plain-string?')),
|
|
262
261
|
(r'(?i)(lowstring|undef)\b', Keyword, ('default', '_constant')),
|
|
263
262
|
(r'(?i)message\b', Keyword, ('default', 'diagnostic')),
|
|
264
263
|
(r'(?i)(nearby|object)\b', Keyword,
|
|
@@ -365,11 +364,12 @@ class Inform6Lexer(RegexLexer):
|
|
|
365
364
|
'diagnostic': [
|
|
366
365
|
include('_whitespace'),
|
|
367
366
|
(r'[%s]' % _dquote, String.Double, ('#pop', 'message-string')),
|
|
368
|
-
default(('#pop', 'before-plain-string', 'directive-keyword?'))
|
|
367
|
+
default(('#pop', 'before-plain-string?', 'directive-keyword?'))
|
|
369
368
|
],
|
|
370
|
-
'before-plain-string': [
|
|
369
|
+
'before-plain-string?': [
|
|
371
370
|
include('_whitespace'),
|
|
372
|
-
(r'[%s]' % _dquote, String.Double, ('#pop', 'plain-string'))
|
|
371
|
+
(r'[%s]' % _dquote, String.Double, ('#pop', 'plain-string')),
|
|
372
|
+
default('#pop')
|
|
373
373
|
],
|
|
374
374
|
'message-string': [
|
|
375
375
|
(r'[~^]+', String.Escape),
|
|
@@ -386,6 +386,7 @@ class Inform6Lexer(RegexLexer):
|
|
|
386
386
|
'replace', 'reverse', 'scope', 'score', 'special', 'string', 'table', 'terminating',
|
|
387
387
|
'time', 'topic', 'warning', 'with'), suffix=r'\b'),
|
|
388
388
|
Keyword, '#pop'),
|
|
389
|
+
(r'static\b', Keyword),
|
|
389
390
|
(r'[%s]{1,2}>|[+=]' % _dash, Punctuation, '#pop')
|
|
390
391
|
],
|
|
391
392
|
'_directive-keyword': [
|
|
@@ -514,6 +515,15 @@ class Inform6Lexer(RegexLexer):
|
|
|
514
515
|
while objectloop_queue:
|
|
515
516
|
yield objectloop_queue.pop(0)
|
|
516
517
|
|
|
518
|
+
def analyse_text(text):
|
|
519
|
+
"""We try to find a keyword which seem relatively common, unfortunately
|
|
520
|
+
there is a decent overlap with Smalltalk keywords otherwise here.."""
|
|
521
|
+
result = 0
|
|
522
|
+
if re.search('\borigsource\b', text, re.IGNORECASE):
|
|
523
|
+
result += 0.05
|
|
524
|
+
|
|
525
|
+
return result
|
|
526
|
+
|
|
517
527
|
|
|
518
528
|
class Inform7Lexer(RegexLexer):
|
|
519
529
|
"""
|
|
@@ -856,7 +866,7 @@ class Tads3Lexer(RegexLexer):
|
|
|
856
866
|
|
|
857
867
|
tokens = {
|
|
858
868
|
'root': [
|
|
859
|
-
(
|
|
869
|
+
('\ufeff', Text),
|
|
860
870
|
(r'\{', Punctuation, 'object-body'),
|
|
861
871
|
(r';+', Punctuation),
|
|
862
872
|
(r'(?=(argcount|break|case|catch|continue|default|definingobj|'
|
|
@@ -911,7 +921,7 @@ class Tads3Lexer(RegexLexer):
|
|
|
911
921
|
'block?/root': [
|
|
912
922
|
(r'\{', Punctuation, ('#pop', 'block')),
|
|
913
923
|
include('whitespace'),
|
|
914
|
-
(r'(?=[[\'"<(:])', Text, # It might be a VerbRule macro.
|
|
924
|
+
(r'(?=[\[\'"<(:])', Text, # It might be a VerbRule macro.
|
|
915
925
|
('#pop', 'object-body/no-braces', 'grammar', 'grammar-rules')),
|
|
916
926
|
# It might be a macro like DefineAction.
|
|
917
927
|
default(('#pop', 'object-body/no-braces'))
|
|
@@ -1341,3 +1351,17 @@ class Tads3Lexer(RegexLexer):
|
|
|
1341
1351
|
else:
|
|
1342
1352
|
token = Comment
|
|
1343
1353
|
yield index, token, value
|
|
1354
|
+
|
|
1355
|
+
def analyse_text(text):
|
|
1356
|
+
"""This is a rather generic descriptive language without strong
|
|
1357
|
+
identifiers. It looks like a 'GameMainDef' has to be present,
|
|
1358
|
+
and/or a 'versionInfo' with an 'IFID' field."""
|
|
1359
|
+
result = 0
|
|
1360
|
+
if '__TADS' in text or 'GameMainDef' in text:
|
|
1361
|
+
result += 0.2
|
|
1362
|
+
|
|
1363
|
+
# This is a fairly unique keyword which is likely used in source as well
|
|
1364
|
+
if 'versionInfo' in text and 'IFID' in text:
|
|
1365
|
+
result += 0.1
|
|
1366
|
+
|
|
1367
|
+
return result
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.iolang
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for the Io language.
|
|
7
6
|
|
|
8
|
-
:copyright: Copyright 2006-
|
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
|
9
8
|
:license: BSD, see LICENSE for details.
|
|
10
9
|
"""
|
|
11
10
|
|
|
@@ -37,7 +36,7 @@ class IoLexer(RegexLexer):
|
|
|
37
36
|
(r'/(\\\n)?[*](.|\n)*?[*](\\\n)?/', Comment.Multiline),
|
|
38
37
|
(r'/\+', Comment.Multiline, 'nestedcomment'),
|
|
39
38
|
# DoubleQuotedString
|
|
40
|
-
(r'"(\\\\|\\
|
|
39
|
+
(r'"(\\\\|\\[^\\]|[^"\\])*"', String),
|
|
41
40
|
# Operators
|
|
42
41
|
(r'::=|:=|=|\(|\)|;|,|\*|-|\+|>|<|@|!|/|\||\^|\.|%|&|\[|\]|\{|\}',
|
|
43
42
|
Operator),
|
|
@@ -49,7 +48,7 @@ class IoLexer(RegexLexer):
|
|
|
49
48
|
# names
|
|
50
49
|
(r'(Object|list|List|Map|args|Sequence|Coroutine|File)\b',
|
|
51
50
|
Name.Builtin),
|
|
52
|
-
('[a-zA-Z_]\w*', Name),
|
|
51
|
+
(r'[a-zA-Z_]\w*', Name),
|
|
53
52
|
# numbers
|
|
54
53
|
(r'(\d+\.?\d*|\d*\.\d+)([eE][+-]?[0-9]+)?', Number.Float),
|
|
55
54
|
(r'\d+', Number.Integer)
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.j
|
|
4
3
|
~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexer for the J programming language.
|
|
7
6
|
|
|
8
|
-
:copyright: Copyright 2006-
|
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
|
9
8
|
:license: BSD, see LICENSE for details.
|
|
10
9
|
"""
|
|
11
10
|
|
|
@@ -52,13 +51,13 @@ class JLexer(RegexLexer):
|
|
|
52
51
|
Name.Function, 'explicitDefinition'),
|
|
53
52
|
|
|
54
53
|
# Flow Control
|
|
55
|
-
(words(('for_', 'goto_', 'label_'), suffix=validName+'\.'), Name.Label),
|
|
54
|
+
(words(('for_', 'goto_', 'label_'), suffix=validName+r'\.'), Name.Label),
|
|
56
55
|
(words((
|
|
57
56
|
'assert', 'break', 'case', 'catch', 'catchd',
|
|
58
57
|
'catcht', 'continue', 'do', 'else', 'elseif',
|
|
59
58
|
'end', 'fcase', 'for', 'if', 'return',
|
|
60
59
|
'select', 'throw', 'try', 'while', 'whilst',
|
|
61
|
-
), suffix='\.'), Name.Label),
|
|
60
|
+
), suffix=r'\.'), Name.Label),
|
|
62
61
|
|
|
63
62
|
# Variable Names
|
|
64
63
|
(validName, Name.Variable),
|
|
@@ -89,7 +88,7 @@ class JLexer(RegexLexer):
|
|
|
89
88
|
(r'=[.:]', Operator),
|
|
90
89
|
|
|
91
90
|
# Builtins
|
|
92
|
-
(r'[-=+*#$%@!~`^&";:.,<>{}\[\]
|
|
91
|
+
(r'[-=+*#$%@!~`^&";:.,<>{}\[\]\\|/?]', Operator),
|
|
93
92
|
|
|
94
93
|
# Short Keywords
|
|
95
94
|
(r'[abCdDeEfHiIjLMoprtT]\.', Keyword.Reserved),
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
pygments.lexers.javascript
|
|
4
3
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
5
4
|
|
|
6
5
|
Lexers for JavaScript and related languages.
|
|
7
6
|
|
|
8
|
-
:copyright: Copyright 2006-
|
|
7
|
+
:copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
|
|
9
8
|
:license: BSD, see LICENSE for details.
|
|
10
9
|
"""
|
|
11
10
|
|
|
@@ -15,7 +14,7 @@ from pygments.lexer import RegexLexer, include, bygroups, default, using, \
|
|
|
15
14
|
this, words, combined
|
|
16
15
|
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
|
|
17
16
|
Number, Punctuation, Other
|
|
18
|
-
from pygments.util import get_bool_opt
|
|
17
|
+
from pygments.util import get_bool_opt
|
|
19
18
|
import pygments.unistring as uni
|
|
20
19
|
|
|
21
20
|
__all__ = ['JavascriptLexer', 'KalLexer', 'LiveScriptLexer', 'DartLexer',
|
|
@@ -26,7 +25,7 @@ JS_IDENT_START = ('(?:[$_' + uni.combine('Lu', 'Ll', 'Lt', 'Lm', 'Lo', 'Nl') +
|
|
|
26
25
|
']|\\\\u[a-fA-F0-9]{4})')
|
|
27
26
|
JS_IDENT_PART = ('(?:[$' + uni.combine('Lu', 'Ll', 'Lt', 'Lm', 'Lo', 'Nl',
|
|
28
27
|
'Mn', 'Mc', 'Nd', 'Pc') +
|
|
29
|
-
|
|
28
|
+
'\u200c\u200d]|\\\\u[a-fA-F0-9]{4})')
|
|
30
29
|
JS_IDENT = JS_IDENT_START + '(?:' + JS_IDENT_PART + ')*'
|
|
31
30
|
|
|
32
31
|
|
|
@@ -37,7 +36,7 @@ class JavascriptLexer(RegexLexer):
|
|
|
37
36
|
|
|
38
37
|
name = 'JavaScript'
|
|
39
38
|
aliases = ['js', 'javascript']
|
|
40
|
-
filenames = ['*.js', '*.jsm']
|
|
39
|
+
filenames = ['*.js', '*.jsm', '*.mjs']
|
|
41
40
|
mimetypes = ['application/javascript', 'application/x-javascript',
|
|
42
41
|
'text/x-javascript', 'text/javascript']
|
|
43
42
|
|
|
@@ -53,7 +52,7 @@ class JavascriptLexer(RegexLexer):
|
|
|
53
52
|
'slashstartsregex': [
|
|
54
53
|
include('commentsandwhitespace'),
|
|
55
54
|
(r'/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/'
|
|
56
|
-
r'([
|
|
55
|
+
r'([gimuys]+\b|\B)', String.Regex, '#pop'),
|
|
57
56
|
(r'(?=/)', Text, ('#pop', 'badregex')),
|
|
58
57
|
default('#pop')
|
|
59
58
|
],
|
|
@@ -64,39 +63,43 @@ class JavascriptLexer(RegexLexer):
|
|
|
64
63
|
(r'\A#! ?/.*?\n', Comment.Hashbang), # recognized by node.js
|
|
65
64
|
(r'^(?=\s|/|<!--)', Text, 'slashstartsregex'),
|
|
66
65
|
include('commentsandwhitespace'),
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
(r'0[
|
|
70
|
-
(r'0[
|
|
71
|
-
(r'[0-
|
|
66
|
+
|
|
67
|
+
# Numeric literals
|
|
68
|
+
(r'0[bB][01]+n?', Number.Bin),
|
|
69
|
+
(r'0[oO]?[0-7]+n?', Number.Oct), # Browsers support "0o7" and "07" (< ES5) notations
|
|
70
|
+
(r'0[xX][0-9a-fA-F]+n?', Number.Hex),
|
|
71
|
+
(r'[0-9]+n', Number.Integer), # Javascript BigInt requires an "n" postfix
|
|
72
|
+
# Javascript doesn't have actual integer literals, so every other
|
|
73
|
+
# numeric literal is handled by the regex below (including "normal")
|
|
74
|
+
# integers
|
|
75
|
+
(r'(\.[0-9]+|[0-9]+\.[0-9]*|[0-9]+)([eE][-+]?[0-9]+)?', Number.Float),
|
|
76
|
+
|
|
72
77
|
(r'\.\.\.|=>', Punctuation),
|
|
73
78
|
(r'\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|'
|
|
74
79
|
r'(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?', Operator, 'slashstartsregex'),
|
|
75
80
|
(r'[{(\[;,]', Punctuation, 'slashstartsregex'),
|
|
76
81
|
(r'[})\].]', Punctuation),
|
|
77
82
|
(r'(for|in|while|do|break|return|continue|switch|case|default|if|else|'
|
|
78
|
-
r'throw|try|catch|finally|new|delete|typeof|instanceof|void|yield|'
|
|
79
|
-
r'this|of)\b', Keyword, 'slashstartsregex'),
|
|
80
|
-
(r'(var|let|with|function)\b', Keyword.Declaration, 'slashstartsregex'),
|
|
81
|
-
(r'(abstract|boolean|byte|char|
|
|
82
|
-
r'
|
|
83
|
-
r'
|
|
84
|
-
r'transient|volatile)\b', Keyword.Reserved),
|
|
83
|
+
r'throw|try|catch|finally|new|delete|typeof|instanceof|void|yield|await|async|'
|
|
84
|
+
r'this|of|static|export|import|debugger|extends|super)\b', Keyword, 'slashstartsregex'),
|
|
85
|
+
(r'(var|let|const|with|function|class)\b', Keyword.Declaration, 'slashstartsregex'),
|
|
86
|
+
(r'(abstract|boolean|byte|char|double|enum|final|float|goto'
|
|
87
|
+
r'implements|int|interface|long|native|package|private|protected'
|
|
88
|
+
r'public|short|synchronized|throws|transient|volatile)\b', Keyword.Reserved),
|
|
85
89
|
(r'(true|false|null|NaN|Infinity|undefined)\b', Keyword.Constant),
|
|
86
|
-
(r'(Array|Boolean|Date|Error|Function|Math|
|
|
87
|
-
r'Number|Object|
|
|
90
|
+
(r'(Array|Boolean|Date|BigInt|Error|Function|Math|'
|
|
91
|
+
r'Number|Object|RegExp|String|Promise|Proxy|decodeURI|'
|
|
88
92
|
r'decodeURIComponent|encodeURI|encodeURIComponent|'
|
|
89
93
|
r'Error|eval|isFinite|isNaN|isSafeInteger|parseFloat|parseInt|'
|
|
90
|
-
r'document|this|window)\b', Name.Builtin),
|
|
94
|
+
r'document|this|window|globalThis|Symbol)\b', Name.Builtin),
|
|
91
95
|
(JS_IDENT, Name.Other),
|
|
92
|
-
(r'"(\\\\|\\
|
|
93
|
-
(r"'(\\\\|\\
|
|
96
|
+
(r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
|
|
97
|
+
(r"'(\\\\|\\[^\\]|[^'\\])*'", String.Single),
|
|
94
98
|
(r'`', String.Backtick, 'interp'),
|
|
95
99
|
],
|
|
96
100
|
'interp': [
|
|
97
101
|
(r'`', String.Backtick, '#pop'),
|
|
98
|
-
(r'
|
|
99
|
-
(r'\\`', String.Backtick),
|
|
102
|
+
(r'\\.', String.Backtick),
|
|
100
103
|
(r'\$\{', String.Interpol, 'interp-inside'),
|
|
101
104
|
(r'\$', String.Backtick),
|
|
102
105
|
(r'[^`\\$]+', String.Backtick),
|
|
@@ -106,7 +109,6 @@ class JavascriptLexer(RegexLexer):
|
|
|
106
109
|
(r'\}', String.Interpol, '#pop'),
|
|
107
110
|
include('root'),
|
|
108
111
|
],
|
|
109
|
-
# (\\\\|\\`|[^`])*`', String.Backtick),
|
|
110
112
|
}
|
|
111
113
|
|
|
112
114
|
|
|
@@ -155,7 +157,7 @@ class KalLexer(RegexLexer):
|
|
|
155
157
|
'root': [
|
|
156
158
|
include('commentsandwhitespace'),
|
|
157
159
|
(r'/(?! )(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/'
|
|
158
|
-
r'([
|
|
160
|
+
r'([gimuys]+\b|\B)', String.Regex),
|
|
159
161
|
(r'\?|:|_(?=\n)|==?|!=|-(?!>)|[<>+*/-]=?',
|
|
160
162
|
Operator),
|
|
161
163
|
(r'\b(and|or|isnt|is|not|but|bitwise|mod|\^|xor|exists|'
|
|
@@ -177,13 +179,11 @@ class KalLexer(RegexLexer):
|
|
|
177
179
|
(r'(?<![.$])(true|false|yes|no|on|off|null|nothing|none|'
|
|
178
180
|
r'NaN|Infinity|undefined)\b',
|
|
179
181
|
Keyword.Constant),
|
|
180
|
-
(r'(Array|Boolean|Date|Error|Function|Math|
|
|
181
|
-
r'Number|Object|
|
|
182
|
+
(r'(Array|Boolean|Date|Error|Function|Math|'
|
|
183
|
+
r'Number|Object|RegExp|String|decodeURI|'
|
|
182
184
|
r'decodeURIComponent|encodeURI|encodeURIComponent|'
|
|
183
185
|
r'eval|isFinite|isNaN|isSafeInteger|parseFloat|parseInt|document|'
|
|
184
|
-
r'window|'
|
|
185
|
-
r'print)\b',
|
|
186
|
-
Name.Builtin),
|
|
186
|
+
r'window|globalThis|Symbol|print)\b', Name.Builtin),
|
|
187
187
|
(r'[$a-zA-Z_][\w.$]*\s*(:|[+\-*/]?\=)?\b', Name.Variable),
|
|
188
188
|
(r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
|
|
189
189
|
(r'0x[0-9a-fA-F]+', Number.Hex),
|
|
@@ -250,7 +250,7 @@ class LiveScriptLexer(RegexLexer):
|
|
|
250
250
|
],
|
|
251
251
|
'multilineregex': [
|
|
252
252
|
include('commentsandwhitespace'),
|
|
253
|
-
(r'//([
|
|
253
|
+
(r'//([gimuys]+\b|\B)', String.Regex, '#pop'),
|
|
254
254
|
(r'/', String.Regex),
|
|
255
255
|
(r'[^/#]+', String.Regex)
|
|
256
256
|
],
|
|
@@ -258,12 +258,12 @@ class LiveScriptLexer(RegexLexer):
|
|
|
258
258
|
include('commentsandwhitespace'),
|
|
259
259
|
(r'//', String.Regex, ('#pop', 'multilineregex')),
|
|
260
260
|
(r'/(?! )(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/'
|
|
261
|
-
r'([
|
|
261
|
+
r'([gimuys]+\b|\B)', String.Regex, '#pop'),
|
|
262
|
+
(r'/', Operator, '#pop'),
|
|
262
263
|
default('#pop'),
|
|
263
264
|
],
|
|
264
265
|
'root': [
|
|
265
|
-
|
|
266
|
-
# (r'^(?=\s|/|<!--)', Text, 'slashstartsregex'),
|
|
266
|
+
(r'\A(?=\s|/)', Text, 'slashstartsregex'),
|
|
267
267
|
include('commentsandwhitespace'),
|
|
268
268
|
(r'(?:\([^()]+\))?[ ]*[~-]{1,2}>|'
|
|
269
269
|
r'(?:\(?[^()\n]+\)?)?[ ]*<[~-]{1,2}', Name.Function),
|
|
@@ -282,11 +282,11 @@ class LiveScriptLexer(RegexLexer):
|
|
|
282
282
|
(r'(?<![.$])(true|false|yes|no|on|off|'
|
|
283
283
|
r'null|NaN|Infinity|undefined|void)\b',
|
|
284
284
|
Keyword.Constant),
|
|
285
|
-
(r'(Array|Boolean|Date|Error|Function|Math|
|
|
286
|
-
r'Number|Object|
|
|
285
|
+
(r'(Array|Boolean|Date|Error|Function|Math|'
|
|
286
|
+
r'Number|Object|RegExp|String|decodeURI|'
|
|
287
287
|
r'decodeURIComponent|encodeURI|encodeURIComponent|'
|
|
288
|
-
r'eval|isFinite|isNaN|parseFloat|parseInt|document|window
|
|
289
|
-
Name.Builtin),
|
|
288
|
+
r'eval|isFinite|isNaN|parseFloat|parseInt|document|window|'
|
|
289
|
+
r'globalThis|Symbol|Symbol|BigInt)\b', Name.Builtin),
|
|
290
290
|
(r'[$a-zA-Z_][\w.\-:$]*\s*[:=]\s', Name.Variable,
|
|
291
291
|
'slashstartsregex'),
|
|
292
292
|
(r'@[$a-zA-Z_][\w.\-:$]*\s*[:=]\s', Name.Variable.Instance,
|
|
@@ -340,7 +340,7 @@ class LiveScriptLexer(RegexLexer):
|
|
|
340
340
|
|
|
341
341
|
class DartLexer(RegexLexer):
|
|
342
342
|
"""
|
|
343
|
-
For `Dart <http://
|
|
343
|
+
For `Dart <http://dart.dev/>`_ source code.
|
|
344
344
|
|
|
345
345
|
.. versionadded:: 1.5
|
|
346
346
|
"""
|
|
@@ -361,17 +361,19 @@ class DartLexer(RegexLexer):
|
|
|
361
361
|
(r'[^\S\n]+', Text),
|
|
362
362
|
(r'//.*?\n', Comment.Single),
|
|
363
363
|
(r'/\*.*?\*/', Comment.Multiline),
|
|
364
|
-
(r'\b(class)\b(\s+)',
|
|
364
|
+
(r'\b(class|extension|mixin)\b(\s+)',
|
|
365
365
|
bygroups(Keyword.Declaration, Text), 'class'),
|
|
366
|
-
(r'\b(assert|break|case|catch|continue|default|do|else|finally|
|
|
367
|
-
r'if|in|is|new|return|super|switch|this|throw|try|while)\b',
|
|
366
|
+
(r'\b(as|assert|break|case|catch|const|continue|default|do|else|finally|'
|
|
367
|
+
r'for|if|in|is|new|rethrow|return|super|switch|this|throw|try|while)\b',
|
|
368
368
|
Keyword),
|
|
369
|
-
(r'\b(abstract|async|await|const|extends|factory|final|
|
|
370
|
-
r'implements|native|operator|set|static|sync|typedef|
|
|
371
|
-
r'yield)\b', Keyword.Declaration),
|
|
372
|
-
(r'\b(bool|double|dynamic|int|num|Object|String|void)\b',
|
|
369
|
+
(r'\b(abstract|async|await|const|covariant|extends|external|factory|final|'
|
|
370
|
+
r'get|implements|late|native|on|operator|required|set|static|sync|typedef|'
|
|
371
|
+
r'var|with|yield)\b', Keyword.Declaration),
|
|
372
|
+
(r'\b(bool|double|dynamic|int|num|Function|Never|Null|Object|String|void)\b',
|
|
373
|
+
Keyword.Type),
|
|
373
374
|
(r'\b(false|null|true)\b', Keyword.Constant),
|
|
374
375
|
(r'[~!%^&*+=|?:<>/-]|as\b', Operator),
|
|
376
|
+
(r'@[a-zA-Z_$]\w*', Name.Decorator),
|
|
375
377
|
(r'[a-zA-Z_$]\w*:', Name.Label),
|
|
376
378
|
(r'[a-zA-Z_$]\w*', Name),
|
|
377
379
|
(r'[(){}\[\],.;]', Punctuation),
|
|
@@ -388,7 +390,7 @@ class DartLexer(RegexLexer):
|
|
|
388
390
|
'import_decl': [
|
|
389
391
|
include('string_literal'),
|
|
390
392
|
(r'\s+', Text),
|
|
391
|
-
(r'\b(as|show|hide)\b', Keyword),
|
|
393
|
+
(r'\b(as|deferred|show|hide)\b', Keyword),
|
|
392
394
|
(r'[a-zA-Z_$]\w*', Name),
|
|
393
395
|
(r'\,', Punctuation),
|
|
394
396
|
(r'\;', Punctuation, '#pop')
|
|
@@ -453,6 +455,10 @@ class TypeScriptLexer(RegexLexer):
|
|
|
453
455
|
|
|
454
456
|
flags = re.DOTALL | re.MULTILINE
|
|
455
457
|
|
|
458
|
+
# Higher priority than the TypoScriptLexer, as TypeScript is far more
|
|
459
|
+
# common these days
|
|
460
|
+
priority = 0.5
|
|
461
|
+
|
|
456
462
|
tokens = {
|
|
457
463
|
'commentsandwhitespace': [
|
|
458
464
|
(r'\s+', Text),
|
|
@@ -463,7 +469,7 @@ class TypeScriptLexer(RegexLexer):
|
|
|
463
469
|
'slashstartsregex': [
|
|
464
470
|
include('commentsandwhitespace'),
|
|
465
471
|
(r'/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/'
|
|
466
|
-
r'([
|
|
472
|
+
r'([gimuys]+\b|\B)', String.Regex, '#pop'),
|
|
467
473
|
(r'(?=/)', Text, ('#pop', 'badregex')),
|
|
468
474
|
default('#pop')
|
|
469
475
|
],
|
|
@@ -478,19 +484,20 @@ class TypeScriptLexer(RegexLexer):
|
|
|
478
484
|
(r'[{(\[;,]', Punctuation, 'slashstartsregex'),
|
|
479
485
|
(r'[})\].]', Punctuation),
|
|
480
486
|
(r'(for|in|while|do|break|return|continue|switch|case|default|if|else|'
|
|
481
|
-
r'throw|try|catch|finally|new|delete|typeof|instanceof|void|'
|
|
482
|
-
r'this
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
487
|
+
r'throw|try|catch|finally|new|delete|typeof|instanceof|void|of|'
|
|
488
|
+
r'this|async|await|debugger|yield|abstract|static|import|export|'
|
|
489
|
+
r'implements|super|extends|private|protected|public|readonly)\b',
|
|
490
|
+
Keyword, 'slashstartsregex'),
|
|
491
|
+
(r'(var|let|const|with|function|class|type|enum|interface)\b',
|
|
492
|
+
Keyword.Declaration, 'slashstartsregex'),
|
|
493
|
+
(r'(boolean|byte|char|double|final|float|goto|int|long|native|'
|
|
494
|
+
r'package|short|synchronized|throws|transient|volatile)\b', Keyword.Reserved),
|
|
488
495
|
(r'(true|false|null|NaN|Infinity|undefined)\b', Keyword.Constant),
|
|
489
|
-
(r'(Array|Boolean|Date|Error|Function|Math|
|
|
490
|
-
r'Number|Object|
|
|
496
|
+
(r'(Array|Boolean|Date|Error|Function|Math|'
|
|
497
|
+
r'Number|Object|RegExp|String|decodeURI|'
|
|
491
498
|
r'decodeURIComponent|encodeURI|encodeURIComponent|'
|
|
492
499
|
r'Error|eval|isFinite|isNaN|parseFloat|parseInt|document|this|'
|
|
493
|
-
r'window)\b', Name.Builtin),
|
|
500
|
+
r'window|globalThis|Symbol|BigInt)\b', Name.Builtin),
|
|
494
501
|
# Match stuff like: module name {...}
|
|
495
502
|
(r'\b(module)(\s*)(\s*[\w?.$][\w?.$]*)(\s*)',
|
|
496
503
|
bygroups(Keyword.Reserved, Text, Name.Other, Text), 'slashstartsregex'),
|
|
@@ -502,16 +509,18 @@ class TypeScriptLexer(RegexLexer):
|
|
|
502
509
|
(r'(super)(\s*)(\([\w,?.$\s]+\s*\))',
|
|
503
510
|
bygroups(Keyword.Reserved, Text), 'slashstartsregex'),
|
|
504
511
|
# Match stuff like: function() {...}
|
|
505
|
-
(r'([a-zA-Z_?.$][\w?.$]*)
|
|
512
|
+
(r'([a-zA-Z_?.$][\w?.$]*)(?=\(\) \{)', Name.Other, 'slashstartsregex'),
|
|
506
513
|
# Match stuff like: (function: return type)
|
|
507
514
|
(r'([\w?.$][\w?.$]*)(\s*:\s*)([\w?.$][\w?.$]*)',
|
|
508
515
|
bygroups(Name.Other, Text, Keyword.Type)),
|
|
509
516
|
(r'[$a-zA-Z_]\w*', Name.Other),
|
|
510
|
-
(r'
|
|
511
|
-
(r'
|
|
512
|
-
(r'[0-
|
|
513
|
-
(r'
|
|
514
|
-
(r
|
|
517
|
+
(r'0[bB][01]+n?', Number.Bin),
|
|
518
|
+
(r'0[oO]?[0-7]+n?', Number.Oct), # Browsers support "0o7" and "07" (< ES5) notations
|
|
519
|
+
(r'0[xX][0-9a-fA-F]+n?', Number.Hex),
|
|
520
|
+
(r'[0-9]+n', Number.Integer),
|
|
521
|
+
(r'(\.[0-9]+|[0-9]+\.[0-9]*|[0-9]+)([eE][-+]?[0-9]+)?', Number.Float),
|
|
522
|
+
(r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
|
|
523
|
+
(r"'(\\\\|\\[^\\]|[^'\\])*'", String.Single),
|
|
515
524
|
(r'`', String.Backtick, 'interp'),
|
|
516
525
|
# Match stuff like: Decorators
|
|
517
526
|
(r'@\w+', Keyword.Declaration),
|
|
@@ -521,8 +530,7 @@ class TypeScriptLexer(RegexLexer):
|
|
|
521
530
|
# there should be reflected here as well.
|
|
522
531
|
'interp': [
|
|
523
532
|
(r'`', String.Backtick, '#pop'),
|
|
524
|
-
(r'
|
|
525
|
-
(r'\\`', String.Backtick),
|
|
533
|
+
(r'\\.', String.Backtick),
|
|
526
534
|
(r'\$\{', String.Interpol, 'interp-inside'),
|
|
527
535
|
(r'\$', String.Backtick),
|
|
528
536
|
(r'[^`\\$]+', String.Backtick),
|
|
@@ -534,12 +542,6 @@ class TypeScriptLexer(RegexLexer):
|
|
|
534
542
|
],
|
|
535
543
|
}
|
|
536
544
|
|
|
537
|
-
def analyse_text(text):
|
|
538
|
-
if re.search('^(import.+(from\s+)?["\']|'
|
|
539
|
-
'(export\s*)?(interface|class|function)\s+)',
|
|
540
|
-
text, re.MULTILINE):
|
|
541
|
-
return 1.0
|
|
542
|
-
|
|
543
545
|
|
|
544
546
|
class LassoLexer(RegexLexer):
|
|
545
547
|
"""
|
|
@@ -768,9 +770,9 @@ class LassoLexer(RegexLexer):
|
|
|
768
770
|
self._members = set()
|
|
769
771
|
if self.builtinshighlighting:
|
|
770
772
|
from pygments.lexers._lasso_builtins import BUILTINS, MEMBERS
|
|
771
|
-
for key, value in
|
|
773
|
+
for key, value in BUILTINS.items():
|
|
772
774
|
self._builtins.update(value)
|
|
773
|
-
for key, value in
|
|
775
|
+
for key, value in MEMBERS.items():
|
|
774
776
|
self._members.update(value)
|
|
775
777
|
RegexLexer.__init__(self, **options)
|
|
776
778
|
|
|
@@ -869,8 +871,8 @@ class ObjectiveJLexer(RegexLexer):
|
|
|
869
871
|
(r'(L|@)?"', String, 'string'),
|
|
870
872
|
(r"(L|@)?'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,2}|[^\\\'\n])'",
|
|
871
873
|
String.Char),
|
|
872
|
-
(r'"(\\\\|\\
|
|
873
|
-
(r"'(\\\\|\\
|
|
874
|
+
(r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
|
|
875
|
+
(r"'(\\\\|\\[^\\]|[^'\\])*'", String.Single),
|
|
874
876
|
(r'(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+[lL]?', Number.Float),
|
|
875
877
|
(r'(\d+\.\d*|\.\d+|\d+[fF])[fF]?', Number.Float),
|
|
876
878
|
(r'0x[0-9a-fA-F]+[Ll]?', Number.Hex),
|
|
@@ -907,11 +909,11 @@ class ObjectiveJLexer(RegexLexer):
|
|
|
907
909
|
r'MIN|MAX|RAND|SQRT|E|LN2|LN10|LOG2E|LOG10E|PI|PI2|PI_2|SQRT1_2|'
|
|
908
910
|
r'SQRT2)\b', Keyword.Constant),
|
|
909
911
|
|
|
910
|
-
(r'(Array|Boolean|Date|Error|Function|Math|
|
|
911
|
-
r'Number|Object|
|
|
912
|
+
(r'(Array|Boolean|Date|Error|Function|Math|'
|
|
913
|
+
r'Number|Object|RegExp|String|decodeURI|'
|
|
912
914
|
r'decodeURIComponent|encodeURI|encodeURIComponent|'
|
|
913
915
|
r'Error|eval|isFinite|isNaN|parseFloat|parseInt|document|this|'
|
|
914
|
-
r'window)\b', Name.Builtin),
|
|
916
|
+
r'window|globalThis|Symbol)\b', Name.Builtin),
|
|
915
917
|
|
|
916
918
|
(r'([$a-zA-Z_]\w*)(' + _ws + r')(?=\()',
|
|
917
919
|
bygroups(Name.Function, using(this))),
|
|
@@ -1015,7 +1017,7 @@ class ObjectiveJLexer(RegexLexer):
|
|
|
1015
1017
|
}
|
|
1016
1018
|
|
|
1017
1019
|
def analyse_text(text):
|
|
1018
|
-
if re.search('^\s*@import\s+[<"]', text, re.MULTILINE):
|
|
1020
|
+
if re.search(r'^\s*@import\s+[<"]', text, re.MULTILINE):
|
|
1019
1021
|
# special directive found in most Objective-J files
|
|
1020
1022
|
return True
|
|
1021
1023
|
return False
|
|
@@ -1035,11 +1037,10 @@ class CoffeeScriptLexer(RegexLexer):
|
|
|
1035
1037
|
filenames = ['*.coffee']
|
|
1036
1038
|
mimetypes = ['text/coffeescript']
|
|
1037
1039
|
|
|
1038
|
-
|
|
1039
1040
|
_operator_re = (
|
|
1040
1041
|
r'\+\+|~|&&|\band\b|\bor\b|\bis\b|\bisnt\b|\bnot\b|\?|:|'
|
|
1041
1042
|
r'\|\||\\(?=\n)|'
|
|
1042
|
-
r'(<<|>>>?|==?(?!>)|!=?|=(?!>)|-(?!>)|[
|
|
1043
|
+
r'(<<|>>>?|==?(?!>)|!=?|=(?!>)|-(?!>)|[<>+*`%&|\^/])=?')
|
|
1043
1044
|
|
|
1044
1045
|
flags = re.DOTALL
|
|
1045
1046
|
tokens = {
|
|
@@ -1050,7 +1051,7 @@ class CoffeeScriptLexer(RegexLexer):
|
|
|
1050
1051
|
],
|
|
1051
1052
|
'multilineregex': [
|
|
1052
1053
|
(r'[^/#]+', String.Regex),
|
|
1053
|
-
(r'///([
|
|
1054
|
+
(r'///([gimuys]+\b|\B)', String.Regex, '#pop'),
|
|
1054
1055
|
(r'#\{', String.Interpol, 'interpoling_string'),
|
|
1055
1056
|
(r'[/#]', String.Regex),
|
|
1056
1057
|
],
|
|
@@ -1058,16 +1059,16 @@ class CoffeeScriptLexer(RegexLexer):
|
|
|
1058
1059
|
include('commentsandwhitespace'),
|
|
1059
1060
|
(r'///', String.Regex, ('#pop', 'multilineregex')),
|
|
1060
1061
|
(r'/(?! )(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/'
|
|
1061
|
-
r'([
|
|
1062
|
+
r'([gimuys]+\b|\B)', String.Regex, '#pop'),
|
|
1062
1063
|
# This isn't really guarding against mishighlighting well-formed
|
|
1063
1064
|
# code, just the ability to infinite-loop between root and
|
|
1064
1065
|
# slashstartsregex.
|
|
1065
|
-
(r'/', Operator),
|
|
1066
|
+
(r'/', Operator, '#pop'),
|
|
1066
1067
|
default('#pop'),
|
|
1067
1068
|
],
|
|
1068
1069
|
'root': [
|
|
1069
1070
|
include('commentsandwhitespace'),
|
|
1070
|
-
(r'
|
|
1071
|
+
(r'\A(?=\s|/)', Text, 'slashstartsregex'),
|
|
1071
1072
|
(_operator_re, Operator, 'slashstartsregex'),
|
|
1072
1073
|
(r'(?:\([^()]*\))?\s*[=-]>', Name.Function, 'slashstartsregex'),
|
|
1073
1074
|
(r'[{(\[;,]', Punctuation, 'slashstartsregex'),
|
|
@@ -1080,10 +1081,10 @@ class CoffeeScriptLexer(RegexLexer):
|
|
|
1080
1081
|
(r'(?<![.$])(true|false|yes|no|on|off|null|'
|
|
1081
1082
|
r'NaN|Infinity|undefined)\b',
|
|
1082
1083
|
Keyword.Constant),
|
|
1083
|
-
(r'(Array|Boolean|Date|Error|Function|Math|
|
|
1084
|
-
r'Number|Object|
|
|
1084
|
+
(r'(Array|Boolean|Date|Error|Function|Math|'
|
|
1085
|
+
r'Number|Object|RegExp|String|decodeURI|'
|
|
1085
1086
|
r'decodeURIComponent|encodeURI|encodeURIComponent|'
|
|
1086
|
-
r'eval|isFinite|isNaN|parseFloat|parseInt|document|window)\b',
|
|
1087
|
+
r'eval|isFinite|isNaN|parseFloat|parseInt|document|window|globalThis|Symbol)\b',
|
|
1087
1088
|
Name.Builtin),
|
|
1088
1089
|
(r'[$a-zA-Z_][\w.:$]*\s*[:=]\s', Name.Variable,
|
|
1089
1090
|
'slashstartsregex'),
|
|
@@ -1137,7 +1138,7 @@ class CoffeeScriptLexer(RegexLexer):
|
|
|
1137
1138
|
|
|
1138
1139
|
class MaskLexer(RegexLexer):
|
|
1139
1140
|
"""
|
|
1140
|
-
For `Mask <
|
|
1141
|
+
For `Mask <https://github.com/atmajs/MaskJS>`__ markup.
|
|
1141
1142
|
|
|
1142
1143
|
.. versionadded:: 2.0
|
|
1143
1144
|
"""
|
|
@@ -1459,21 +1460,24 @@ class EarlGreyLexer(RegexLexer):
|
|
|
1459
1460
|
(r'8r[0-7]+', Number.Oct),
|
|
1460
1461
|
(r'2r[01]+', Number.Bin),
|
|
1461
1462
|
(r'16r[a-fA-F0-9]+', Number.Hex),
|
|
1462
|
-
(r'([3-79]|[12][0-9]|3[0-6])r[a-zA-Z\d]+(\.[a-zA-Z\d]+)?',
|
|
1463
|
+
(r'([3-79]|[12][0-9]|3[0-6])r[a-zA-Z\d]+(\.[a-zA-Z\d]+)?',
|
|
1464
|
+
Number.Radix),
|
|
1463
1465
|
(r'\d+', Number.Integer)
|
|
1464
1466
|
],
|
|
1465
1467
|
}
|
|
1466
1468
|
|
|
1469
|
+
|
|
1467
1470
|
class JuttleLexer(RegexLexer):
|
|
1468
1471
|
"""
|
|
1469
1472
|
For `Juttle`_ source code.
|
|
1470
1473
|
|
|
1471
1474
|
.. _Juttle: https://github.com/juttle/juttle
|
|
1472
1475
|
|
|
1476
|
+
.. versionadded:: 2.2
|
|
1473
1477
|
"""
|
|
1474
1478
|
|
|
1475
1479
|
name = 'Juttle'
|
|
1476
|
-
aliases = ['juttle'
|
|
1480
|
+
aliases = ['juttle']
|
|
1477
1481
|
filenames = ['*.juttle']
|
|
1478
1482
|
mimetypes = ['application/juttle', 'application/x-juttle',
|
|
1479
1483
|
'text/x-juttle', 'text/juttle']
|
|
@@ -1489,7 +1493,7 @@ class JuttleLexer(RegexLexer):
|
|
|
1489
1493
|
'slashstartsregex': [
|
|
1490
1494
|
include('commentsandwhitespace'),
|
|
1491
1495
|
(r'/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/'
|
|
1492
|
-
r'([
|
|
1496
|
+
r'([gimuys]+\b|\B)', String.Regex, '#pop'),
|
|
1493
1497
|
(r'(?=/)', Text, ('#pop', 'badregex')),
|
|
1494
1498
|
default('#pop')
|
|
1495
1499
|
],
|
|
@@ -1500,26 +1504,33 @@ class JuttleLexer(RegexLexer):
|
|
|
1500
1504
|
(r'^(?=\s|/)', Text, 'slashstartsregex'),
|
|
1501
1505
|
include('commentsandwhitespace'),
|
|
1502
1506
|
(r':\d{2}:\d{2}:\d{2}(\.\d*)?:', String.Moment),
|
|
1503
|
-
(r':(now|beginning|end|forever|yesterday|today|tomorrow|
|
|
1504
|
-
|
|
1505
|
-
(r'
|
|
1506
|
-
r'(
|
|
1507
|
+
(r':(now|beginning|end|forever|yesterday|today|tomorrow|'
|
|
1508
|
+
r'(\d+(\.\d*)?|\.\d+)(ms|[smhdwMy])?):', String.Moment),
|
|
1509
|
+
(r':\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d*)?)?'
|
|
1510
|
+
r'(Z|[+-]\d{2}:\d{2}|[+-]\d{4})?:', String.Moment),
|
|
1511
|
+
(r':((\d+(\.\d*)?|\.\d+)[ ]+)?(millisecond|second|minute|hour|'
|
|
1512
|
+
r'day|week|month|year)[s]?'
|
|
1513
|
+
r'(([ ]+and[ ]+(\d+[ ]+)?(millisecond|second|minute|hour|'
|
|
1514
|
+
r'day|week|month|year)[s]?)'
|
|
1507
1515
|
r'|[ ]+(ago|from[ ]+now))*:', String.Moment),
|
|
1508
1516
|
(r'\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|'
|
|
1509
1517
|
r'(==?|!=?|[-<>+*%&|^/])=?', Operator, 'slashstartsregex'),
|
|
1510
1518
|
(r'[{(\[;,]', Punctuation, 'slashstartsregex'),
|
|
1511
1519
|
(r'[})\].]', Punctuation),
|
|
1512
1520
|
(r'(import|return|continue|if|else)\b', Keyword, 'slashstartsregex'),
|
|
1513
|
-
(r'(var|const|function|reducer|sub|input)\b', Keyword.Declaration,
|
|
1521
|
+
(r'(var|const|function|reducer|sub|input)\b', Keyword.Declaration,
|
|
1522
|
+
'slashstartsregex'),
|
|
1514
1523
|
(r'(batch|emit|filter|head|join|keep|pace|pass|put|read|reduce|remove|'
|
|
1515
|
-
r'sequence|skip|sort|split|tail|unbatch|uniq|view|write)\b',
|
|
1524
|
+
r'sequence|skip|sort|split|tail|unbatch|uniq|view|write)\b',
|
|
1525
|
+
Keyword.Reserved),
|
|
1516
1526
|
(r'(true|false|null|Infinity)\b', Keyword.Constant),
|
|
1517
|
-
(r'(Array|Date|Juttle|Math|Number|Object|RegExp|String)\b',
|
|
1527
|
+
(r'(Array|Date|Juttle|Math|Number|Object|RegExp|String)\b',
|
|
1528
|
+
Name.Builtin),
|
|
1518
1529
|
(JS_IDENT, Name.Other),
|
|
1519
1530
|
(r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
|
|
1520
1531
|
(r'[0-9]+', Number.Integer),
|
|
1521
|
-
(r'"(\\\\|\\
|
|
1522
|
-
(r"'(\\\\|\\
|
|
1532
|
+
(r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
|
|
1533
|
+
(r"'(\\\\|\\[^\\]|[^'\\])*'", String.Single),
|
|
1523
1534
|
]
|
|
1524
1535
|
|
|
1525
1536
|
}
|