pygments.rb 1.2.1 → 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 -6
- data/CHANGELOG.adoc +128 -0
- data/Gemfile +3 -1
- data/LICENSE +1 -1
- data/README.adoc +160 -0
- data/Rakefile +11 -21
- data/bench.rb +8 -7
- data/cache-lexers.rb +3 -2
- data/lexers +0 -0
- 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/lib/pygments.rb +10 -11
- data/pygments.rb.gemspec +12 -10
- data/test/test_pygments.rb +46 -104
- data/vendor/pygments-main/{AUTHORS → Pygments-2.7.3.dist-info/AUTHORS} +21 -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 +38 -29
- 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 +9 -8
- 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 +68 -41
- 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 +28 -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 +1 -1
- data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +2 -4
- data/vendor/pygments-main/pygments/lexers/_mapping.py +74 -29
- 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 +440 -76
- data/vendor/pygments-main/pygments/lexers/automation.py +1 -1
- 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 +5 -5
- data/vendor/pygments-main/pygments/lexers/boa.py +102 -0
- data/vendor/pygments-main/pygments/lexers/business.py +17 -2
- data/vendor/pygments-main/pygments/lexers/c_cpp.py +137 -45
- data/vendor/pygments-main/pygments/lexers/c_like.py +67 -42
- data/vendor/pygments-main/pygments/lexers/capnproto.py +7 -7
- data/vendor/pygments-main/pygments/lexers/chapel.py +23 -13
- 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 +187 -36
- data/vendor/pygments-main/pygments/lexers/console.py +1 -1
- data/vendor/pygments-main/pygments/lexers/crystal.py +3 -4
- 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 +144 -62
- 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 +46 -19
- data/vendor/pygments-main/pygments/lexers/ezhil.py +21 -13
- 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 +62 -5
- 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 +48 -21
- 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 +1 -1
- data/vendor/pygments-main/pygments/lexers/html.py +31 -19
- data/vendor/pygments-main/pygments/lexers/idl.py +19 -8
- 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 +60 -45
- data/vendor/pygments-main/pygments/lexers/julia.py +44 -46
- 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 +1 -1
- data/vendor/pygments-main/pygments/lexers/mosel.py +448 -0
- data/vendor/pygments-main/pygments/lexers/ncl.py +1 -1
- 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 +22 -22
- data/vendor/pygments-main/pygments/lexers/pawn.py +30 -24
- data/vendor/pygments-main/pygments/lexers/perl.py +260 -148
- 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 -227
- 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 +76 -72
- data/vendor/pygments-main/pygments/lexers/sas.py +1 -1
- 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 +162 -42
- 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 +3 -3
- 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 -44
- 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 +102 -121
- 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 +4 -11
- 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 +3 -3
- data/vendor/pygments-main/pygments/lexers/verification.py +13 -10
- 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 +31 -28
- data/vendor/pygments-main/pygments/lexers/whiley.py +5 -5
- data/vendor/pygments-main/pygments/lexers/x10.py +1 -1
- data/vendor/pygments-main/pygments/lexers/xorg.py +5 -4
- 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 +1 -1
- data/vendor/pygments-main/pygments/plugin.py +4 -2
- 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 +10 -4
- data/vendor/pygments-main/pygments/styles/abap.py +1 -1
- 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 +1 -1
- data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
- data/vendor/pygments-main/pygments/styles/sas.py +1 -1
- 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.py → stata_light.py} +14 -15
- 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 +15 -92
- metadata +68 -136
- data/CHANGELOG.md +0 -111
- 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
|
@@ -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
|
|
|
@@ -64,18 +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
|
-
|
|
69
|
-
(r'0[
|
|
70
|
-
(r'0[
|
|
71
|
-
(r'[0-
|
|
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
|
+
|
|
72
78
|
(r'\.\.\.|=>', Punctuation),
|
|
73
79
|
(r'\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|'
|
|
74
80
|
r'(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?', Operator, 'slashstartsregex'),
|
|
75
81
|
(r'[{(\[;,]', Punctuation, 'slashstartsregex'),
|
|
76
82
|
(r'[})\].]', Punctuation),
|
|
77
83
|
(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|'
|
|
84
|
+
r'throw|try|catch|finally|new|delete|typeof|instanceof|void|yield|await|async|'
|
|
79
85
|
r'this|of)\b', Keyword, 'slashstartsregex'),
|
|
80
86
|
(r'(var|let|with|function)\b', Keyword.Declaration, 'slashstartsregex'),
|
|
81
87
|
(r'(abstract|boolean|byte|char|class|const|debugger|double|enum|export|'
|
|
@@ -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,17 +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|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',
|
|
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),
|
|
373
380
|
(r'\b(false|null|true)\b', Keyword.Constant),
|
|
374
381
|
(r'[~!%^&*+=|?:<>/-]|as\b', Operator),
|
|
382
|
+
(r'@[a-zA-Z_$]\w*', Name.Decorator),
|
|
375
383
|
(r'[a-zA-Z_$]\w*:', Name.Label),
|
|
376
384
|
(r'[a-zA-Z_$]\w*', Name),
|
|
377
385
|
(r'[(){}\[\],.;]', Punctuation),
|
|
@@ -388,7 +396,7 @@ class DartLexer(RegexLexer):
|
|
|
388
396
|
'import_decl': [
|
|
389
397
|
include('string_literal'),
|
|
390
398
|
(r'\s+', Text),
|
|
391
|
-
(r'\b(as|show|hide)\b', Keyword),
|
|
399
|
+
(r'\b(as|deferred|show|hide)\b', Keyword),
|
|
392
400
|
(r'[a-zA-Z_$]\w*', Name),
|
|
393
401
|
(r'\,', Punctuation),
|
|
394
402
|
(r'\;', Punctuation, '#pop')
|
|
@@ -453,6 +461,10 @@ class TypeScriptLexer(RegexLexer):
|
|
|
453
461
|
|
|
454
462
|
flags = re.DOTALL | re.MULTILINE
|
|
455
463
|
|
|
464
|
+
# Higher priority than the TypoScriptLexer, as TypeScript is far more
|
|
465
|
+
# common these days
|
|
466
|
+
priority = 0.5
|
|
467
|
+
|
|
456
468
|
tokens = {
|
|
457
469
|
'commentsandwhitespace': [
|
|
458
470
|
(r'\s+', Text),
|
|
@@ -478,7 +490,7 @@ class TypeScriptLexer(RegexLexer):
|
|
|
478
490
|
(r'[{(\[;,]', Punctuation, 'slashstartsregex'),
|
|
479
491
|
(r'[})\].]', Punctuation),
|
|
480
492
|
(r'(for|in|while|do|break|return|continue|switch|case|default|if|else|'
|
|
481
|
-
r'throw|try|catch|finally|new|delete|typeof|instanceof|void|'
|
|
493
|
+
r'throw|try|catch|finally|new|delete|typeof|instanceof|void|of|'
|
|
482
494
|
r'this)\b', Keyword, 'slashstartsregex'),
|
|
483
495
|
(r'(var|let|with|function)\b', Keyword.Declaration, 'slashstartsregex'),
|
|
484
496
|
(r'(abstract|boolean|byte|char|class|const|debugger|double|enum|export|'
|
|
@@ -534,12 +546,6 @@ class TypeScriptLexer(RegexLexer):
|
|
|
534
546
|
],
|
|
535
547
|
}
|
|
536
548
|
|
|
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
549
|
|
|
544
550
|
class LassoLexer(RegexLexer):
|
|
545
551
|
"""
|
|
@@ -768,9 +774,9 @@ class LassoLexer(RegexLexer):
|
|
|
768
774
|
self._members = set()
|
|
769
775
|
if self.builtinshighlighting:
|
|
770
776
|
from pygments.lexers._lasso_builtins import BUILTINS, MEMBERS
|
|
771
|
-
for key, value in
|
|
777
|
+
for key, value in BUILTINS.items():
|
|
772
778
|
self._builtins.update(value)
|
|
773
|
-
for key, value in
|
|
779
|
+
for key, value in MEMBERS.items():
|
|
774
780
|
self._members.update(value)
|
|
775
781
|
RegexLexer.__init__(self, **options)
|
|
776
782
|
|
|
@@ -1015,7 +1021,7 @@ class ObjectiveJLexer(RegexLexer):
|
|
|
1015
1021
|
}
|
|
1016
1022
|
|
|
1017
1023
|
def analyse_text(text):
|
|
1018
|
-
if re.search('^\s*@import\s+[<"]', text, re.MULTILINE):
|
|
1024
|
+
if re.search(r'^\s*@import\s+[<"]', text, re.MULTILINE):
|
|
1019
1025
|
# special directive found in most Objective-J files
|
|
1020
1026
|
return True
|
|
1021
1027
|
return False
|
|
@@ -1035,11 +1041,10 @@ class CoffeeScriptLexer(RegexLexer):
|
|
|
1035
1041
|
filenames = ['*.coffee']
|
|
1036
1042
|
mimetypes = ['text/coffeescript']
|
|
1037
1043
|
|
|
1038
|
-
|
|
1039
1044
|
_operator_re = (
|
|
1040
1045
|
r'\+\+|~|&&|\band\b|\bor\b|\bis\b|\bisnt\b|\bnot\b|\?|:|'
|
|
1041
1046
|
r'\|\||\\(?=\n)|'
|
|
1042
|
-
r'(<<|>>>?|==?(?!>)|!=?|=(?!>)|-(?!>)|[
|
|
1047
|
+
r'(<<|>>>?|==?(?!>)|!=?|=(?!>)|-(?!>)|[<>+*`%&|\^/])=?')
|
|
1043
1048
|
|
|
1044
1049
|
flags = re.DOTALL
|
|
1045
1050
|
tokens = {
|
|
@@ -1062,12 +1067,12 @@ class CoffeeScriptLexer(RegexLexer):
|
|
|
1062
1067
|
# This isn't really guarding against mishighlighting well-formed
|
|
1063
1068
|
# code, just the ability to infinite-loop between root and
|
|
1064
1069
|
# slashstartsregex.
|
|
1065
|
-
(r'/', Operator),
|
|
1070
|
+
(r'/', Operator, '#pop'),
|
|
1066
1071
|
default('#pop'),
|
|
1067
1072
|
],
|
|
1068
1073
|
'root': [
|
|
1069
1074
|
include('commentsandwhitespace'),
|
|
1070
|
-
(r'
|
|
1075
|
+
(r'\A(?=\s|/)', Text, 'slashstartsregex'),
|
|
1071
1076
|
(_operator_re, Operator, 'slashstartsregex'),
|
|
1072
1077
|
(r'(?:\([^()]*\))?\s*[=-]>', Name.Function, 'slashstartsregex'),
|
|
1073
1078
|
(r'[{(\[;,]', Punctuation, 'slashstartsregex'),
|
|
@@ -1137,7 +1142,7 @@ class CoffeeScriptLexer(RegexLexer):
|
|
|
1137
1142
|
|
|
1138
1143
|
class MaskLexer(RegexLexer):
|
|
1139
1144
|
"""
|
|
1140
|
-
For `Mask <
|
|
1145
|
+
For `Mask <https://github.com/atmajs/MaskJS>`__ markup.
|
|
1141
1146
|
|
|
1142
1147
|
.. versionadded:: 2.0
|
|
1143
1148
|
"""
|
|
@@ -1459,21 +1464,24 @@ class EarlGreyLexer(RegexLexer):
|
|
|
1459
1464
|
(r'8r[0-7]+', Number.Oct),
|
|
1460
1465
|
(r'2r[01]+', Number.Bin),
|
|
1461
1466
|
(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]+)?',
|
|
1467
|
+
(r'([3-79]|[12][0-9]|3[0-6])r[a-zA-Z\d]+(\.[a-zA-Z\d]+)?',
|
|
1468
|
+
Number.Radix),
|
|
1463
1469
|
(r'\d+', Number.Integer)
|
|
1464
1470
|
],
|
|
1465
1471
|
}
|
|
1466
1472
|
|
|
1473
|
+
|
|
1467
1474
|
class JuttleLexer(RegexLexer):
|
|
1468
1475
|
"""
|
|
1469
1476
|
For `Juttle`_ source code.
|
|
1470
1477
|
|
|
1471
1478
|
.. _Juttle: https://github.com/juttle/juttle
|
|
1472
1479
|
|
|
1480
|
+
.. versionadded:: 2.2
|
|
1473
1481
|
"""
|
|
1474
1482
|
|
|
1475
1483
|
name = 'Juttle'
|
|
1476
|
-
aliases = ['juttle'
|
|
1484
|
+
aliases = ['juttle']
|
|
1477
1485
|
filenames = ['*.juttle']
|
|
1478
1486
|
mimetypes = ['application/juttle', 'application/x-juttle',
|
|
1479
1487
|
'text/x-juttle', 'text/juttle']
|
|
@@ -1500,21 +1508,28 @@ class JuttleLexer(RegexLexer):
|
|
|
1500
1508
|
(r'^(?=\s|/)', Text, 'slashstartsregex'),
|
|
1501
1509
|
include('commentsandwhitespace'),
|
|
1502
1510
|
(r':\d{2}:\d{2}:\d{2}(\.\d*)?:', String.Moment),
|
|
1503
|
-
(r':(now|beginning|end|forever|yesterday|today|tomorrow|
|
|
1504
|
-
|
|
1505
|
-
(r'
|
|
1506
|
-
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]?)'
|
|
1507
1519
|
r'|[ ]+(ago|from[ ]+now))*:', String.Moment),
|
|
1508
1520
|
(r'\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|'
|
|
1509
1521
|
r'(==?|!=?|[-<>+*%&|^/])=?', Operator, 'slashstartsregex'),
|
|
1510
1522
|
(r'[{(\[;,]', Punctuation, 'slashstartsregex'),
|
|
1511
1523
|
(r'[})\].]', Punctuation),
|
|
1512
1524
|
(r'(import|return|continue|if|else)\b', Keyword, 'slashstartsregex'),
|
|
1513
|
-
(r'(var|const|function|reducer|sub|input)\b', Keyword.Declaration,
|
|
1525
|
+
(r'(var|const|function|reducer|sub|input)\b', Keyword.Declaration,
|
|
1526
|
+
'slashstartsregex'),
|
|
1514
1527
|
(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',
|
|
1528
|
+
r'sequence|skip|sort|split|tail|unbatch|uniq|view|write)\b',
|
|
1529
|
+
Keyword.Reserved),
|
|
1516
1530
|
(r'(true|false|null|Infinity)\b', Keyword.Constant),
|
|
1517
|
-
(r'(Array|Date|Juttle|Math|Number|Object|RegExp|String)\b',
|
|
1531
|
+
(r'(Array|Date|Juttle|Math|Number|Object|RegExp|String)\b',
|
|
1532
|
+
Name.Builtin),
|
|
1518
1533
|
(JS_IDENT, Name.Other),
|
|
1519
1534
|
(r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
|
|
1520
1535
|
(r'[0-9]+', Number.Integer),
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Lexers for the Julia 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
|
|
|
@@ -15,13 +15,12 @@ from pygments.lexer import Lexer, RegexLexer, bygroups, do_insertions, \
|
|
|
15
15
|
words, include
|
|
16
16
|
from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
|
|
17
17
|
Number, Punctuation, Generic
|
|
18
|
-
from pygments.util import shebang_matches
|
|
18
|
+
from pygments.util import shebang_matches
|
|
19
19
|
|
|
20
20
|
__all__ = ['JuliaLexer', 'JuliaConsoleLexer']
|
|
21
21
|
|
|
22
|
-
allowed_variable =
|
|
23
|
-
|
|
24
|
-
((unirange(0x10000, 0x10ffff),) * 2))
|
|
22
|
+
allowed_variable = \
|
|
23
|
+
'(?:[a-zA-Z_\u00A1-\U0010ffff]|%s)(?:[a-zA-Z_0-9\u00A1-\U0010ffff])*!*'
|
|
25
24
|
|
|
26
25
|
|
|
27
26
|
class JuliaLexer(RegexLexer):
|
|
@@ -48,6 +47,7 @@ class JuliaLexer(RegexLexer):
|
|
|
48
47
|
|
|
49
48
|
# keywords
|
|
50
49
|
(r'in\b', Keyword.Pseudo),
|
|
50
|
+
(r'isa\b', Keyword.Pseudo),
|
|
51
51
|
(r'(true|false)\b', Keyword.Constant),
|
|
52
52
|
(r'(local|global|const)\b', Keyword.Declaration),
|
|
53
53
|
(words([
|
|
@@ -55,7 +55,8 @@ class JuliaLexer(RegexLexer):
|
|
|
55
55
|
'baremodule', 'begin', 'bitstype', 'break', 'catch', 'ccall',
|
|
56
56
|
'continue', 'do', 'else', 'elseif', 'end', 'export', 'finally',
|
|
57
57
|
'for', 'if', 'import', 'importall', 'let', 'macro', 'module',
|
|
58
|
-
'
|
|
58
|
+
'mutable', 'primitive', 'quote', 'return', 'struct', 'try',
|
|
59
|
+
'using', 'while'],
|
|
59
60
|
suffix=r'\b'), Keyword),
|
|
60
61
|
|
|
61
62
|
# NOTE
|
|
@@ -129,60 +130,59 @@ class JuliaLexer(RegexLexer):
|
|
|
129
130
|
|
|
130
131
|
# builtins
|
|
131
132
|
(words([
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
u'π', u'φ'],
|
|
133
|
+
'ARGS', 'CPU_CORES', 'C_NULL', 'DevNull', 'ENDIAN_BOM',
|
|
134
|
+
'ENV', 'I', 'Inf', 'Inf16', 'Inf32', 'Inf64',
|
|
135
|
+
'InsertionSort', 'JULIA_HOME', 'LOAD_PATH', 'MergeSort',
|
|
136
|
+
'NaN', 'NaN16', 'NaN32', 'NaN64', 'OS_NAME',
|
|
137
|
+
'QuickSort', 'RoundDown', 'RoundFromZero', 'RoundNearest',
|
|
138
|
+
'RoundNearestTiesAway', 'RoundNearestTiesUp',
|
|
139
|
+
'RoundToZero', 'RoundUp', 'STDERR', 'STDIN', 'STDOUT',
|
|
140
|
+
'VERSION', 'WORD_SIZE', 'catalan', 'e', 'eu',
|
|
141
|
+
'eulergamma', 'golden', 'im', 'nothing', 'pi', 'γ', 'π', 'φ'],
|
|
142
142
|
suffix=r'\b'), Name.Builtin),
|
|
143
143
|
|
|
144
144
|
# operators
|
|
145
145
|
# see: https://github.com/JuliaLang/julia/blob/master/src/julia-parser.scm
|
|
146
|
-
(words(
|
|
146
|
+
(words((
|
|
147
147
|
# prec-assignment
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
148
|
+
'=', ':=', '+=', '-=', '*=', '/=', '//=', './/=', '.*=', './=',
|
|
149
|
+
'\\=', '.\\=', '^=', '.^=', '÷=', '.÷=', '%=', '.%=', '|=', '&=',
|
|
150
|
+
'$=', '=>', '<<=', '>>=', '>>>=', '~', '.+=', '.-=',
|
|
151
151
|
# prec-conditional
|
|
152
|
-
|
|
152
|
+
'?',
|
|
153
153
|
# prec-arrow
|
|
154
|
-
|
|
154
|
+
'--', '-->',
|
|
155
155
|
# prec-lazy-or
|
|
156
|
-
|
|
156
|
+
'||',
|
|
157
157
|
# prec-lazy-and
|
|
158
|
-
|
|
158
|
+
'&&',
|
|
159
159
|
# prec-comparison
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
160
|
+
'>', '<', '>=', '≥', '<=', '≤', '==', '===', '≡', '!=', '≠',
|
|
161
|
+
'!==', '≢', '.>', '.<', '.>=', '.≥', '.<=', '.≤', '.==', '.!=',
|
|
162
|
+
'.≠', '.=', '.!', '<:', '>:', '∈', '∉', '∋', '∌', '⊆',
|
|
163
|
+
'⊈', '⊂',
|
|
164
|
+
'⊄', '⊊',
|
|
165
165
|
# prec-pipe
|
|
166
|
-
|
|
166
|
+
'|>', '<|',
|
|
167
167
|
# prec-colon
|
|
168
|
-
|
|
168
|
+
':',
|
|
169
169
|
# prec-plus
|
|
170
|
-
|
|
170
|
+
'.+', '.-', '|', '∪', '$',
|
|
171
171
|
# prec-bitshift
|
|
172
|
-
|
|
172
|
+
'<<', '>>', '>>>', '.<<', '.>>', '.>>>',
|
|
173
173
|
# prec-times
|
|
174
|
-
|
|
174
|
+
'*', '/', './', '÷', '.÷', '%', '⋅', '.%', '.*', '\\', '.\\', '&', '∩',
|
|
175
175
|
# prec-rational
|
|
176
|
-
|
|
176
|
+
'//', './/',
|
|
177
177
|
# prec-power
|
|
178
|
-
|
|
178
|
+
'^', '.^',
|
|
179
179
|
# prec-decl
|
|
180
|
-
|
|
180
|
+
'::',
|
|
181
181
|
# prec-dot
|
|
182
|
-
|
|
182
|
+
'.',
|
|
183
183
|
# unary op
|
|
184
|
-
|
|
185
|
-
|
|
184
|
+
'+', '-', '!', '√', '∛', '∜',
|
|
185
|
+
)), Operator),
|
|
186
186
|
|
|
187
187
|
# chars
|
|
188
188
|
(r"'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,3}|\\u[a-fA-F0-9]{1,4}|"
|
|
@@ -314,9 +314,8 @@ class JuliaConsoleLexer(Lexer):
|
|
|
314
314
|
curcode += line[6:]
|
|
315
315
|
else:
|
|
316
316
|
if curcode:
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
yield item
|
|
317
|
+
yield from do_insertions(
|
|
318
|
+
insertions, jllexer.get_tokens_unprocessed(curcode))
|
|
320
319
|
curcode = ''
|
|
321
320
|
insertions = []
|
|
322
321
|
if line.startswith('ERROR: ') or error:
|
|
@@ -328,6 +327,5 @@ class JuliaConsoleLexer(Lexer):
|
|
|
328
327
|
start += len(line)
|
|
329
328
|
|
|
330
329
|
if curcode:
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
yield item
|
|
330
|
+
yield from do_insertions(
|
|
331
|
+
insertions, jllexer.get_tokens_unprocessed(curcode))
|