pygments.rb 0.6.3 → 1.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 +7 -0
- data/CHANGELOG.md +11 -0
- data/README.md +6 -6
- data/Rakefile +2 -1
- data/cache-lexers.rb +1 -1
- data/circle.yml +7 -0
- data/lib/pygments/lexer.rb +3 -3
- data/lib/pygments/popen.rb +67 -30
- data/lib/pygments/version.rb +1 -1
- data/pygments.rb.gemspec +2 -1
- data/test/test_pygments.rb +16 -16
- data/vendor/pygments-main/AUTHORS +54 -8
- data/vendor/pygments-main/CHANGES +247 -25
- data/vendor/pygments-main/LICENSE +1 -1
- data/vendor/pygments-main/Makefile +15 -6
- data/vendor/pygments-main/README.rst +39 -0
- data/vendor/pygments-main/REVISION +1 -1
- data/vendor/pygments-main/TODO +0 -3
- data/vendor/pygments-main/doc/_themes/pygments14/layout.html +1 -1
- data/vendor/pygments-main/doc/_themes/pygments14/static/pygments14.css_t +1 -1
- data/vendor/pygments-main/doc/conf.py +3 -11
- data/vendor/pygments-main/doc/docs/api.rst +15 -0
- data/vendor/pygments-main/doc/docs/cmdline.rst +6 -2
- data/vendor/pygments-main/doc/docs/filterdevelopment.rst +4 -3
- data/vendor/pygments-main/doc/docs/integrate.rst +11 -15
- data/vendor/pygments-main/doc/docs/java.rst +7 -7
- data/vendor/pygments-main/doc/docs/lexerdevelopment.rst +258 -171
- data/vendor/pygments-main/doc/docs/lexers.rst +2 -2
- data/vendor/pygments-main/doc/docs/styles.rst +58 -0
- data/vendor/pygments-main/doc/docs/tokens.rst +22 -2
- data/vendor/pygments-main/doc/docs/unicode.rst +15 -7
- data/vendor/pygments-main/doc/faq.rst +17 -21
- data/vendor/pygments-main/doc/index.rst +12 -11
- data/vendor/pygments-main/doc/languages.rst +10 -7
- data/vendor/pygments-main/external/autopygmentize +9 -6
- data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +70 -52
- data/vendor/pygments-main/external/markdown-processor.py +1 -1
- data/vendor/pygments-main/external/moin-parser.py +1 -1
- data/vendor/pygments-main/external/rst-directive.py +1 -1
- data/vendor/pygments-main/pygmentize +2 -1
- data/vendor/pygments-main/pygments/__init__.py +14 -15
- data/vendor/pygments-main/pygments/cmdline.py +188 -113
- data/vendor/pygments-main/pygments/console.py +13 -13
- data/vendor/pygments-main/pygments/filter.py +7 -7
- data/vendor/pygments-main/pygments/filters/__init__.py +24 -32
- data/vendor/pygments-main/pygments/formatter.py +5 -5
- data/vendor/pygments-main/pygments/formatters/__init__.py +92 -44
- data/vendor/pygments-main/pygments/formatters/_mapping.py +51 -69
- data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
- data/vendor/pygments-main/pygments/formatters/html.py +63 -51
- data/vendor/pygments-main/pygments/formatters/img.py +25 -22
- data/vendor/pygments-main/pygments/formatters/irc.py +182 -0
- data/vendor/pygments-main/pygments/formatters/latex.py +34 -22
- data/vendor/pygments-main/pygments/formatters/other.py +5 -7
- data/vendor/pygments-main/pygments/formatters/rtf.py +28 -31
- data/vendor/pygments-main/pygments/formatters/svg.py +1 -2
- data/vendor/pygments-main/pygments/formatters/terminal.py +29 -45
- data/vendor/pygments-main/pygments/formatters/terminal256.py +118 -31
- data/vendor/pygments-main/pygments/lexer.py +120 -34
- data/vendor/pygments-main/pygments/lexers/__init__.py +85 -53
- data/vendor/pygments-main/pygments/lexers/{_asybuiltins.py → _asy_builtins.py} +7 -7
- data/vendor/pygments-main/pygments/lexers/{_clbuiltins.py → _cl_builtins.py} +17 -17
- data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +72 -0
- data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1346 -0
- data/vendor/pygments-main/pygments/lexers/{_lassobuiltins.py → _lasso_builtins.py} +4699 -4561
- data/vendor/pygments-main/pygments/lexers/{_luabuiltins.py → _lua_builtins.py} +91 -51
- data/vendor/pygments-main/pygments/lexers/_mapping.py +342 -242
- data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1172 -0
- data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +2547 -0
- data/vendor/pygments-main/pygments/lexers/{_phpbuiltins.py → _php_builtins.py} +350 -353
- data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +600 -212
- data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +3084 -30
- data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1163 -0
- data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +91 -13
- data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +419 -0
- data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1004 -0
- data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1939 -0
- data/vendor/pygments-main/pygments/lexers/actionscript.py +240 -0
- data/vendor/pygments-main/pygments/lexers/agile.py +14 -2542
- data/vendor/pygments-main/pygments/lexers/algebra.py +221 -0
- data/vendor/pygments-main/pygments/lexers/ambient.py +76 -0
- data/vendor/pygments-main/pygments/lexers/ampl.py +87 -0
- data/vendor/pygments-main/pygments/lexers/apl.py +101 -0
- data/vendor/pygments-main/pygments/lexers/archetype.py +318 -0
- data/vendor/pygments-main/pygments/lexers/asm.py +276 -81
- data/vendor/pygments-main/pygments/lexers/automation.py +374 -0
- data/vendor/pygments-main/pygments/lexers/basic.py +500 -0
- data/vendor/pygments-main/pygments/lexers/bibtex.py +156 -0
- data/vendor/pygments-main/pygments/lexers/business.py +594 -0
- data/vendor/pygments-main/pygments/lexers/c_cpp.py +252 -0
- data/vendor/pygments-main/pygments/lexers/c_like.py +541 -0
- data/vendor/pygments-main/pygments/lexers/capnproto.py +79 -0
- data/vendor/pygments-main/pygments/lexers/chapel.py +101 -0
- data/vendor/pygments-main/pygments/lexers/clean.py +288 -0
- data/vendor/pygments-main/pygments/lexers/compiled.py +24 -5182
- data/vendor/pygments-main/pygments/lexers/configs.py +833 -0
- data/vendor/pygments-main/pygments/lexers/console.py +114 -0
- data/vendor/pygments-main/pygments/lexers/crystal.py +384 -0
- data/vendor/pygments-main/pygments/lexers/csound.py +366 -0
- data/vendor/pygments-main/pygments/lexers/css.py +689 -0
- data/vendor/pygments-main/pygments/lexers/d.py +251 -0
- data/vendor/pygments-main/pygments/lexers/dalvik.py +6 -6
- data/vendor/pygments-main/pygments/lexers/data.py +555 -0
- data/vendor/pygments-main/pygments/lexers/diff.py +165 -0
- data/vendor/pygments-main/pygments/lexers/dotnet.py +96 -88
- data/vendor/pygments-main/pygments/lexers/dsls.py +878 -0
- data/vendor/pygments-main/pygments/lexers/dylan.py +289 -0
- data/vendor/pygments-main/pygments/lexers/ecl.py +125 -0
- data/vendor/pygments-main/pygments/lexers/eiffel.py +65 -0
- data/vendor/pygments-main/pygments/lexers/elm.py +121 -0
- data/vendor/pygments-main/pygments/lexers/erlang.py +533 -0
- data/vendor/pygments-main/pygments/lexers/esoteric.py +275 -0
- data/vendor/pygments-main/pygments/lexers/ezhil.py +68 -0
- data/vendor/pygments-main/pygments/lexers/factor.py +344 -0
- data/vendor/pygments-main/pygments/lexers/fantom.py +250 -0
- data/vendor/pygments-main/pygments/lexers/felix.py +273 -0
- data/vendor/pygments-main/pygments/lexers/forth.py +177 -0
- data/vendor/pygments-main/pygments/lexers/fortran.py +205 -0
- data/vendor/pygments-main/pygments/lexers/foxpro.py +1 -1
- data/vendor/pygments-main/pygments/lexers/functional.py +11 -3661
- data/vendor/pygments-main/pygments/lexers/go.py +101 -0
- data/vendor/pygments-main/pygments/lexers/grammar_notation.py +213 -0
- data/vendor/pygments-main/pygments/lexers/graph.py +7 -8
- data/vendor/pygments-main/pygments/lexers/graphics.py +553 -0
- data/vendor/pygments-main/pygments/lexers/haskell.py +840 -0
- data/vendor/pygments-main/pygments/lexers/haxe.py +936 -0
- data/vendor/pygments-main/pygments/lexers/hdl.py +172 -145
- data/vendor/pygments-main/pygments/lexers/hexdump.py +97 -0
- data/vendor/pygments-main/pygments/lexers/html.py +602 -0
- data/vendor/pygments-main/pygments/lexers/idl.py +270 -0
- data/vendor/pygments-main/pygments/lexers/igor.py +288 -0
- data/vendor/pygments-main/pygments/lexers/inferno.py +3 -3
- data/vendor/pygments-main/pygments/lexers/installers.py +322 -0
- data/vendor/pygments-main/pygments/lexers/int_fiction.py +1343 -0
- data/vendor/pygments-main/pygments/lexers/iolang.py +63 -0
- data/vendor/pygments-main/pygments/lexers/j.py +146 -0
- data/vendor/pygments-main/pygments/lexers/javascript.py +1506 -0
- data/vendor/pygments-main/pygments/lexers/julia.py +333 -0
- data/vendor/pygments-main/pygments/lexers/jvm.py +232 -186
- data/vendor/pygments-main/pygments/lexers/lisp.py +2621 -0
- data/vendor/pygments-main/pygments/lexers/make.py +202 -0
- data/vendor/pygments-main/pygments/lexers/markup.py +595 -0
- data/vendor/pygments-main/pygments/lexers/math.py +11 -2276
- data/vendor/pygments-main/pygments/lexers/matlab.py +663 -0
- data/vendor/pygments-main/pygments/lexers/ml.py +769 -0
- data/vendor/pygments-main/pygments/lexers/modeling.py +358 -0
- data/vendor/pygments-main/pygments/lexers/modula2.py +1561 -0
- data/vendor/pygments-main/pygments/lexers/monte.py +203 -0
- data/vendor/pygments-main/pygments/lexers/ncl.py +1053 -0
- data/vendor/pygments-main/pygments/lexers/nimrod.py +159 -0
- data/vendor/pygments-main/pygments/lexers/nit.py +64 -0
- data/vendor/pygments-main/pygments/lexers/nix.py +136 -0
- data/vendor/pygments-main/pygments/lexers/oberon.py +105 -0
- data/vendor/pygments-main/pygments/lexers/objective.py +504 -0
- data/vendor/pygments-main/pygments/lexers/ooc.py +85 -0
- data/vendor/pygments-main/pygments/lexers/other.py +30 -4481
- data/vendor/pygments-main/pygments/lexers/parasail.py +79 -0
- data/vendor/pygments-main/pygments/lexers/parsers.py +171 -114
- data/vendor/pygments-main/pygments/lexers/pascal.py +644 -0
- data/vendor/pygments-main/pygments/lexers/pawn.py +199 -0
- data/vendor/pygments-main/pygments/lexers/perl.py +616 -0
- data/vendor/pygments-main/pygments/lexers/php.py +267 -0
- data/vendor/pygments-main/pygments/lexers/praat.py +294 -0
- data/vendor/pygments-main/pygments/lexers/prolog.py +306 -0
- data/vendor/pygments-main/pygments/lexers/python.py +938 -0
- data/vendor/pygments-main/pygments/lexers/qvt.py +152 -0
- data/vendor/pygments-main/pygments/lexers/r.py +453 -0
- data/vendor/pygments-main/pygments/lexers/rdf.py +195 -24
- data/vendor/pygments-main/pygments/lexers/rebol.py +431 -0
- data/vendor/pygments-main/pygments/lexers/resource.py +85 -0
- data/vendor/pygments-main/pygments/lexers/rnc.py +67 -0
- data/vendor/pygments-main/pygments/lexers/roboconf.py +82 -0
- data/vendor/pygments-main/pygments/lexers/{_robotframeworklexer.py → robotframework.py} +20 -18
- data/vendor/pygments-main/pygments/lexers/ruby.py +519 -0
- data/vendor/pygments-main/pygments/lexers/rust.py +209 -0
- data/vendor/pygments-main/pygments/lexers/sas.py +228 -0
- data/vendor/pygments-main/pygments/lexers/scripting.py +1222 -0
- data/vendor/pygments-main/pygments/lexers/shell.py +478 -115
- data/vendor/pygments-main/pygments/lexers/smalltalk.py +195 -0
- data/vendor/pygments-main/pygments/lexers/smv.py +75 -0
- data/vendor/pygments-main/pygments/lexers/snobol.py +83 -0
- data/vendor/pygments-main/pygments/lexers/special.py +6 -2
- data/vendor/pygments-main/pygments/lexers/sql.py +209 -120
- data/vendor/pygments-main/pygments/lexers/stata.py +106 -0
- data/vendor/pygments-main/pygments/lexers/supercollider.py +90 -0
- data/vendor/pygments-main/pygments/lexers/tcl.py +145 -0
- data/vendor/pygments-main/pygments/lexers/templates.py +282 -90
- data/vendor/pygments-main/pygments/lexers/testing.py +207 -0
- data/vendor/pygments-main/pygments/lexers/text.py +15 -2045
- data/vendor/pygments-main/pygments/lexers/textedit.py +169 -0
- data/vendor/pygments-main/pygments/lexers/textfmts.py +297 -0
- data/vendor/pygments-main/pygments/lexers/theorem.py +458 -0
- data/vendor/pygments-main/pygments/lexers/trafficscript.py +54 -0
- data/vendor/pygments-main/pygments/lexers/typoscript.py +225 -0
- data/vendor/pygments-main/pygments/lexers/urbi.py +133 -0
- data/vendor/pygments-main/pygments/lexers/varnish.py +190 -0
- data/vendor/pygments-main/pygments/lexers/verification.py +111 -0
- data/vendor/pygments-main/pygments/lexers/web.py +13 -4499
- data/vendor/pygments-main/pygments/lexers/webmisc.py +979 -0
- data/vendor/pygments-main/pygments/lexers/whiley.py +117 -0
- data/vendor/pygments-main/pygments/lexers/x10.py +69 -0
- data/vendor/pygments-main/pygments/modeline.py +5 -2
- data/vendor/pygments-main/pygments/plugin.py +1 -1
- data/vendor/pygments-main/pygments/regexopt.py +92 -0
- data/vendor/pygments-main/pygments/scanner.py +3 -2
- data/vendor/pygments-main/pygments/sphinxext.py +11 -6
- data/vendor/pygments-main/pygments/style.py +41 -4
- data/vendor/pygments-main/pygments/styles/__init__.py +5 -1
- data/vendor/pygments-main/pygments/styles/algol.py +63 -0
- data/vendor/pygments-main/pygments/styles/algol_nu.py +63 -0
- data/vendor/pygments-main/pygments/styles/arduino.py +98 -0
- 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/lovelace.py +97 -0
- data/vendor/pygments-main/pygments/styles/manni.py +1 -1
- data/vendor/pygments-main/pygments/styles/monokai.py +1 -1
- 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 +2 -2
- data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
- data/vendor/pygments-main/pygments/styles/sas.py +41 -0
- data/vendor/pygments-main/pygments/styles/stata.py +37 -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 +31 -16
- data/vendor/pygments-main/pygments/unistring.py +141 -65
- data/vendor/pygments-main/pygments/util.py +129 -33
- data/vendor/pygments-main/requirements.txt +5 -0
- data/vendor/pygments-main/scripts/check_sources.py +25 -40
- data/vendor/pygments-main/scripts/debug_lexer.py +246 -0
- data/vendor/pygments-main/scripts/find_error.py +1 -0
- data/vendor/pygments-main/scripts/get_vimkw.py +35 -4
- data/vendor/pygments-main/setup.cfg +3 -0
- data/vendor/pygments-main/setup.py +17 -30
- data/vendor/pygments-main/tox.ini +7 -0
- metadata +159 -387
- data/vendor/pygments-main/ez_setup.py +0 -382
- data/vendor/pygments-main/pygments/lexers/_cocoabuiltins.py +0 -73
- data/vendor/pygments-main/pygments/lexers/_openedgebuiltins.py +0 -562
- data/vendor/pygments-main/pygments/lexers/_sourcemodbuiltins.py +0 -1077
- data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +0 -13
- data/vendor/pygments-main/pygments/lexers/qbasic.py +0 -157
- data/vendor/pygments-main/scripts/find_codetags.py +0 -213
- data/vendor/pygments-main/scripts/find_error.py +0 -173
- data/vendor/pygments-main/tests/dtds/HTML4-f.dtd +0 -37
- data/vendor/pygments-main/tests/dtds/HTML4-s.dtd +0 -869
- data/vendor/pygments-main/tests/dtds/HTML4.dcl +0 -88
- data/vendor/pygments-main/tests/dtds/HTML4.dtd +0 -1092
- data/vendor/pygments-main/tests/dtds/HTML4.soc +0 -9
- data/vendor/pygments-main/tests/dtds/HTMLlat1.ent +0 -195
- data/vendor/pygments-main/tests/dtds/HTMLspec.ent +0 -77
- data/vendor/pygments-main/tests/dtds/HTMLsym.ent +0 -241
- data/vendor/pygments-main/tests/examplefiles/99_bottles_of_beer.chpl +0 -118
- data/vendor/pygments-main/tests/examplefiles/AcidStateAdvanced.hs +0 -209
- data/vendor/pygments-main/tests/examplefiles/AlternatingGroup.mu +0 -102
- data/vendor/pygments-main/tests/examplefiles/BOM.js +0 -1
- data/vendor/pygments-main/tests/examplefiles/CPDictionary.j +0 -611
- data/vendor/pygments-main/tests/examplefiles/Config.in.cache +0 -1973
- data/vendor/pygments-main/tests/examplefiles/Constants.mo +0 -158
- data/vendor/pygments-main/tests/examplefiles/DancingSudoku.lhs +0 -411
- data/vendor/pygments-main/tests/examplefiles/Deflate.fs +0 -578
- data/vendor/pygments-main/tests/examplefiles/Error.pmod +0 -38
- data/vendor/pygments-main/tests/examplefiles/Errors.scala +0 -18
- data/vendor/pygments-main/tests/examplefiles/FakeFile.pike +0 -360
- data/vendor/pygments-main/tests/examplefiles/Get-CommandDefinitionHtml.ps1 +0 -66
- data/vendor/pygments-main/tests/examplefiles/IPDispatchC.nc +0 -104
- data/vendor/pygments-main/tests/examplefiles/IPDispatchP.nc +0 -671
- data/vendor/pygments-main/tests/examplefiles/Intro.java +0 -1660
- data/vendor/pygments-main/tests/examplefiles/Makefile +0 -1131
- data/vendor/pygments-main/tests/examplefiles/Object.st +0 -4394
- data/vendor/pygments-main/tests/examplefiles/OrderedMap.hx +0 -584
- data/vendor/pygments-main/tests/examplefiles/RoleQ.pm6 +0 -23
- data/vendor/pygments-main/tests/examplefiles/SmallCheck.hs +0 -378
- data/vendor/pygments-main/tests/examplefiles/Sorting.mod +0 -470
- data/vendor/pygments-main/tests/examplefiles/Sudoku.lhs +0 -382
- data/vendor/pygments-main/tests/examplefiles/addressbook.proto +0 -30
- data/vendor/pygments-main/tests/examplefiles/antlr_ANTLRv3.g +0 -608
- data/vendor/pygments-main/tests/examplefiles/antlr_throws +0 -1
- data/vendor/pygments-main/tests/examplefiles/apache2.conf +0 -393
- data/vendor/pygments-main/tests/examplefiles/as3_test.as +0 -143
- data/vendor/pygments-main/tests/examplefiles/as3_test2.as +0 -46
- data/vendor/pygments-main/tests/examplefiles/as3_test3.as +0 -3
- data/vendor/pygments-main/tests/examplefiles/aspx-cs_example +0 -27
- data/vendor/pygments-main/tests/examplefiles/autoit_submit.au3 +0 -25
- data/vendor/pygments-main/tests/examplefiles/badcase.java +0 -2
- data/vendor/pygments-main/tests/examplefiles/batchfile.bat +0 -49
- data/vendor/pygments-main/tests/examplefiles/bigtest.nsi +0 -308
- data/vendor/pygments-main/tests/examplefiles/boot-9.scm +0 -1557
- data/vendor/pygments-main/tests/examplefiles/ca65_example +0 -284
- data/vendor/pygments-main/tests/examplefiles/cbmbas_example +0 -9
- data/vendor/pygments-main/tests/examplefiles/cells.ps +0 -515
- data/vendor/pygments-main/tests/examplefiles/ceval.c +0 -2604
- data/vendor/pygments-main/tests/examplefiles/cheetah_example.html +0 -13
- data/vendor/pygments-main/tests/examplefiles/classes.dylan +0 -125
- data/vendor/pygments-main/tests/examplefiles/clojure-weird-keywords.clj +0 -5
- data/vendor/pygments-main/tests/examplefiles/condensed_ruby.rb +0 -10
- data/vendor/pygments-main/tests/examplefiles/coq_RelationClasses +0 -447
- data/vendor/pygments-main/tests/examplefiles/core.cljs +0 -52
- data/vendor/pygments-main/tests/examplefiles/database.pytb +0 -20
- data/vendor/pygments-main/tests/examplefiles/de.MoinMoin.po +0 -2461
- data/vendor/pygments-main/tests/examplefiles/demo.ahk +0 -181
- data/vendor/pygments-main/tests/examplefiles/demo.cfm +0 -50
- data/vendor/pygments-main/tests/examplefiles/demo.hbs +0 -12
- data/vendor/pygments-main/tests/examplefiles/django_sample.html+django +0 -68
- data/vendor/pygments-main/tests/examplefiles/dwarf.cw +0 -17
- data/vendor/pygments-main/tests/examplefiles/ember.handlebars +0 -33
- data/vendor/pygments-main/tests/examplefiles/erl_session +0 -10
- data/vendor/pygments-main/tests/examplefiles/escape_semicolon.clj +0 -1
- data/vendor/pygments-main/tests/examplefiles/evil_regex.js +0 -48
- data/vendor/pygments-main/tests/examplefiles/example.Rd +0 -78
- data/vendor/pygments-main/tests/examplefiles/example.als +0 -217
- data/vendor/pygments-main/tests/examplefiles/example.bug +0 -54
- data/vendor/pygments-main/tests/examplefiles/example.c +0 -2080
- data/vendor/pygments-main/tests/examplefiles/example.ceylon +0 -52
- data/vendor/pygments-main/tests/examplefiles/example.chai +0 -6
- data/vendor/pygments-main/tests/examplefiles/example.clay +0 -33
- data/vendor/pygments-main/tests/examplefiles/example.cls +0 -15
- data/vendor/pygments-main/tests/examplefiles/example.cob +0 -3556
- data/vendor/pygments-main/tests/examplefiles/example.coffee +0 -27
- data/vendor/pygments-main/tests/examplefiles/example.cpp +0 -2363
- data/vendor/pygments-main/tests/examplefiles/example.e +0 -124
- data/vendor/pygments-main/tests/examplefiles/example.f90 +0 -8
- data/vendor/pygments-main/tests/examplefiles/example.feature +0 -16
- data/vendor/pygments-main/tests/examplefiles/example.gd +0 -23
- data/vendor/pygments-main/tests/examplefiles/example.gi +0 -64
- data/vendor/pygments-main/tests/examplefiles/example.groovy +0 -2
- data/vendor/pygments-main/tests/examplefiles/example.gs +0 -106
- data/vendor/pygments-main/tests/examplefiles/example.gst +0 -7
- data/vendor/pygments-main/tests/examplefiles/example.hs +0 -27
- data/vendor/pygments-main/tests/examplefiles/example.hx +0 -185
- data/vendor/pygments-main/tests/examplefiles/example.i6t +0 -32
- data/vendor/pygments-main/tests/examplefiles/example.i7x +0 -45
- data/vendor/pygments-main/tests/examplefiles/example.inf +0 -374
- data/vendor/pygments-main/tests/examplefiles/example.j +0 -564
- data/vendor/pygments-main/tests/examplefiles/example.jag +0 -48
- data/vendor/pygments-main/tests/examplefiles/example.java +0 -16
- data/vendor/pygments-main/tests/examplefiles/example.kal +0 -75
- data/vendor/pygments-main/tests/examplefiles/example.kt +0 -47
- data/vendor/pygments-main/tests/examplefiles/example.lagda +0 -19
- data/vendor/pygments-main/tests/examplefiles/example.liquid +0 -42
- data/vendor/pygments-main/tests/examplefiles/example.lua +0 -250
- data/vendor/pygments-main/tests/examplefiles/example.ma +0 -8
- data/vendor/pygments-main/tests/examplefiles/example.monkey +0 -152
- data/vendor/pygments-main/tests/examplefiles/example.moo +0 -26
- data/vendor/pygments-main/tests/examplefiles/example.moon +0 -629
- data/vendor/pygments-main/tests/examplefiles/example.mq4 +0 -187
- data/vendor/pygments-main/tests/examplefiles/example.mqh +0 -123
- data/vendor/pygments-main/tests/examplefiles/example.msc +0 -43
- data/vendor/pygments-main/tests/examplefiles/example.ni +0 -57
- data/vendor/pygments-main/tests/examplefiles/example.nim +0 -1010
- data/vendor/pygments-main/tests/examplefiles/example.nix +0 -80
- data/vendor/pygments-main/tests/examplefiles/example.ns2 +0 -69
- data/vendor/pygments-main/tests/examplefiles/example.pas +0 -2708
- data/vendor/pygments-main/tests/examplefiles/example.pp +0 -8
- data/vendor/pygments-main/tests/examplefiles/example.prg +0 -161
- data/vendor/pygments-main/tests/examplefiles/example.rb +0 -1852
- data/vendor/pygments-main/tests/examplefiles/example.red +0 -257
- data/vendor/pygments-main/tests/examplefiles/example.reds +0 -150
- data/vendor/pygments-main/tests/examplefiles/example.reg +0 -19
- data/vendor/pygments-main/tests/examplefiles/example.rexx +0 -50
- data/vendor/pygments-main/tests/examplefiles/example.rhtml +0 -561
- data/vendor/pygments-main/tests/examplefiles/example.rkt +0 -743
- data/vendor/pygments-main/tests/examplefiles/example.rpf +0 -4
- data/vendor/pygments-main/tests/examplefiles/example.sh +0 -22
- data/vendor/pygments-main/tests/examplefiles/example.sh-session +0 -19
- data/vendor/pygments-main/tests/examplefiles/example.shell-session +0 -45
- data/vendor/pygments-main/tests/examplefiles/example.slim +0 -31
- data/vendor/pygments-main/tests/examplefiles/example.sls +0 -51
- data/vendor/pygments-main/tests/examplefiles/example.sml +0 -156
- data/vendor/pygments-main/tests/examplefiles/example.snobol +0 -15
- data/vendor/pygments-main/tests/examplefiles/example.stan +0 -110
- data/vendor/pygments-main/tests/examplefiles/example.tea +0 -34
- data/vendor/pygments-main/tests/examplefiles/example.todotxt +0 -9
- data/vendor/pygments-main/tests/examplefiles/example.ts +0 -28
- data/vendor/pygments-main/tests/examplefiles/example.u +0 -548
- data/vendor/pygments-main/tests/examplefiles/example.weechatlog +0 -9
- data/vendor/pygments-main/tests/examplefiles/example.xhtml +0 -376
- data/vendor/pygments-main/tests/examplefiles/example.xtend +0 -34
- data/vendor/pygments-main/tests/examplefiles/example.yaml +0 -302
- data/vendor/pygments-main/tests/examplefiles/example2.aspx +0 -29
- data/vendor/pygments-main/tests/examplefiles/example2.msc +0 -79
- data/vendor/pygments-main/tests/examplefiles/exampleScript.cfc +0 -241
- data/vendor/pygments-main/tests/examplefiles/exampleTag.cfc +0 -18
- data/vendor/pygments-main/tests/examplefiles/example_elixir.ex +0 -205
- data/vendor/pygments-main/tests/examplefiles/example_file.fy +0 -128
- data/vendor/pygments-main/tests/examplefiles/firefox.mak +0 -586
- data/vendor/pygments-main/tests/examplefiles/flipflop.sv +0 -19
- data/vendor/pygments-main/tests/examplefiles/foo.sce +0 -6
- data/vendor/pygments-main/tests/examplefiles/format.ml +0 -1213
- data/vendor/pygments-main/tests/examplefiles/fucked_up.rb +0 -77
- data/vendor/pygments-main/tests/examplefiles/function.mu +0 -1
- data/vendor/pygments-main/tests/examplefiles/functional.rst +0 -1472
- data/vendor/pygments-main/tests/examplefiles/garcia-wachs.kk +0 -133
- data/vendor/pygments-main/tests/examplefiles/genclass.clj +0 -510
- data/vendor/pygments-main/tests/examplefiles/genshi_example.xml+genshi +0 -193
- data/vendor/pygments-main/tests/examplefiles/genshitext_example.genshitext +0 -33
- data/vendor/pygments-main/tests/examplefiles/glsl.frag +0 -7
- data/vendor/pygments-main/tests/examplefiles/glsl.vert +0 -13
- data/vendor/pygments-main/tests/examplefiles/grammar-test.p6 +0 -22
- data/vendor/pygments-main/tests/examplefiles/hash_syntax.rb +0 -5
- data/vendor/pygments-main/tests/examplefiles/hello.at +0 -6
- data/vendor/pygments-main/tests/examplefiles/hello.golo +0 -5
- data/vendor/pygments-main/tests/examplefiles/hello.lsl +0 -12
- data/vendor/pygments-main/tests/examplefiles/hello.smali +0 -40
- data/vendor/pygments-main/tests/examplefiles/hello.sp +0 -9
- data/vendor/pygments-main/tests/examplefiles/html+php_faulty.php +0 -1
- data/vendor/pygments-main/tests/examplefiles/http_request_example +0 -15
- data/vendor/pygments-main/tests/examplefiles/http_response_example +0 -29
- data/vendor/pygments-main/tests/examplefiles/hybris_File.hy +0 -174
- data/vendor/pygments-main/tests/examplefiles/idl_sample.pro +0 -73
- data/vendor/pygments-main/tests/examplefiles/iex_example +0 -23
- data/vendor/pygments-main/tests/examplefiles/inet_pton6.dg +0 -71
- data/vendor/pygments-main/tests/examplefiles/intro.ik +0 -24
- data/vendor/pygments-main/tests/examplefiles/ints.php +0 -10
- data/vendor/pygments-main/tests/examplefiles/intsyn.fun +0 -675
- data/vendor/pygments-main/tests/examplefiles/intsyn.sig +0 -286
- data/vendor/pygments-main/tests/examplefiles/irb_heredoc +0 -8
- data/vendor/pygments-main/tests/examplefiles/irc.lsp +0 -214
- data/vendor/pygments-main/tests/examplefiles/java.properties +0 -16
- data/vendor/pygments-main/tests/examplefiles/jbst_example1.jbst +0 -28
- data/vendor/pygments-main/tests/examplefiles/jbst_example2.jbst +0 -45
- data/vendor/pygments-main/tests/examplefiles/jinjadesignerdoc.rst +0 -713
- data/vendor/pygments-main/tests/examplefiles/json.lasso +0 -301
- data/vendor/pygments-main/tests/examplefiles/json.lasso9 +0 -213
- data/vendor/pygments-main/tests/examplefiles/language.hy +0 -165
- data/vendor/pygments-main/tests/examplefiles/lighttpd_config.conf +0 -13
- data/vendor/pygments-main/tests/examplefiles/limbo.b +0 -456
- data/vendor/pygments-main/tests/examplefiles/linecontinuation.py +0 -47
- data/vendor/pygments-main/tests/examplefiles/livescript-demo.ls +0 -43
- data/vendor/pygments-main/tests/examplefiles/logos_example.xm +0 -28
- data/vendor/pygments-main/tests/examplefiles/ltmain.sh +0 -2849
- data/vendor/pygments-main/tests/examplefiles/main.cmake +0 -44
- data/vendor/pygments-main/tests/examplefiles/markdown.lsp +0 -679
- data/vendor/pygments-main/tests/examplefiles/matlab_noreturn +0 -3
- data/vendor/pygments-main/tests/examplefiles/matlab_sample +0 -30
- data/vendor/pygments-main/tests/examplefiles/matlabsession_sample.txt +0 -37
- data/vendor/pygments-main/tests/examplefiles/metagrammar.treetop +0 -455
- data/vendor/pygments-main/tests/examplefiles/minehunt.qml +0 -112
- data/vendor/pygments-main/tests/examplefiles/minimal.ns2 +0 -4
- data/vendor/pygments-main/tests/examplefiles/moin_SyntaxReference.txt +0 -340
- data/vendor/pygments-main/tests/examplefiles/multiline_regexes.rb +0 -38
- data/vendor/pygments-main/tests/examplefiles/nanomsg.intr +0 -95
- data/vendor/pygments-main/tests/examplefiles/nasm_aoutso.asm +0 -96
- data/vendor/pygments-main/tests/examplefiles/nasm_objexe.asm +0 -30
- data/vendor/pygments-main/tests/examplefiles/nemerle_sample.n +0 -87
- data/vendor/pygments-main/tests/examplefiles/nginx_nginx.conf +0 -118
- data/vendor/pygments-main/tests/examplefiles/numbers.c +0 -12
- data/vendor/pygments-main/tests/examplefiles/objc_example.m +0 -179
- data/vendor/pygments-main/tests/examplefiles/openedge_example +0 -34
- data/vendor/pygments-main/tests/examplefiles/pawn_example +0 -25
- data/vendor/pygments-main/tests/examplefiles/perl_misc +0 -62
- data/vendor/pygments-main/tests/examplefiles/perl_perl5db +0 -998
- data/vendor/pygments-main/tests/examplefiles/perl_regex-delims +0 -120
- data/vendor/pygments-main/tests/examplefiles/perlfunc.1 +0 -856
- data/vendor/pygments-main/tests/examplefiles/phpMyAdmin.spec +0 -163
- data/vendor/pygments-main/tests/examplefiles/phpcomplete.vim +0 -567
- data/vendor/pygments-main/tests/examplefiles/pleac.in.rb +0 -1223
- data/vendor/pygments-main/tests/examplefiles/postgresql_test.txt +0 -47
- data/vendor/pygments-main/tests/examplefiles/pppoe.applescript +0 -10
- data/vendor/pygments-main/tests/examplefiles/psql_session.txt +0 -122
- data/vendor/pygments-main/tests/examplefiles/py3_test.txt +0 -2
- data/vendor/pygments-main/tests/examplefiles/py3tb_test.py3tb +0 -4
- data/vendor/pygments-main/tests/examplefiles/pycon_test.pycon +0 -14
- data/vendor/pygments-main/tests/examplefiles/pytb_test2.pytb +0 -2
- data/vendor/pygments-main/tests/examplefiles/pytb_test3.pytb +0 -4
- data/vendor/pygments-main/tests/examplefiles/python25-bsd.mak +0 -234
- data/vendor/pygments-main/tests/examplefiles/qbasic_example +0 -2
- data/vendor/pygments-main/tests/examplefiles/qsort.prolog +0 -13
- data/vendor/pygments-main/tests/examplefiles/r-console-transcript.Rout +0 -38
- data/vendor/pygments-main/tests/examplefiles/r6rs-comments.scm +0 -23
- data/vendor/pygments-main/tests/examplefiles/ragel-cpp_rlscan +0 -280
- data/vendor/pygments-main/tests/examplefiles/ragel-cpp_snippet +0 -2
- data/vendor/pygments-main/tests/examplefiles/regex.js +0 -22
- data/vendor/pygments-main/tests/examplefiles/reversi.lsp +0 -427
- data/vendor/pygments-main/tests/examplefiles/robotframework_test.txt +0 -39
- data/vendor/pygments-main/tests/examplefiles/rql-queries.rql +0 -34
- data/vendor/pygments-main/tests/examplefiles/ruby_func_def.rb +0 -11
- data/vendor/pygments-main/tests/examplefiles/rust_example.rs +0 -233
- data/vendor/pygments-main/tests/examplefiles/scilab.sci +0 -30
- data/vendor/pygments-main/tests/examplefiles/scope.cirru +0 -43
- data/vendor/pygments-main/tests/examplefiles/session.dylan-console +0 -9
- data/vendor/pygments-main/tests/examplefiles/sibling.prolog +0 -19
- data/vendor/pygments-main/tests/examplefiles/simple.md +0 -747
- data/vendor/pygments-main/tests/examplefiles/smarty_example.html +0 -209
- data/vendor/pygments-main/tests/examplefiles/source.lgt +0 -343
- data/vendor/pygments-main/tests/examplefiles/sources.list +0 -62
- data/vendor/pygments-main/tests/examplefiles/sparql.rq +0 -23
- data/vendor/pygments-main/tests/examplefiles/sphere.pov +0 -18
- data/vendor/pygments-main/tests/examplefiles/sqlite3.sqlite3-console +0 -27
- data/vendor/pygments-main/tests/examplefiles/squid.conf +0 -30
- data/vendor/pygments-main/tests/examplefiles/string.jl +0 -1031
- data/vendor/pygments-main/tests/examplefiles/string_delimiters.d +0 -21
- data/vendor/pygments-main/tests/examplefiles/stripheredoc.sh +0 -3
- data/vendor/pygments-main/tests/examplefiles/swig_java.swg +0 -1329
- data/vendor/pygments-main/tests/examplefiles/swig_std_vector.i +0 -225
- data/vendor/pygments-main/tests/examplefiles/test.R +0 -185
- data/vendor/pygments-main/tests/examplefiles/test.adb +0 -211
- data/vendor/pygments-main/tests/examplefiles/test.agda +0 -102
- data/vendor/pygments-main/tests/examplefiles/test.apl +0 -26
- data/vendor/pygments-main/tests/examplefiles/test.asy +0 -131
- data/vendor/pygments-main/tests/examplefiles/test.awk +0 -121
- data/vendor/pygments-main/tests/examplefiles/test.bb +0 -95
- data/vendor/pygments-main/tests/examplefiles/test.bmx +0 -145
- data/vendor/pygments-main/tests/examplefiles/test.boo +0 -39
- data/vendor/pygments-main/tests/examplefiles/test.bro +0 -250
- data/vendor/pygments-main/tests/examplefiles/test.cs +0 -374
- data/vendor/pygments-main/tests/examplefiles/test.css +0 -54
- data/vendor/pygments-main/tests/examplefiles/test.cu +0 -36
- data/vendor/pygments-main/tests/examplefiles/test.cyp +0 -123
- data/vendor/pygments-main/tests/examplefiles/test.d +0 -135
- data/vendor/pygments-main/tests/examplefiles/test.dart +0 -23
- data/vendor/pygments-main/tests/examplefiles/test.dtd +0 -89
- data/vendor/pygments-main/tests/examplefiles/test.ebnf +0 -31
- data/vendor/pygments-main/tests/examplefiles/test.ec +0 -605
- data/vendor/pygments-main/tests/examplefiles/test.ecl +0 -58
- data/vendor/pygments-main/tests/examplefiles/test.eh +0 -315
- data/vendor/pygments-main/tests/examplefiles/test.erl +0 -169
- data/vendor/pygments-main/tests/examplefiles/test.evoque +0 -33
- data/vendor/pygments-main/tests/examplefiles/test.fan +0 -818
- data/vendor/pygments-main/tests/examplefiles/test.flx +0 -57
- data/vendor/pygments-main/tests/examplefiles/test.gdc +0 -13
- data/vendor/pygments-main/tests/examplefiles/test.groovy +0 -97
- data/vendor/pygments-main/tests/examplefiles/test.html +0 -339
- data/vendor/pygments-main/tests/examplefiles/test.idr +0 -93
- data/vendor/pygments-main/tests/examplefiles/test.ini +0 -10
- data/vendor/pygments-main/tests/examplefiles/test.java +0 -653
- data/vendor/pygments-main/tests/examplefiles/test.jsp +0 -24
- data/vendor/pygments-main/tests/examplefiles/test.maql +0 -45
- data/vendor/pygments-main/tests/examplefiles/test.mask +0 -41
- data/vendor/pygments-main/tests/examplefiles/test.mod +0 -374
- data/vendor/pygments-main/tests/examplefiles/test.moo +0 -51
- data/vendor/pygments-main/tests/examplefiles/test.myt +0 -166
- data/vendor/pygments-main/tests/examplefiles/test.nim +0 -93
- data/vendor/pygments-main/tests/examplefiles/test.opa +0 -10
- data/vendor/pygments-main/tests/examplefiles/test.p6 +0 -252
- data/vendor/pygments-main/tests/examplefiles/test.pan +0 -54
- data/vendor/pygments-main/tests/examplefiles/test.pas +0 -743
- data/vendor/pygments-main/tests/examplefiles/test.php +0 -507
- data/vendor/pygments-main/tests/examplefiles/test.pig +0 -148
- data/vendor/pygments-main/tests/examplefiles/test.plot +0 -333
- data/vendor/pygments-main/tests/examplefiles/test.ps1 +0 -108
- data/vendor/pygments-main/tests/examplefiles/test.pwn +0 -253
- data/vendor/pygments-main/tests/examplefiles/test.pypylog +0 -1839
- data/vendor/pygments-main/tests/examplefiles/test.r3 +0 -114
- data/vendor/pygments-main/tests/examplefiles/test.rb +0 -177
- data/vendor/pygments-main/tests/examplefiles/test.rhtml +0 -43
- data/vendor/pygments-main/tests/examplefiles/test.rsl +0 -111
- data/vendor/pygments-main/tests/examplefiles/test.scaml +0 -8
- data/vendor/pygments-main/tests/examplefiles/test.ssp +0 -12
- data/vendor/pygments-main/tests/examplefiles/test.swift +0 -65
- data/vendor/pygments-main/tests/examplefiles/test.tcsh +0 -830
- data/vendor/pygments-main/tests/examplefiles/test.vb +0 -407
- data/vendor/pygments-main/tests/examplefiles/test.vhdl +0 -161
- data/vendor/pygments-main/tests/examplefiles/test.xqy +0 -138
- data/vendor/pygments-main/tests/examplefiles/test.xsl +0 -23
- data/vendor/pygments-main/tests/examplefiles/test.zep +0 -33
- data/vendor/pygments-main/tests/examplefiles/test2.pypylog +0 -120
- data/vendor/pygments-main/tests/examplefiles/truncated.pytb +0 -15
- data/vendor/pygments-main/tests/examplefiles/type.lisp +0 -1218
- data/vendor/pygments-main/tests/examplefiles/underscore.coffee +0 -603
- data/vendor/pygments-main/tests/examplefiles/unicode.applescript +0 -5
- data/vendor/pygments-main/tests/examplefiles/unicode.go +0 -10
- data/vendor/pygments-main/tests/examplefiles/unicodedoc.py +0 -11
- data/vendor/pygments-main/tests/examplefiles/unix-io.lid +0 -37
- data/vendor/pygments-main/tests/examplefiles/vbnet_test.bas +0 -29
- data/vendor/pygments-main/tests/examplefiles/vctreestatus_hg +0 -4
- data/vendor/pygments-main/tests/examplefiles/vimrc +0 -21
- data/vendor/pygments-main/tests/examplefiles/webkit-transition.css +0 -3
- data/vendor/pygments-main/tests/examplefiles/while.pov +0 -13
- data/vendor/pygments-main/tests/examplefiles/wiki.factor +0 -384
- data/vendor/pygments-main/tests/examplefiles/xml_example +0 -1897
- data/vendor/pygments-main/tests/examplefiles/zmlrpc.f90 +0 -798
- data/vendor/pygments-main/tests/run.py +0 -44
- data/vendor/pygments-main/tests/string_asserts.py +0 -22
- data/vendor/pygments-main/tests/support.py +0 -15
- data/vendor/pygments-main/tests/support/tags +0 -36
- data/vendor/pygments-main/tests/test_basic_api.py +0 -309
- data/vendor/pygments-main/tests/test_cfm.py +0 -46
- data/vendor/pygments-main/tests/test_clexer.py +0 -236
- data/vendor/pygments-main/tests/test_cmdline.py +0 -106
- data/vendor/pygments-main/tests/test_examplefiles.py +0 -110
- data/vendor/pygments-main/tests/test_html_formatter.py +0 -180
- data/vendor/pygments-main/tests/test_latex_formatter.py +0 -57
- data/vendor/pygments-main/tests/test_lexers_other.py +0 -68
- data/vendor/pygments-main/tests/test_objectiveclexer.py +0 -81
- data/vendor/pygments-main/tests/test_perllexer.py +0 -137
- data/vendor/pygments-main/tests/test_qbasiclexer.py +0 -43
- data/vendor/pygments-main/tests/test_regexlexer.py +0 -54
- data/vendor/pygments-main/tests/test_rtf_formatter.py +0 -109
- data/vendor/pygments-main/tests/test_string_asserts.py +0 -39
- data/vendor/pygments-main/tests/test_token.py +0 -46
- data/vendor/pygments-main/tests/test_using_api.py +0 -40
- data/vendor/pygments-main/tests/test_util.py +0 -135
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Formatter for LaTeX fancyvrb output.
|
|
7
7
|
|
|
8
|
-
:copyright: Copyright 2006-
|
|
8
|
+
:copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
|
|
9
9
|
:license: BSD, see LICENSE for details.
|
|
10
10
|
"""
|
|
11
11
|
|
|
@@ -235,6 +235,13 @@ class LatexFormatter(Formatter):
|
|
|
235
235
|
no effect in comments if `texcomments` or `mathescape` is
|
|
236
236
|
set. (default: ``''``).
|
|
237
237
|
|
|
238
|
+
.. versionadded:: 2.0
|
|
239
|
+
|
|
240
|
+
`envname`
|
|
241
|
+
Allows you to pick an alternative environment name replacing Verbatim.
|
|
242
|
+
The alternate environment still has to support Verbatim's option syntax.
|
|
243
|
+
(default: ``'Verbatim'``).
|
|
244
|
+
|
|
238
245
|
.. versionadded:: 2.0
|
|
239
246
|
"""
|
|
240
247
|
name = 'LaTeX'
|
|
@@ -254,16 +261,15 @@ class LatexFormatter(Formatter):
|
|
|
254
261
|
self.texcomments = get_bool_opt(options, 'texcomments', False)
|
|
255
262
|
self.mathescape = get_bool_opt(options, 'mathescape', False)
|
|
256
263
|
self.escapeinside = options.get('escapeinside', '')
|
|
257
|
-
|
|
258
264
|
if len(self.escapeinside) == 2:
|
|
259
265
|
self.left = self.escapeinside[0]
|
|
260
266
|
self.right = self.escapeinside[1]
|
|
261
267
|
else:
|
|
262
268
|
self.escapeinside = ''
|
|
269
|
+
self.envname = options.get('envname', u'Verbatim')
|
|
263
270
|
|
|
264
271
|
self._create_stylesheet()
|
|
265
272
|
|
|
266
|
-
|
|
267
273
|
def _create_stylesheet(self):
|
|
268
274
|
t2n = self.ttype2name = {Token: ''}
|
|
269
275
|
c2d = self.cmd2def = {}
|
|
@@ -271,7 +277,7 @@ class LatexFormatter(Formatter):
|
|
|
271
277
|
|
|
272
278
|
def rgbcolor(col):
|
|
273
279
|
if col:
|
|
274
|
-
return ','.join(['%.2f' %(int(col[i] + col[i + 1], 16) / 255.0)
|
|
280
|
+
return ','.join(['%.2f' % (int(col[i] + col[i + 1], 16) / 255.0)
|
|
275
281
|
for i in (0, 2, 4)])
|
|
276
282
|
else:
|
|
277
283
|
return '1,1,1'
|
|
@@ -331,7 +337,7 @@ class LatexFormatter(Formatter):
|
|
|
331
337
|
realoutfile = outfile
|
|
332
338
|
outfile = StringIO()
|
|
333
339
|
|
|
334
|
-
outfile.write(u'\\begin{
|
|
340
|
+
outfile.write(u'\\begin{' + self.envname + u'}[commandchars=\\\\\\{\\}')
|
|
335
341
|
if self.linenos:
|
|
336
342
|
start, step = self.linenostart, self.linenostep
|
|
337
343
|
outfile.write(u',numbers=left' +
|
|
@@ -354,7 +360,7 @@ class LatexFormatter(Formatter):
|
|
|
354
360
|
start += value[i]
|
|
355
361
|
|
|
356
362
|
value = value[len(start):]
|
|
357
|
-
start = escape_tex(start,
|
|
363
|
+
start = escape_tex(start, cp)
|
|
358
364
|
|
|
359
365
|
# ... but do not escape inside comment.
|
|
360
366
|
value = start + value
|
|
@@ -364,26 +370,26 @@ class LatexFormatter(Formatter):
|
|
|
364
370
|
in_math = False
|
|
365
371
|
for i, part in enumerate(parts):
|
|
366
372
|
if not in_math:
|
|
367
|
-
parts[i] = escape_tex(part,
|
|
373
|
+
parts[i] = escape_tex(part, cp)
|
|
368
374
|
in_math = not in_math
|
|
369
375
|
value = '$'.join(parts)
|
|
370
376
|
elif self.escapeinside:
|
|
371
377
|
text = value
|
|
372
378
|
value = ''
|
|
373
|
-
while
|
|
374
|
-
a,sep1,text = text.partition(self.left)
|
|
375
|
-
if
|
|
376
|
-
b,sep2,text = text.partition(self.right)
|
|
377
|
-
if
|
|
378
|
-
value += escape_tex(a,
|
|
379
|
+
while text:
|
|
380
|
+
a, sep1, text = text.partition(self.left)
|
|
381
|
+
if sep1:
|
|
382
|
+
b, sep2, text = text.partition(self.right)
|
|
383
|
+
if sep2:
|
|
384
|
+
value += escape_tex(a, cp) + b
|
|
379
385
|
else:
|
|
380
|
-
value += escape_tex(a + sep1 + b,
|
|
386
|
+
value += escape_tex(a + sep1 + b, cp)
|
|
381
387
|
else:
|
|
382
|
-
value
|
|
388
|
+
value += escape_tex(a, cp)
|
|
383
389
|
else:
|
|
384
|
-
value = escape_tex(value,
|
|
390
|
+
value = escape_tex(value, cp)
|
|
385
391
|
elif ttype not in Token.Escape:
|
|
386
|
-
value = escape_tex(value,
|
|
392
|
+
value = escape_tex(value, cp)
|
|
387
393
|
styles = []
|
|
388
394
|
while ttype is not Token:
|
|
389
395
|
try:
|
|
@@ -404,21 +410,27 @@ class LatexFormatter(Formatter):
|
|
|
404
410
|
else:
|
|
405
411
|
outfile.write(value)
|
|
406
412
|
|
|
407
|
-
outfile.write(u'\\end{
|
|
413
|
+
outfile.write(u'\\end{' + self.envname + u'}\n')
|
|
408
414
|
|
|
409
415
|
if self.full:
|
|
416
|
+
encoding = self.encoding or 'utf8'
|
|
417
|
+
# map known existings encodings from LaTeX distribution
|
|
418
|
+
encoding = {
|
|
419
|
+
'utf_8': 'utf8',
|
|
420
|
+
'latin_1': 'latin1',
|
|
421
|
+
'iso_8859_1': 'latin1',
|
|
422
|
+
}.get(encoding.replace('-', '_'), encoding)
|
|
410
423
|
realoutfile.write(DOC_TEMPLATE %
|
|
411
424
|
dict(docclass = self.docclass,
|
|
412
425
|
preamble = self.preamble,
|
|
413
426
|
title = self.title,
|
|
414
|
-
encoding =
|
|
427
|
+
encoding = encoding,
|
|
415
428
|
styledefs = self.get_style_defs(),
|
|
416
429
|
code = outfile.getvalue()))
|
|
417
430
|
|
|
418
431
|
|
|
419
432
|
class LatexEmbeddedLexer(Lexer):
|
|
420
|
-
|
|
421
|
-
|
|
433
|
+
"""
|
|
422
434
|
This lexer takes one lexer as argument, the lexer for the language
|
|
423
435
|
being formatted, and the left and right delimiters for escaped text.
|
|
424
436
|
|
|
@@ -436,6 +448,7 @@ class LatexEmbeddedLexer(Lexer):
|
|
|
436
448
|
|
|
437
449
|
def get_tokens_unprocessed(self, text):
|
|
438
450
|
buf = ''
|
|
451
|
+
idx = 0
|
|
439
452
|
for i, t, v in self.lang.get_tokens_unprocessed(text):
|
|
440
453
|
if t in Token.Comment or t in Token.String:
|
|
441
454
|
if buf:
|
|
@@ -467,4 +480,3 @@ class LatexEmbeddedLexer(Lexer):
|
|
|
467
480
|
yield index, Token.Error, sep1
|
|
468
481
|
index += len(sep1)
|
|
469
482
|
text = b
|
|
470
|
-
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Other formatters: NullFormatter, RawTokenFormatter.
|
|
7
7
|
|
|
8
|
-
:copyright: Copyright 2006-
|
|
8
|
+
:copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
|
|
9
9
|
:license: BSD, see LICENSE for details.
|
|
10
10
|
"""
|
|
11
11
|
|
|
@@ -62,9 +62,9 @@ class RawTokenFormatter(Formatter):
|
|
|
62
62
|
|
|
63
63
|
def __init__(self, **options):
|
|
64
64
|
Formatter.__init__(self, **options)
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
# We ignore self.encoding if it is set, since it gets set for lexer
|
|
66
|
+
# and formatter if given with -Oencoding on the command line.
|
|
67
|
+
# The RawTokenFormatter outputs only ASCII. Override here.
|
|
68
68
|
self.encoding = 'ascii' # let pygments.format() do the right thing
|
|
69
69
|
self.compress = get_choice_opt(options, 'compress',
|
|
70
70
|
['', 'none', 'gz', 'bz2'], '')
|
|
@@ -137,10 +137,8 @@ class TestcaseFormatter(Formatter):
|
|
|
137
137
|
|
|
138
138
|
def __init__(self, **options):
|
|
139
139
|
Formatter.__init__(self, **options)
|
|
140
|
-
#if self.encoding != 'utf-8':
|
|
141
|
-
# print >>sys.stderr, "NOTICE: Forcing encoding to utf-8, as all Pygments source is"
|
|
142
140
|
if self.encoding is not None and self.encoding != 'utf-8':
|
|
143
|
-
raise ValueError("Only None and utf-
|
|
141
|
+
raise ValueError("Only None and utf-8 are allowed encodings.")
|
|
144
142
|
|
|
145
143
|
def format(self, tokensource, outfile):
|
|
146
144
|
indentation = ' ' * 12
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
A formatter that generates RTF files.
|
|
7
7
|
|
|
8
|
-
:copyright: Copyright 2006-
|
|
8
|
+
:copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
|
|
9
9
|
:license: BSD, see LICENSE for details.
|
|
10
10
|
"""
|
|
11
11
|
|
|
@@ -20,7 +20,7 @@ class RtfFormatter(Formatter):
|
|
|
20
20
|
"""
|
|
21
21
|
Format tokens as RTF markup. This formatter automatically outputs full RTF
|
|
22
22
|
documents with color information and other useful stuff. Perfect for Copy and
|
|
23
|
-
Paste into Microsoft
|
|
23
|
+
Paste into Microsoft(R) Word(R) documents.
|
|
24
24
|
|
|
25
25
|
Please note that ``encoding`` and ``outencoding`` options are ignored.
|
|
26
26
|
The RTF format is ASCII natively, but handles unicode characters correctly
|
|
@@ -48,10 +48,8 @@ class RtfFormatter(Formatter):
|
|
|
48
48
|
aliases = ['rtf']
|
|
49
49
|
filenames = ['*.rtf']
|
|
50
50
|
|
|
51
|
-
unicodeoutput = False
|
|
52
|
-
|
|
53
51
|
def __init__(self, **options):
|
|
54
|
-
"""
|
|
52
|
+
r"""
|
|
55
53
|
Additional options accepted:
|
|
56
54
|
|
|
57
55
|
``fontface``
|
|
@@ -67,14 +65,14 @@ class RtfFormatter(Formatter):
|
|
|
67
65
|
self.fontsize = get_int_opt(options, 'fontsize', 0)
|
|
68
66
|
|
|
69
67
|
def _escape(self, text):
|
|
70
|
-
return text.replace('\\', '\\\\') \
|
|
71
|
-
.replace('{', '\\{') \
|
|
72
|
-
.replace('}', '\\}')
|
|
68
|
+
return text.replace(u'\\', u'\\\\') \
|
|
69
|
+
.replace(u'{', u'\\{') \
|
|
70
|
+
.replace(u'}', u'\\}')
|
|
73
71
|
|
|
74
72
|
def _escape_text(self, text):
|
|
75
73
|
# empty strings, should give a small performance improvment
|
|
76
74
|
if not text:
|
|
77
|
-
return ''
|
|
75
|
+
return u''
|
|
78
76
|
|
|
79
77
|
# escape text
|
|
80
78
|
text = self._escape(text)
|
|
@@ -87,22 +85,21 @@ class RtfFormatter(Formatter):
|
|
|
87
85
|
buf.append(str(c))
|
|
88
86
|
elif (2**7) <= cn < (2**16):
|
|
89
87
|
# single unicode escape sequence
|
|
90
|
-
buf.append(
|
|
88
|
+
buf.append(u'{\\u%d}' % cn)
|
|
91
89
|
elif (2**16) <= cn:
|
|
92
90
|
# RTF limits unicode to 16 bits.
|
|
93
91
|
# Force surrogate pairs
|
|
94
|
-
|
|
95
|
-
buf.append(r'{\u%d}{\u%d}' % (h,l))
|
|
92
|
+
buf.append(u'{\\u%d}{\\u%d}' % _surrogatepair(cn))
|
|
96
93
|
|
|
97
|
-
return ''.join(buf).replace('\n', '\\par\n')
|
|
94
|
+
return u''.join(buf).replace(u'\n', u'\\par\n')
|
|
98
95
|
|
|
99
96
|
def format_unencoded(self, tokensource, outfile):
|
|
100
97
|
# rtf 1.8 header
|
|
101
|
-
outfile.write(
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
98
|
+
outfile.write(u'{\\rtf1\\ansi\\uc0\\deff0'
|
|
99
|
+
u'{\\fonttbl{\\f0\\fmodern\\fprq1\\fcharset0%s;}}'
|
|
100
|
+
u'{\\colortbl;' % (self.fontface and
|
|
101
|
+
u' ' + self._escape(self.fontface) or
|
|
102
|
+
u''))
|
|
106
103
|
|
|
107
104
|
# convert colors and save them in a mapping to access them later.
|
|
108
105
|
color_mapping = {}
|
|
@@ -111,15 +108,15 @@ class RtfFormatter(Formatter):
|
|
|
111
108
|
for color in style['color'], style['bgcolor'], style['border']:
|
|
112
109
|
if color and color not in color_mapping:
|
|
113
110
|
color_mapping[color] = offset
|
|
114
|
-
outfile.write(
|
|
111
|
+
outfile.write(u'\\red%d\\green%d\\blue%d;' % (
|
|
115
112
|
int(color[0:2], 16),
|
|
116
113
|
int(color[2:4], 16),
|
|
117
114
|
int(color[4:6], 16)
|
|
118
115
|
))
|
|
119
116
|
offset += 1
|
|
120
|
-
outfile.write(
|
|
117
|
+
outfile.write(u'}\\f0 ')
|
|
121
118
|
if self.fontsize:
|
|
122
|
-
outfile.write(
|
|
119
|
+
outfile.write(u'\\fs%d' % (self.fontsize))
|
|
123
120
|
|
|
124
121
|
# highlight stream
|
|
125
122
|
for ttype, value in tokensource:
|
|
@@ -128,23 +125,23 @@ class RtfFormatter(Formatter):
|
|
|
128
125
|
style = self.style.style_for_token(ttype)
|
|
129
126
|
buf = []
|
|
130
127
|
if style['bgcolor']:
|
|
131
|
-
buf.append(
|
|
128
|
+
buf.append(u'\\cb%d' % color_mapping[style['bgcolor']])
|
|
132
129
|
if style['color']:
|
|
133
|
-
buf.append(
|
|
130
|
+
buf.append(u'\\cf%d' % color_mapping[style['color']])
|
|
134
131
|
if style['bold']:
|
|
135
|
-
buf.append(
|
|
132
|
+
buf.append(u'\\b')
|
|
136
133
|
if style['italic']:
|
|
137
|
-
buf.append(
|
|
134
|
+
buf.append(u'\\i')
|
|
138
135
|
if style['underline']:
|
|
139
|
-
buf.append(
|
|
136
|
+
buf.append(u'\\ul')
|
|
140
137
|
if style['border']:
|
|
141
|
-
buf.append(
|
|
138
|
+
buf.append(u'\\chbrdr\\chcfpat%d' %
|
|
142
139
|
color_mapping[style['border']])
|
|
143
|
-
start = ''.join(buf)
|
|
140
|
+
start = u''.join(buf)
|
|
144
141
|
if start:
|
|
145
|
-
outfile.write('{%s ' % start)
|
|
142
|
+
outfile.write(u'{%s ' % start)
|
|
146
143
|
outfile.write(self._escape_text(value))
|
|
147
144
|
if start:
|
|
148
|
-
outfile.write('}')
|
|
145
|
+
outfile.write(u'}')
|
|
149
146
|
|
|
150
|
-
outfile.write('}')
|
|
147
|
+
outfile.write(u'}')
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Formatter for SVG output.
|
|
7
7
|
|
|
8
|
-
:copyright: Copyright 2006-
|
|
8
|
+
:copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
|
|
9
9
|
:license: BSD, see LICENSE for details.
|
|
10
10
|
"""
|
|
11
11
|
|
|
@@ -78,7 +78,6 @@ class SvgFormatter(Formatter):
|
|
|
78
78
|
filenames = ['*.svg']
|
|
79
79
|
|
|
80
80
|
def __init__(self, **options):
|
|
81
|
-
# XXX outencoding
|
|
82
81
|
Formatter.__init__(self, **options)
|
|
83
82
|
self.nowrap = get_bool_opt(options, 'nowrap', False)
|
|
84
83
|
self.fontfamily = options.get('fontfamily', 'monospace')
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Formatter for terminal output with ANSI sequences.
|
|
7
7
|
|
|
8
|
-
:copyright: Copyright 2006-
|
|
8
|
+
:copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
|
|
9
9
|
:license: BSD, see LICENSE for details.
|
|
10
10
|
"""
|
|
11
11
|
|
|
@@ -13,7 +13,7 @@ import sys
|
|
|
13
13
|
|
|
14
14
|
from pygments.formatter import Formatter
|
|
15
15
|
from pygments.token import Keyword, Name, Comment, String, Error, \
|
|
16
|
-
|
|
16
|
+
Number, Operator, Generic, Token, Whitespace
|
|
17
17
|
from pygments.console import ansiformat
|
|
18
18
|
from pygments.util import get_choice_opt
|
|
19
19
|
|
|
@@ -49,6 +49,7 @@ TERMINAL_COLORS = {
|
|
|
49
49
|
Generic.Inserted: ('darkgreen', 'green'),
|
|
50
50
|
Generic.Heading: ('**', '**'),
|
|
51
51
|
Generic.Subheading: ('*purple*', '*fuchsia*'),
|
|
52
|
+
Generic.Prompt: ('**', '**'),
|
|
52
53
|
Generic.Error: ('red', 'red'),
|
|
53
54
|
|
|
54
55
|
Error: ('_red_', '_red_'),
|
|
@@ -101,52 +102,35 @@ class TerminalFormatter(Formatter):
|
|
|
101
102
|
|
|
102
103
|
def _write_lineno(self, outfile):
|
|
103
104
|
self._lineno += 1
|
|
104
|
-
outfile.write("
|
|
105
|
-
|
|
106
|
-
def
|
|
107
|
-
self.
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
ttype = ttype[:-1]
|
|
116
|
-
color = self.colorscheme.get(ttype)
|
|
117
|
-
if color:
|
|
118
|
-
color = color[self.darkbg]
|
|
119
|
-
spl = value.split('\n')
|
|
120
|
-
for line in spl[:-1]:
|
|
121
|
-
self._write_lineno(outfile)
|
|
122
|
-
if line:
|
|
123
|
-
outfile.write(ansiformat(color, line[:-1]))
|
|
124
|
-
if spl[-1]:
|
|
125
|
-
outfile.write(ansiformat(color, spl[-1]))
|
|
126
|
-
else:
|
|
127
|
-
outfile.write(value)
|
|
128
|
-
|
|
129
|
-
outfile.write("\n")
|
|
105
|
+
outfile.write("%s%04d: " % (self._lineno != 1 and '\n' or '', self._lineno))
|
|
106
|
+
|
|
107
|
+
def _get_color(self, ttype):
|
|
108
|
+
# self.colorscheme is a dict containing usually generic types, so we
|
|
109
|
+
# have to walk the tree of dots. The base Token type must be a key,
|
|
110
|
+
# even if it's empty string, as in the default above.
|
|
111
|
+
colors = self.colorscheme.get(ttype)
|
|
112
|
+
while colors is None:
|
|
113
|
+
ttype = ttype.parent
|
|
114
|
+
colors = self.colorscheme.get(ttype)
|
|
115
|
+
return colors[self.darkbg]
|
|
130
116
|
|
|
131
117
|
def format_unencoded(self, tokensource, outfile):
|
|
132
118
|
if self.linenos:
|
|
133
|
-
self.
|
|
134
|
-
return
|
|
119
|
+
self._write_lineno(outfile)
|
|
135
120
|
|
|
136
121
|
for ttype, value in tokensource:
|
|
137
|
-
color = self.
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
color
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
if
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
outfile.write(ansiformat(color, spl[-1]))
|
|
150
|
-
else:
|
|
151
|
-
outfile.write(value)
|
|
122
|
+
color = self._get_color(ttype)
|
|
123
|
+
|
|
124
|
+
for line in value.splitlines(True):
|
|
125
|
+
if color:
|
|
126
|
+
outfile.write(ansiformat(color, line.rstrip('\n')))
|
|
127
|
+
else:
|
|
128
|
+
outfile.write(line.rstrip('\n'))
|
|
129
|
+
if line.endswith('\n'):
|
|
130
|
+
if self.linenos:
|
|
131
|
+
self._write_lineno(outfile)
|
|
132
|
+
else:
|
|
133
|
+
outfile.write('\n')
|
|
152
134
|
|
|
135
|
+
if self.linenos:
|
|
136
|
+
outfile.write("\n")
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
Formatter version 1.
|
|
13
13
|
|
|
14
|
-
:copyright: Copyright 2006-
|
|
14
|
+
:copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
|
|
15
15
|
:license: BSD, see LICENSE for details.
|
|
16
16
|
"""
|
|
17
17
|
|
|
@@ -27,9 +27,11 @@
|
|
|
27
27
|
import sys
|
|
28
28
|
|
|
29
29
|
from pygments.formatter import Formatter
|
|
30
|
+
from pygments.console import codes
|
|
31
|
+
from pygments.style import ansicolors
|
|
30
32
|
|
|
31
33
|
|
|
32
|
-
__all__ = ['Terminal256Formatter']
|
|
34
|
+
__all__ = ['Terminal256Formatter', 'TerminalTrueColorFormatter']
|
|
33
35
|
|
|
34
36
|
|
|
35
37
|
class EscapeSequence:
|
|
@@ -47,9 +49,33 @@ class EscapeSequence:
|
|
|
47
49
|
def color_string(self):
|
|
48
50
|
attrs = []
|
|
49
51
|
if self.fg is not None:
|
|
50
|
-
|
|
52
|
+
if self.fg in ansicolors:
|
|
53
|
+
esc = codes[self.fg[5:]]
|
|
54
|
+
if ';01m' in esc:
|
|
55
|
+
self.bold = True
|
|
56
|
+
# extract fg color code.
|
|
57
|
+
attrs.append(esc[2:4])
|
|
58
|
+
else:
|
|
59
|
+
attrs.extend(("38", "5", "%i" % self.fg))
|
|
51
60
|
if self.bg is not None:
|
|
52
|
-
|
|
61
|
+
if self.bg in ansicolors:
|
|
62
|
+
esc = codes[self.bg[5:]]
|
|
63
|
+
# extract fg color code, add 10 for bg.
|
|
64
|
+
attrs.append(str(int(esc[2:4])+10))
|
|
65
|
+
else:
|
|
66
|
+
attrs.extend(("48", "5", "%i" % self.bg))
|
|
67
|
+
if self.bold:
|
|
68
|
+
attrs.append("01")
|
|
69
|
+
if self.underline:
|
|
70
|
+
attrs.append("04")
|
|
71
|
+
return self.escape(attrs)
|
|
72
|
+
|
|
73
|
+
def true_color_string(self):
|
|
74
|
+
attrs = []
|
|
75
|
+
if self.fg:
|
|
76
|
+
attrs.extend(("38", "2", str(self.fg[0]), str(self.fg[1]), str(self.fg[2])))
|
|
77
|
+
if self.bg:
|
|
78
|
+
attrs.extend(("48", "2", str(self.bg[0]), str(self.bg[1]), str(self.bg[2])))
|
|
53
79
|
if self.bold:
|
|
54
80
|
attrs.append("01")
|
|
55
81
|
if self.underline:
|
|
@@ -66,10 +92,11 @@ class EscapeSequence:
|
|
|
66
92
|
attrs.append("00")
|
|
67
93
|
return self.escape(attrs)
|
|
68
94
|
|
|
95
|
+
|
|
69
96
|
class Terminal256Formatter(Formatter):
|
|
70
|
-
|
|
97
|
+
"""
|
|
71
98
|
Format tokens with ANSI color sequences, for output in a 256-color
|
|
72
|
-
terminal or console.
|
|
99
|
+
terminal or console. Like in `TerminalFormatter` color sequences
|
|
73
100
|
are terminated at newlines, so that paging the output works correctly.
|
|
74
101
|
|
|
75
102
|
The formatter takes colors from a style defined by the `style` option
|
|
@@ -78,6 +105,11 @@ class Terminal256Formatter(Formatter):
|
|
|
78
105
|
|
|
79
106
|
.. versionadded:: 0.9
|
|
80
107
|
|
|
108
|
+
.. versionchanged:: 2.2
|
|
109
|
+
If the used style defines foreground colors in the form ``#ansi*``, then
|
|
110
|
+
`Terminal256Formatter` will map these to non extended foreground color.
|
|
111
|
+
See :ref:`AnsiTerminalStyle` for more information.
|
|
112
|
+
|
|
81
113
|
Options accepted:
|
|
82
114
|
|
|
83
115
|
`style`
|
|
@@ -98,28 +130,28 @@ class Terminal256Formatter(Formatter):
|
|
|
98
130
|
self.usebold = 'nobold' not in options
|
|
99
131
|
self.useunderline = 'nounderline' not in options
|
|
100
132
|
|
|
101
|
-
self._build_color_table()
|
|
102
|
-
self._setup_styles()
|
|
133
|
+
self._build_color_table() # build an RGB-to-256 color conversion table
|
|
134
|
+
self._setup_styles() # convert selected style's colors to term. colors
|
|
103
135
|
|
|
104
136
|
def _build_color_table(self):
|
|
105
137
|
# colors 0..15: 16 basic colors
|
|
106
138
|
|
|
107
|
-
self.xterm_colors.append((0x00, 0x00, 0x00))
|
|
108
|
-
self.xterm_colors.append((0xcd, 0x00, 0x00))
|
|
109
|
-
self.xterm_colors.append((0x00, 0xcd, 0x00))
|
|
110
|
-
self.xterm_colors.append((0xcd, 0xcd, 0x00))
|
|
111
|
-
self.xterm_colors.append((0x00, 0x00, 0xee))
|
|
112
|
-
self.xterm_colors.append((0xcd, 0x00, 0xcd))
|
|
113
|
-
self.xterm_colors.append((0x00, 0xcd, 0xcd))
|
|
114
|
-
self.xterm_colors.append((0xe5, 0xe5, 0xe5))
|
|
115
|
-
self.xterm_colors.append((0x7f, 0x7f, 0x7f))
|
|
116
|
-
self.xterm_colors.append((0xff, 0x00, 0x00))
|
|
117
|
-
self.xterm_colors.append((0x00, 0xff, 0x00))
|
|
118
|
-
self.xterm_colors.append((0xff, 0xff, 0x00))
|
|
119
|
-
self.xterm_colors.append((0x5c, 0x5c, 0xff))
|
|
120
|
-
self.xterm_colors.append((0xff, 0x00, 0xff))
|
|
121
|
-
self.xterm_colors.append((0x00, 0xff, 0xff))
|
|
122
|
-
self.xterm_colors.append((0xff, 0xff, 0xff))
|
|
139
|
+
self.xterm_colors.append((0x00, 0x00, 0x00)) # 0
|
|
140
|
+
self.xterm_colors.append((0xcd, 0x00, 0x00)) # 1
|
|
141
|
+
self.xterm_colors.append((0x00, 0xcd, 0x00)) # 2
|
|
142
|
+
self.xterm_colors.append((0xcd, 0xcd, 0x00)) # 3
|
|
143
|
+
self.xterm_colors.append((0x00, 0x00, 0xee)) # 4
|
|
144
|
+
self.xterm_colors.append((0xcd, 0x00, 0xcd)) # 5
|
|
145
|
+
self.xterm_colors.append((0x00, 0xcd, 0xcd)) # 6
|
|
146
|
+
self.xterm_colors.append((0xe5, 0xe5, 0xe5)) # 7
|
|
147
|
+
self.xterm_colors.append((0x7f, 0x7f, 0x7f)) # 8
|
|
148
|
+
self.xterm_colors.append((0xff, 0x00, 0x00)) # 9
|
|
149
|
+
self.xterm_colors.append((0x00, 0xff, 0x00)) # 10
|
|
150
|
+
self.xterm_colors.append((0xff, 0xff, 0x00)) # 11
|
|
151
|
+
self.xterm_colors.append((0x5c, 0x5c, 0xff)) # 12
|
|
152
|
+
self.xterm_colors.append((0xff, 0x00, 0xff)) # 13
|
|
153
|
+
self.xterm_colors.append((0x00, 0xff, 0xff)) # 14
|
|
154
|
+
self.xterm_colors.append((0xff, 0xff, 0xff)) # 15
|
|
123
155
|
|
|
124
156
|
# colors 16..232: the 6x6x6 color cube
|
|
125
157
|
|
|
@@ -138,7 +170,7 @@ class Terminal256Formatter(Formatter):
|
|
|
138
170
|
self.xterm_colors.append((v, v, v))
|
|
139
171
|
|
|
140
172
|
def _closest_color(self, r, g, b):
|
|
141
|
-
distance = 257*257*3
|
|
173
|
+
distance = 257*257*3 # "infinity" (>distance from #000000 to #ffffff)
|
|
142
174
|
match = 0
|
|
143
175
|
|
|
144
176
|
for i in range(0, 254):
|
|
@@ -156,6 +188,10 @@ class Terminal256Formatter(Formatter):
|
|
|
156
188
|
|
|
157
189
|
def _color_index(self, color):
|
|
158
190
|
index = self.best_match.get(color, None)
|
|
191
|
+
if color in ansicolors:
|
|
192
|
+
# strip the `#ansi` part and look up code
|
|
193
|
+
index = color
|
|
194
|
+
self.best_match[color] = index
|
|
159
195
|
if index is None:
|
|
160
196
|
try:
|
|
161
197
|
rgb = int(str(color), 16)
|
|
@@ -172,9 +208,14 @@ class Terminal256Formatter(Formatter):
|
|
|
172
208
|
def _setup_styles(self):
|
|
173
209
|
for ttype, ndef in self.style:
|
|
174
210
|
escape = EscapeSequence()
|
|
175
|
-
if
|
|
211
|
+
# get foreground from ansicolor if set
|
|
212
|
+
if ndef['ansicolor']:
|
|
213
|
+
escape.fg = self._color_index(ndef['ansicolor'])
|
|
214
|
+
elif ndef['color']:
|
|
176
215
|
escape.fg = self._color_index(ndef['color'])
|
|
177
|
-
if ndef['
|
|
216
|
+
if ndef['bgansicolor']:
|
|
217
|
+
escape.bg = self._color_index(ndef['bgansicolor'])
|
|
218
|
+
elif ndef['bgcolor']:
|
|
178
219
|
escape.bg = self._color_index(ndef['bgcolor'])
|
|
179
220
|
if self.usebold and ndef['bold']:
|
|
180
221
|
escape.bold = True
|
|
@@ -197,7 +238,7 @@ class Terminal256Formatter(Formatter):
|
|
|
197
238
|
not_found = True
|
|
198
239
|
while ttype and not_found:
|
|
199
240
|
try:
|
|
200
|
-
#outfile.write( "<" + str(ttype) + ">" )
|
|
241
|
+
# outfile.write( "<" + str(ttype) + ">" )
|
|
201
242
|
on, off = self.style_string[str(ttype)]
|
|
202
243
|
|
|
203
244
|
# Like TerminalFormatter, add "reset colors" escape sequence
|
|
@@ -211,12 +252,58 @@ class Terminal256Formatter(Formatter):
|
|
|
211
252
|
outfile.write(on + spl[-1] + off)
|
|
212
253
|
|
|
213
254
|
not_found = False
|
|
214
|
-
#outfile.write( '#' + str(ttype) + '#' )
|
|
255
|
+
# outfile.write( '#' + str(ttype) + '#' )
|
|
215
256
|
|
|
216
257
|
except KeyError:
|
|
217
|
-
#ottype = ttype
|
|
258
|
+
# ottype = ttype
|
|
218
259
|
ttype = ttype[:-1]
|
|
219
|
-
#outfile.write( '!' + str(ottype) + '->' + str(ttype) + '!' )
|
|
260
|
+
# outfile.write( '!' + str(ottype) + '->' + str(ttype) + '!' )
|
|
220
261
|
|
|
221
262
|
if not_found:
|
|
222
263
|
outfile.write(value)
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
class TerminalTrueColorFormatter(Terminal256Formatter):
|
|
267
|
+
r"""
|
|
268
|
+
Format tokens with ANSI color sequences, for output in a true-color
|
|
269
|
+
terminal or console. Like in `TerminalFormatter` color sequences
|
|
270
|
+
are terminated at newlines, so that paging the output works correctly.
|
|
271
|
+
|
|
272
|
+
.. versionadded:: 2.1
|
|
273
|
+
|
|
274
|
+
Options accepted:
|
|
275
|
+
|
|
276
|
+
`style`
|
|
277
|
+
The style to use, can be a string or a Style subclass (default:
|
|
278
|
+
``'default'``).
|
|
279
|
+
"""
|
|
280
|
+
name = 'TerminalTrueColor'
|
|
281
|
+
aliases = ['terminal16m', 'console16m', '16m']
|
|
282
|
+
filenames = []
|
|
283
|
+
|
|
284
|
+
def _build_color_table(self):
|
|
285
|
+
pass
|
|
286
|
+
|
|
287
|
+
def _color_tuple(self, color):
|
|
288
|
+
try:
|
|
289
|
+
rgb = int(str(color), 16)
|
|
290
|
+
except ValueError:
|
|
291
|
+
return None
|
|
292
|
+
r = (rgb >> 16) & 0xff
|
|
293
|
+
g = (rgb >> 8) & 0xff
|
|
294
|
+
b = rgb & 0xff
|
|
295
|
+
return (r, g, b)
|
|
296
|
+
|
|
297
|
+
def _setup_styles(self):
|
|
298
|
+
for ttype, ndef in self.style:
|
|
299
|
+
escape = EscapeSequence()
|
|
300
|
+
if ndef['color']:
|
|
301
|
+
escape.fg = self._color_tuple(ndef['color'])
|
|
302
|
+
if ndef['bgcolor']:
|
|
303
|
+
escape.bg = self._color_tuple(ndef['bgcolor'])
|
|
304
|
+
if self.usebold and ndef['bold']:
|
|
305
|
+
escape.bold = True
|
|
306
|
+
if self.useunderline and ndef['underline']:
|
|
307
|
+
escape.underline = True
|
|
308
|
+
self.style_string[str(ttype)] = (escape.true_color_string(),
|
|
309
|
+
escape.reset_string())
|