pygments.rb 1.1.2 → 2.0.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 +28 -0
- data/.github/workflows/release.yml +24 -0
- data/.gitignore +5 -5
- data/CHANGELOG.adoc +128 -0
- data/Gemfile +3 -1
- data/LICENSE +1 -1
- data/README.adoc +160 -0
- data/Rakefile +13 -19
- data/bench.rb +8 -7
- data/cache-lexers.rb +3 -2
- data/lexers +0 -0
- data/lib/pygments.rb +10 -11
- data/lib/pygments/lexer.rb +5 -5
- data/lib/pygments/mentos.py +23 -110
- data/lib/pygments/popen.rb +148 -229
- data/lib/pygments/version.rb +2 -2
- data/pygments.rb.gemspec +12 -11
- data/test/test_pygments.rb +46 -104
- data/vendor/pygments-main/{AUTHORS → Pygments-2.7.3.dist-info/AUTHORS} +23 -3
- data/vendor/pygments-main/Pygments-2.7.3.dist-info/INSTALLER +1 -0
- data/vendor/pygments-main/{LICENSE → Pygments-2.7.3.dist-info/LICENSE} +1 -1
- data/vendor/pygments-main/Pygments-2.7.3.dist-info/METADATA +49 -0
- data/vendor/pygments-main/Pygments-2.7.3.dist-info/RECORD +482 -0
- data/vendor/pygments-main/Pygments-2.7.3.dist-info/REQUESTED +0 -0
- data/vendor/pygments-main/Pygments-2.7.3.dist-info/WHEEL +5 -0
- data/vendor/pygments-main/Pygments-2.7.3.dist-info/entry_points.txt +3 -0
- data/vendor/pygments-main/Pygments-2.7.3.dist-info/top_level.txt +1 -0
- data/vendor/pygments-main/bin/pygmentize +8 -0
- data/vendor/pygments-main/pygments/__init__.py +6 -11
- data/vendor/pygments-main/pygments/__main__.py +18 -0
- data/vendor/pygments-main/pygments/cmdline.py +94 -41
- data/vendor/pygments-main/pygments/console.py +6 -9
- data/vendor/pygments-main/pygments/filter.py +4 -6
- data/vendor/pygments-main/pygments/filters/__init__.py +609 -21
- data/vendor/pygments-main/pygments/formatter.py +4 -4
- data/vendor/pygments-main/pygments/formatters/__init__.py +42 -6
- data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -3
- data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
- data/vendor/pygments-main/pygments/formatters/html.py +223 -135
- data/vendor/pygments-main/pygments/formatters/img.py +102 -38
- data/vendor/pygments-main/pygments/formatters/irc.py +39 -39
- data/vendor/pygments-main/pygments/formatters/latex.py +56 -26
- data/vendor/pygments-main/pygments/formatters/other.py +12 -8
- data/vendor/pygments-main/pygments/formatters/rtf.py +29 -29
- data/vendor/pygments-main/pygments/formatters/svg.py +38 -4
- data/vendor/pygments-main/pygments/formatters/terminal.py +25 -31
- data/vendor/pygments-main/pygments/formatters/terminal256.py +22 -12
- data/vendor/pygments-main/pygments/lexer.py +41 -39
- data/vendor/pygments-main/pygments/lexers/__init__.py +62 -15
- data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +5 -5
- data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +15 -15
- data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +11 -12
- data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1717 -1338
- data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +8 -1
- data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +2 -4
- data/vendor/pygments-main/pygments/lexers/_mapping.py +79 -33
- data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +2 -2
- data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +1282 -0
- data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_php_builtins.py +17 -20
- data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +73 -16
- data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +2 -2
- data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1 -3
- data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +151 -125
- data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +6 -4
- data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +113 -0
- data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +280 -0
- data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -1
- data/vendor/pygments-main/pygments/lexers/actionscript.py +8 -3
- data/vendor/pygments-main/pygments/lexers/agile.py +1 -1
- data/vendor/pygments-main/pygments/lexers/algebra.py +20 -1
- data/vendor/pygments-main/pygments/lexers/ambient.py +1 -1
- data/vendor/pygments-main/pygments/lexers/ampl.py +3 -3
- data/vendor/pygments-main/pygments/lexers/apl.py +15 -15
- data/vendor/pygments-main/pygments/lexers/archetype.py +3 -3
- data/vendor/pygments-main/pygments/lexers/arrow.py +117 -0
- data/vendor/pygments-main/pygments/lexers/asm.py +445 -70
- data/vendor/pygments-main/pygments/lexers/automation.py +3 -3
- data/vendor/pygments-main/pygments/lexers/bare.py +104 -0
- data/vendor/pygments-main/pygments/lexers/basic.py +166 -4
- data/vendor/pygments-main/pygments/lexers/bibtex.py +13 -9
- data/vendor/pygments-main/pygments/lexers/boa.py +102 -0
- data/vendor/pygments-main/pygments/lexers/business.py +69 -36
- data/vendor/pygments-main/pygments/lexers/c_cpp.py +137 -45
- data/vendor/pygments-main/pygments/lexers/c_like.py +68 -43
- data/vendor/pygments-main/pygments/lexers/capnproto.py +20 -21
- data/vendor/pygments-main/pygments/lexers/chapel.py +25 -14
- data/vendor/pygments-main/pygments/lexers/clean.py +135 -244
- data/vendor/pygments-main/pygments/lexers/compiled.py +1 -1
- data/vendor/pygments-main/pygments/lexers/configs.py +188 -37
- data/vendor/pygments-main/pygments/lexers/console.py +1 -1
- data/vendor/pygments-main/pygments/lexers/crystal.py +31 -23
- data/vendor/pygments-main/pygments/lexers/csound.py +288 -187
- data/vendor/pygments-main/pygments/lexers/css.py +18 -16
- data/vendor/pygments-main/pygments/lexers/d.py +10 -5
- data/vendor/pygments-main/pygments/lexers/dalvik.py +1 -1
- data/vendor/pygments-main/pygments/lexers/data.py +240 -97
- data/vendor/pygments-main/pygments/lexers/devicetree.py +109 -0
- data/vendor/pygments-main/pygments/lexers/diff.py +4 -4
- data/vendor/pygments-main/pygments/lexers/dotnet.py +40 -24
- data/vendor/pygments-main/pygments/lexers/dsls.py +147 -65
- data/vendor/pygments-main/pygments/lexers/dylan.py +16 -18
- data/vendor/pygments-main/pygments/lexers/ecl.py +16 -2
- data/vendor/pygments-main/pygments/lexers/eiffel.py +1 -1
- data/vendor/pygments-main/pygments/lexers/elm.py +5 -5
- data/vendor/pygments-main/pygments/lexers/email.py +151 -0
- data/vendor/pygments-main/pygments/lexers/erlang.py +29 -32
- data/vendor/pygments-main/pygments/lexers/esoteric.py +54 -25
- data/vendor/pygments-main/pygments/lexers/ezhil.py +24 -15
- data/vendor/pygments-main/pygments/lexers/factor.py +1 -1
- data/vendor/pygments-main/pygments/lexers/fantom.py +1 -1
- data/vendor/pygments-main/pygments/lexers/felix.py +1 -1
- data/vendor/pygments-main/pygments/lexers/floscript.py +83 -0
- data/vendor/pygments-main/pygments/lexers/forth.py +41 -40
- data/vendor/pygments-main/pygments/lexers/fortran.py +5 -4
- data/vendor/pygments-main/pygments/lexers/foxpro.py +2 -2
- data/vendor/pygments-main/pygments/lexers/freefem.py +898 -0
- data/vendor/pygments-main/pygments/lexers/functional.py +1 -1
- data/vendor/pygments-main/pygments/lexers/gdscript.py +346 -0
- data/vendor/pygments-main/pygments/lexers/go.py +1 -1
- data/vendor/pygments-main/pygments/lexers/grammar_notation.py +63 -6
- data/vendor/pygments-main/pygments/lexers/graph.py +14 -9
- data/vendor/pygments-main/pygments/lexers/graphics.py +272 -25
- data/vendor/pygments-main/pygments/lexers/haskell.py +52 -22
- data/vendor/pygments-main/pygments/lexers/haxe.py +6 -6
- data/vendor/pygments-main/pygments/lexers/hdl.py +176 -86
- data/vendor/pygments-main/pygments/lexers/hexdump.py +18 -12
- data/vendor/pygments-main/pygments/lexers/html.py +31 -19
- data/vendor/pygments-main/pygments/lexers/idl.py +20 -9
- data/vendor/pygments-main/pygments/lexers/igor.py +244 -112
- data/vendor/pygments-main/pygments/lexers/inferno.py +2 -2
- data/vendor/pygments-main/pygments/lexers/installers.py +1 -1
- data/vendor/pygments-main/pygments/lexers/int_fiction.py +40 -15
- data/vendor/pygments-main/pygments/lexers/iolang.py +2 -2
- data/vendor/pygments-main/pygments/lexers/j.py +3 -3
- data/vendor/pygments-main/pygments/lexers/javascript.py +100 -66
- data/vendor/pygments-main/pygments/lexers/julia.py +46 -48
- data/vendor/pygments-main/pygments/lexers/jvm.py +265 -165
- data/vendor/pygments-main/pygments/lexers/lisp.py +882 -804
- data/vendor/pygments-main/pygments/lexers/make.py +10 -6
- data/vendor/pygments-main/pygments/lexers/markup.py +213 -43
- data/vendor/pygments-main/pygments/lexers/math.py +1 -1
- data/vendor/pygments-main/pygments/lexers/matlab.py +98 -41
- data/vendor/pygments-main/pygments/lexers/mime.py +226 -0
- data/vendor/pygments-main/pygments/lexers/ml.py +198 -9
- data/vendor/pygments-main/pygments/lexers/modeling.py +26 -18
- data/vendor/pygments-main/pygments/lexers/modula2.py +25 -6
- data/vendor/pygments-main/pygments/lexers/monte.py +4 -3
- data/vendor/pygments-main/pygments/lexers/mosel.py +448 -0
- data/vendor/pygments-main/pygments/lexers/ncl.py +85 -244
- data/vendor/pygments-main/pygments/lexers/nimrod.py +4 -4
- data/vendor/pygments-main/pygments/lexers/nit.py +1 -1
- data/vendor/pygments-main/pygments/lexers/nix.py +1 -1
- data/vendor/pygments-main/pygments/lexers/oberon.py +17 -1
- data/vendor/pygments-main/pygments/lexers/objective.py +16 -16
- data/vendor/pygments-main/pygments/lexers/ooc.py +1 -1
- data/vendor/pygments-main/pygments/lexers/other.py +1 -1
- data/vendor/pygments-main/pygments/lexers/parasail.py +1 -1
- data/vendor/pygments-main/pygments/lexers/parsers.py +23 -58
- data/vendor/pygments-main/pygments/lexers/pascal.py +23 -23
- data/vendor/pygments-main/pygments/lexers/pawn.py +30 -24
- data/vendor/pygments-main/pygments/lexers/perl.py +276 -160
- data/vendor/pygments-main/pygments/lexers/php.py +64 -10
- data/vendor/pygments-main/pygments/lexers/pointless.py +71 -0
- data/vendor/pygments-main/pygments/lexers/pony.py +94 -0
- data/vendor/pygments-main/pygments/lexers/praat.py +38 -30
- data/vendor/pygments-main/pygments/lexers/prolog.py +36 -36
- data/vendor/pygments-main/pygments/lexers/promql.py +183 -0
- data/vendor/pygments-main/pygments/lexers/python.py +439 -226
- data/vendor/pygments-main/pygments/lexers/qvt.py +6 -6
- data/vendor/pygments-main/pygments/lexers/r.py +13 -275
- data/vendor/pygments-main/pygments/lexers/rdf.py +232 -39
- data/vendor/pygments-main/pygments/lexers/rebol.py +8 -8
- data/vendor/pygments-main/pygments/lexers/resource.py +2 -2
- data/vendor/pygments-main/pygments/lexers/ride.py +139 -0
- data/vendor/pygments-main/pygments/lexers/rnc.py +1 -1
- data/vendor/pygments-main/pygments/lexers/roboconf.py +1 -1
- data/vendor/pygments-main/pygments/lexers/robotframework.py +23 -31
- data/vendor/pygments-main/pygments/lexers/ruby.py +22 -24
- data/vendor/pygments-main/pygments/lexers/rust.py +86 -71
- data/vendor/pygments-main/pygments/lexers/sas.py +7 -7
- data/vendor/pygments-main/pygments/lexers/scdoc.py +83 -0
- data/vendor/pygments-main/pygments/lexers/scripting.py +75 -13
- data/vendor/pygments-main/pygments/lexers/sgf.py +61 -0
- data/vendor/pygments-main/pygments/lexers/shell.py +175 -51
- data/vendor/pygments-main/pygments/lexers/sieve.py +69 -0
- data/vendor/pygments-main/pygments/lexers/slash.py +185 -0
- data/vendor/pygments-main/pygments/lexers/smalltalk.py +2 -2
- data/vendor/pygments-main/pygments/lexers/smv.py +30 -26
- data/vendor/pygments-main/pygments/lexers/snobol.py +1 -1
- data/vendor/pygments-main/pygments/lexers/solidity.py +92 -0
- data/vendor/pygments-main/pygments/lexers/special.py +5 -3
- data/vendor/pygments-main/pygments/lexers/sql.py +333 -177
- data/vendor/pygments-main/pygments/lexers/stata.py +107 -42
- data/vendor/pygments-main/pygments/lexers/supercollider.py +6 -1
- data/vendor/pygments-main/pygments/lexers/tcl.py +1 -1
- data/vendor/pygments-main/pygments/lexers/templates.py +144 -132
- data/vendor/pygments-main/pygments/lexers/teraterm.py +335 -0
- data/vendor/pygments-main/pygments/lexers/testing.py +6 -6
- data/vendor/pygments-main/pygments/lexers/text.py +2 -1
- data/vendor/pygments-main/pygments/lexers/textedit.py +4 -4
- data/vendor/pygments-main/pygments/lexers/textfmts.py +146 -13
- data/vendor/pygments-main/pygments/lexers/theorem.py +69 -53
- data/vendor/pygments-main/pygments/lexers/tnt.py +263 -0
- data/vendor/pygments-main/pygments/lexers/trafficscript.py +1 -1
- data/vendor/pygments-main/pygments/lexers/typoscript.py +8 -14
- data/vendor/pygments-main/pygments/lexers/unicon.py +412 -0
- data/vendor/pygments-main/pygments/lexers/urbi.py +14 -1
- data/vendor/pygments-main/pygments/lexers/usd.py +90 -0
- data/vendor/pygments-main/pygments/lexers/varnish.py +5 -5
- data/vendor/pygments-main/pygments/lexers/verification.py +15 -12
- data/vendor/pygments-main/pygments/lexers/web.py +1 -1
- data/vendor/pygments-main/pygments/lexers/webidl.py +299 -0
- data/vendor/pygments-main/pygments/lexers/webmisc.py +50 -38
- data/vendor/pygments-main/pygments/lexers/whiley.py +11 -12
- data/vendor/pygments-main/pygments/lexers/x10.py +1 -1
- data/vendor/pygments-main/pygments/lexers/xorg.py +37 -0
- data/vendor/pygments-main/pygments/lexers/yang.py +104 -0
- data/vendor/pygments-main/pygments/lexers/zig.py +124 -0
- data/vendor/pygments-main/pygments/modeline.py +6 -5
- data/vendor/pygments-main/pygments/plugin.py +14 -18
- 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 +2 -4
- data/vendor/pygments-main/pygments/style.py +61 -24
- data/vendor/pygments-main/pygments/styles/__init__.py +13 -5
- data/vendor/pygments-main/pygments/styles/abap.py +29 -0
- data/vendor/pygments-main/pygments/styles/algol.py +1 -1
- data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -1
- data/vendor/pygments-main/pygments/styles/arduino.py +2 -2
- data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
- data/vendor/pygments-main/pygments/styles/borland.py +1 -1
- data/vendor/pygments-main/pygments/styles/bw.py +1 -1
- data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
- data/vendor/pygments-main/pygments/styles/default.py +1 -1
- data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
- data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
- data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
- data/vendor/pygments-main/pygments/styles/igor.py +1 -1
- data/vendor/pygments-main/pygments/styles/inkpot.py +67 -0
- data/vendor/pygments-main/pygments/styles/lovelace.py +1 -1
- data/vendor/pygments-main/pygments/styles/manni.py +1 -1
- data/vendor/pygments-main/pygments/styles/monokai.py +4 -3
- data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
- data/vendor/pygments-main/pygments/styles/native.py +1 -1
- data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -1
- data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -1
- data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
- data/vendor/pygments-main/pygments/styles/perldoc.py +1 -1
- data/vendor/pygments-main/pygments/styles/rainbow_dash.py +89 -0
- data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
- data/vendor/pygments-main/pygments/styles/sas.py +3 -0
- data/vendor/pygments-main/pygments/styles/solarized.py +134 -0
- data/vendor/pygments-main/pygments/styles/stata_dark.py +41 -0
- data/vendor/pygments-main/pygments/styles/stata_light.py +39 -0
- data/vendor/pygments-main/pygments/styles/tango.py +1 -1
- data/vendor/pygments-main/pygments/styles/trac.py +1 -1
- data/vendor/pygments-main/pygments/styles/vim.py +1 -1
- data/vendor/pygments-main/pygments/styles/vs.py +1 -1
- data/vendor/pygments-main/pygments/styles/xcode.py +1 -1
- data/vendor/pygments-main/pygments/token.py +1 -1
- data/vendor/pygments-main/pygments/unistring.py +47 -108
- data/vendor/pygments-main/pygments/util.py +19 -95
- metadata +71 -137
- data/CHANGELOG.md +0 -98
- 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 -1163
- 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 -331
- 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 -149
- 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 -689
- 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 -84
- 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/pygments/styles/stata.py +0 -37
- 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/find_error.py +0 -1
- 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
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Lexers for Inferno os and all the related stuff.
|
|
7
7
|
|
|
8
|
-
:copyright: Copyright 2006-
|
|
8
|
+
:copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
|
|
9
9
|
:license: BSD, see LICENSE for details.
|
|
10
10
|
"""
|
|
11
11
|
|
|
@@ -64,7 +64,7 @@ class LimboLexer(RegexLexer):
|
|
|
64
64
|
(r'(byte|int|big|real|string|array|chan|list|adt'
|
|
65
65
|
r'|fn|ref|of|module|self|type)\b', Keyword.Type),
|
|
66
66
|
(r'(con|iota|nil)\b', Keyword.Constant),
|
|
67
|
-
('[a-zA-Z_]\w*', Name),
|
|
67
|
+
(r'[a-zA-Z_]\w*', Name),
|
|
68
68
|
],
|
|
69
69
|
'statement' : [
|
|
70
70
|
include('whitespace'),
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Lexers for interactive fiction languages.
|
|
7
7
|
|
|
8
|
-
:copyright: Copyright 2006-
|
|
8
|
+
:copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
|
|
9
9
|
:license: BSD, see LICENSE for details.
|
|
10
10
|
"""
|
|
11
11
|
|
|
@@ -38,10 +38,10 @@ class Inform6Lexer(RegexLexer):
|
|
|
38
38
|
# Inform 7 maps these four character classes to their ASCII
|
|
39
39
|
# equivalents. To support Inform 6 inclusions within Inform 7,
|
|
40
40
|
# Inform6Lexer maps them too.
|
|
41
|
-
_dash =
|
|
42
|
-
_dquote =
|
|
43
|
-
_squote =
|
|
44
|
-
_newline =
|
|
41
|
+
_dash = '\\-\u2010-\u2014'
|
|
42
|
+
_dquote = '"\u201c\u201d'
|
|
43
|
+
_squote = "'\u2018\u2019"
|
|
44
|
+
_newline = '\\n\u0085\u2028\u2029'
|
|
45
45
|
|
|
46
46
|
tokens = {
|
|
47
47
|
'root': [
|
|
@@ -118,7 +118,7 @@ class Inform6Lexer(RegexLexer):
|
|
|
118
118
|
include('_whitespace'),
|
|
119
119
|
# Strings
|
|
120
120
|
(r'[%s][^@][%s]' % (_squote, _squote), String.Char, '#pop'),
|
|
121
|
-
(r'([%s])(@\{[0-9a-fA-F]
|
|
121
|
+
(r'([%s])(@\{[0-9a-fA-F]*\})([%s])' % (_squote, _squote),
|
|
122
122
|
bygroups(String.Char, String.Escape, String.Char), '#pop'),
|
|
123
123
|
(r'([%s])(@.{2})([%s])' % (_squote, _squote),
|
|
124
124
|
bygroups(String.Char, String.Escape, String.Char), '#pop'),
|
|
@@ -180,7 +180,7 @@ class Inform6Lexer(RegexLexer):
|
|
|
180
180
|
(r'[~^]+', String.Escape),
|
|
181
181
|
(r'[^~^\\@({%s]+' % _squote, String.Single),
|
|
182
182
|
(r'[({]', String.Single),
|
|
183
|
-
(r'@\{[0-9a-fA-F]
|
|
183
|
+
(r'@\{[0-9a-fA-F]*\}', String.Escape),
|
|
184
184
|
(r'@.{2}', String.Escape),
|
|
185
185
|
(r'[%s]' % _squote, String.Single, '#pop')
|
|
186
186
|
],
|
|
@@ -191,7 +191,7 @@ class Inform6Lexer(RegexLexer):
|
|
|
191
191
|
(r'\\', String.Escape),
|
|
192
192
|
(r'@(\\\s*[%s]\s*)*@((\\\s*[%s]\s*)*[0-9])*' %
|
|
193
193
|
(_newline, _newline), String.Escape),
|
|
194
|
-
(r'@(\\\s*[%s]\s*)*\{((\\\s*[%s]\s*)*[0-9a-fA-F])
|
|
194
|
+
(r'@(\\\s*[%s]\s*)*\{((\\\s*[%s]\s*)*[0-9a-fA-F])*'
|
|
195
195
|
r'(\\\s*[%s]\s*)*\}' % (_newline, _newline, _newline),
|
|
196
196
|
String.Escape),
|
|
197
197
|
(r'@(\\\s*[%s]\s*)*.(\\\s*[%s]\s*)*.' % (_newline, _newline),
|
|
@@ -257,8 +257,8 @@ class Inform6Lexer(RegexLexer):
|
|
|
257
257
|
(r'(?i)(extend|verb)\b', Keyword, 'grammar'),
|
|
258
258
|
(r'(?i)fake_action\b', Keyword, ('default', '_constant')),
|
|
259
259
|
(r'(?i)import\b', Keyword, 'manifest'),
|
|
260
|
-
(r'(?i)(include|link)\b', Keyword,
|
|
261
|
-
('default', 'before-plain-string')),
|
|
260
|
+
(r'(?i)(include|link|origsource)\b', Keyword,
|
|
261
|
+
('default', 'before-plain-string?')),
|
|
262
262
|
(r'(?i)(lowstring|undef)\b', Keyword, ('default', '_constant')),
|
|
263
263
|
(r'(?i)message\b', Keyword, ('default', 'diagnostic')),
|
|
264
264
|
(r'(?i)(nearby|object)\b', Keyword,
|
|
@@ -365,11 +365,12 @@ class Inform6Lexer(RegexLexer):
|
|
|
365
365
|
'diagnostic': [
|
|
366
366
|
include('_whitespace'),
|
|
367
367
|
(r'[%s]' % _dquote, String.Double, ('#pop', 'message-string')),
|
|
368
|
-
default(('#pop', 'before-plain-string', 'directive-keyword?'))
|
|
368
|
+
default(('#pop', 'before-plain-string?', 'directive-keyword?'))
|
|
369
369
|
],
|
|
370
|
-
'before-plain-string': [
|
|
370
|
+
'before-plain-string?': [
|
|
371
371
|
include('_whitespace'),
|
|
372
|
-
(r'[%s]' % _dquote, String.Double, ('#pop', 'plain-string'))
|
|
372
|
+
(r'[%s]' % _dquote, String.Double, ('#pop', 'plain-string')),
|
|
373
|
+
default('#pop')
|
|
373
374
|
],
|
|
374
375
|
'message-string': [
|
|
375
376
|
(r'[~^]+', String.Escape),
|
|
@@ -386,6 +387,7 @@ class Inform6Lexer(RegexLexer):
|
|
|
386
387
|
'replace', 'reverse', 'scope', 'score', 'special', 'string', 'table', 'terminating',
|
|
387
388
|
'time', 'topic', 'warning', 'with'), suffix=r'\b'),
|
|
388
389
|
Keyword, '#pop'),
|
|
390
|
+
(r'static\b', Keyword),
|
|
389
391
|
(r'[%s]{1,2}>|[+=]' % _dash, Punctuation, '#pop')
|
|
390
392
|
],
|
|
391
393
|
'_directive-keyword': [
|
|
@@ -514,6 +516,15 @@ class Inform6Lexer(RegexLexer):
|
|
|
514
516
|
while objectloop_queue:
|
|
515
517
|
yield objectloop_queue.pop(0)
|
|
516
518
|
|
|
519
|
+
def analyse_text(text):
|
|
520
|
+
"""We try to find a keyword which seem relatively common, unfortunately
|
|
521
|
+
there is a decent overlap with Smalltalk keywords otherwise here.."""
|
|
522
|
+
result = 0
|
|
523
|
+
if re.search('\borigsource\b', text, re.IGNORECASE):
|
|
524
|
+
result += 0.05
|
|
525
|
+
|
|
526
|
+
return result
|
|
527
|
+
|
|
517
528
|
|
|
518
529
|
class Inform7Lexer(RegexLexer):
|
|
519
530
|
"""
|
|
@@ -856,7 +867,7 @@ class Tads3Lexer(RegexLexer):
|
|
|
856
867
|
|
|
857
868
|
tokens = {
|
|
858
869
|
'root': [
|
|
859
|
-
(
|
|
870
|
+
('\ufeff', Text),
|
|
860
871
|
(r'\{', Punctuation, 'object-body'),
|
|
861
872
|
(r';+', Punctuation),
|
|
862
873
|
(r'(?=(argcount|break|case|catch|continue|default|definingobj|'
|
|
@@ -911,7 +922,7 @@ class Tads3Lexer(RegexLexer):
|
|
|
911
922
|
'block?/root': [
|
|
912
923
|
(r'\{', Punctuation, ('#pop', 'block')),
|
|
913
924
|
include('whitespace'),
|
|
914
|
-
(r'(?=[[\'"<(:])', Text, # It might be a VerbRule macro.
|
|
925
|
+
(r'(?=[\[\'"<(:])', Text, # It might be a VerbRule macro.
|
|
915
926
|
('#pop', 'object-body/no-braces', 'grammar', 'grammar-rules')),
|
|
916
927
|
# It might be a macro like DefineAction.
|
|
917
928
|
default(('#pop', 'object-body/no-braces'))
|
|
@@ -1341,3 +1352,17 @@ class Tads3Lexer(RegexLexer):
|
|
|
1341
1352
|
else:
|
|
1342
1353
|
token = Comment
|
|
1343
1354
|
yield index, token, value
|
|
1355
|
+
|
|
1356
|
+
def analyse_text(text):
|
|
1357
|
+
"""This is a rather generic descriptive language without strong
|
|
1358
|
+
identifiers. It looks like a 'GameMainDef' has to be present,
|
|
1359
|
+
and/or a 'versionInfo' with an 'IFID' field."""
|
|
1360
|
+
result = 0
|
|
1361
|
+
if '__TADS' in text or 'GameMainDef' in text:
|
|
1362
|
+
result += 0.2
|
|
1363
|
+
|
|
1364
|
+
# This is a fairly unique keyword which is likely used in source as well
|
|
1365
|
+
if 'versionInfo' in text and 'IFID' in text:
|
|
1366
|
+
result += 0.1
|
|
1367
|
+
|
|
1368
|
+
return result
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Lexers for the Io language.
|
|
7
7
|
|
|
8
|
-
:copyright: Copyright 2006-
|
|
8
|
+
:copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
|
|
9
9
|
:license: BSD, see LICENSE for details.
|
|
10
10
|
"""
|
|
11
11
|
|
|
@@ -49,7 +49,7 @@ class IoLexer(RegexLexer):
|
|
|
49
49
|
# names
|
|
50
50
|
(r'(Object|list|List|Map|args|Sequence|Coroutine|File)\b',
|
|
51
51
|
Name.Builtin),
|
|
52
|
-
('[a-zA-Z_]\w*', Name),
|
|
52
|
+
(r'[a-zA-Z_]\w*', Name),
|
|
53
53
|
# numbers
|
|
54
54
|
(r'(\d+\.?\d*|\d*\.\d+)([eE][+-]?[0-9]+)?', Number.Float),
|
|
55
55
|
(r'\d+', Number.Integer)
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Lexer for the J programming language.
|
|
7
7
|
|
|
8
|
-
:copyright: Copyright 2006-
|
|
8
|
+
:copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
|
|
9
9
|
:license: BSD, see LICENSE for details.
|
|
10
10
|
"""
|
|
11
11
|
|
|
@@ -52,13 +52,13 @@ class JLexer(RegexLexer):
|
|
|
52
52
|
Name.Function, 'explicitDefinition'),
|
|
53
53
|
|
|
54
54
|
# Flow Control
|
|
55
|
-
(words(('for_', 'goto_', 'label_'), suffix=validName+'\.'), Name.Label),
|
|
55
|
+
(words(('for_', 'goto_', 'label_'), suffix=validName+r'\.'), Name.Label),
|
|
56
56
|
(words((
|
|
57
57
|
'assert', 'break', 'case', 'catch', 'catchd',
|
|
58
58
|
'catcht', 'continue', 'do', 'else', 'elseif',
|
|
59
59
|
'end', 'fcase', 'for', 'if', 'return',
|
|
60
60
|
'select', 'throw', 'try', 'while', 'whilst',
|
|
61
|
-
), suffix='\.'), Name.Label),
|
|
61
|
+
), suffix=r'\.'), Name.Label),
|
|
62
62
|
|
|
63
63
|
# Variable Names
|
|
64
64
|
(validName, Name.Variable),
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Lexers for JavaScript and related languages.
|
|
7
7
|
|
|
8
|
-
:copyright: Copyright 2006-
|
|
8
|
+
:copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
|
|
9
9
|
:license: BSD, see LICENSE for details.
|
|
10
10
|
"""
|
|
11
11
|
|
|
@@ -15,7 +15,7 @@ from pygments.lexer import RegexLexer, include, bygroups, default, using, \
|
|
|
15
15
|
this, words, combined
|
|
16
16
|
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
|
|
17
17
|
Number, Punctuation, Other
|
|
18
|
-
from pygments.util import get_bool_opt
|
|
18
|
+
from pygments.util import get_bool_opt
|
|
19
19
|
import pygments.unistring as uni
|
|
20
20
|
|
|
21
21
|
__all__ = ['JavascriptLexer', 'KalLexer', 'LiveScriptLexer', 'DartLexer',
|
|
@@ -26,7 +26,7 @@ JS_IDENT_START = ('(?:[$_' + uni.combine('Lu', 'Ll', 'Lt', 'Lm', 'Lo', 'Nl') +
|
|
|
26
26
|
']|\\\\u[a-fA-F0-9]{4})')
|
|
27
27
|
JS_IDENT_PART = ('(?:[$' + uni.combine('Lu', 'Ll', 'Lt', 'Lm', 'Lo', 'Nl',
|
|
28
28
|
'Mn', 'Mc', 'Nd', 'Pc') +
|
|
29
|
-
|
|
29
|
+
'\u200c\u200d]|\\\\u[a-fA-F0-9]{4})')
|
|
30
30
|
JS_IDENT = JS_IDENT_START + '(?:' + JS_IDENT_PART + ')*'
|
|
31
31
|
|
|
32
32
|
|
|
@@ -37,7 +37,7 @@ class JavascriptLexer(RegexLexer):
|
|
|
37
37
|
|
|
38
38
|
name = 'JavaScript'
|
|
39
39
|
aliases = ['js', 'javascript']
|
|
40
|
-
filenames = ['*.js', '*.jsm']
|
|
40
|
+
filenames = ['*.js', '*.jsm', '*.mjs']
|
|
41
41
|
mimetypes = ['application/javascript', 'application/x-javascript',
|
|
42
42
|
'text/x-javascript', 'text/javascript']
|
|
43
43
|
|
|
@@ -53,7 +53,7 @@ class JavascriptLexer(RegexLexer):
|
|
|
53
53
|
'slashstartsregex': [
|
|
54
54
|
include('commentsandwhitespace'),
|
|
55
55
|
(r'/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/'
|
|
56
|
-
r'([
|
|
56
|
+
r'([gimuy]+\b|\B)', String.Regex, '#pop'),
|
|
57
57
|
(r'(?=/)', Text, ('#pop', 'badregex')),
|
|
58
58
|
default('#pop')
|
|
59
59
|
],
|
|
@@ -64,13 +64,24 @@ class JavascriptLexer(RegexLexer):
|
|
|
64
64
|
(r'\A#! ?/.*?\n', Comment.Hashbang), # recognized by node.js
|
|
65
65
|
(r'^(?=\s|/|<!--)', Text, 'slashstartsregex'),
|
|
66
66
|
include('commentsandwhitespace'),
|
|
67
|
+
|
|
68
|
+
# Numeric literals
|
|
69
|
+
(r'0[bB][01]+n?', Number.Bin),
|
|
70
|
+
(r'0[oO]?[0-7]+n?', Number.Oct), # Browsers support "0o7" and "07" notations
|
|
71
|
+
(r'0[xX][0-9a-fA-F]+n?', Number.Hex),
|
|
72
|
+
(r'[0-9]+n', Number.Integer), # Javascript BigInt requires an "n" postfix
|
|
73
|
+
# Javascript doesn't have actual integer literals, so every other
|
|
74
|
+
# numeric literal is handled by the regex below (including "normal")
|
|
75
|
+
# integers
|
|
76
|
+
(r'(\.[0-9]+|[0-9]+\.[0-9]*|[0-9]+)([eE][-+]?[0-9]+)?', Number.Float),
|
|
77
|
+
|
|
78
|
+
(r'\.\.\.|=>', Punctuation),
|
|
67
79
|
(r'\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|'
|
|
68
|
-
r'(
|
|
69
|
-
(r'\.\.\.', Punctuation),
|
|
80
|
+
r'(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?', Operator, 'slashstartsregex'),
|
|
70
81
|
(r'[{(\[;,]', Punctuation, 'slashstartsregex'),
|
|
71
82
|
(r'[})\].]', Punctuation),
|
|
72
83
|
(r'(for|in|while|do|break|return|continue|switch|case|default|if|else|'
|
|
73
|
-
r'throw|try|catch|finally|new|delete|typeof|instanceof|void|yield|'
|
|
84
|
+
r'throw|try|catch|finally|new|delete|typeof|instanceof|void|yield|await|async|'
|
|
74
85
|
r'this|of)\b', Keyword, 'slashstartsregex'),
|
|
75
86
|
(r'(var|let|with|function)\b', Keyword.Declaration, 'slashstartsregex'),
|
|
76
87
|
(r'(abstract|boolean|byte|char|class|const|debugger|double|enum|export|'
|
|
@@ -84,11 +95,6 @@ class JavascriptLexer(RegexLexer):
|
|
|
84
95
|
r'Error|eval|isFinite|isNaN|isSafeInteger|parseFloat|parseInt|'
|
|
85
96
|
r'document|this|window)\b', Name.Builtin),
|
|
86
97
|
(JS_IDENT, Name.Other),
|
|
87
|
-
(r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
|
|
88
|
-
(r'0b[01]+', Number.Bin),
|
|
89
|
-
(r'0o[0-7]+', Number.Oct),
|
|
90
|
-
(r'0x[0-9a-fA-F]+', Number.Hex),
|
|
91
|
-
(r'[0-9]+', Number.Integer),
|
|
92
98
|
(r'"(\\\\|\\"|[^"])*"', String.Double),
|
|
93
99
|
(r"'(\\\\|\\'|[^'])*'", String.Single),
|
|
94
100
|
(r'`', String.Backtick, 'interp'),
|
|
@@ -259,11 +265,11 @@ class LiveScriptLexer(RegexLexer):
|
|
|
259
265
|
(r'//', String.Regex, ('#pop', 'multilineregex')),
|
|
260
266
|
(r'/(?! )(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/'
|
|
261
267
|
r'([gim]+\b|\B)', String.Regex, '#pop'),
|
|
268
|
+
(r'/', Operator, '#pop'),
|
|
262
269
|
default('#pop'),
|
|
263
270
|
],
|
|
264
271
|
'root': [
|
|
265
|
-
|
|
266
|
-
# (r'^(?=\s|/|<!--)', Text, 'slashstartsregex'),
|
|
272
|
+
(r'\A(?=\s|/)', Text, 'slashstartsregex'),
|
|
267
273
|
include('commentsandwhitespace'),
|
|
268
274
|
(r'(?:\([^()]+\))?[ ]*[~-]{1,2}>|'
|
|
269
275
|
r'(?:\(?[^()\n]+\)?)?[ ]*<[~-]{1,2}', Name.Function),
|
|
@@ -340,7 +346,7 @@ class LiveScriptLexer(RegexLexer):
|
|
|
340
346
|
|
|
341
347
|
class DartLexer(RegexLexer):
|
|
342
348
|
"""
|
|
343
|
-
For `Dart <http://
|
|
349
|
+
For `Dart <http://dart.dev/>`_ source code.
|
|
344
350
|
|
|
345
351
|
.. versionadded:: 1.5
|
|
346
352
|
"""
|
|
@@ -361,16 +367,19 @@ class DartLexer(RegexLexer):
|
|
|
361
367
|
(r'[^\S\n]+', Text),
|
|
362
368
|
(r'//.*?\n', Comment.Single),
|
|
363
369
|
(r'/\*.*?\*/', Comment.Multiline),
|
|
364
|
-
(r'\b(class)\b(\s+)',
|
|
370
|
+
(r'\b(class|extension|mixin)\b(\s+)',
|
|
365
371
|
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',
|
|
372
|
+
(r'\b(as|assert|break|case|catch|const|continue|default|do|else|finally|'
|
|
373
|
+
r'for|if|in|is|new|rethrow|return|super|switch|this|throw|try|while)\b',
|
|
368
374
|
Keyword),
|
|
369
|
-
(r'\b(abstract|const|extends|factory|final|
|
|
370
|
-
r'native|operator|set|static|typedef|
|
|
371
|
-
|
|
375
|
+
(r'\b(abstract|async|await|const|covariant|extends|external|factory|final|'
|
|
376
|
+
r'get|implements|late|native|on|operator|required|set|static|sync|typedef|'
|
|
377
|
+
r'var|with|yield)\b', Keyword.Declaration),
|
|
378
|
+
(r'\b(bool|double|dynamic|int|num|Function|Never|Null|Object|String|void)\b',
|
|
379
|
+
Keyword.Type),
|
|
372
380
|
(r'\b(false|null|true)\b', Keyword.Constant),
|
|
373
381
|
(r'[~!%^&*+=|?:<>/-]|as\b', Operator),
|
|
382
|
+
(r'@[a-zA-Z_$]\w*', Name.Decorator),
|
|
374
383
|
(r'[a-zA-Z_$]\w*:', Name.Label),
|
|
375
384
|
(r'[a-zA-Z_$]\w*', Name),
|
|
376
385
|
(r'[(){}\[\],.;]', Punctuation),
|
|
@@ -387,7 +396,7 @@ class DartLexer(RegexLexer):
|
|
|
387
396
|
'import_decl': [
|
|
388
397
|
include('string_literal'),
|
|
389
398
|
(r'\s+', Text),
|
|
390
|
-
(r'\b(as|show|hide)\b', Keyword),
|
|
399
|
+
(r'\b(as|deferred|show|hide)\b', Keyword),
|
|
391
400
|
(r'[a-zA-Z_$]\w*', Name),
|
|
392
401
|
(r'\,', Punctuation),
|
|
393
402
|
(r'\;', Punctuation, '#pop')
|
|
@@ -447,11 +456,15 @@ class TypeScriptLexer(RegexLexer):
|
|
|
447
456
|
|
|
448
457
|
name = 'TypeScript'
|
|
449
458
|
aliases = ['ts', 'typescript']
|
|
450
|
-
filenames = ['*.ts']
|
|
459
|
+
filenames = ['*.ts', '*.tsx']
|
|
451
460
|
mimetypes = ['text/x-typescript']
|
|
452
461
|
|
|
453
462
|
flags = re.DOTALL | re.MULTILINE
|
|
454
463
|
|
|
464
|
+
# Higher priority than the TypoScriptLexer, as TypeScript is far more
|
|
465
|
+
# common these days
|
|
466
|
+
priority = 0.5
|
|
467
|
+
|
|
455
468
|
tokens = {
|
|
456
469
|
'commentsandwhitespace': [
|
|
457
470
|
(r'\s+', Text),
|
|
@@ -477,7 +490,7 @@ class TypeScriptLexer(RegexLexer):
|
|
|
477
490
|
(r'[{(\[;,]', Punctuation, 'slashstartsregex'),
|
|
478
491
|
(r'[})\].]', Punctuation),
|
|
479
492
|
(r'(for|in|while|do|break|return|continue|switch|case|default|if|else|'
|
|
480
|
-
r'throw|try|catch|finally|new|delete|typeof|instanceof|void|'
|
|
493
|
+
r'throw|try|catch|finally|new|delete|typeof|instanceof|void|of|'
|
|
481
494
|
r'this)\b', Keyword, 'slashstartsregex'),
|
|
482
495
|
(r'(var|let|with|function)\b', Keyword.Declaration, 'slashstartsregex'),
|
|
483
496
|
(r'(abstract|boolean|byte|char|class|const|debugger|double|enum|export|'
|
|
@@ -511,9 +524,26 @@ class TypeScriptLexer(RegexLexer):
|
|
|
511
524
|
(r'[0-9]+', Number.Integer),
|
|
512
525
|
(r'"(\\\\|\\"|[^"])*"', String.Double),
|
|
513
526
|
(r"'(\\\\|\\'|[^'])*'", String.Single),
|
|
527
|
+
(r'`', String.Backtick, 'interp'),
|
|
514
528
|
# Match stuff like: Decorators
|
|
515
529
|
(r'@\w+', Keyword.Declaration),
|
|
516
|
-
]
|
|
530
|
+
],
|
|
531
|
+
|
|
532
|
+
# The 'interp*' rules match those in JavascriptLexer. Changes made
|
|
533
|
+
# there should be reflected here as well.
|
|
534
|
+
'interp': [
|
|
535
|
+
(r'`', String.Backtick, '#pop'),
|
|
536
|
+
(r'\\\\', String.Backtick),
|
|
537
|
+
(r'\\`', String.Backtick),
|
|
538
|
+
(r'\$\{', String.Interpol, 'interp-inside'),
|
|
539
|
+
(r'\$', String.Backtick),
|
|
540
|
+
(r'[^`\\$]+', String.Backtick),
|
|
541
|
+
],
|
|
542
|
+
'interp-inside': [
|
|
543
|
+
# TODO: should this include single-line comments and allow nesting strings?
|
|
544
|
+
(r'\}', String.Interpol, '#pop'),
|
|
545
|
+
include('root'),
|
|
546
|
+
],
|
|
517
547
|
}
|
|
518
548
|
|
|
519
549
|
|
|
@@ -545,12 +575,7 @@ class LassoLexer(RegexLexer):
|
|
|
545
575
|
tokens = {
|
|
546
576
|
'root': [
|
|
547
577
|
(r'^#![ \S]+lasso9\b', Comment.Preproc, 'lasso'),
|
|
548
|
-
(r'
|
|
549
|
-
(r'\[noprocess\]', Comment.Preproc, ('delimiters', 'noprocess')),
|
|
550
|
-
(r'\[', Comment.Preproc, ('delimiters', 'squarebrackets')),
|
|
551
|
-
(r'<\?(LassoScript|lasso|=)', Comment.Preproc,
|
|
552
|
-
('delimiters', 'anglebrackets')),
|
|
553
|
-
(r'<(!--.*?-->)?', Other, 'delimiters'),
|
|
578
|
+
(r'(?=\[|<)', Other, 'delimiters'),
|
|
554
579
|
(r'\s+', Other),
|
|
555
580
|
default(('delimiters', 'lassofile')),
|
|
556
581
|
],
|
|
@@ -558,14 +583,14 @@ class LassoLexer(RegexLexer):
|
|
|
558
583
|
(r'\[no_square_brackets\]', Comment.Preproc, 'nosquarebrackets'),
|
|
559
584
|
(r'\[noprocess\]', Comment.Preproc, 'noprocess'),
|
|
560
585
|
(r'\[', Comment.Preproc, 'squarebrackets'),
|
|
561
|
-
(r'<\?(
|
|
586
|
+
(r'<\?(lasso(script)?|=)', Comment.Preproc, 'anglebrackets'),
|
|
562
587
|
(r'<(!--.*?-->)?', Other),
|
|
563
588
|
(r'[^[<]+', Other),
|
|
564
589
|
],
|
|
565
590
|
'nosquarebrackets': [
|
|
566
591
|
(r'\[noprocess\]', Comment.Preproc, 'noprocess'),
|
|
567
592
|
(r'\[', Other),
|
|
568
|
-
(r'<\?(
|
|
593
|
+
(r'<\?(lasso(script)?|=)', Comment.Preproc, 'anglebrackets'),
|
|
569
594
|
(r'<(!--.*?-->)?', Other),
|
|
570
595
|
(r'[^[<]+', Other),
|
|
571
596
|
],
|
|
@@ -607,7 +632,7 @@ class LassoLexer(RegexLexer):
|
|
|
607
632
|
|
|
608
633
|
# names
|
|
609
634
|
(r'\$[a-z_][\w.]*', Name.Variable),
|
|
610
|
-
(r'#([a-z_][\w.]*|\d
|
|
635
|
+
(r'#([a-z_][\w.]*|\d+\b)', Name.Variable.Instance),
|
|
611
636
|
(r"(\.\s*)('[a-z_][\w.]*')",
|
|
612
637
|
bygroups(Name.Builtin.Pseudo, Name.Variable.Class)),
|
|
613
638
|
(r"(self)(\s*->\s*)('[a-z_][\w.]*')",
|
|
@@ -658,20 +683,20 @@ class LassoLexer(RegexLexer):
|
|
|
658
683
|
r'Database_TableNames|Define_Tag|Define_Type|Email_Batch|'
|
|
659
684
|
r'Encode_Set|HTML_Comment|Handle|Handle_Error|Header|If|Inline|'
|
|
660
685
|
r'Iterate|LJAX_Target|Link|Link_CurrentAction|Link_CurrentGroup|'
|
|
661
|
-
r'Link_CurrentRecord|Link_Detail|Link_FirstGroup|'
|
|
662
|
-
r'
|
|
663
|
-
r'
|
|
664
|
-
r'
|
|
665
|
-
r'
|
|
666
|
-
r'
|
|
667
|
-
r'
|
|
668
|
-
r'Loop_Continue|Loop_Count|Params|Params_Up|Return|
|
|
669
|
-
r'Run_Children|SOAP_DefineTag|SOAP_LastRequest|
|
|
670
|
-
r'Tag_Name|ascending|average|by|define|
|
|
671
|
-
r'frozen|group|handle_failure|import|in|into|
|
|
672
|
-
r'min|on|order|parent|protected|provide|public|
|
|
673
|
-
r'skip|split_thread|sum|take|thread|to|trait|
|
|
674
|
-
r'yield|yieldhome)\b',
|
|
686
|
+
r'Link_CurrentRecord|Link_Detail|Link_FirstGroup|Link_FirstRecord|'
|
|
687
|
+
r'Link_LastGroup|Link_LastRecord|Link_NextGroup|Link_NextRecord|'
|
|
688
|
+
r'Link_PrevGroup|Link_PrevRecord|Log|Loop|Output_None|Portal|'
|
|
689
|
+
r'Private|Protect|Records|Referer|Referrer|Repeating|ResultSet|'
|
|
690
|
+
r'Rows|Search_Args|Search_Arguments|Select|Sort_Args|'
|
|
691
|
+
r'Sort_Arguments|Thread_Atomic|Value_List|While|Abort|Case|Else|'
|
|
692
|
+
r'Fail_If|Fail_IfNot|Fail|If_Empty|If_False|If_Null|If_True|'
|
|
693
|
+
r'Loop_Abort|Loop_Continue|Loop_Count|Params|Params_Up|Return|'
|
|
694
|
+
r'Return_Value|Run_Children|SOAP_DefineTag|SOAP_LastRequest|'
|
|
695
|
+
r'SOAP_LastResponse|Tag_Name|ascending|average|by|define|'
|
|
696
|
+
r'descending|do|equals|frozen|group|handle_failure|import|in|into|'
|
|
697
|
+
r'join|let|match|max|min|on|order|parent|protected|provide|public|'
|
|
698
|
+
r'require|returnhome|skip|split_thread|sum|take|thread|to|trait|'
|
|
699
|
+
r'type|where|with|yield|yieldhome)\b',
|
|
675
700
|
bygroups(Punctuation, Keyword)),
|
|
676
701
|
|
|
677
702
|
# other
|
|
@@ -749,9 +774,9 @@ class LassoLexer(RegexLexer):
|
|
|
749
774
|
self._members = set()
|
|
750
775
|
if self.builtinshighlighting:
|
|
751
776
|
from pygments.lexers._lasso_builtins import BUILTINS, MEMBERS
|
|
752
|
-
for key, value in
|
|
777
|
+
for key, value in BUILTINS.items():
|
|
753
778
|
self._builtins.update(value)
|
|
754
|
-
for key, value in
|
|
779
|
+
for key, value in MEMBERS.items():
|
|
755
780
|
self._members.update(value)
|
|
756
781
|
RegexLexer.__init__(self, **options)
|
|
757
782
|
|
|
@@ -996,7 +1021,7 @@ class ObjectiveJLexer(RegexLexer):
|
|
|
996
1021
|
}
|
|
997
1022
|
|
|
998
1023
|
def analyse_text(text):
|
|
999
|
-
if re.search('^\s*@import\s+[<"]', text, re.MULTILINE):
|
|
1024
|
+
if re.search(r'^\s*@import\s+[<"]', text, re.MULTILINE):
|
|
1000
1025
|
# special directive found in most Objective-J files
|
|
1001
1026
|
return True
|
|
1002
1027
|
return False
|
|
@@ -1016,11 +1041,10 @@ class CoffeeScriptLexer(RegexLexer):
|
|
|
1016
1041
|
filenames = ['*.coffee']
|
|
1017
1042
|
mimetypes = ['text/coffeescript']
|
|
1018
1043
|
|
|
1019
|
-
|
|
1020
1044
|
_operator_re = (
|
|
1021
1045
|
r'\+\+|~|&&|\band\b|\bor\b|\bis\b|\bisnt\b|\bnot\b|\?|:|'
|
|
1022
1046
|
r'\|\||\\(?=\n)|'
|
|
1023
|
-
r'(<<|>>>?|==?(?!>)|!=?|=(?!>)|-(?!>)|[
|
|
1047
|
+
r'(<<|>>>?|==?(?!>)|!=?|=(?!>)|-(?!>)|[<>+*`%&|\^/])=?')
|
|
1024
1048
|
|
|
1025
1049
|
flags = re.DOTALL
|
|
1026
1050
|
tokens = {
|
|
@@ -1043,12 +1067,12 @@ class CoffeeScriptLexer(RegexLexer):
|
|
|
1043
1067
|
# This isn't really guarding against mishighlighting well-formed
|
|
1044
1068
|
# code, just the ability to infinite-loop between root and
|
|
1045
1069
|
# slashstartsregex.
|
|
1046
|
-
(r'/', Operator),
|
|
1070
|
+
(r'/', Operator, '#pop'),
|
|
1047
1071
|
default('#pop'),
|
|
1048
1072
|
],
|
|
1049
1073
|
'root': [
|
|
1050
1074
|
include('commentsandwhitespace'),
|
|
1051
|
-
(r'
|
|
1075
|
+
(r'\A(?=\s|/)', Text, 'slashstartsregex'),
|
|
1052
1076
|
(_operator_re, Operator, 'slashstartsregex'),
|
|
1053
1077
|
(r'(?:\([^()]*\))?\s*[=-]>', Name.Function, 'slashstartsregex'),
|
|
1054
1078
|
(r'[{(\[;,]', Punctuation, 'slashstartsregex'),
|
|
@@ -1118,7 +1142,7 @@ class CoffeeScriptLexer(RegexLexer):
|
|
|
1118
1142
|
|
|
1119
1143
|
class MaskLexer(RegexLexer):
|
|
1120
1144
|
"""
|
|
1121
|
-
For `Mask <
|
|
1145
|
+
For `Mask <https://github.com/atmajs/MaskJS>`__ markup.
|
|
1122
1146
|
|
|
1123
1147
|
.. versionadded:: 2.0
|
|
1124
1148
|
"""
|
|
@@ -1440,21 +1464,24 @@ class EarlGreyLexer(RegexLexer):
|
|
|
1440
1464
|
(r'8r[0-7]+', Number.Oct),
|
|
1441
1465
|
(r'2r[01]+', Number.Bin),
|
|
1442
1466
|
(r'16r[a-fA-F0-9]+', Number.Hex),
|
|
1443
|
-
(r'([3-79]|[12][0-9]|3[0-6])r[a-zA-Z\d]+(\.[a-zA-Z\d]+)?',
|
|
1467
|
+
(r'([3-79]|[12][0-9]|3[0-6])r[a-zA-Z\d]+(\.[a-zA-Z\d]+)?',
|
|
1468
|
+
Number.Radix),
|
|
1444
1469
|
(r'\d+', Number.Integer)
|
|
1445
1470
|
],
|
|
1446
1471
|
}
|
|
1447
1472
|
|
|
1473
|
+
|
|
1448
1474
|
class JuttleLexer(RegexLexer):
|
|
1449
1475
|
"""
|
|
1450
1476
|
For `Juttle`_ source code.
|
|
1451
1477
|
|
|
1452
1478
|
.. _Juttle: https://github.com/juttle/juttle
|
|
1453
1479
|
|
|
1480
|
+
.. versionadded:: 2.2
|
|
1454
1481
|
"""
|
|
1455
1482
|
|
|
1456
1483
|
name = 'Juttle'
|
|
1457
|
-
aliases = ['juttle'
|
|
1484
|
+
aliases = ['juttle']
|
|
1458
1485
|
filenames = ['*.juttle']
|
|
1459
1486
|
mimetypes = ['application/juttle', 'application/x-juttle',
|
|
1460
1487
|
'text/x-juttle', 'text/juttle']
|
|
@@ -1481,21 +1508,28 @@ class JuttleLexer(RegexLexer):
|
|
|
1481
1508
|
(r'^(?=\s|/)', Text, 'slashstartsregex'),
|
|
1482
1509
|
include('commentsandwhitespace'),
|
|
1483
1510
|
(r':\d{2}:\d{2}:\d{2}(\.\d*)?:', String.Moment),
|
|
1484
|
-
(r':(now|beginning|end|forever|yesterday|today|tomorrow|
|
|
1485
|
-
|
|
1486
|
-
(r'
|
|
1487
|
-
r'(
|
|
1511
|
+
(r':(now|beginning|end|forever|yesterday|today|tomorrow|'
|
|
1512
|
+
r'(\d+(\.\d*)?|\.\d+)(ms|[smhdwMy])?):', String.Moment),
|
|
1513
|
+
(r':\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d*)?)?'
|
|
1514
|
+
r'(Z|[+-]\d{2}:\d{2}|[+-]\d{4})?:', String.Moment),
|
|
1515
|
+
(r':((\d+(\.\d*)?|\.\d+)[ ]+)?(millisecond|second|minute|hour|'
|
|
1516
|
+
r'day|week|month|year)[s]?'
|
|
1517
|
+
r'(([ ]+and[ ]+(\d+[ ]+)?(millisecond|second|minute|hour|'
|
|
1518
|
+
r'day|week|month|year)[s]?)'
|
|
1488
1519
|
r'|[ ]+(ago|from[ ]+now))*:', String.Moment),
|
|
1489
1520
|
(r'\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|'
|
|
1490
1521
|
r'(==?|!=?|[-<>+*%&|^/])=?', Operator, 'slashstartsregex'),
|
|
1491
1522
|
(r'[{(\[;,]', Punctuation, 'slashstartsregex'),
|
|
1492
1523
|
(r'[})\].]', Punctuation),
|
|
1493
1524
|
(r'(import|return|continue|if|else)\b', Keyword, 'slashstartsregex'),
|
|
1494
|
-
(r'(var|const|function|reducer|sub|input)\b', Keyword.Declaration,
|
|
1525
|
+
(r'(var|const|function|reducer|sub|input)\b', Keyword.Declaration,
|
|
1526
|
+
'slashstartsregex'),
|
|
1495
1527
|
(r'(batch|emit|filter|head|join|keep|pace|pass|put|read|reduce|remove|'
|
|
1496
|
-
r'sequence|skip|sort|split|tail|unbatch|uniq|view|write)\b',
|
|
1528
|
+
r'sequence|skip|sort|split|tail|unbatch|uniq|view|write)\b',
|
|
1529
|
+
Keyword.Reserved),
|
|
1497
1530
|
(r'(true|false|null|Infinity)\b', Keyword.Constant),
|
|
1498
|
-
(r'(Array|Date|Juttle|Math|Number|Object|RegExp|String)\b',
|
|
1531
|
+
(r'(Array|Date|Juttle|Math|Number|Object|RegExp|String)\b',
|
|
1532
|
+
Name.Builtin),
|
|
1499
1533
|
(JS_IDENT, Name.Other),
|
|
1500
1534
|
(r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
|
|
1501
1535
|
(r'[0-9]+', Number.Integer),
|