pygments.rb 1.2.1 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.github/dependabot.yml +13 -0
- data/.github/workflows/ci.yml +40 -0
- data/.github/workflows/release.yml +24 -0
- data/.gitignore +4 -6
- data/.rubocop.yml +16 -0
- data/CHANGELOG.adoc +137 -0
- data/Gemfile +3 -1
- data/LICENSE +1 -1
- data/README.adoc +159 -0
- data/Rakefile +8 -32
- data/bench.rb +14 -8
- data/lib/pygments.rb +16 -14
- data/lib/pygments/lexer.rb +87 -65
- data/lib/pygments/mentos.py +23 -110
- data/lib/pygments/popen.rb +188 -284
- data/lib/pygments/version.rb +2 -2
- data/pygments.rb.gemspec +20 -13
- data/test/test_pygments.rb +50 -110
- data/vendor/pygments-main/{AUTHORS → Pygments-2.8.1.dist-info/AUTHORS} +26 -3
- data/vendor/pygments-main/Pygments-2.8.1.dist-info/INSTALLER +1 -0
- data/vendor/pygments-main/{LICENSE → Pygments-2.8.1.dist-info/LICENSE} +1 -1
- data/vendor/pygments-main/Pygments-2.8.1.dist-info/METADATA +48 -0
- data/vendor/pygments-main/Pygments-2.8.1.dist-info/RECORD +494 -0
- data/vendor/pygments-main/Pygments-2.8.1.dist-info/REQUESTED +0 -0
- data/vendor/pygments-main/Pygments-2.8.1.dist-info/WHEEL +5 -0
- data/vendor/pygments-main/Pygments-2.8.1.dist-info/entry_points.txt +3 -0
- data/vendor/pygments-main/Pygments-2.8.1.dist-info/top_level.txt +1 -0
- data/vendor/pygments-main/bin/pygmentize +8 -0
- data/vendor/pygments-main/pygments/__init__.py +6 -12
- data/vendor/pygments-main/pygments/__main__.py +17 -0
- data/vendor/pygments-main/pygments/cmdline.py +213 -184
- data/vendor/pygments-main/pygments/console.py +6 -10
- data/vendor/pygments-main/pygments/filter.py +4 -7
- data/vendor/pygments-main/pygments/filters/__init__.py +609 -22
- data/vendor/pygments-main/pygments/formatter.py +4 -5
- data/vendor/pygments-main/pygments/formatters/__init__.py +10 -10
- data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -4
- data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -2
- data/vendor/pygments-main/pygments/formatters/html.py +242 -139
- data/vendor/pygments-main/pygments/formatters/img.py +91 -50
- data/vendor/pygments-main/pygments/formatters/irc.py +39 -40
- data/vendor/pygments-main/pygments/formatters/latex.py +62 -33
- data/vendor/pygments-main/pygments/formatters/other.py +18 -17
- data/vendor/pygments-main/pygments/formatters/rtf.py +29 -30
- data/vendor/pygments-main/pygments/formatters/svg.py +40 -5
- data/vendor/pygments-main/pygments/formatters/terminal.py +25 -32
- data/vendor/pygments-main/pygments/formatters/terminal256.py +45 -14
- data/vendor/pygments-main/pygments/lexer.py +47 -44
- data/vendor/pygments-main/pygments/lexers/__init__.py +341 -0
- data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +1644 -0
- data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +231 -0
- data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +75 -0
- data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1724 -0
- data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +5326 -0
- data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +292 -0
- data/vendor/pygments-main/pygments/lexers/_mapping.py +554 -0
- data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1171 -0
- data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +1281 -0
- data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +2600 -0
- data/vendor/pygments-main/pygments/lexers/_php_builtins.py +4752 -0
- data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +677 -0
- data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +3093 -0
- data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1160 -0
- data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +557 -0
- data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +457 -0
- data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1003 -0
- data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +112 -0
- data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +279 -0
- data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1938 -0
- data/vendor/pygments-main/pygments/lexers/actionscript.py +244 -0
- data/vendor/pygments-main/pygments/lexers/agile.py +23 -0
- data/vendor/pygments-main/pygments/lexers/algebra.py +239 -0
- data/vendor/pygments-main/pygments/lexers/ambient.py +75 -0
- data/vendor/pygments-main/pygments/lexers/amdgpu.py +48 -0
- data/vendor/pygments-main/pygments/lexers/ampl.py +86 -0
- data/vendor/pygments-main/pygments/lexers/apl.py +100 -0
- data/vendor/pygments-main/pygments/lexers/archetype.py +317 -0
- data/vendor/pygments-main/pygments/lexers/arrow.py +116 -0
- data/vendor/pygments-main/pygments/lexers/asm.py +1004 -0
- data/vendor/pygments-main/pygments/lexers/automation.py +379 -0
- data/vendor/pygments-main/pygments/lexers/bare.py +103 -0
- data/vendor/pygments-main/pygments/lexers/basic.py +661 -0
- data/vendor/pygments-main/pygments/lexers/bibtex.py +159 -0
- data/vendor/pygments-main/pygments/lexers/boa.py +101 -0
- data/vendor/pygments-main/pygments/lexers/business.py +626 -0
- data/vendor/pygments-main/pygments/lexers/c_cpp.py +342 -0
- data/vendor/pygments-main/pygments/lexers/c_like.py +565 -0
- data/vendor/pygments-main/pygments/lexers/capnproto.py +77 -0
- data/vendor/pygments-main/pygments/lexers/cddl.py +190 -0
- data/vendor/pygments-main/pygments/lexers/chapel.py +111 -0
- data/vendor/pygments-main/pygments/lexers/clean.py +178 -0
- data/vendor/pygments-main/pygments/lexers/compiled.py +33 -0
- data/vendor/pygments-main/pygments/lexers/configs.py +985 -0
- data/vendor/pygments-main/pygments/lexers/console.py +113 -0
- data/vendor/pygments-main/pygments/lexers/crystal.py +366 -0
- data/vendor/pygments-main/pygments/lexers/csound.py +466 -0
- data/vendor/pygments-main/pygments/lexers/css.py +694 -0
- data/vendor/pygments-main/pygments/lexers/d.py +255 -0
- data/vendor/pygments-main/pygments/lexers/dalvik.py +124 -0
- data/vendor/pygments-main/pygments/lexers/data.py +697 -0
- data/vendor/pygments-main/pygments/lexers/devicetree.py +108 -0
- data/vendor/pygments-main/pygments/lexers/diff.py +164 -0
- data/vendor/pygments-main/pygments/lexers/dotnet.py +706 -0
- data/vendor/pygments-main/pygments/lexers/dsls.py +959 -0
- data/vendor/pygments-main/pygments/lexers/dylan.py +286 -0
- data/vendor/pygments-main/pygments/lexers/ecl.py +137 -0
- data/vendor/pygments-main/pygments/lexers/eiffel.py +64 -0
- data/vendor/pygments-main/pygments/lexers/elm.py +120 -0
- data/vendor/pygments-main/pygments/lexers/email.py +150 -0
- data/vendor/pygments-main/pygments/lexers/erlang.py +529 -0
- data/vendor/pygments-main/pygments/lexers/esoteric.py +303 -0
- data/vendor/pygments-main/pygments/lexers/ezhil.py +76 -0
- data/vendor/pygments-main/pygments/lexers/factor.py +343 -0
- data/vendor/pygments-main/pygments/lexers/fantom.py +249 -0
- data/vendor/pygments-main/pygments/lexers/felix.py +272 -0
- data/vendor/pygments-main/pygments/lexers/floscript.py +82 -0
- data/vendor/pygments-main/pygments/lexers/forth.py +177 -0
- data/vendor/pygments-main/pygments/lexers/fortran.py +208 -0
- data/vendor/pygments-main/pygments/lexers/foxpro.py +427 -0
- data/vendor/pygments-main/pygments/lexers/freefem.py +897 -0
- data/vendor/pygments-main/pygments/lexers/functional.py +20 -0
- data/vendor/pygments-main/pygments/lexers/futhark.py +110 -0
- data/vendor/pygments-main/pygments/lexers/gdscript.py +345 -0
- data/vendor/pygments-main/pygments/lexers/go.py +100 -0
- data/vendor/pygments-main/pygments/lexers/grammar_notation.py +269 -0
- data/vendor/pygments-main/pygments/lexers/graph.py +84 -0
- data/vendor/pygments-main/pygments/lexers/graphics.py +799 -0
- data/vendor/pygments-main/pygments/lexers/graphviz.py +57 -0
- data/vendor/pygments-main/pygments/lexers/haskell.py +869 -0
- data/vendor/pygments-main/pygments/lexers/haxe.py +935 -0
- data/vendor/pygments-main/pygments/lexers/hdl.py +468 -0
- data/vendor/pygments-main/pygments/lexers/hexdump.py +102 -0
- data/vendor/pygments-main/pygments/lexers/html.py +613 -0
- data/vendor/pygments-main/pygments/lexers/idl.py +280 -0
- data/vendor/pygments-main/pygments/lexers/igor.py +419 -0
- data/vendor/pygments-main/pygments/lexers/inferno.py +95 -0
- data/vendor/pygments-main/pygments/lexers/installers.py +321 -0
- data/vendor/pygments-main/pygments/lexers/int_fiction.py +1367 -0
- data/vendor/pygments-main/pygments/lexers/iolang.py +62 -0
- data/vendor/pygments-main/pygments/lexers/j.py +145 -0
- data/vendor/pygments-main/pygments/lexers/javascript.py +1536 -0
- data/vendor/pygments-main/pygments/lexers/julia.py +330 -0
- data/vendor/pygments-main/pygments/lexers/jvm.py +1739 -0
- data/vendor/pygments-main/pygments/lexers/lisp.py +2698 -0
- data/vendor/pygments-main/pygments/lexers/make.py +205 -0
- data/vendor/pygments-main/pygments/lexers/markup.py +762 -0
- data/vendor/pygments-main/pygments/lexers/math.py +20 -0
- data/vendor/pygments-main/pygments/lexers/matlab.py +3280 -0
- data/vendor/pygments-main/pygments/lexers/mime.py +225 -0
- data/vendor/pygments-main/pygments/lexers/ml.py +957 -0
- data/vendor/pygments-main/pygments/lexers/modeling.py +365 -0
- data/vendor/pygments-main/pygments/lexers/modula2.py +1579 -0
- data/vendor/pygments-main/pygments/lexers/monte.py +203 -0
- data/vendor/pygments-main/pygments/lexers/mosel.py +447 -0
- data/vendor/pygments-main/pygments/lexers/ncl.py +893 -0
- data/vendor/pygments-main/pygments/lexers/nimrod.py +158 -0
- data/vendor/pygments-main/pygments/lexers/nit.py +63 -0
- data/vendor/pygments-main/pygments/lexers/nix.py +135 -0
- data/vendor/pygments-main/pygments/lexers/oberon.py +120 -0
- data/vendor/pygments-main/pygments/lexers/objective.py +503 -0
- data/vendor/pygments-main/pygments/lexers/ooc.py +84 -0
- data/vendor/pygments-main/pygments/lexers/other.py +40 -0
- data/vendor/pygments-main/pygments/lexers/parasail.py +78 -0
- data/vendor/pygments-main/pygments/lexers/parsers.py +799 -0
- data/vendor/pygments-main/pygments/lexers/pascal.py +643 -0
- data/vendor/pygments-main/pygments/lexers/pawn.py +202 -0
- data/vendor/pygments-main/pygments/lexers/perl.py +731 -0
- data/vendor/pygments-main/pygments/lexers/php.py +320 -0
- data/vendor/pygments-main/pygments/lexers/pointless.py +70 -0
- data/vendor/pygments-main/pygments/lexers/pony.py +93 -0
- data/vendor/pygments-main/pygments/lexers/praat.py +301 -0
- data/vendor/pygments-main/pygments/lexers/prolog.py +305 -0
- data/vendor/pygments-main/pygments/lexers/promql.py +182 -0
- data/vendor/pygments-main/pygments/lexers/python.py +1158 -0
- data/vendor/pygments-main/pygments/lexers/qvt.py +151 -0
- data/vendor/pygments-main/pygments/lexers/r.py +190 -0
- data/vendor/pygments-main/pygments/lexers/rdf.py +462 -0
- data/vendor/pygments-main/pygments/lexers/rebol.py +430 -0
- data/vendor/pygments-main/pygments/lexers/resource.py +84 -0
- data/vendor/pygments-main/pygments/lexers/ride.py +138 -0
- data/vendor/pygments-main/pygments/lexers/rnc.py +66 -0
- data/vendor/pygments-main/pygments/lexers/roboconf.py +81 -0
- data/vendor/pygments-main/pygments/lexers/robotframework.py +551 -0
- data/vendor/pygments-main/pygments/lexers/ruby.py +523 -0
- data/vendor/pygments-main/pygments/lexers/rust.py +223 -0
- data/vendor/pygments-main/pygments/lexers/sas.py +227 -0
- data/vendor/pygments-main/pygments/lexers/scdoc.py +82 -0
- data/vendor/pygments-main/pygments/lexers/scripting.py +1283 -0
- data/vendor/pygments-main/pygments/lexers/sgf.py +60 -0
- data/vendor/pygments-main/pygments/lexers/shell.py +909 -0
- data/vendor/pygments-main/pygments/lexers/sieve.py +68 -0
- data/vendor/pygments-main/pygments/lexers/slash.py +184 -0
- data/vendor/pygments-main/pygments/lexers/smalltalk.py +194 -0
- data/vendor/pygments-main/pygments/lexers/smv.py +78 -0
- data/vendor/pygments-main/pygments/lexers/snobol.py +82 -0
- data/vendor/pygments-main/pygments/lexers/solidity.py +91 -0
- data/vendor/pygments-main/pygments/lexers/special.py +106 -0
- data/vendor/pygments-main/pygments/lexers/sql.py +832 -0
- data/vendor/pygments-main/pygments/lexers/stata.py +170 -0
- data/vendor/pygments-main/pygments/lexers/supercollider.py +94 -0
- data/vendor/pygments-main/pygments/lexers/tcl.py +144 -0
- data/vendor/pygments-main/pygments/lexers/templates.py +2263 -0
- data/vendor/pygments-main/pygments/lexers/teraterm.py +334 -0
- data/vendor/pygments-main/pygments/lexers/testing.py +206 -0
- data/vendor/pygments-main/pygments/lexers/text.py +25 -0
- data/vendor/pygments-main/pygments/lexers/textedit.py +168 -0
- data/vendor/pygments-main/pygments/lexers/textfmts.py +429 -0
- data/vendor/pygments-main/pygments/lexers/theorem.py +476 -0
- data/vendor/pygments-main/pygments/lexers/tnt.py +262 -0
- data/vendor/pygments-main/pygments/lexers/trafficscript.py +53 -0
- data/vendor/pygments-main/pygments/lexers/typoscript.py +218 -0
- data/vendor/pygments-main/pygments/lexers/unicon.py +411 -0
- data/vendor/pygments-main/pygments/lexers/urbi.py +145 -0
- data/vendor/pygments-main/pygments/lexers/usd.py +89 -0
- data/vendor/pygments-main/pygments/lexers/varnish.py +189 -0
- data/vendor/pygments-main/pygments/lexers/verification.py +113 -0
- data/vendor/pygments-main/pygments/lexers/web.py +23 -0
- data/vendor/pygments-main/pygments/lexers/webidl.py +298 -0
- data/vendor/pygments-main/pygments/lexers/webmisc.py +991 -0
- data/vendor/pygments-main/pygments/lexers/whiley.py +115 -0
- data/vendor/pygments-main/pygments/lexers/x10.py +68 -0
- data/vendor/pygments-main/pygments/lexers/xorg.py +36 -0
- data/vendor/pygments-main/pygments/lexers/yang.py +103 -0
- data/vendor/pygments-main/pygments/lexers/zig.py +123 -0
- data/vendor/pygments-main/pygments/modeline.py +1 -2
- data/vendor/pygments-main/pygments/plugin.py +4 -3
- data/vendor/pygments-main/pygments/regexopt.py +1 -2
- data/vendor/pygments-main/pygments/scanner.py +2 -3
- data/vendor/pygments-main/pygments/sphinxext.py +2 -5
- data/vendor/pygments-main/pygments/style.py +61 -25
- data/vendor/pygments-main/pygments/styles/__init__.py +12 -5
- data/vendor/pygments-main/pygments/styles/abap.py +1 -2
- data/vendor/pygments-main/pygments/styles/algol.py +1 -2
- data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -2
- data/vendor/pygments-main/pygments/styles/arduino.py +2 -3
- data/vendor/pygments-main/pygments/styles/autumn.py +1 -2
- data/vendor/pygments-main/pygments/styles/borland.py +1 -2
- data/vendor/pygments-main/pygments/styles/bw.py +1 -2
- data/vendor/pygments-main/pygments/styles/colorful.py +1 -2
- data/vendor/pygments-main/pygments/styles/default.py +1 -2
- data/vendor/pygments-main/pygments/styles/emacs.py +1 -2
- data/vendor/pygments-main/pygments/styles/friendly.py +1 -2
- data/vendor/pygments-main/pygments/styles/fruity.py +1 -2
- data/vendor/pygments-main/pygments/styles/igor.py +1 -2
- data/vendor/pygments-main/pygments/styles/inkpot.py +66 -0
- data/vendor/pygments-main/pygments/styles/lovelace.py +1 -2
- data/vendor/pygments-main/pygments/styles/manni.py +1 -2
- data/vendor/pygments-main/pygments/styles/material.py +118 -0
- data/vendor/pygments-main/pygments/styles/monokai.py +4 -4
- data/vendor/pygments-main/pygments/styles/murphy.py +1 -2
- data/vendor/pygments-main/pygments/styles/native.py +1 -2
- data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -2
- data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -2
- data/vendor/pygments-main/pygments/styles/pastie.py +1 -2
- data/vendor/pygments-main/pygments/styles/perldoc.py +1 -2
- data/vendor/pygments-main/pygments/styles/rainbow_dash.py +1 -2
- data/vendor/pygments-main/pygments/styles/rrt.py +1 -2
- data/vendor/pygments-main/pygments/styles/sas.py +1 -2
- data/vendor/pygments-main/pygments/styles/solarized.py +136 -0
- data/vendor/pygments-main/pygments/styles/stata_dark.py +40 -0
- data/vendor/pygments-main/pygments/styles/{stata.py → stata_light.py} +14 -16
- data/vendor/pygments-main/pygments/styles/tango.py +1 -2
- data/vendor/pygments-main/pygments/styles/trac.py +1 -2
- data/vendor/pygments-main/pygments/styles/vim.py +1 -2
- data/vendor/pygments-main/pygments/styles/vs.py +1 -2
- data/vendor/pygments-main/pygments/styles/xcode.py +1 -2
- data/vendor/pygments-main/pygments/styles/zenburn.py +80 -0
- data/vendor/pygments-main/pygments/token.py +1 -2
- data/vendor/pygments-main/pygments/unistring.py +47 -109
- data/vendor/pygments-main/pygments/util.py +16 -96
- metadata +81 -139
- data/CHANGELOG.md +0 -111
- data/README.md +0 -121
- data/cache-lexers.rb +0 -8
- 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/requirements.txt +0 -5
- data/vendor/pygments-main/scripts/check_sources.py +0 -211
- data/vendor/pygments-main/scripts/debug_lexer.py +0 -246
- data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +0 -33
- data/vendor/pygments-main/scripts/epydoc.css +0 -280
- data/vendor/pygments-main/scripts/get_vimkw.py +0 -74
- data/vendor/pygments-main/scripts/pylintrc +0 -301
- data/vendor/pygments-main/scripts/vim2pygments.py +0 -935
- data/vendor/pygments-main/setup.cfg +0 -10
- data/vendor/pygments-main/setup.py +0 -77
- data/vendor/pygments-main/tox.ini +0 -7
- data/vendor/simplejson/.gitignore +0 -10
- data/vendor/simplejson/.travis.yml +0 -5
- data/vendor/simplejson/CHANGES.txt +0 -291
- data/vendor/simplejson/LICENSE.txt +0 -19
- data/vendor/simplejson/MANIFEST.in +0 -5
- data/vendor/simplejson/README.rst +0 -19
- data/vendor/simplejson/conf.py +0 -179
- data/vendor/simplejson/index.rst +0 -628
- data/vendor/simplejson/scripts/make_docs.py +0 -18
- data/vendor/simplejson/setup.py +0 -104
- data/vendor/simplejson/simplejson/__init__.py +0 -510
- data/vendor/simplejson/simplejson/_speedups.c +0 -2745
- data/vendor/simplejson/simplejson/decoder.py +0 -425
- data/vendor/simplejson/simplejson/encoder.py +0 -567
- data/vendor/simplejson/simplejson/ordered_dict.py +0 -119
- data/vendor/simplejson/simplejson/scanner.py +0 -77
- data/vendor/simplejson/simplejson/tests/__init__.py +0 -67
- data/vendor/simplejson/simplejson/tests/test_bigint_as_string.py +0 -55
- data/vendor/simplejson/simplejson/tests/test_check_circular.py +0 -30
- data/vendor/simplejson/simplejson/tests/test_decimal.py +0 -66
- data/vendor/simplejson/simplejson/tests/test_decode.py +0 -83
- data/vendor/simplejson/simplejson/tests/test_default.py +0 -9
- data/vendor/simplejson/simplejson/tests/test_dump.py +0 -67
- data/vendor/simplejson/simplejson/tests/test_encode_basestring_ascii.py +0 -46
- data/vendor/simplejson/simplejson/tests/test_encode_for_html.py +0 -32
- data/vendor/simplejson/simplejson/tests/test_errors.py +0 -34
- data/vendor/simplejson/simplejson/tests/test_fail.py +0 -91
- data/vendor/simplejson/simplejson/tests/test_float.py +0 -19
- data/vendor/simplejson/simplejson/tests/test_indent.py +0 -86
- data/vendor/simplejson/simplejson/tests/test_item_sort_key.py +0 -20
- data/vendor/simplejson/simplejson/tests/test_namedtuple.py +0 -121
- data/vendor/simplejson/simplejson/tests/test_pass1.py +0 -76
- data/vendor/simplejson/simplejson/tests/test_pass2.py +0 -14
- data/vendor/simplejson/simplejson/tests/test_pass3.py +0 -20
- data/vendor/simplejson/simplejson/tests/test_recursion.py +0 -67
- data/vendor/simplejson/simplejson/tests/test_scanstring.py +0 -117
- data/vendor/simplejson/simplejson/tests/test_separators.py +0 -42
- data/vendor/simplejson/simplejson/tests/test_speedups.py +0 -20
- data/vendor/simplejson/simplejson/tests/test_tuple.py +0 -49
- data/vendor/simplejson/simplejson/tests/test_unicode.py +0 -109
- data/vendor/simplejson/simplejson/tool.py +0 -39
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
.TH PYGMENTIZE 1 "February 15, 2007"
|
|
2
|
-
|
|
3
|
-
.SH NAME
|
|
4
|
-
pygmentize \- highlights the input file
|
|
5
|
-
|
|
6
|
-
.SH SYNOPSIS
|
|
7
|
-
.B \fBpygmentize\fP
|
|
8
|
-
.RI [-l\ \fI<lexer>\fP]\ [-F\ \fI<filter>\fP[:\fI<options>\fP]]\ [-f\ \fI<formatter>\fP]
|
|
9
|
-
.RI [-O\ \fI<options>\fP]\ [-P\ \fI<option=value>\fP]\ [-o\ \fI<outfile>\fP]\ [\fI<infile>\fP]
|
|
10
|
-
.br
|
|
11
|
-
.B \fBpygmentize\fP
|
|
12
|
-
.RI -S\ \fI<style>\fP\ -f\ \fI<formatter>\fP\ [-a\ \fI<arg>\fP]\ [-O\ \fI<options>\fP]\ [-P\ \fI<option=value>\fP]
|
|
13
|
-
.br
|
|
14
|
-
.B \fBpygmentize\fP
|
|
15
|
-
.RI -L\ [\fI<which>\fP\ ...]
|
|
16
|
-
.br
|
|
17
|
-
.B \fBpygmentize\fP
|
|
18
|
-
.RI -H\ \fI<type>\fP\ \fI<name>\fP
|
|
19
|
-
.br
|
|
20
|
-
.B \fBpygmentize\fP
|
|
21
|
-
.RI -h\ |\ -V
|
|
22
|
-
|
|
23
|
-
.SH DESCRIPTION
|
|
24
|
-
Pygments is a generic syntax highlighter for general use in all kinds
|
|
25
|
-
of software such as forum systems, wikis or other applications that need to
|
|
26
|
-
prettify source code.
|
|
27
|
-
.PP
|
|
28
|
-
Its highlights are:
|
|
29
|
-
* a wide range of common languages and markup formats is supported
|
|
30
|
-
* special attention is paid to details, increasing quality by a fair amount
|
|
31
|
-
* support for new languages and formats are added easily
|
|
32
|
-
* a number of output formats, presently HTML, LaTeX and ANSI sequences
|
|
33
|
-
* it is usable as a command-line tool and as a library
|
|
34
|
-
* ... and it highlights even Brainfuck!
|
|
35
|
-
.PP
|
|
36
|
-
\fBpygmentize\fP is a command that uses Pygments to highlight the input file and
|
|
37
|
-
write the result to \fI<outfile>\fP. If no \fI<infile>\fP is given, stdin is used.
|
|
38
|
-
.SH OPTIONS
|
|
39
|
-
A summary of options is included below.
|
|
40
|
-
.TP
|
|
41
|
-
.B \-l \fI<lexer>\fP
|
|
42
|
-
Set the lexer name. If not given, the lexer is guessed from the extension of the
|
|
43
|
-
input file name (this obviously doesn't work if the input is stdin).
|
|
44
|
-
.TP
|
|
45
|
-
.B \-F \fI<filter>\fP[:\fI<options>\fP]
|
|
46
|
-
Add a filter to the token stream. You can give options in the same way as for
|
|
47
|
-
-O after a colon (note: there must not be spaces around the colon).
|
|
48
|
-
This option can be given multiple times.
|
|
49
|
-
.TP
|
|
50
|
-
.B \-f \fI<formatter>\fP
|
|
51
|
-
Set the formatter name. If not given, it will be guessed from the extension of
|
|
52
|
-
the output file name. If no output file is given, the terminal formatter will be
|
|
53
|
-
used by default.
|
|
54
|
-
.TP
|
|
55
|
-
.B \-o \fI<outfile>\fP
|
|
56
|
-
Set output file. If not given, stdout is used.
|
|
57
|
-
.TP
|
|
58
|
-
.B \-O \fI<options>\fP
|
|
59
|
-
With this option, you can give the lexer and formatter a comma-separated list of
|
|
60
|
-
options, e.g. "-O bg=light,python=cool". Which options are valid for which
|
|
61
|
-
lexers and formatters can be found in the documentation.
|
|
62
|
-
This option can be given multiple times.
|
|
63
|
-
.TP
|
|
64
|
-
.B \-P \fI<option=value>\fP
|
|
65
|
-
This option adds lexer and formatter options like the -O option, but
|
|
66
|
-
you can only give one option per -P. That way, the option value may contain
|
|
67
|
-
commas and equals signs, which it can't with -O.
|
|
68
|
-
.TP
|
|
69
|
-
.B \-S \fI<style>\fP
|
|
70
|
-
Print out style definitions for style \fI<style>\fP and for formatter \fI<formatter>\fP.
|
|
71
|
-
The meaning of the argument given by
|
|
72
|
-
.B \-a \fI<arg>\fP
|
|
73
|
-
is formatter dependent and can be found in the documentation.
|
|
74
|
-
.TP
|
|
75
|
-
.B \-L [\fI<which>\fP ...]
|
|
76
|
-
List lexers, formatters, styles or filters. Set \fI<which>\fP to the thing you want
|
|
77
|
-
to list (e.g. "styles"), or omit it to list everything.
|
|
78
|
-
.TP
|
|
79
|
-
.B \-H \fI<type>\fP \fI<name>\fP
|
|
80
|
-
Print detailed help for the object \fI<name>\fP of type \fI<type>\fP, where \fI<type>\fP is one
|
|
81
|
-
of "lexer", "formatter" or "filter".
|
|
82
|
-
.TP
|
|
83
|
-
.B \-h
|
|
84
|
-
Show help screen.
|
|
85
|
-
.TP
|
|
86
|
-
.B \-V
|
|
87
|
-
Show version of the Pygments package.
|
|
88
|
-
.SH SEE ALSO
|
|
89
|
-
/usr/share/doc/python-pygments/index.html
|
|
90
|
-
.SH AUTHOR
|
|
91
|
-
pygmentize was written by Georg Brandl <g.brandl@gmx.net>.
|
|
92
|
-
.PP
|
|
93
|
-
This manual page was written by Piotr Ozarowski <ozarow@gmail.com>,
|
|
94
|
-
for the Debian project (but may be used by others).
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Best effort auto-pygmentization with transparent decompression
|
|
3
|
-
# by Reuben Thomas 2008-2016
|
|
4
|
-
# This program is in the public domain.
|
|
5
|
-
|
|
6
|
-
# Strategy: first see if pygmentize can find a lexer; if not, ask file; if that finds nothing, fail
|
|
7
|
-
# Set the environment variable PYGMENTIZE_OPTS or pass options before the file path to configure pygments.
|
|
8
|
-
|
|
9
|
-
# This program can be used as a .lessfilter for the less pager to auto-color less's output
|
|
10
|
-
|
|
11
|
-
file="${!#}" # last argument
|
|
12
|
-
options=${@:1:$(($#-1))} # handle others args as options to pass to pygmentize
|
|
13
|
-
|
|
14
|
-
file_common_opts="--brief --dereference"
|
|
15
|
-
|
|
16
|
-
lexer=$(pygmentize -N "$file")
|
|
17
|
-
if [[ "$lexer" == text ]]; then
|
|
18
|
-
unset lexer
|
|
19
|
-
case $(file --mime-type --uncompress $file_common_opts "$file") in
|
|
20
|
-
application/xml|image/svg+xml) lexer=xml;;
|
|
21
|
-
application/javascript) lexer=javascript;;
|
|
22
|
-
text/html) lexer=html;;
|
|
23
|
-
text/troff) lexer=nroff;;
|
|
24
|
-
text/x-asm) lexer=nasm;;
|
|
25
|
-
text/x-awk) lexer=awk;;
|
|
26
|
-
text/x-c) lexer=c;;
|
|
27
|
-
text/x-c++) lexer=cpp;;
|
|
28
|
-
text/x-crystal) lexer=crystal;;
|
|
29
|
-
text/x-diff) lexer=diff;;
|
|
30
|
-
text/x-fortran) lexer=fortran;;
|
|
31
|
-
text/x-gawk) lexer=gawk;;
|
|
32
|
-
text/x-java) lexer=java;;
|
|
33
|
-
text/x-lisp) lexer=common-lisp;;
|
|
34
|
-
text/x-lua) lexer=lua;;
|
|
35
|
-
text/x-makefile) lexer=make;;
|
|
36
|
-
text/x-msdos-batch) lexer=bat;;
|
|
37
|
-
text/x-nawk) lexer=nawk;;
|
|
38
|
-
text/x-pascal) lexer=pascal;;
|
|
39
|
-
text/x-perl) lexer=perl;;
|
|
40
|
-
text/x-php) lexer=php;;
|
|
41
|
-
text/x-po) lexer=po;;
|
|
42
|
-
text/x-python) lexer=python;;
|
|
43
|
-
text/x-ruby) lexer=ruby;;
|
|
44
|
-
text/x-shellscript) lexer=sh;;
|
|
45
|
-
text/x-tcl) lexer=tcl;;
|
|
46
|
-
text/x-tex|text/x-texinfo) lexer=latex;; # FIXME: texinfo really needs its own lexer
|
|
47
|
-
|
|
48
|
-
# Types that file outputs which pygmentize didn't support as of file 5.20, pygments 2.0
|
|
49
|
-
# text/calendar
|
|
50
|
-
# text/inf
|
|
51
|
-
# text/PGP
|
|
52
|
-
# text/rtf
|
|
53
|
-
# text/texmacs
|
|
54
|
-
# text/vnd.graphviz
|
|
55
|
-
# text/x-bcpl
|
|
56
|
-
# text/x-info
|
|
57
|
-
# text/x-m4
|
|
58
|
-
# text/x-vcard
|
|
59
|
-
# text/x-xmcd
|
|
60
|
-
|
|
61
|
-
text/plain) # special filenames. TODO: insert more
|
|
62
|
-
case $(basename "$file") in
|
|
63
|
-
.zshrc) lexer=sh;;
|
|
64
|
-
esac
|
|
65
|
-
;;
|
|
66
|
-
esac
|
|
67
|
-
fi
|
|
68
|
-
|
|
69
|
-
# Find a preprocessor for compressed files
|
|
70
|
-
concat=cat
|
|
71
|
-
case $(file $file_common_opts --mime-type "$file") in
|
|
72
|
-
application/x-gzip) concat=zcat;;
|
|
73
|
-
application/x-bzip2) concat=bzcat;;
|
|
74
|
-
application/x-xz) concat=xzcat;;
|
|
75
|
-
esac
|
|
76
|
-
|
|
77
|
-
# Find a suitable lexer, preceded by a hex dump for binary files
|
|
78
|
-
prereader=""
|
|
79
|
-
encoding=$(file --mime-encoding --uncompress $file_common_opts "$file")
|
|
80
|
-
if [[ $encoding == "binary" ]]; then
|
|
81
|
-
prereader="od -x" # POSIX fallback
|
|
82
|
-
if [[ -n $(which hd) ]]; then
|
|
83
|
-
prereader="hd" # preferred
|
|
84
|
-
fi
|
|
85
|
-
lexer=hexdump
|
|
86
|
-
encoding=latin1
|
|
87
|
-
fi
|
|
88
|
-
if [[ -n "$lexer" ]]; then
|
|
89
|
-
reader="pygmentize -O inencoding=$encoding $PYGMENTIZE_OPTS $options -l $lexer"
|
|
90
|
-
fi
|
|
91
|
-
|
|
92
|
-
# If we found a reader, run it
|
|
93
|
-
if [[ -n "$reader" ]]; then
|
|
94
|
-
if [[ -n "$prereader" ]]; then
|
|
95
|
-
exec $concat "$file" | $prereader | $reader
|
|
96
|
-
else
|
|
97
|
-
exec $concat "$file" | $reader
|
|
98
|
-
fi
|
|
99
|
-
fi
|
|
100
|
-
|
|
101
|
-
exit 1
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/lasso9
|
|
2
|
-
|
|
3
|
-
/*
|
|
4
|
-
Builtins Generator for Lasso 9
|
|
5
|
-
|
|
6
|
-
This is the shell script that was used to extract Lasso 9's built-in keywords
|
|
7
|
-
and generate most of the _lasso_builtins.py file. When run, it creates a file
|
|
8
|
-
containing the types, traits, methods, and members of the currently-installed
|
|
9
|
-
version of Lasso 9.
|
|
10
|
-
|
|
11
|
-
A list of tags in Lasso 8 can be generated with this code:
|
|
12
|
-
|
|
13
|
-
<?LassoScript
|
|
14
|
-
local('l8tags' = list,
|
|
15
|
-
'l8libs' = array('Cache','ChartFX','Client','Database','File','HTTP',
|
|
16
|
-
'iCal','Lasso','Link','List','PDF','Response','Stock','String',
|
|
17
|
-
'Thread','Valid','WAP','XML'));
|
|
18
|
-
iterate(#l8libs, local('library'));
|
|
19
|
-
local('result' = namespace_load(#library));
|
|
20
|
-
/iterate;
|
|
21
|
-
iterate(tags_list, local('i'));
|
|
22
|
-
#l8tags->insert(string_removeleading(#i, -pattern='_global_'));
|
|
23
|
-
/iterate;
|
|
24
|
-
#l8tags->sort;
|
|
25
|
-
iterate(#l8tags, local('i'));
|
|
26
|
-
string_lowercase(#i)+"<br>";
|
|
27
|
-
/iterate;
|
|
28
|
-
|
|
29
|
-
*/
|
|
30
|
-
|
|
31
|
-
output("This output statement is required for a complete list of methods.")
|
|
32
|
-
local(f) = file("_lasso_builtins-9.py")
|
|
33
|
-
#f->doWithClose => {
|
|
34
|
-
|
|
35
|
-
#f->openTruncate
|
|
36
|
-
#f->writeString('# -*- coding: utf-8 -*-
|
|
37
|
-
"""
|
|
38
|
-
pygments.lexers._lasso_builtins
|
|
39
|
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
40
|
-
|
|
41
|
-
Built-in Lasso types, traits, methods, and members.
|
|
42
|
-
|
|
43
|
-
:copyright: Copyright 2006-'+date->year+' by the Pygments team, see AUTHORS.
|
|
44
|
-
:license: BSD, see LICENSE for details.
|
|
45
|
-
"""
|
|
46
|
-
|
|
47
|
-
')
|
|
48
|
-
|
|
49
|
-
// Load and register contents of $LASSO9_MASTER_HOME/LassoModules/
|
|
50
|
-
database_initialize
|
|
51
|
-
|
|
52
|
-
// Load all of the libraries from builtins and lassoserver
|
|
53
|
-
// This forces all possible available types and methods to be registered
|
|
54
|
-
local(srcs =
|
|
55
|
-
(:
|
|
56
|
-
dir(sys_masterHomePath + '/LassoLibraries/builtins/')->eachFilePath,
|
|
57
|
-
dir(sys_masterHomePath + '/LassoLibraries/lassoserver/')->eachFilePath
|
|
58
|
-
)
|
|
59
|
-
)
|
|
60
|
-
|
|
61
|
-
with topLevelDir in delve(#srcs)
|
|
62
|
-
where not #topLevelDir->lastComponent->beginsWith('.')
|
|
63
|
-
do protect => {
|
|
64
|
-
handle_error => {
|
|
65
|
-
stdoutnl('Unable to load: ' + #topLevelDir + ' ' + error_msg)
|
|
66
|
-
}
|
|
67
|
-
library_thread_loader->loadLibrary(#topLevelDir)
|
|
68
|
-
stdoutnl('Loaded: ' + #topLevelDir)
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
email_initialize
|
|
72
|
-
log_initialize
|
|
73
|
-
session_initialize
|
|
74
|
-
|
|
75
|
-
local(
|
|
76
|
-
typesList = set(),
|
|
77
|
-
traitsList = set(),
|
|
78
|
-
unboundMethodsList = set(),
|
|
79
|
-
memberMethodsList = set()
|
|
80
|
-
)
|
|
81
|
-
|
|
82
|
-
// types
|
|
83
|
-
with type in sys_listTypes
|
|
84
|
-
where not #type->asString->endsWith('$') // skip threads
|
|
85
|
-
do {
|
|
86
|
-
#typesList->insert(#type)
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
// traits
|
|
90
|
-
with trait in sys_listTraits
|
|
91
|
-
where not #trait->asString->beginsWith('$') // skip combined traits
|
|
92
|
-
do {
|
|
93
|
-
#traitsList->insert(#trait)
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
// member methods
|
|
97
|
-
with type in #typesList
|
|
98
|
-
do {
|
|
99
|
-
with method in #type->getType->listMethods
|
|
100
|
-
where #method->typeName == #type // skip inherited methods
|
|
101
|
-
let name = #method->methodName
|
|
102
|
-
where not #name->asString->endsWith('=') // skip setter methods
|
|
103
|
-
where #name->asString->isAlpha(1) // skip unpublished methods
|
|
104
|
-
do {
|
|
105
|
-
#memberMethodsList->insert(#name)
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
with trait in #traitsList
|
|
109
|
-
do {
|
|
110
|
-
with method in #trait->getType->provides
|
|
111
|
-
where #method->typeName == #trait // skip inherited methods
|
|
112
|
-
let name = #method->methodName
|
|
113
|
-
where not #name->asString->endsWith('=') // skip setter methods
|
|
114
|
-
where #name->asString->isAlpha(1) // skip unpublished methods
|
|
115
|
-
do {
|
|
116
|
-
#memberMethodsList->insert(#name)
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
// unbound methods
|
|
121
|
-
with method in sys_listUnboundMethods
|
|
122
|
-
let name = #method->methodName
|
|
123
|
-
where not #name->asString->endsWith('=') // skip setter methods
|
|
124
|
-
where #name->asString->isAlpha(1) // skip unpublished methods
|
|
125
|
-
where #typesList !>> #name
|
|
126
|
-
where #traitsList !>> #name
|
|
127
|
-
do {
|
|
128
|
-
#unboundMethodsList->insert(#name)
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
// write to file
|
|
132
|
-
with i in (:
|
|
133
|
-
pair(#typesList, "BUILTINS = {
|
|
134
|
-
'Types': (
|
|
135
|
-
"),
|
|
136
|
-
pair(#traitsList, " ),
|
|
137
|
-
'Traits': (
|
|
138
|
-
"),
|
|
139
|
-
pair(#unboundMethodsList, " ),
|
|
140
|
-
'Unbound Methods': (
|
|
141
|
-
"),
|
|
142
|
-
pair(#memberMethodsList, " )
|
|
143
|
-
}
|
|
144
|
-
MEMBERS = {
|
|
145
|
-
'Member Methods': (
|
|
146
|
-
")
|
|
147
|
-
)
|
|
148
|
-
do {
|
|
149
|
-
#f->writeString(#i->second)
|
|
150
|
-
with t in (#i->first)
|
|
151
|
-
let ts = #t->asString
|
|
152
|
-
order by #ts
|
|
153
|
-
do {
|
|
154
|
-
#f->writeString(" '"+#ts->lowercase&asString+"',\n")
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
#f->writeString(" )
|
|
159
|
-
}
|
|
160
|
-
")
|
|
161
|
-
|
|
162
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
"""
|
|
3
|
-
The Pygments Markdown Preprocessor
|
|
4
|
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
5
|
-
|
|
6
|
-
This fragment is a Markdown_ preprocessor that renders source code
|
|
7
|
-
to HTML via Pygments. To use it, invoke Markdown like so::
|
|
8
|
-
|
|
9
|
-
import markdown
|
|
10
|
-
|
|
11
|
-
html = markdown.markdown(someText, extensions=[CodeBlockExtension()])
|
|
12
|
-
|
|
13
|
-
This uses CSS classes by default, so use
|
|
14
|
-
``pygmentize -S <some style> -f html > pygments.css``
|
|
15
|
-
to create a stylesheet to be added to the website.
|
|
16
|
-
|
|
17
|
-
You can then highlight source code in your markdown markup::
|
|
18
|
-
|
|
19
|
-
[sourcecode:lexer]
|
|
20
|
-
some code
|
|
21
|
-
[/sourcecode]
|
|
22
|
-
|
|
23
|
-
.. _Markdown: https://pypi.python.org/pypi/Markdown
|
|
24
|
-
|
|
25
|
-
:copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
|
|
26
|
-
:license: BSD, see LICENSE for details.
|
|
27
|
-
"""
|
|
28
|
-
|
|
29
|
-
# Options
|
|
30
|
-
# ~~~~~~~
|
|
31
|
-
|
|
32
|
-
# Set to True if you want inline CSS styles instead of classes
|
|
33
|
-
INLINESTYLES = False
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
import re
|
|
37
|
-
|
|
38
|
-
from markdown.preprocessors import Preprocessor
|
|
39
|
-
from markdown.extensions import Extension
|
|
40
|
-
|
|
41
|
-
from pygments import highlight
|
|
42
|
-
from pygments.formatters import HtmlFormatter
|
|
43
|
-
from pygments.lexers import get_lexer_by_name, TextLexer
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
class CodeBlockPreprocessor(Preprocessor):
|
|
47
|
-
|
|
48
|
-
pattern = re.compile(r'\[sourcecode:(.+?)\](.+?)\[/sourcecode\]', re.S)
|
|
49
|
-
|
|
50
|
-
formatter = HtmlFormatter(noclasses=INLINESTYLES)
|
|
51
|
-
|
|
52
|
-
def run(self, lines):
|
|
53
|
-
def repl(m):
|
|
54
|
-
try:
|
|
55
|
-
lexer = get_lexer_by_name(m.group(1))
|
|
56
|
-
except ValueError:
|
|
57
|
-
lexer = TextLexer()
|
|
58
|
-
code = highlight(m.group(2), lexer, self.formatter)
|
|
59
|
-
code = code.replace('\n\n', '\n \n').replace('\n', '<br />')
|
|
60
|
-
return '\n\n<div class="code">%s</div>\n\n' % code
|
|
61
|
-
joined_lines = "\n".join(lines)
|
|
62
|
-
joined_lines = self.pattern.sub(repl, joined_lines)
|
|
63
|
-
return joined_lines.split("\n")
|
|
64
|
-
|
|
65
|
-
class CodeBlockExtension(Extension):
|
|
66
|
-
def extendMarkdown(self, md, md_globals):
|
|
67
|
-
md.preprocessors.add('CodeBlockPreprocessor', CodeBlockPreprocessor(), '_begin')
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
"""
|
|
3
|
-
The Pygments MoinMoin Parser
|
|
4
|
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
5
|
-
|
|
6
|
-
This is a MoinMoin parser plugin that renders source code to HTML via
|
|
7
|
-
Pygments; you need Pygments 0.7 or newer for this parser to work.
|
|
8
|
-
|
|
9
|
-
To use it, set the options below to match your setup and put this file in
|
|
10
|
-
the data/plugin/parser subdirectory of your Moin instance, and give it the
|
|
11
|
-
name that the parser directive should have. For example, if you name the
|
|
12
|
-
file ``code.py``, you can get a highlighted Python code sample with this
|
|
13
|
-
Wiki markup::
|
|
14
|
-
|
|
15
|
-
{{{
|
|
16
|
-
#!code python
|
|
17
|
-
[...]
|
|
18
|
-
}}}
|
|
19
|
-
|
|
20
|
-
Additionally, if you set ATTACHMENTS below to True, Pygments will also be
|
|
21
|
-
called for all attachments for whose filenames there is no other parser
|
|
22
|
-
registered.
|
|
23
|
-
|
|
24
|
-
You are responsible for including CSS rules that will map the Pygments CSS
|
|
25
|
-
classes to colors. You can output a stylesheet file with `pygmentize`, put
|
|
26
|
-
it into the `htdocs` directory of your Moin instance and then include it in
|
|
27
|
-
the `stylesheets` configuration option in the Moin config, e.g.::
|
|
28
|
-
|
|
29
|
-
stylesheets = [('screen', '/htdocs/pygments.css')]
|
|
30
|
-
|
|
31
|
-
If you do not want to do that and are willing to accept larger HTML
|
|
32
|
-
output, you can set the INLINESTYLES option below to True.
|
|
33
|
-
|
|
34
|
-
:copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
|
|
35
|
-
:license: BSD, see LICENSE for details.
|
|
36
|
-
"""
|
|
37
|
-
|
|
38
|
-
# Options
|
|
39
|
-
# ~~~~~~~
|
|
40
|
-
|
|
41
|
-
# Set to True if you want to highlight attachments, in addition to
|
|
42
|
-
# {{{ }}} blocks.
|
|
43
|
-
ATTACHMENTS = True
|
|
44
|
-
|
|
45
|
-
# Set to True if you want inline CSS styles instead of classes
|
|
46
|
-
INLINESTYLES = False
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
import sys
|
|
50
|
-
|
|
51
|
-
from pygments import highlight
|
|
52
|
-
from pygments.lexers import get_lexer_by_name, get_lexer_for_filename, TextLexer
|
|
53
|
-
from pygments.formatters import HtmlFormatter
|
|
54
|
-
from pygments.util import ClassNotFound
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
# wrap lines in <span>s so that the Moin-generated line numbers work
|
|
58
|
-
class MoinHtmlFormatter(HtmlFormatter):
|
|
59
|
-
def wrap(self, source, outfile):
|
|
60
|
-
for line in source:
|
|
61
|
-
yield 1, '<span class="line">' + line[1] + '</span>'
|
|
62
|
-
|
|
63
|
-
htmlformatter = MoinHtmlFormatter(noclasses=INLINESTYLES)
|
|
64
|
-
textlexer = TextLexer()
|
|
65
|
-
codeid = [0]
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
class Parser:
|
|
69
|
-
"""
|
|
70
|
-
MoinMoin Pygments parser.
|
|
71
|
-
"""
|
|
72
|
-
if ATTACHMENTS:
|
|
73
|
-
extensions = '*'
|
|
74
|
-
else:
|
|
75
|
-
extensions = []
|
|
76
|
-
|
|
77
|
-
Dependencies = []
|
|
78
|
-
|
|
79
|
-
def __init__(self, raw, request, **kw):
|
|
80
|
-
self.raw = raw
|
|
81
|
-
self.req = request
|
|
82
|
-
if "format_args" in kw:
|
|
83
|
-
# called from a {{{ }}} block
|
|
84
|
-
try:
|
|
85
|
-
self.lexer = get_lexer_by_name(kw['format_args'].strip())
|
|
86
|
-
except ClassNotFound:
|
|
87
|
-
self.lexer = textlexer
|
|
88
|
-
return
|
|
89
|
-
if "filename" in kw:
|
|
90
|
-
# called for an attachment
|
|
91
|
-
filename = kw['filename']
|
|
92
|
-
else:
|
|
93
|
-
# called for an attachment by an older moin
|
|
94
|
-
# HACK: find out the filename by peeking into the execution
|
|
95
|
-
# frame which might not always work
|
|
96
|
-
try:
|
|
97
|
-
frame = sys._getframe(1)
|
|
98
|
-
filename = frame.f_locals['filename']
|
|
99
|
-
except:
|
|
100
|
-
filename = 'x.txt'
|
|
101
|
-
try:
|
|
102
|
-
self.lexer = get_lexer_for_filename(filename)
|
|
103
|
-
except ClassNotFound:
|
|
104
|
-
self.lexer = textlexer
|
|
105
|
-
|
|
106
|
-
def format(self, formatter):
|
|
107
|
-
codeid[0] += 1
|
|
108
|
-
id = "pygments_%s" % codeid[0]
|
|
109
|
-
w = self.req.write
|
|
110
|
-
w(formatter.code_area(1, id, start=1, step=1))
|
|
111
|
-
w(formatter.rawHTML(highlight(self.raw, self.lexer, htmlformatter)))
|
|
112
|
-
w(formatter.code_area(0, id))
|