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
data/lib/pygments/version.rb
CHANGED
data/pygments.rb.gemspec
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require File.expand_path('lib/pygments/version', __dir__)
|
|
2
4
|
|
|
3
5
|
Gem::Specification.new do |s|
|
|
4
6
|
s.name = 'pygments.rb'
|
|
5
7
|
s.version = Pygments::VERSION
|
|
6
8
|
|
|
7
9
|
s.summary = 'pygments wrapper for ruby'
|
|
8
|
-
s.description = 'pygments.rb
|
|
10
|
+
s.description = 'pygments.rb is a Ruby wrapper for Pygments syntax highlighter'
|
|
9
11
|
|
|
10
|
-
s.homepage = 'https://github.com/
|
|
11
|
-
s.
|
|
12
|
+
s.homepage = 'https://github.com/pygments/pygments.rb'
|
|
13
|
+
s.required_ruby_version = '>= 2.3.0'
|
|
12
14
|
|
|
13
|
-
s.authors = ['Aman Gupta', 'Ted Nyman']
|
|
14
|
-
s.email = ['
|
|
15
|
+
s.authors = ['Aman Gupta', 'Ted Nyman', 'Marat Radchenko']
|
|
16
|
+
s.email = ['marat@slonopotamus.org']
|
|
15
17
|
s.license = 'MIT'
|
|
16
18
|
|
|
17
|
-
s.
|
|
18
|
-
s.add_development_dependency '
|
|
19
|
-
s.add_development_dependency 'test-unit', '~> 3.
|
|
19
|
+
s.add_development_dependency 'rake', '~> 13.0.0'
|
|
20
|
+
s.add_development_dependency 'rubocop', '~> 0.81.0'
|
|
21
|
+
s.add_development_dependency 'test-unit', '~> 3.3.0'
|
|
20
22
|
|
|
21
23
|
# s.extensions = ['ext/extconf.rb']
|
|
22
24
|
s.require_paths = ['lib']
|
|
23
25
|
|
|
24
|
-
|
|
25
|
-
s.files = `git ls-files -- . #{exclude}`.split("\n")
|
|
26
|
+
s.files = `git ls-files`.split("\n").reject { |f| File.symlink?(f) } + ['lexers']
|
|
26
27
|
end
|
data/test/test_pygments.rb
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
# coding: utf-8
|
|
2
1
|
# frozen_string_literal: true
|
|
3
2
|
|
|
4
3
|
require 'test/unit'
|
|
5
4
|
require File.join(File.dirname(__FILE__), '..', '/lib/pygments.rb')
|
|
6
|
-
ENV['mentos-test'] =
|
|
7
|
-
|
|
5
|
+
ENV['mentos-test'] = 'yes'
|
|
8
6
|
|
|
9
7
|
P = Pygments
|
|
10
8
|
PE = Pygments.engine
|
|
@@ -12,7 +10,7 @@ PE = Pygments.engine
|
|
|
12
10
|
class PygmentsHighlightTest < Test::Unit::TestCase
|
|
13
11
|
RUBY_CODE = "#!/usr/bin/ruby\nputs 'foo'"
|
|
14
12
|
RUBY_CODE_TRAILING_NEWLINE = "#!/usr/bin/ruby\nputs 'foo'\n"
|
|
15
|
-
|
|
13
|
+
TEST_CODE = File.read(File.join(File.dirname(__FILE__), '..', 'lib', 'pygments', 'mentos.py'))
|
|
16
14
|
|
|
17
15
|
def test_highlight_defaults_to_html
|
|
18
16
|
code = P.highlight(RUBY_CODE)
|
|
@@ -27,74 +25,69 @@ class PygmentsHighlightTest < Test::Unit::TestCase
|
|
|
27
25
|
end
|
|
28
26
|
|
|
29
27
|
def test_full_table_highlight
|
|
30
|
-
code = P.highlight(RUBY_CODE, :
|
|
28
|
+
code = P.highlight(RUBY_CODE, options: { linenos: true })
|
|
31
29
|
assert_match '<span class="ch">#!/usr/bin/ruby</span>', code
|
|
32
30
|
assert_equal "<table class=\"highlighttable\"><tr><td class=\"linenos\"><div class=\"linenodiv\"><pre>1\n2</pre></div></td><td class=\"code\"><div class=\"highlight\"><pre><span></span><span class=\"ch\">#!/usr/bin/ruby</span>\n<span class=\"nb\">puts</span> <span class=\"s1\">'foo'</span>\n</pre></div>\n</td></tr></table>", code
|
|
33
31
|
end
|
|
34
32
|
|
|
35
33
|
def test_highlight_works_with_larger_files
|
|
36
|
-
code = P.highlight(
|
|
37
|
-
assert_match '
|
|
38
|
-
assert_equal 458511, code.bytesize.to_i
|
|
34
|
+
code = P.highlight(TEST_CODE)
|
|
35
|
+
assert_match 'Main loop, waiting for inputs on stdin', code
|
|
39
36
|
end
|
|
40
37
|
|
|
41
|
-
def
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
38
|
+
def test_raises_exception_on_timeout
|
|
39
|
+
assert_raise MentosError.new('Timeout on a mentos highlight call') do
|
|
40
|
+
# Assume highlighting a large file will take more than 1 millisecond
|
|
41
|
+
P.highlight(TEST_CODE * 10, timeout: 0.001)
|
|
42
|
+
end
|
|
45
43
|
end
|
|
46
44
|
|
|
47
45
|
def test_highlight_works_with_null_bytes
|
|
48
|
-
code = P.highlight("\0hello", :
|
|
49
|
-
assert_match
|
|
46
|
+
code = P.highlight("\0hello", lexer: 'rb')
|
|
47
|
+
assert_match 'hello', code
|
|
50
48
|
end
|
|
51
49
|
|
|
52
50
|
def test_highlight_works_on_utf8
|
|
53
|
-
code = P.highlight('# ø', :
|
|
54
|
-
assert_match
|
|
51
|
+
code = P.highlight('# ø', lexer: 'rb', options: { encoding: 'utf-8' })
|
|
52
|
+
assert_match '# ø', code
|
|
55
53
|
end
|
|
56
54
|
|
|
57
55
|
def test_highlight_works_on_utf8_automatically
|
|
58
|
-
code = P.highlight('# ø', :
|
|
59
|
-
assert_match
|
|
56
|
+
code = P.highlight('# ø', lexer: 'rb')
|
|
57
|
+
assert_match '# ø', code
|
|
60
58
|
end
|
|
61
59
|
|
|
62
60
|
def test_highlight_works_on_utf8_all_chars_automatically
|
|
63
|
-
code = P.highlight('def foo: # ø', :
|
|
61
|
+
code = P.highlight('def foo: # ø', lexer: 'py')
|
|
64
62
|
|
|
65
|
-
assert_equal
|
|
63
|
+
assert_equal '<div class="highlight"><pre><span></sp', code[0, 38]
|
|
66
64
|
end
|
|
67
65
|
|
|
68
66
|
def test_highlight_works_with_multiple_utf8
|
|
69
|
-
code = P.highlight('# ø ø ø', :
|
|
70
|
-
assert_match
|
|
67
|
+
code = P.highlight('# ø ø ø', lexer: 'rb', options: { encoding: 'utf-8' })
|
|
68
|
+
assert_match '# ø ø ø', code
|
|
71
69
|
end
|
|
72
70
|
|
|
73
71
|
def test_highlight_works_with_multiple_utf8_and_trailing_newline
|
|
74
|
-
code = P.highlight("#!/usr/bin/ruby\nputs 'ø..ø'\n", :
|
|
75
|
-
assert_match
|
|
72
|
+
code = P.highlight("#!/usr/bin/ruby\nputs 'ø..ø'\n", lexer: 'rb')
|
|
73
|
+
assert_match 'ø..ø', code
|
|
76
74
|
end
|
|
77
75
|
|
|
78
76
|
def test_highlight_formatter_bbcode
|
|
79
|
-
code = P.highlight(RUBY_CODE, :
|
|
77
|
+
code = P.highlight(RUBY_CODE, formatter: 'bbcode')
|
|
80
78
|
assert_match 'color=#408080][i]#!/usr/bin/ruby[/i]', code
|
|
81
79
|
end
|
|
82
80
|
|
|
83
81
|
def test_highlight_formatter_terminal
|
|
84
|
-
code = P.highlight(RUBY_CODE, :
|
|
82
|
+
code = P.highlight(RUBY_CODE, formatter: 'terminal')
|
|
85
83
|
assert_match '39;49;00m', code
|
|
86
84
|
end
|
|
87
85
|
|
|
88
86
|
def test_highlight_options
|
|
89
|
-
code = P.highlight(RUBY_CODE, :
|
|
87
|
+
code = P.highlight(RUBY_CODE, options: { full: true, title: 'test' })
|
|
90
88
|
assert_match '<title>test</title>', code
|
|
91
89
|
end
|
|
92
90
|
|
|
93
|
-
def test_highlight_works_with_single_character_input
|
|
94
|
-
code = P.highlight("a")
|
|
95
|
-
assert_match "a\n</pre>", code
|
|
96
|
-
end
|
|
97
|
-
|
|
98
91
|
def test_highlight_works_with_trailing_newline
|
|
99
92
|
code = P.highlight(RUBY_CODE_TRAILING_NEWLINE)
|
|
100
93
|
assert_match '<span class="ch">#!/usr/bin/ruby</span>', code
|
|
@@ -111,66 +104,18 @@ class PygmentsHighlightTest < Test::Unit::TestCase
|
|
|
111
104
|
end
|
|
112
105
|
|
|
113
106
|
def test_highlight_still_works_with_invalid_code
|
|
114
|
-
code = P.highlight(
|
|
115
|
-
assert_match
|
|
107
|
+
code = P.highlight('importr python; wat?', lexer: 'py')
|
|
108
|
+
assert_match '>importr</span>', code
|
|
116
109
|
end
|
|
117
110
|
|
|
118
111
|
def test_highlight_on_multi_threads
|
|
112
|
+
omit 'We do not actually support multithreading'
|
|
113
|
+
|
|
119
114
|
10.times.map do
|
|
120
115
|
Thread.new do
|
|
121
116
|
test_full_html_highlight
|
|
122
117
|
end
|
|
123
|
-
end.each
|
|
124
|
-
thread.join
|
|
125
|
-
end
|
|
126
|
-
end
|
|
127
|
-
|
|
128
|
-
end
|
|
129
|
-
|
|
130
|
-
# Philosophically, I'm not the biggest fan of testing private
|
|
131
|
-
# methods, but given the relative delicacy of validity checking
|
|
132
|
-
# over the pipe I think it's necessary and informative.
|
|
133
|
-
class PygmentsValidityTest < Test::Unit::TestCase
|
|
134
|
-
def test_add_ids_with_padding
|
|
135
|
-
res = PE.send(:add_ids, "herp derp baz boo foo", "ABCDEFGH")
|
|
136
|
-
assert_equal "ABCDEFGH herp derp baz boo foo ABCDEFGH", res
|
|
137
|
-
end
|
|
138
|
-
|
|
139
|
-
def test_add_ids_on_empty_string
|
|
140
|
-
res = PE.send(:add_ids, "", "ABCDEFGH")
|
|
141
|
-
assert_equal "ABCDEFGH ABCDEFGH", res
|
|
142
|
-
end
|
|
143
|
-
|
|
144
|
-
def test_add_ids_with_unicode_data
|
|
145
|
-
res = PE.send(:add_ids, "# ø ø ø", "ABCDEFGH")
|
|
146
|
-
assert_equal "ABCDEFGH # ø ø ø ABCDEFGH", res
|
|
147
|
-
end
|
|
148
|
-
|
|
149
|
-
def test_add_ids_with_starting_slashes
|
|
150
|
-
res = PE.send(:add_ids, '\\# ø ø ø..//', "ABCDEFGH")
|
|
151
|
-
assert_equal "ABCDEFGH \\# ø ø ø..// ABCDEFGH", res
|
|
152
|
-
end
|
|
153
|
-
|
|
154
|
-
def test_get_fixed_bits_from_header
|
|
155
|
-
bits = PE.send(:get_fixed_bits_from_header, '{"herp": "derp"}')
|
|
156
|
-
assert_equal "00000000000000000000000000010000", bits
|
|
157
|
-
end
|
|
158
|
-
|
|
159
|
-
def test_get_fixed_bits_from_header_works_with_large_headers
|
|
160
|
-
bits = PE.send(:get_fixed_bits_from_header, '{"herp": "derp"}' * 10000)
|
|
161
|
-
assert_equal "00000000000000100111000100000000", bits
|
|
162
|
-
end
|
|
163
|
-
|
|
164
|
-
def test_size_check
|
|
165
|
-
size = "00000000000000000000000000100110"
|
|
166
|
-
res = PE.send(:size_check, size)
|
|
167
|
-
assert_equal res, true
|
|
168
|
-
end
|
|
169
|
-
|
|
170
|
-
def test_size_check_bad
|
|
171
|
-
size = "some random thing"
|
|
172
|
-
res = PE.send(:size_check, size)
|
|
173
|
-
assert_equal res, false
|
|
118
|
+
end.each(&:join)
|
|
174
119
|
end
|
|
175
120
|
end
|
|
176
121
|
|
|
@@ -178,23 +123,23 @@ class PygmentsLexerTest < Test::Unit::TestCase
|
|
|
178
123
|
RUBY_CODE = "#!/usr/bin/ruby\nputs 'foo'"
|
|
179
124
|
|
|
180
125
|
def test_lexer_by_mimetype
|
|
181
|
-
assert_equal 'rb', P.lexer_name_for(:
|
|
182
|
-
assert_equal 'json', P.lexer_name_for(:
|
|
126
|
+
assert_equal 'rb', P.lexer_name_for(mimetype: 'text/x-ruby')
|
|
127
|
+
assert_equal 'json', P.lexer_name_for(mimetype: 'application/json')
|
|
183
128
|
end
|
|
184
129
|
|
|
185
130
|
def test_lexer_by_filename
|
|
186
|
-
assert_equal 'rb', P.lexer_name_for(:
|
|
187
|
-
assert_equal 'scala', P.lexer_name_for(:
|
|
131
|
+
assert_equal 'rb', P.lexer_name_for(filename: 'test.rb')
|
|
132
|
+
assert_equal 'scala', P.lexer_name_for(filename: 'test.scala')
|
|
188
133
|
end
|
|
189
134
|
|
|
190
135
|
def test_lexer_by_name
|
|
191
|
-
assert_equal 'rb', P.lexer_name_for(:
|
|
192
|
-
assert_equal 'python', P.lexer_name_for(:
|
|
193
|
-
assert_equal 'c', P.lexer_name_for(:
|
|
136
|
+
assert_equal 'rb', P.lexer_name_for(lexer: 'ruby')
|
|
137
|
+
assert_equal 'python', P.lexer_name_for(lexer: 'python')
|
|
138
|
+
assert_equal 'c', P.lexer_name_for(lexer: 'c')
|
|
194
139
|
end
|
|
195
140
|
|
|
196
141
|
def test_lexer_by_filename_and_content
|
|
197
|
-
assert_equal 'rb', P.lexer_name_for(RUBY_CODE, :
|
|
142
|
+
assert_equal 'rb', P.lexer_name_for(RUBY_CODE, filename: 'test.rb')
|
|
198
143
|
end
|
|
199
144
|
|
|
200
145
|
def test_lexer_by_content
|
|
@@ -203,7 +148,7 @@ class PygmentsLexerTest < Test::Unit::TestCase
|
|
|
203
148
|
|
|
204
149
|
def test_lexer_by_nothing
|
|
205
150
|
assert_raise MentosError do
|
|
206
|
-
P.lexer_name_for(:
|
|
151
|
+
P.lexer_name_for(invalid: true)
|
|
207
152
|
end
|
|
208
153
|
end
|
|
209
154
|
end
|
|
@@ -240,14 +185,13 @@ class PygmentsLexerClassTest < Test::Unit::TestCase
|
|
|
240
185
|
assert_equal P::Lexer['Java'], P::Lexer.find_by_extname('.java')
|
|
241
186
|
end
|
|
242
187
|
|
|
243
|
-
|
|
188
|
+
def test_find_lexer_by_mimetype
|
|
244
189
|
assert_equal P::Lexer['Ruby'], P::Lexer.find_by_mimetype('text/x-ruby')
|
|
245
190
|
assert_equal P::Lexer['JSON'], P::Lexer.find_by_mimetype('application/json')
|
|
246
191
|
assert_equal P::Lexer['Python'], P::Lexer.find_by_mimetype('text/x-python')
|
|
247
|
-
|
|
192
|
+
end
|
|
248
193
|
end
|
|
249
194
|
|
|
250
|
-
|
|
251
195
|
class PygmentsCssTest < Test::Unit::TestCase
|
|
252
196
|
include Pygments
|
|
253
197
|
|
|
@@ -260,11 +204,11 @@ class PygmentsCssTest < Test::Unit::TestCase
|
|
|
260
204
|
end
|
|
261
205
|
|
|
262
206
|
def test_css_options
|
|
263
|
-
assert_match(/^\.codeerr \{/, P.css(:
|
|
207
|
+
assert_match(/^\.codeerr \{/, P.css(classprefix: 'code'))
|
|
264
208
|
end
|
|
265
209
|
|
|
266
210
|
def test_css_prefix_and_options
|
|
267
|
-
assert_match(/^\.mycode \.codeerr \{/, P.css('.mycode', :
|
|
211
|
+
assert_match(/^\.mycode \.codeerr \{/, P.css('.mycode', classprefix: 'code'))
|
|
268
212
|
end
|
|
269
213
|
|
|
270
214
|
def test_css_default
|
|
@@ -272,7 +216,7 @@ class PygmentsCssTest < Test::Unit::TestCase
|
|
|
272
216
|
end
|
|
273
217
|
|
|
274
218
|
def test_css_colorful
|
|
275
|
-
assert_match '.c { color: #888888 }', P.css(:
|
|
219
|
+
assert_match '.c { color: #888888 }', P.css(style: 'colorful')
|
|
276
220
|
end
|
|
277
221
|
end
|
|
278
222
|
|
|
@@ -287,15 +231,13 @@ class PygmentsConfigTest < Test::Unit::TestCase
|
|
|
287
231
|
|
|
288
232
|
def test_lexers
|
|
289
233
|
list = P.lexers
|
|
290
|
-
assert list.
|
|
234
|
+
assert list.key?('Ruby')
|
|
291
235
|
assert list['Ruby'][:aliases].include?('duby')
|
|
292
236
|
end
|
|
293
237
|
|
|
294
238
|
def test_formatters
|
|
295
239
|
list = P.formatters
|
|
296
|
-
assert list.
|
|
240
|
+
assert list.key?('Html')
|
|
297
241
|
assert list['Html'][:aliases].include?('html')
|
|
298
242
|
end
|
|
299
243
|
end
|
|
300
|
-
|
|
301
|
-
|
|
@@ -7,7 +7,8 @@ Other contributors, listed alphabetically, are:
|
|
|
7
7
|
|
|
8
8
|
* Sam Aaron -- Ioke lexer
|
|
9
9
|
* Ali Afshar -- image formatter
|
|
10
|
-
* Thomas Aglassinger -- Easytrieve, JCL, Rexx
|
|
10
|
+
* Thomas Aglassinger -- Easytrieve, JCL, Rexx, Transact-SQL and VBScript
|
|
11
|
+
lexers
|
|
11
12
|
* Muthiah Annamalai -- Ezhil lexer
|
|
12
13
|
* Kumar Appaiah -- Debian control lexer
|
|
13
14
|
* Andreas Amann -- AppleScript lexer
|
|
@@ -31,8 +32,10 @@ Other contributors, listed alphabetically, are:
|
|
|
31
32
|
* Sébastien Bigaret -- QVT Operational lexer
|
|
32
33
|
* Jarrett Billingsley -- MiniD lexer
|
|
33
34
|
* Adam Blinkinsop -- Haskell, Redcode lexers
|
|
35
|
+
* Stéphane Blondon -- SGF and Sieve lexers
|
|
34
36
|
* Frits van Bommel -- assembler lexers
|
|
35
37
|
* Pierre Bourdon -- bugfixes
|
|
38
|
+
* Martijn Braam -- Kernel log lexer, BARE lexer
|
|
36
39
|
* Matthias Bussonnier -- ANSI style handling for terminal-256 formatter
|
|
37
40
|
* chebee7i -- Python traceback lexer improvements
|
|
38
41
|
* Hiram Chirino -- Scaml and Jade lexers
|
|
@@ -53,26 +56,30 @@ Other contributors, listed alphabetically, are:
|
|
|
53
56
|
* Sven Efftinge -- Xtend lexer
|
|
54
57
|
* Artem Egorkine -- terminal256 formatter
|
|
55
58
|
* Matthew Fernandez -- CAmkES lexer
|
|
59
|
+
* Paweł Fertyk -- GDScript lexer, HTML formatter improvements
|
|
56
60
|
* Michael Ficarra -- CPSA lexer
|
|
57
61
|
* James H. Fisher -- PostScript lexer
|
|
58
62
|
* William S. Fulton -- SWIG lexer
|
|
59
63
|
* Carlos Galdino -- Elixir and Elixir Console lexers
|
|
60
64
|
* Michael Galloy -- IDL lexer
|
|
61
65
|
* Naveen Garg -- Autohotkey lexer
|
|
66
|
+
* Simon Garnotel -- FreeFem++ lexer
|
|
62
67
|
* Laurent Gautier -- R/S lexer
|
|
63
68
|
* Alex Gaynor -- PyPy log lexer
|
|
64
69
|
* Richard Gerkin -- Igor Pro lexer
|
|
65
70
|
* Alain Gilbert -- TypeScript lexer
|
|
66
71
|
* Alex Gilding -- BlitzBasic lexer
|
|
72
|
+
* GitHub, Inc -- DASM16, Augeas, TOML, and Slash lexers
|
|
67
73
|
* Bertrand Goetzmann -- Groovy lexer
|
|
68
74
|
* Krzysiek Goj -- Scala lexer
|
|
75
|
+
* Rostyslav Golda -- FloScript lexer
|
|
69
76
|
* Andrey Golovizin -- BibTeX lexers
|
|
70
77
|
* Matt Good -- Genshi, Cheetah lexers
|
|
71
78
|
* Michał Górny -- vim modeline support
|
|
72
79
|
* Alex Gosse -- TrafficScript lexer
|
|
73
80
|
* Patrick Gotthardt -- PHP namespaces support
|
|
74
81
|
* Olivier Guibe -- Asymptote lexer
|
|
75
|
-
*
|
|
82
|
+
* Phil Hagelberg -- Fennel lexer
|
|
76
83
|
* Florian Hahn -- Boogie lexer
|
|
77
84
|
* Martin Harriman -- SNOBOL lexer
|
|
78
85
|
* Matthew Harrison -- SVG formatter
|
|
@@ -81,7 +88,9 @@ Other contributors, listed alphabetically, are:
|
|
|
81
88
|
* Aslak Hellesøy -- Gherkin lexer
|
|
82
89
|
* Greg Hendershott -- Racket lexer
|
|
83
90
|
* Justin Hendrick -- ParaSail lexer
|
|
91
|
+
* Jordi Gutiérrez Hermoso -- Octave lexer
|
|
84
92
|
* David Hess, Fish Software, Inc. -- Objective-J lexer
|
|
93
|
+
* Ken Hilton -- Typographic Number Theory and Arrow lexers
|
|
85
94
|
* Varun Hiremath -- Debian control lexer
|
|
86
95
|
* Rob Hoelz -- Perl 6 lexer
|
|
87
96
|
* Doug Hogan -- Mscgen lexer
|
|
@@ -98,6 +107,7 @@ Other contributors, listed alphabetically, are:
|
|
|
98
107
|
* Dennis Kaarsemaker -- sources.list lexer
|
|
99
108
|
* Dmitri Kabak -- Inferno Limbo lexer
|
|
100
109
|
* Igor Kalnitsky -- vhdl lexer
|
|
110
|
+
* Colin Kennedy - USD lexer
|
|
101
111
|
* Alexander Kit -- MaskJS lexer
|
|
102
112
|
* Pekka Klärck -- Robot Framework lexer
|
|
103
113
|
* Gerwin Klein -- Isabelle lexer
|
|
@@ -129,6 +139,7 @@ Other contributors, listed alphabetically, are:
|
|
|
129
139
|
* Stephen McKamey -- Duel/JBST lexer
|
|
130
140
|
* Brian McKenna -- F# lexer
|
|
131
141
|
* Charles McLaughlin -- Puppet lexer
|
|
142
|
+
* Kurt McKee -- Tera Term macro lexer, PostgreSQL updates, MySQL overhaul
|
|
132
143
|
* Lukas Meuser -- BBCode formatter, Lua lexer
|
|
133
144
|
* Cat Miller -- Pig lexer
|
|
134
145
|
* Paul Miller -- LiveScript lexer
|
|
@@ -145,6 +156,7 @@ Other contributors, listed alphabetically, are:
|
|
|
145
156
|
* Nam T. Nguyen -- Monokai style
|
|
146
157
|
* Jesper Noehr -- HTML formatter "anchorlinenos"
|
|
147
158
|
* Mike Nolta -- Julia lexer
|
|
159
|
+
* Avery Nortonsmith -- Pointless lexer
|
|
148
160
|
* Jonas Obrist -- BBCode lexer
|
|
149
161
|
* Edward O'Callaghan -- Cryptol lexer
|
|
150
162
|
* David Oliva -- Rebol lexer
|
|
@@ -155,10 +167,14 @@ Other contributors, listed alphabetically, are:
|
|
|
155
167
|
* Dominik Picheta -- Nimrod lexer
|
|
156
168
|
* Andrew Pinkham -- RTF Formatter Refactoring
|
|
157
169
|
* Clément Prévost -- UrbiScript lexer
|
|
170
|
+
* Tanner Prynn -- cmdline -x option and loading lexers from files
|
|
158
171
|
* Oleh Prypin -- Crystal lexer (based on Ruby lexer)
|
|
172
|
+
* Xidorn Quan -- Web IDL lexer
|
|
159
173
|
* Elias Rabel -- Fortran fixed form lexer
|
|
160
174
|
* raichoo -- Idris lexer
|
|
175
|
+
* Daniel Ramirez -- GDScript lexer
|
|
161
176
|
* Kashif Rasul -- CUDA lexer
|
|
177
|
+
* Nathan Reed -- HLSL lexer
|
|
162
178
|
* Justin Reidy -- MXML lexer
|
|
163
179
|
* Norman Richards -- JSON lexer
|
|
164
180
|
* Corey Richardson -- Rust lexer updates
|
|
@@ -172,9 +188,12 @@ Other contributors, listed alphabetically, are:
|
|
|
172
188
|
* Stou Sandalski -- NumPy, FORTRAN, tcsh and XSLT lexers
|
|
173
189
|
* Matteo Sasso -- Common Lisp lexer
|
|
174
190
|
* Joe Schafer -- Ada lexer
|
|
191
|
+
* Max Schillinger -- TiddlyWiki5 lexer
|
|
175
192
|
* Ken Schutte -- Matlab lexers
|
|
193
|
+
* René Schwaiger -- Rainbow Dash style
|
|
176
194
|
* Sebastian Schweizer -- Whiley lexer
|
|
177
195
|
* Tassilo Schweyer -- Io, MOOCode lexers
|
|
196
|
+
* Pablo Seminario -- PromQL lexer
|
|
178
197
|
* Ted Shaw -- AutoIt lexer
|
|
179
198
|
* Joerg Sieker -- ABAP lexer
|
|
180
199
|
* Robert Simmons -- Standard ML lexer
|
|
@@ -183,7 +202,7 @@ Other contributors, listed alphabetically, are:
|
|
|
183
202
|
* Alexander Smishlajev -- Visual FoxPro lexer
|
|
184
203
|
* Steve Spigarelli -- XQuery lexer
|
|
185
204
|
* Jerome St-Louis -- eC lexer
|
|
186
|
-
* Camil Staps -- Clean and NuSMV lexers
|
|
205
|
+
* Camil Staps -- Clean and NuSMV lexers; Solarized style
|
|
187
206
|
* James Strachan -- Kotlin lexer
|
|
188
207
|
* Tom Stuart -- Treetop lexer
|
|
189
208
|
* Colin Sullivan -- SuperCollider lexer
|
|
@@ -214,5 +233,6 @@ Other contributors, listed alphabetically, are:
|
|
|
214
233
|
* Alex Zimin -- Nemerle lexer
|
|
215
234
|
* Rob Zimmerman -- Kal lexer
|
|
216
235
|
* Vincent Zurczak -- Roboconf lexer
|
|
236
|
+
* Hubert Gruniaux -- C and C++ lexer improvements
|
|
217
237
|
|
|
218
238
|
Many thanks for all contributions!
|