mortar-pygments.rb 0.5.5
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.
- data/.gitignore +6 -0
- data/CHANGELOG.md +71 -0
- data/Gemfile +2 -0
- data/LICENSE +17 -0
- data/README.md +121 -0
- data/Rakefile +66 -0
- data/bench.rb +22 -0
- data/cache-lexers.rb +8 -0
- data/lexers +0 -0
- data/lib/pygments/lexer.rb +148 -0
- data/lib/pygments/mentos.py +351 -0
- data/lib/pygments/popen.rb +406 -0
- data/lib/pygments/version.rb +3 -0
- data/lib/pygments.rb +8 -0
- data/pygments.rb.gemspec +25 -0
- data/test/test_data.c +2581 -0
- data/test/test_data.py +514 -0
- data/test/test_data_generated +2582 -0
- data/test/test_pygments.rb +287 -0
- data/vendor/custom_lexers/github.py +565 -0
- data/vendor/pygments-main/AUTHORS +153 -0
- data/vendor/pygments-main/CHANGES +889 -0
- data/vendor/pygments-main/LICENSE +25 -0
- data/vendor/pygments-main/MANIFEST.in +6 -0
- data/vendor/pygments-main/Makefile +59 -0
- data/vendor/pygments-main/REVISION +1 -0
- data/vendor/pygments-main/TODO +15 -0
- data/vendor/pygments-main/docs/generate.py +472 -0
- data/vendor/pygments-main/docs/pygmentize.1 +94 -0
- data/vendor/pygments-main/docs/src/api.txt +270 -0
- data/vendor/pygments-main/docs/src/authors.txt +5 -0
- data/vendor/pygments-main/docs/src/changelog.txt +5 -0
- data/vendor/pygments-main/docs/src/cmdline.txt +147 -0
- data/vendor/pygments-main/docs/src/filterdevelopment.txt +70 -0
- data/vendor/pygments-main/docs/src/filters.txt +42 -0
- data/vendor/pygments-main/docs/src/formatterdevelopment.txt +169 -0
- data/vendor/pygments-main/docs/src/formatters.txt +48 -0
- data/vendor/pygments-main/docs/src/index.txt +69 -0
- data/vendor/pygments-main/docs/src/installation.txt +71 -0
- data/vendor/pygments-main/docs/src/integrate.txt +48 -0
- data/vendor/pygments-main/docs/src/java.txt +70 -0
- data/vendor/pygments-main/docs/src/lexerdevelopment.txt +603 -0
- data/vendor/pygments-main/docs/src/lexers.txt +67 -0
- data/vendor/pygments-main/docs/src/moinmoin.txt +39 -0
- data/vendor/pygments-main/docs/src/plugins.txt +93 -0
- data/vendor/pygments-main/docs/src/quickstart.txt +202 -0
- data/vendor/pygments-main/docs/src/rstdirective.txt +22 -0
- data/vendor/pygments-main/docs/src/styles.txt +143 -0
- data/vendor/pygments-main/docs/src/tokens.txt +349 -0
- data/vendor/pygments-main/docs/src/unicode.txt +49 -0
- data/vendor/pygments-main/external/autopygmentize +64 -0
- data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +144 -0
- data/vendor/pygments-main/external/markdown-processor.py +67 -0
- data/vendor/pygments-main/external/moin-parser.py +112 -0
- data/vendor/pygments-main/external/pygments.bashcomp +38 -0
- data/vendor/pygments-main/external/rst-directive-old.py +77 -0
- data/vendor/pygments-main/external/rst-directive.py +83 -0
- data/vendor/pygments-main/ez_setup.py +276 -0
- data/vendor/pygments-main/pygmentize +7 -0
- data/vendor/pygments-main/pygments/__init__.py +91 -0
- data/vendor/pygments-main/pygments/cmdline.py +441 -0
- data/vendor/pygments-main/pygments/console.py +74 -0
- data/vendor/pygments-main/pygments/filter.py +74 -0
- data/vendor/pygments-main/pygments/filters/__init__.py +356 -0
- data/vendor/pygments-main/pygments/formatter.py +95 -0
- data/vendor/pygments-main/pygments/formatters/__init__.py +68 -0
- data/vendor/pygments-main/pygments/formatters/_mapping.py +92 -0
- data/vendor/pygments-main/pygments/formatters/bbcode.py +109 -0
- data/vendor/pygments-main/pygments/formatters/html.py +821 -0
- data/vendor/pygments-main/pygments/formatters/img.py +553 -0
- data/vendor/pygments-main/pygments/formatters/latex.py +378 -0
- data/vendor/pygments-main/pygments/formatters/other.py +115 -0
- data/vendor/pygments-main/pygments/formatters/rtf.py +136 -0
- data/vendor/pygments-main/pygments/formatters/svg.py +154 -0
- data/vendor/pygments-main/pygments/formatters/terminal.py +112 -0
- data/vendor/pygments-main/pygments/formatters/terminal256.py +222 -0
- data/vendor/pygments-main/pygments/lexer.py +765 -0
- data/vendor/pygments-main/pygments/lexers/__init__.py +240 -0
- data/vendor/pygments-main/pygments/lexers/_asybuiltins.py +1645 -0
- data/vendor/pygments-main/pygments/lexers/_clbuiltins.py +232 -0
- data/vendor/pygments-main/pygments/lexers/_lassobuiltins.py +5172 -0
- data/vendor/pygments-main/pygments/lexers/_luabuiltins.py +249 -0
- data/vendor/pygments-main/pygments/lexers/_mapping.py +355 -0
- data/vendor/pygments-main/pygments/lexers/_openedgebuiltins.py +562 -0
- data/vendor/pygments-main/pygments/lexers/_phpbuiltins.py +3787 -0
- data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +233 -0
- data/vendor/pygments-main/pygments/lexers/_robotframeworklexer.py +557 -0
- data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +40 -0
- data/vendor/pygments-main/pygments/lexers/_sourcemodbuiltins.py +1072 -0
- data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +360 -0
- data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +13 -0
- data/vendor/pygments-main/pygments/lexers/agile.py +2290 -0
- data/vendor/pygments-main/pygments/lexers/asm.py +398 -0
- data/vendor/pygments-main/pygments/lexers/compiled.py +3723 -0
- data/vendor/pygments-main/pygments/lexers/dalvik.py +104 -0
- data/vendor/pygments-main/pygments/lexers/dotnet.py +671 -0
- data/vendor/pygments-main/pygments/lexers/foxpro.py +428 -0
- data/vendor/pygments-main/pygments/lexers/functional.py +2731 -0
- data/vendor/pygments-main/pygments/lexers/github.py +565 -0
- data/vendor/pygments-main/pygments/lexers/hdl.py +356 -0
- data/vendor/pygments-main/pygments/lexers/jvm.py +1112 -0
- data/vendor/pygments-main/pygments/lexers/math.py +1918 -0
- data/vendor/pygments-main/pygments/lexers/other.py +3778 -0
- data/vendor/pygments-main/pygments/lexers/parsers.py +778 -0
- data/vendor/pygments-main/pygments/lexers/shell.py +424 -0
- data/vendor/pygments-main/pygments/lexers/special.py +100 -0
- data/vendor/pygments-main/pygments/lexers/sql.py +609 -0
- data/vendor/pygments-main/pygments/lexers/templates.py +1742 -0
- data/vendor/pygments-main/pygments/lexers/text.py +1893 -0
- data/vendor/pygments-main/pygments/lexers/web.py +4045 -0
- data/vendor/pygments-main/pygments/modeline.py +40 -0
- data/vendor/pygments-main/pygments/plugin.py +74 -0
- data/vendor/pygments-main/pygments/scanner.py +104 -0
- data/vendor/pygments-main/pygments/style.py +117 -0
- data/vendor/pygments-main/pygments/styles/__init__.py +70 -0
- data/vendor/pygments-main/pygments/styles/autumn.py +65 -0
- data/vendor/pygments-main/pygments/styles/borland.py +51 -0
- data/vendor/pygments-main/pygments/styles/bw.py +49 -0
- data/vendor/pygments-main/pygments/styles/colorful.py +81 -0
- data/vendor/pygments-main/pygments/styles/default.py +73 -0
- data/vendor/pygments-main/pygments/styles/emacs.py +72 -0
- data/vendor/pygments-main/pygments/styles/friendly.py +72 -0
- data/vendor/pygments-main/pygments/styles/fruity.py +42 -0
- data/vendor/pygments-main/pygments/styles/manni.py +75 -0
- data/vendor/pygments-main/pygments/styles/monokai.py +106 -0
- data/vendor/pygments-main/pygments/styles/murphy.py +80 -0
- data/vendor/pygments-main/pygments/styles/native.py +65 -0
- data/vendor/pygments-main/pygments/styles/pastie.py +75 -0
- data/vendor/pygments-main/pygments/styles/perldoc.py +69 -0
- data/vendor/pygments-main/pygments/styles/rrt.py +33 -0
- data/vendor/pygments-main/pygments/styles/tango.py +141 -0
- data/vendor/pygments-main/pygments/styles/trac.py +63 -0
- data/vendor/pygments-main/pygments/styles/vim.py +63 -0
- data/vendor/pygments-main/pygments/styles/vs.py +38 -0
- data/vendor/pygments-main/pygments/token.py +195 -0
- data/vendor/pygments-main/pygments/unistring.py +140 -0
- data/vendor/pygments-main/pygments/util.py +277 -0
- data/vendor/pygments-main/scripts/check_sources.py +242 -0
- data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +32 -0
- data/vendor/pygments-main/scripts/epydoc.css +280 -0
- data/vendor/pygments-main/scripts/find_codetags.py +205 -0
- data/vendor/pygments-main/scripts/find_error.py +170 -0
- data/vendor/pygments-main/scripts/get_vimkw.py +43 -0
- data/vendor/pygments-main/scripts/pylintrc +301 -0
- data/vendor/pygments-main/scripts/reindent.py +291 -0
- data/vendor/pygments-main/scripts/vim2pygments.py +933 -0
- data/vendor/pygments-main/setup.cfg +7 -0
- data/vendor/pygments-main/setup.py +90 -0
- data/vendor/pygments-main/tests/dtds/HTML4-f.dtd +37 -0
- data/vendor/pygments-main/tests/dtds/HTML4-s.dtd +869 -0
- data/vendor/pygments-main/tests/dtds/HTML4.dcl +88 -0
- data/vendor/pygments-main/tests/dtds/HTML4.dtd +1092 -0
- data/vendor/pygments-main/tests/dtds/HTML4.soc +9 -0
- data/vendor/pygments-main/tests/dtds/HTMLlat1.ent +195 -0
- data/vendor/pygments-main/tests/dtds/HTMLspec.ent +77 -0
- data/vendor/pygments-main/tests/dtds/HTMLsym.ent +241 -0
- data/vendor/pygments-main/tests/examplefiles/ANTLRv3.g +608 -0
- data/vendor/pygments-main/tests/examplefiles/AcidStateAdvanced.hs +209 -0
- data/vendor/pygments-main/tests/examplefiles/AlternatingGroup.mu +102 -0
- data/vendor/pygments-main/tests/examplefiles/BOM.js +1 -0
- data/vendor/pygments-main/tests/examplefiles/CPDictionary.j +611 -0
- data/vendor/pygments-main/tests/examplefiles/Config.in.cache +1973 -0
- data/vendor/pygments-main/tests/examplefiles/Constants.mo +158 -0
- data/vendor/pygments-main/tests/examplefiles/DancingSudoku.lhs +411 -0
- data/vendor/pygments-main/tests/examplefiles/Deflate.fs +578 -0
- data/vendor/pygments-main/tests/examplefiles/Errors.scala +18 -0
- data/vendor/pygments-main/tests/examplefiles/File.hy +174 -0
- data/vendor/pygments-main/tests/examplefiles/Get-CommandDefinitionHtml.ps1 +66 -0
- data/vendor/pygments-main/tests/examplefiles/IPDispatchC.nc +104 -0
- data/vendor/pygments-main/tests/examplefiles/IPDispatchP.nc +671 -0
- data/vendor/pygments-main/tests/examplefiles/Intro.java +1660 -0
- data/vendor/pygments-main/tests/examplefiles/Makefile +1131 -0
- data/vendor/pygments-main/tests/examplefiles/Object.st +4394 -0
- data/vendor/pygments-main/tests/examplefiles/OrderedMap.hx +584 -0
- data/vendor/pygments-main/tests/examplefiles/RoleQ.pm6 +23 -0
- data/vendor/pygments-main/tests/examplefiles/SmallCheck.hs +378 -0
- data/vendor/pygments-main/tests/examplefiles/Sorting.mod +470 -0
- data/vendor/pygments-main/tests/examplefiles/Sudoku.lhs +382 -0
- data/vendor/pygments-main/tests/examplefiles/addressbook.proto +30 -0
- data/vendor/pygments-main/tests/examplefiles/antlr_throws +1 -0
- data/vendor/pygments-main/tests/examplefiles/apache2.conf +393 -0
- data/vendor/pygments-main/tests/examplefiles/as3_test.as +143 -0
- data/vendor/pygments-main/tests/examplefiles/as3_test2.as +46 -0
- data/vendor/pygments-main/tests/examplefiles/as3_test3.as +3 -0
- data/vendor/pygments-main/tests/examplefiles/aspx-cs_example +27 -0
- data/vendor/pygments-main/tests/examplefiles/autoit_submit.au3 +25 -0
- data/vendor/pygments-main/tests/examplefiles/badcase.java +2 -0
- data/vendor/pygments-main/tests/examplefiles/batchfile.bat +49 -0
- data/vendor/pygments-main/tests/examplefiles/bigtest.nsi +308 -0
- data/vendor/pygments-main/tests/examplefiles/boot-9.scm +1557 -0
- data/vendor/pygments-main/tests/examplefiles/ca65_example +284 -0
- data/vendor/pygments-main/tests/examplefiles/cbmbas_example +9 -0
- data/vendor/pygments-main/tests/examplefiles/cells.ps +515 -0
- data/vendor/pygments-main/tests/examplefiles/ceval.c +2604 -0
- data/vendor/pygments-main/tests/examplefiles/cheetah_example.html +13 -0
- data/vendor/pygments-main/tests/examplefiles/classes.dylan +125 -0
- data/vendor/pygments-main/tests/examplefiles/condensed_ruby.rb +10 -0
- data/vendor/pygments-main/tests/examplefiles/coq_RelationClasses +447 -0
- data/vendor/pygments-main/tests/examplefiles/database.pytb +20 -0
- data/vendor/pygments-main/tests/examplefiles/de.MoinMoin.po +2461 -0
- data/vendor/pygments-main/tests/examplefiles/demo.ahk +181 -0
- data/vendor/pygments-main/tests/examplefiles/demo.cfm +38 -0
- data/vendor/pygments-main/tests/examplefiles/django_sample.html+django +68 -0
- data/vendor/pygments-main/tests/examplefiles/dwarf.cw +17 -0
- data/vendor/pygments-main/tests/examplefiles/erl_session +10 -0
- data/vendor/pygments-main/tests/examplefiles/escape_semicolon.clj +1 -0
- data/vendor/pygments-main/tests/examplefiles/evil_regex.js +48 -0
- data/vendor/pygments-main/tests/examplefiles/example.Rd +78 -0
- data/vendor/pygments-main/tests/examplefiles/example.bug +54 -0
- data/vendor/pygments-main/tests/examplefiles/example.c +2080 -0
- data/vendor/pygments-main/tests/examplefiles/example.ceylon +52 -0
- data/vendor/pygments-main/tests/examplefiles/example.clay +33 -0
- data/vendor/pygments-main/tests/examplefiles/example.cls +15 -0
- data/vendor/pygments-main/tests/examplefiles/example.cob +3556 -0
- data/vendor/pygments-main/tests/examplefiles/example.cpp +2363 -0
- data/vendor/pygments-main/tests/examplefiles/example.gs +106 -0
- data/vendor/pygments-main/tests/examplefiles/example.gst +7 -0
- data/vendor/pygments-main/tests/examplefiles/example.hx +142 -0
- data/vendor/pygments-main/tests/examplefiles/example.jag +48 -0
- data/vendor/pygments-main/tests/examplefiles/example.kt +47 -0
- data/vendor/pygments-main/tests/examplefiles/example.lagda +19 -0
- data/vendor/pygments-main/tests/examplefiles/example.lua +250 -0
- data/vendor/pygments-main/tests/examplefiles/example.monkey +152 -0
- data/vendor/pygments-main/tests/examplefiles/example.moo +26 -0
- data/vendor/pygments-main/tests/examplefiles/example.moon +629 -0
- data/vendor/pygments-main/tests/examplefiles/example.msc +43 -0
- data/vendor/pygments-main/tests/examplefiles/example.nim +1010 -0
- data/vendor/pygments-main/tests/examplefiles/example.ns2 +69 -0
- data/vendor/pygments-main/tests/examplefiles/example.p +34 -0
- data/vendor/pygments-main/tests/examplefiles/example.pas +2708 -0
- data/vendor/pygments-main/tests/examplefiles/example.prg +161 -0
- data/vendor/pygments-main/tests/examplefiles/example.rb +1852 -0
- data/vendor/pygments-main/tests/examplefiles/example.reg +19 -0
- data/vendor/pygments-main/tests/examplefiles/example.rexx +50 -0
- data/vendor/pygments-main/tests/examplefiles/example.rhtml +561 -0
- data/vendor/pygments-main/tests/examplefiles/example.rkt +95 -0
- data/vendor/pygments-main/tests/examplefiles/example.rpf +4 -0
- data/vendor/pygments-main/tests/examplefiles/example.sh-session +19 -0
- data/vendor/pygments-main/tests/examplefiles/example.shell-session +45 -0
- data/vendor/pygments-main/tests/examplefiles/example.sml +156 -0
- data/vendor/pygments-main/tests/examplefiles/example.snobol +15 -0
- data/vendor/pygments-main/tests/examplefiles/example.stan +108 -0
- data/vendor/pygments-main/tests/examplefiles/example.tea +34 -0
- data/vendor/pygments-main/tests/examplefiles/example.ts +28 -0
- data/vendor/pygments-main/tests/examplefiles/example.u +548 -0
- data/vendor/pygments-main/tests/examplefiles/example.weechatlog +9 -0
- data/vendor/pygments-main/tests/examplefiles/example.xhtml +376 -0
- data/vendor/pygments-main/tests/examplefiles/example.xtend +34 -0
- data/vendor/pygments-main/tests/examplefiles/example.yaml +302 -0
- data/vendor/pygments-main/tests/examplefiles/example2.aspx +29 -0
- data/vendor/pygments-main/tests/examplefiles/example2.msc +79 -0
- data/vendor/pygments-main/tests/examplefiles/example_elixir.ex +363 -0
- data/vendor/pygments-main/tests/examplefiles/example_file.fy +128 -0
- data/vendor/pygments-main/tests/examplefiles/firefox.mak +586 -0
- data/vendor/pygments-main/tests/examplefiles/flipflop.sv +19 -0
- data/vendor/pygments-main/tests/examplefiles/foo.sce +6 -0
- data/vendor/pygments-main/tests/examplefiles/format.ml +1213 -0
- data/vendor/pygments-main/tests/examplefiles/fucked_up.rb +77 -0
- data/vendor/pygments-main/tests/examplefiles/function.mu +1 -0
- data/vendor/pygments-main/tests/examplefiles/functional.rst +1472 -0
- data/vendor/pygments-main/tests/examplefiles/garcia-wachs.kk +133 -0
- data/vendor/pygments-main/tests/examplefiles/genclass.clj +510 -0
- data/vendor/pygments-main/tests/examplefiles/genshi_example.xml+genshi +193 -0
- data/vendor/pygments-main/tests/examplefiles/genshitext_example.genshitext +33 -0
- data/vendor/pygments-main/tests/examplefiles/glsl.frag +7 -0
- data/vendor/pygments-main/tests/examplefiles/glsl.vert +13 -0
- data/vendor/pygments-main/tests/examplefiles/grammar-test.p6 +22 -0
- data/vendor/pygments-main/tests/examplefiles/hello.smali +40 -0
- data/vendor/pygments-main/tests/examplefiles/hello.sp +9 -0
- data/vendor/pygments-main/tests/examplefiles/html+php_faulty.php +1 -0
- data/vendor/pygments-main/tests/examplefiles/http_request_example +15 -0
- data/vendor/pygments-main/tests/examplefiles/http_response_example +29 -0
- data/vendor/pygments-main/tests/examplefiles/import.hs +4 -0
- data/vendor/pygments-main/tests/examplefiles/inet_pton6.dg +71 -0
- data/vendor/pygments-main/tests/examplefiles/intro.ik +24 -0
- data/vendor/pygments-main/tests/examplefiles/ints.php +10 -0
- data/vendor/pygments-main/tests/examplefiles/intsyn.fun +675 -0
- data/vendor/pygments-main/tests/examplefiles/intsyn.sig +286 -0
- data/vendor/pygments-main/tests/examplefiles/irb_heredoc +8 -0
- data/vendor/pygments-main/tests/examplefiles/irc.lsp +214 -0
- data/vendor/pygments-main/tests/examplefiles/java.properties +16 -0
- data/vendor/pygments-main/tests/examplefiles/jbst_example1.jbst +28 -0
- data/vendor/pygments-main/tests/examplefiles/jbst_example2.jbst +45 -0
- data/vendor/pygments-main/tests/examplefiles/jinjadesignerdoc.rst +713 -0
- data/vendor/pygments-main/tests/examplefiles/json.lasso +301 -0
- data/vendor/pygments-main/tests/examplefiles/json.lasso9 +213 -0
- data/vendor/pygments-main/tests/examplefiles/lighttpd_config.conf +13 -0
- data/vendor/pygments-main/tests/examplefiles/linecontinuation.py +47 -0
- data/vendor/pygments-main/tests/examplefiles/livescript-demo.ls +41 -0
- data/vendor/pygments-main/tests/examplefiles/logos_example.xm +28 -0
- data/vendor/pygments-main/tests/examplefiles/ltmain.sh +2849 -0
- data/vendor/pygments-main/tests/examplefiles/main.cmake +42 -0
- data/vendor/pygments-main/tests/examplefiles/markdown.lsp +679 -0
- data/vendor/pygments-main/tests/examplefiles/matlab_noreturn +3 -0
- data/vendor/pygments-main/tests/examplefiles/matlab_sample +30 -0
- data/vendor/pygments-main/tests/examplefiles/matlabsession_sample.txt +37 -0
- data/vendor/pygments-main/tests/examplefiles/metagrammar.treetop +455 -0
- data/vendor/pygments-main/tests/examplefiles/mg_sample.pro +73 -0
- data/vendor/pygments-main/tests/examplefiles/minehunt.qml +112 -0
- data/vendor/pygments-main/tests/examplefiles/minimal.ns2 +4 -0
- data/vendor/pygments-main/tests/examplefiles/moin_SyntaxReference.txt +340 -0
- data/vendor/pygments-main/tests/examplefiles/multiline_regexes.rb +38 -0
- data/vendor/pygments-main/tests/examplefiles/nanomsg.intr +95 -0
- data/vendor/pygments-main/tests/examplefiles/nasm_aoutso.asm +96 -0
- data/vendor/pygments-main/tests/examplefiles/nasm_objexe.asm +30 -0
- data/vendor/pygments-main/tests/examplefiles/nemerle_sample.n +87 -0
- data/vendor/pygments-main/tests/examplefiles/nginx_nginx.conf +118 -0
- data/vendor/pygments-main/tests/examplefiles/numbers.c +12 -0
- data/vendor/pygments-main/tests/examplefiles/objc_example.m +32 -0
- data/vendor/pygments-main/tests/examplefiles/objc_example2.m +24 -0
- data/vendor/pygments-main/tests/examplefiles/perl_misc +62 -0
- data/vendor/pygments-main/tests/examplefiles/perl_perl5db +998 -0
- data/vendor/pygments-main/tests/examplefiles/perl_regex-delims +120 -0
- data/vendor/pygments-main/tests/examplefiles/perlfunc.1 +856 -0
- data/vendor/pygments-main/tests/examplefiles/phpMyAdmin.spec +163 -0
- data/vendor/pygments-main/tests/examplefiles/phpcomplete.vim +567 -0
- data/vendor/pygments-main/tests/examplefiles/pleac.in.rb +1223 -0
- data/vendor/pygments-main/tests/examplefiles/postgresql_test.txt +47 -0
- data/vendor/pygments-main/tests/examplefiles/pppoe.applescript +10 -0
- data/vendor/pygments-main/tests/examplefiles/psql_session.txt +122 -0
- data/vendor/pygments-main/tests/examplefiles/py3_test.txt +2 -0
- data/vendor/pygments-main/tests/examplefiles/py3tb_test.py3tb +4 -0
- data/vendor/pygments-main/tests/examplefiles/pycon_test.pycon +14 -0
- data/vendor/pygments-main/tests/examplefiles/pytb_test2.pytb +2 -0
- data/vendor/pygments-main/tests/examplefiles/pytb_test3.pytb +4 -0
- data/vendor/pygments-main/tests/examplefiles/python25-bsd.mak +234 -0
- data/vendor/pygments-main/tests/examplefiles/qsort.prolog +13 -0
- data/vendor/pygments-main/tests/examplefiles/r-console-transcript.Rout +38 -0
- data/vendor/pygments-main/tests/examplefiles/ragel-cpp_rlscan +280 -0
- data/vendor/pygments-main/tests/examplefiles/ragel-cpp_snippet +2 -0
- data/vendor/pygments-main/tests/examplefiles/regex.js +22 -0
- data/vendor/pygments-main/tests/examplefiles/reversi.lsp +427 -0
- data/vendor/pygments-main/tests/examplefiles/robotframework.txt +39 -0
- data/vendor/pygments-main/tests/examplefiles/ruby_func_def.rb +11 -0
- data/vendor/pygments-main/tests/examplefiles/rust_example.rs +233 -0
- data/vendor/pygments-main/tests/examplefiles/scilab.sci +30 -0
- data/vendor/pygments-main/tests/examplefiles/session.dylan-console +9 -0
- data/vendor/pygments-main/tests/examplefiles/sibling.prolog +19 -0
- data/vendor/pygments-main/tests/examplefiles/simple.md +747 -0
- data/vendor/pygments-main/tests/examplefiles/smarty_example.html +209 -0
- data/vendor/pygments-main/tests/examplefiles/source.lgt +343 -0
- data/vendor/pygments-main/tests/examplefiles/sources.list +62 -0
- data/vendor/pygments-main/tests/examplefiles/sphere.pov +18 -0
- data/vendor/pygments-main/tests/examplefiles/sqlite3.sqlite3-console +27 -0
- data/vendor/pygments-main/tests/examplefiles/squid.conf +30 -0
- data/vendor/pygments-main/tests/examplefiles/string.jl +1031 -0
- data/vendor/pygments-main/tests/examplefiles/string_delimiters.d +21 -0
- data/vendor/pygments-main/tests/examplefiles/stripheredoc.sh +3 -0
- data/vendor/pygments-main/tests/examplefiles/swig_java.swg +1329 -0
- data/vendor/pygments-main/tests/examplefiles/swig_std_vector.i +225 -0
- data/vendor/pygments-main/tests/examplefiles/test.R +153 -0
- data/vendor/pygments-main/tests/examplefiles/test.adb +211 -0
- data/vendor/pygments-main/tests/examplefiles/test.agda +102 -0
- data/vendor/pygments-main/tests/examplefiles/test.asy +131 -0
- data/vendor/pygments-main/tests/examplefiles/test.awk +121 -0
- data/vendor/pygments-main/tests/examplefiles/test.bas +29 -0
- data/vendor/pygments-main/tests/examplefiles/test.bb +95 -0
- data/vendor/pygments-main/tests/examplefiles/test.bmx +145 -0
- data/vendor/pygments-main/tests/examplefiles/test.boo +39 -0
- data/vendor/pygments-main/tests/examplefiles/test.bro +250 -0
- data/vendor/pygments-main/tests/examplefiles/test.cs +374 -0
- data/vendor/pygments-main/tests/examplefiles/test.css +54 -0
- data/vendor/pygments-main/tests/examplefiles/test.cu +36 -0
- data/vendor/pygments-main/tests/examplefiles/test.d +135 -0
- data/vendor/pygments-main/tests/examplefiles/test.dart +23 -0
- data/vendor/pygments-main/tests/examplefiles/test.dtd +89 -0
- data/vendor/pygments-main/tests/examplefiles/test.ebnf +31 -0
- data/vendor/pygments-main/tests/examplefiles/test.ec +605 -0
- data/vendor/pygments-main/tests/examplefiles/test.ecl +58 -0
- data/vendor/pygments-main/tests/examplefiles/test.eh +315 -0
- data/vendor/pygments-main/tests/examplefiles/test.erl +169 -0
- data/vendor/pygments-main/tests/examplefiles/test.evoque +33 -0
- data/vendor/pygments-main/tests/examplefiles/test.fan +818 -0
- data/vendor/pygments-main/tests/examplefiles/test.flx +57 -0
- data/vendor/pygments-main/tests/examplefiles/test.gdc +13 -0
- data/vendor/pygments-main/tests/examplefiles/test.groovy +97 -0
- data/vendor/pygments-main/tests/examplefiles/test.html +339 -0
- data/vendor/pygments-main/tests/examplefiles/test.ini +10 -0
- data/vendor/pygments-main/tests/examplefiles/test.java +653 -0
- data/vendor/pygments-main/tests/examplefiles/test.jsp +24 -0
- data/vendor/pygments-main/tests/examplefiles/test.maql +45 -0
- data/vendor/pygments-main/tests/examplefiles/test.mod +374 -0
- data/vendor/pygments-main/tests/examplefiles/test.moo +51 -0
- data/vendor/pygments-main/tests/examplefiles/test.myt +166 -0
- data/vendor/pygments-main/tests/examplefiles/test.nim +93 -0
- data/vendor/pygments-main/tests/examplefiles/test.opa +10 -0
- data/vendor/pygments-main/tests/examplefiles/test.p6 +252 -0
- data/vendor/pygments-main/tests/examplefiles/test.pas +743 -0
- data/vendor/pygments-main/tests/examplefiles/test.php +505 -0
- data/vendor/pygments-main/tests/examplefiles/test.plot +333 -0
- data/vendor/pygments-main/tests/examplefiles/test.ps1 +108 -0
- data/vendor/pygments-main/tests/examplefiles/test.pypylog +1839 -0
- data/vendor/pygments-main/tests/examplefiles/test.r3 +94 -0
- data/vendor/pygments-main/tests/examplefiles/test.rb +177 -0
- data/vendor/pygments-main/tests/examplefiles/test.rhtml +43 -0
- data/vendor/pygments-main/tests/examplefiles/test.scaml +8 -0
- data/vendor/pygments-main/tests/examplefiles/test.ssp +12 -0
- data/vendor/pygments-main/tests/examplefiles/test.tcsh +830 -0
- data/vendor/pygments-main/tests/examplefiles/test.vb +407 -0
- data/vendor/pygments-main/tests/examplefiles/test.vhdl +161 -0
- data/vendor/pygments-main/tests/examplefiles/test.xqy +138 -0
- data/vendor/pygments-main/tests/examplefiles/test.xsl +23 -0
- data/vendor/pygments-main/tests/examplefiles/test2.pypylog +120 -0
- data/vendor/pygments-main/tests/examplefiles/truncated.pytb +15 -0
- data/vendor/pygments-main/tests/examplefiles/type.lisp +1218 -0
- data/vendor/pygments-main/tests/examplefiles/underscore.coffee +603 -0
- data/vendor/pygments-main/tests/examplefiles/unicode.applescript +5 -0
- data/vendor/pygments-main/tests/examplefiles/unicodedoc.py +11 -0
- data/vendor/pygments-main/tests/examplefiles/unix-io.lid +37 -0
- data/vendor/pygments-main/tests/examplefiles/webkit-transition.css +3 -0
- data/vendor/pygments-main/tests/examplefiles/while.pov +13 -0
- data/vendor/pygments-main/tests/examplefiles/wiki.factor +384 -0
- data/vendor/pygments-main/tests/examplefiles/xml_example +1897 -0
- data/vendor/pygments-main/tests/examplefiles/zmlrpc.f90 +798 -0
- data/vendor/pygments-main/tests/old_run.py +138 -0
- data/vendor/pygments-main/tests/run.py +49 -0
- data/vendor/pygments-main/tests/support/tags +36 -0
- data/vendor/pygments-main/tests/support.py +15 -0
- data/vendor/pygments-main/tests/test_basic_api.py +295 -0
- data/vendor/pygments-main/tests/test_clexer.py +31 -0
- data/vendor/pygments-main/tests/test_cmdline.py +105 -0
- data/vendor/pygments-main/tests/test_examplefiles.py +99 -0
- data/vendor/pygments-main/tests/test_html_formatter.py +178 -0
- data/vendor/pygments-main/tests/test_latex_formatter.py +55 -0
- data/vendor/pygments-main/tests/test_lexers_other.py +68 -0
- data/vendor/pygments-main/tests/test_perllexer.py +137 -0
- data/vendor/pygments-main/tests/test_regexlexer.py +47 -0
- data/vendor/pygments-main/tests/test_token.py +46 -0
- data/vendor/pygments-main/tests/test_using_api.py +40 -0
- data/vendor/pygments-main/tests/test_util.py +135 -0
- data/vendor/simplejson/.gitignore +10 -0
- data/vendor/simplejson/.travis.yml +5 -0
- data/vendor/simplejson/CHANGES.txt +291 -0
- data/vendor/simplejson/LICENSE.txt +19 -0
- data/vendor/simplejson/MANIFEST.in +5 -0
- data/vendor/simplejson/README.rst +19 -0
- data/vendor/simplejson/conf.py +179 -0
- data/vendor/simplejson/index.rst +628 -0
- data/vendor/simplejson/scripts/make_docs.py +18 -0
- data/vendor/simplejson/setup.py +104 -0
- data/vendor/simplejson/simplejson/__init__.py +510 -0
- data/vendor/simplejson/simplejson/_speedups.c +2745 -0
- data/vendor/simplejson/simplejson/decoder.py +425 -0
- data/vendor/simplejson/simplejson/encoder.py +567 -0
- data/vendor/simplejson/simplejson/ordered_dict.py +119 -0
- data/vendor/simplejson/simplejson/scanner.py +77 -0
- data/vendor/simplejson/simplejson/tests/__init__.py +67 -0
- data/vendor/simplejson/simplejson/tests/test_bigint_as_string.py +55 -0
- data/vendor/simplejson/simplejson/tests/test_check_circular.py +30 -0
- data/vendor/simplejson/simplejson/tests/test_decimal.py +66 -0
- data/vendor/simplejson/simplejson/tests/test_decode.py +83 -0
- data/vendor/simplejson/simplejson/tests/test_default.py +9 -0
- data/vendor/simplejson/simplejson/tests/test_dump.py +67 -0
- data/vendor/simplejson/simplejson/tests/test_encode_basestring_ascii.py +46 -0
- data/vendor/simplejson/simplejson/tests/test_encode_for_html.py +32 -0
- data/vendor/simplejson/simplejson/tests/test_errors.py +34 -0
- data/vendor/simplejson/simplejson/tests/test_fail.py +91 -0
- data/vendor/simplejson/simplejson/tests/test_float.py +19 -0
- data/vendor/simplejson/simplejson/tests/test_indent.py +86 -0
- data/vendor/simplejson/simplejson/tests/test_item_sort_key.py +20 -0
- data/vendor/simplejson/simplejson/tests/test_namedtuple.py +121 -0
- data/vendor/simplejson/simplejson/tests/test_pass1.py +76 -0
- data/vendor/simplejson/simplejson/tests/test_pass2.py +14 -0
- data/vendor/simplejson/simplejson/tests/test_pass3.py +20 -0
- data/vendor/simplejson/simplejson/tests/test_recursion.py +67 -0
- data/vendor/simplejson/simplejson/tests/test_scanstring.py +117 -0
- data/vendor/simplejson/simplejson/tests/test_separators.py +42 -0
- data/vendor/simplejson/simplejson/tests/test_speedups.py +20 -0
- data/vendor/simplejson/simplejson/tests/test_tuple.py +49 -0
- data/vendor/simplejson/simplejson/tests/test_unicode.py +109 -0
- data/vendor/simplejson/simplejson/tool.py +39 -0
- metadata +566 -0
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
.. -*- mode: rst -*-
|
|
2
|
+
|
|
3
|
+
=====================
|
|
4
|
+
The full Pygments API
|
|
5
|
+
=====================
|
|
6
|
+
|
|
7
|
+
This page describes the Pygments API.
|
|
8
|
+
|
|
9
|
+
High-level API
|
|
10
|
+
==============
|
|
11
|
+
|
|
12
|
+
Functions from the `pygments` module:
|
|
13
|
+
|
|
14
|
+
def `lex(code, lexer):`
|
|
15
|
+
Lex `code` with the `lexer` (must be a `Lexer` instance)
|
|
16
|
+
and return an iterable of tokens. Currently, this only calls
|
|
17
|
+
`lexer.get_tokens()`.
|
|
18
|
+
|
|
19
|
+
def `format(tokens, formatter, outfile=None):`
|
|
20
|
+
Format a token stream (iterable of tokens) `tokens` with the
|
|
21
|
+
`formatter` (must be a `Formatter` instance). The result is
|
|
22
|
+
written to `outfile`, or if that is ``None``, returned as a
|
|
23
|
+
string.
|
|
24
|
+
|
|
25
|
+
def `highlight(code, lexer, formatter, outfile=None):`
|
|
26
|
+
This is the most high-level highlighting function.
|
|
27
|
+
It combines `lex` and `format` in one function.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
Functions from `pygments.lexers`:
|
|
31
|
+
|
|
32
|
+
def `get_lexer_by_name(alias, **options):`
|
|
33
|
+
Return an instance of a `Lexer` subclass that has `alias` in its
|
|
34
|
+
aliases list. The lexer is given the `options` at its
|
|
35
|
+
instantiation.
|
|
36
|
+
|
|
37
|
+
Will raise `pygments.util.ClassNotFound` if no lexer with that alias is
|
|
38
|
+
found.
|
|
39
|
+
|
|
40
|
+
def `get_lexer_for_filename(fn, **options):`
|
|
41
|
+
Return a `Lexer` subclass instance that has a filename pattern
|
|
42
|
+
matching `fn`. The lexer is given the `options` at its
|
|
43
|
+
instantiation.
|
|
44
|
+
|
|
45
|
+
Will raise `pygments.util.ClassNotFound` if no lexer for that filename is
|
|
46
|
+
found.
|
|
47
|
+
|
|
48
|
+
def `get_lexer_for_mimetype(mime, **options):`
|
|
49
|
+
Return a `Lexer` subclass instance that has `mime` in its mimetype
|
|
50
|
+
list. The lexer is given the `options` at its instantiation.
|
|
51
|
+
|
|
52
|
+
Will raise `pygments.util.ClassNotFound` if not lexer for that mimetype is
|
|
53
|
+
found.
|
|
54
|
+
|
|
55
|
+
def `guess_lexer(text, **options):`
|
|
56
|
+
Return a `Lexer` subclass instance that's guessed from the text
|
|
57
|
+
in `text`. For that, the `analyse_text()` method of every known
|
|
58
|
+
lexer class is called with the text as argument, and the lexer
|
|
59
|
+
which returned the highest value will be instantiated and returned.
|
|
60
|
+
|
|
61
|
+
`pygments.util.ClassNotFound` is raised if no lexer thinks it can handle the
|
|
62
|
+
content.
|
|
63
|
+
|
|
64
|
+
def `guess_lexer_for_filename(filename, text, **options):`
|
|
65
|
+
As `guess_lexer()`, but only lexers which have a pattern in `filenames`
|
|
66
|
+
or `alias_filenames` that matches `filename` are taken into consideration.
|
|
67
|
+
|
|
68
|
+
`pygments.util.ClassNotFound` is raised if no lexer thinks it can handle the
|
|
69
|
+
content.
|
|
70
|
+
|
|
71
|
+
def `get_all_lexers():`
|
|
72
|
+
Return an iterable over all registered lexers, yielding tuples in the
|
|
73
|
+
format::
|
|
74
|
+
|
|
75
|
+
(longname, tuple of aliases, tuple of filename patterns, tuple of mimetypes)
|
|
76
|
+
|
|
77
|
+
*New in Pygments 0.6.*
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
Functions from `pygments.formatters`:
|
|
81
|
+
|
|
82
|
+
def `get_formatter_by_name(alias, **options):`
|
|
83
|
+
Return an instance of a `Formatter` subclass that has `alias` in its
|
|
84
|
+
aliases list. The formatter is given the `options` at its
|
|
85
|
+
instantiation.
|
|
86
|
+
|
|
87
|
+
Will raise `pygments.util.ClassNotFound` if no formatter with that alias is
|
|
88
|
+
found.
|
|
89
|
+
|
|
90
|
+
def `get_formatter_for_filename(fn, **options):`
|
|
91
|
+
Return a `Formatter` subclass instance that has a filename pattern
|
|
92
|
+
matching `fn`. The formatter is given the `options` at its
|
|
93
|
+
instantiation.
|
|
94
|
+
|
|
95
|
+
Will raise `pygments.util.ClassNotFound` if no formatter for that filename
|
|
96
|
+
is found.
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
Functions from `pygments.styles`:
|
|
100
|
+
|
|
101
|
+
def `get_style_by_name(name):`
|
|
102
|
+
Return a style class by its short name. The names of the builtin styles
|
|
103
|
+
are listed in `pygments.styles.STYLE_MAP`.
|
|
104
|
+
|
|
105
|
+
Will raise `pygments.util.ClassNotFound` if no style of that name is found.
|
|
106
|
+
|
|
107
|
+
def `get_all_styles():`
|
|
108
|
+
Return an iterable over all registered styles, yielding their names.
|
|
109
|
+
|
|
110
|
+
*New in Pygments 0.6.*
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
Lexers
|
|
114
|
+
======
|
|
115
|
+
|
|
116
|
+
A lexer (derived from `pygments.lexer.Lexer`) has the following functions:
|
|
117
|
+
|
|
118
|
+
def `__init__(self, **options):`
|
|
119
|
+
The constructor. Takes a \*\*keywords dictionary of options.
|
|
120
|
+
Every subclass must first process its own options and then call
|
|
121
|
+
the `Lexer` constructor, since it processes the `stripnl`,
|
|
122
|
+
`stripall` and `tabsize` options.
|
|
123
|
+
|
|
124
|
+
An example looks like this:
|
|
125
|
+
|
|
126
|
+
.. sourcecode:: python
|
|
127
|
+
|
|
128
|
+
def __init__(self, **options):
|
|
129
|
+
self.compress = options.get('compress', '')
|
|
130
|
+
Lexer.__init__(self, **options)
|
|
131
|
+
|
|
132
|
+
As these options must all be specifiable as strings (due to the
|
|
133
|
+
command line usage), there are various utility functions
|
|
134
|
+
available to help with that, see `Option processing`_.
|
|
135
|
+
|
|
136
|
+
def `get_tokens(self, text):`
|
|
137
|
+
This method is the basic interface of a lexer. It is called by
|
|
138
|
+
the `highlight()` function. It must process the text and return an
|
|
139
|
+
iterable of ``(tokentype, value)`` pairs from `text`.
|
|
140
|
+
|
|
141
|
+
Normally, you don't need to override this method. The default
|
|
142
|
+
implementation processes the `stripnl`, `stripall` and `tabsize`
|
|
143
|
+
options and then yields all tokens from `get_tokens_unprocessed()`,
|
|
144
|
+
with the ``index`` dropped.
|
|
145
|
+
|
|
146
|
+
def `get_tokens_unprocessed(self, text):`
|
|
147
|
+
This method should process the text and return an iterable of
|
|
148
|
+
``(index, tokentype, value)`` tuples where ``index`` is the starting
|
|
149
|
+
position of the token within the input text.
|
|
150
|
+
|
|
151
|
+
This method must be overridden by subclasses.
|
|
152
|
+
|
|
153
|
+
def `analyse_text(text):`
|
|
154
|
+
A static method which is called for lexer guessing. It should analyse
|
|
155
|
+
the text and return a float in the range from ``0.0`` to ``1.0``.
|
|
156
|
+
If it returns ``0.0``, the lexer will not be selected as the most
|
|
157
|
+
probable one, if it returns ``1.0``, it will be selected immediately.
|
|
158
|
+
|
|
159
|
+
For a list of known tokens have a look at the `Tokens`_ page.
|
|
160
|
+
|
|
161
|
+
A lexer also can have the following attributes (in fact, they are mandatory
|
|
162
|
+
except `alias_filenames`) that are used by the builtin lookup mechanism.
|
|
163
|
+
|
|
164
|
+
`name`
|
|
165
|
+
Full name for the lexer, in human-readable form.
|
|
166
|
+
|
|
167
|
+
`aliases`
|
|
168
|
+
A list of short, unique identifiers that can be used to lookup
|
|
169
|
+
the lexer from a list, e.g. using `get_lexer_by_name()`.
|
|
170
|
+
|
|
171
|
+
`filenames`
|
|
172
|
+
A list of `fnmatch` patterns that match filenames which contain
|
|
173
|
+
content for this lexer. The patterns in this list should be unique among
|
|
174
|
+
all lexers.
|
|
175
|
+
|
|
176
|
+
`alias_filenames`
|
|
177
|
+
A list of `fnmatch` patterns that match filenames which may or may not
|
|
178
|
+
contain content for this lexer. This list is used by the
|
|
179
|
+
`guess_lexer_for_filename()` function, to determine which lexers are
|
|
180
|
+
then included in guessing the correct one. That means that e.g. every
|
|
181
|
+
lexer for HTML and a template language should include ``\*.html`` in
|
|
182
|
+
this list.
|
|
183
|
+
|
|
184
|
+
`mimetypes`
|
|
185
|
+
A list of MIME types for content that can be lexed with this
|
|
186
|
+
lexer.
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
.. _Tokens: tokens.txt
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
Formatters
|
|
193
|
+
==========
|
|
194
|
+
|
|
195
|
+
A formatter (derived from `pygments.formatter.Formatter`) has the following
|
|
196
|
+
functions:
|
|
197
|
+
|
|
198
|
+
def `__init__(self, **options):`
|
|
199
|
+
As with lexers, this constructor processes options and then must call
|
|
200
|
+
the base class `__init__`.
|
|
201
|
+
|
|
202
|
+
The `Formatter` class recognizes the options `style`, `full` and
|
|
203
|
+
`title`. It is up to the formatter class whether it uses them.
|
|
204
|
+
|
|
205
|
+
def `get_style_defs(self, arg=''):`
|
|
206
|
+
This method must return statements or declarations suitable to define
|
|
207
|
+
the current style for subsequent highlighted text (e.g. CSS classes
|
|
208
|
+
in the `HTMLFormatter`).
|
|
209
|
+
|
|
210
|
+
The optional argument `arg` can be used to modify the generation and
|
|
211
|
+
is formatter dependent (it is standardized because it can be given on
|
|
212
|
+
the command line).
|
|
213
|
+
|
|
214
|
+
This method is called by the ``-S`` `command-line option`_, the `arg`
|
|
215
|
+
is then given by the ``-a`` option.
|
|
216
|
+
|
|
217
|
+
def `format(self, tokensource, outfile):`
|
|
218
|
+
This method must format the tokens from the `tokensource` iterable and
|
|
219
|
+
write the formatted version to the file object `outfile`.
|
|
220
|
+
|
|
221
|
+
Formatter options can control how exactly the tokens are converted.
|
|
222
|
+
|
|
223
|
+
.. _command-line option: cmdline.txt
|
|
224
|
+
|
|
225
|
+
A formatter must have the following attributes that are used by the
|
|
226
|
+
builtin lookup mechanism. (*New in Pygments 0.7.*)
|
|
227
|
+
|
|
228
|
+
`name`
|
|
229
|
+
Full name for the formatter, in human-readable form.
|
|
230
|
+
|
|
231
|
+
`aliases`
|
|
232
|
+
A list of short, unique identifiers that can be used to lookup
|
|
233
|
+
the formatter from a list, e.g. using `get_formatter_by_name()`.
|
|
234
|
+
|
|
235
|
+
`filenames`
|
|
236
|
+
A list of `fnmatch` patterns that match filenames for which this formatter
|
|
237
|
+
can produce output. The patterns in this list should be unique among
|
|
238
|
+
all formatters.
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
Option processing
|
|
242
|
+
=================
|
|
243
|
+
|
|
244
|
+
The `pygments.util` module has some utility functions usable for option
|
|
245
|
+
processing:
|
|
246
|
+
|
|
247
|
+
class `OptionError`
|
|
248
|
+
This exception will be raised by all option processing functions if
|
|
249
|
+
the type or value of the argument is not correct.
|
|
250
|
+
|
|
251
|
+
def `get_bool_opt(options, optname, default=None):`
|
|
252
|
+
Interpret the key `optname` from the dictionary `options`
|
|
253
|
+
as a boolean and return it. Return `default` if `optname`
|
|
254
|
+
is not in `options`.
|
|
255
|
+
|
|
256
|
+
The valid string values for ``True`` are ``1``, ``yes``,
|
|
257
|
+
``true`` and ``on``, the ones for ``False`` are ``0``,
|
|
258
|
+
``no``, ``false`` and ``off`` (matched case-insensitively).
|
|
259
|
+
|
|
260
|
+
def `get_int_opt(options, optname, default=None):`
|
|
261
|
+
As `get_bool_opt`, but interpret the value as an integer.
|
|
262
|
+
|
|
263
|
+
def `get_list_opt(options, optname, default=None):`
|
|
264
|
+
If the key `optname` from the dictionary `options` is a string,
|
|
265
|
+
split it at whitespace and return it. If it is already a list
|
|
266
|
+
or a tuple, it is returned as a list.
|
|
267
|
+
|
|
268
|
+
def `get_choice_opt(options, optname, allowed, default=None):`
|
|
269
|
+
If the key `optname` from the dictionary is not in the sequence
|
|
270
|
+
`allowed`, raise an error, otherwise return it. *New in Pygments 0.8.*
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
.. -*- mode: rst -*-
|
|
2
|
+
|
|
3
|
+
======================
|
|
4
|
+
Command Line Interface
|
|
5
|
+
======================
|
|
6
|
+
|
|
7
|
+
You can use Pygments from the shell, provided you installed the `pygmentize`
|
|
8
|
+
script::
|
|
9
|
+
|
|
10
|
+
$ pygmentize test.py
|
|
11
|
+
print "Hello World"
|
|
12
|
+
|
|
13
|
+
will print the file test.py to standard output, using the Python lexer
|
|
14
|
+
(inferred from the file name extension) and the terminal formatter (because
|
|
15
|
+
you didn't give an explicit formatter name).
|
|
16
|
+
|
|
17
|
+
If you want HTML output::
|
|
18
|
+
|
|
19
|
+
$ pygmentize -f html -l python -o test.html test.py
|
|
20
|
+
|
|
21
|
+
As you can see, the -l option explicitly selects a lexer. As seen above, if you
|
|
22
|
+
give an input file name and it has an extension that Pygments recognizes, you can
|
|
23
|
+
omit this option.
|
|
24
|
+
|
|
25
|
+
The ``-o`` option gives an output file name. If it is not given, output is
|
|
26
|
+
written to stdout.
|
|
27
|
+
|
|
28
|
+
The ``-f`` option selects a formatter (as with ``-l``, it can also be omitted
|
|
29
|
+
if an output file name is given and has a supported extension).
|
|
30
|
+
If no output file name is given and ``-f`` is omitted, the
|
|
31
|
+
`TerminalFormatter` is used.
|
|
32
|
+
|
|
33
|
+
The above command could therefore also be given as::
|
|
34
|
+
|
|
35
|
+
$ pygmentize -o test.html test.py
|
|
36
|
+
|
|
37
|
+
To create a full HTML document, including line numbers and stylesheet (using the
|
|
38
|
+
"emacs" style), highlighting the Python file ``test.py`` to ``test.html``::
|
|
39
|
+
|
|
40
|
+
$ pygmentize -O full,style=emacs -o test.html test.py
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
Options and filters
|
|
44
|
+
-------------------
|
|
45
|
+
|
|
46
|
+
Lexer and formatter options can be given using the ``-O`` option::
|
|
47
|
+
|
|
48
|
+
$ pygmentize -f html -O style=colorful,linenos=1 -l python test.py
|
|
49
|
+
|
|
50
|
+
Be sure to enclose the option string in quotes if it contains any special shell
|
|
51
|
+
characters, such as spaces or expansion wildcards like ``*``. If an option
|
|
52
|
+
expects a list value, separate the list entries with spaces (you'll have to
|
|
53
|
+
quote the option value in this case too, so that the shell doesn't split it).
|
|
54
|
+
|
|
55
|
+
Since the ``-O`` option argument is split at commas and expects the split values
|
|
56
|
+
to be of the form ``name=value``, you can't give an option value that contains
|
|
57
|
+
commas or equals signs. Therefore, an option ``-P`` is provided (as of Pygments
|
|
58
|
+
0.9) that works like ``-O`` but can only pass one option per ``-P``. Its value
|
|
59
|
+
can then contain all characters::
|
|
60
|
+
|
|
61
|
+
$ pygmentize -P "heading=Pygments, the Python highlighter" ...
|
|
62
|
+
|
|
63
|
+
Filters are added to the token stream using the ``-F`` option::
|
|
64
|
+
|
|
65
|
+
$ pygmentize -f html -l pascal -F keywordcase:case=upper main.pas
|
|
66
|
+
|
|
67
|
+
As you see, options for the filter are given after a colon. As for ``-O``, the
|
|
68
|
+
filter name and options must be one shell word, so there may not be any spaces
|
|
69
|
+
around the colon.
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
Generating styles
|
|
73
|
+
-----------------
|
|
74
|
+
|
|
75
|
+
Formatters normally don't output full style information. For example, the HTML
|
|
76
|
+
formatter by default only outputs ``<span>`` tags with ``class`` attributes.
|
|
77
|
+
Therefore, there's a special ``-S`` option for generating style definitions.
|
|
78
|
+
Usage is as follows::
|
|
79
|
+
|
|
80
|
+
$ pygmentize -f html -S colorful -a .syntax
|
|
81
|
+
|
|
82
|
+
generates a CSS style sheet (because you selected the HTML formatter) for
|
|
83
|
+
the "colorful" style prepending a ".syntax" selector to all style rules.
|
|
84
|
+
|
|
85
|
+
For an explanation what ``-a`` means for `a particular formatter`_, look for
|
|
86
|
+
the `arg` argument for the formatter's `get_style_defs()` method.
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
Getting lexer names
|
|
90
|
+
-------------------
|
|
91
|
+
|
|
92
|
+
*New in Pygments 1.0.*
|
|
93
|
+
|
|
94
|
+
The ``-N`` option guesses a lexer name for a given filename, so that ::
|
|
95
|
+
|
|
96
|
+
$ pygmentize -N setup.py
|
|
97
|
+
|
|
98
|
+
will print out ``python``. It won't highlight anything yet. If no specific
|
|
99
|
+
lexer is known for that filename, ``text`` is printed.
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
Getting help
|
|
103
|
+
------------
|
|
104
|
+
|
|
105
|
+
The ``-L`` option lists lexers, formatters, along with their short
|
|
106
|
+
names and supported file name extensions, styles and filters. If you want to see
|
|
107
|
+
only one category, give it as an argument::
|
|
108
|
+
|
|
109
|
+
$ pygmentize -L filters
|
|
110
|
+
|
|
111
|
+
will list only all installed filters.
|
|
112
|
+
|
|
113
|
+
The ``-H`` option will give you detailed information (the same that can be found
|
|
114
|
+
in this documentation) about a lexer, formatter or filter. Usage is as follows::
|
|
115
|
+
|
|
116
|
+
$ pygmentize -H formatter html
|
|
117
|
+
|
|
118
|
+
will print the help for the HTML formatter, while ::
|
|
119
|
+
|
|
120
|
+
$ pygmentize -H lexer python
|
|
121
|
+
|
|
122
|
+
will print the help for the Python lexer, etc.
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
A note on encodings
|
|
126
|
+
-------------------
|
|
127
|
+
|
|
128
|
+
*New in Pygments 0.9.*
|
|
129
|
+
|
|
130
|
+
Pygments tries to be smart regarding encodings in the formatting process:
|
|
131
|
+
|
|
132
|
+
* If you give an ``encoding`` option, it will be used as the input and
|
|
133
|
+
output encoding.
|
|
134
|
+
|
|
135
|
+
* If you give an ``outencoding`` option, it will override ``encoding``
|
|
136
|
+
as the output encoding.
|
|
137
|
+
|
|
138
|
+
* If you don't give an encoding and have given an output file, the default
|
|
139
|
+
encoding for lexer and formatter is ``latin1`` (which will pass through
|
|
140
|
+
all non-ASCII characters).
|
|
141
|
+
|
|
142
|
+
* If you don't give an encoding and haven't given an output file (that means
|
|
143
|
+
output is written to the console), the default encoding for lexer and
|
|
144
|
+
formatter is the terminal encoding (`sys.stdout.encoding`).
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
.. _a particular formatter: formatters.txt
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
.. -*- mode: rst -*-
|
|
2
|
+
|
|
3
|
+
=====================
|
|
4
|
+
Write your own filter
|
|
5
|
+
=====================
|
|
6
|
+
|
|
7
|
+
*New in Pygments 0.7.*
|
|
8
|
+
|
|
9
|
+
Writing own filters is very easy. All you have to do is to subclass
|
|
10
|
+
the `Filter` class and override the `filter` method. Additionally a
|
|
11
|
+
filter is instanciated with some keyword arguments you can use to
|
|
12
|
+
adjust the behavior of your filter.
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
Subclassing Filters
|
|
16
|
+
===================
|
|
17
|
+
|
|
18
|
+
As an example, we write a filter that converts all `Name.Function` tokens
|
|
19
|
+
to normal `Name` tokens to make the output less colorful.
|
|
20
|
+
|
|
21
|
+
.. sourcecode:: python
|
|
22
|
+
|
|
23
|
+
from pygments.util import get_bool_opt
|
|
24
|
+
from pygments.token import Name
|
|
25
|
+
from pygments.filter import Filter
|
|
26
|
+
|
|
27
|
+
class UncolorFilter(Filter):
|
|
28
|
+
|
|
29
|
+
def __init__(self, **options):
|
|
30
|
+
Filter.__init__(self, **options)
|
|
31
|
+
self.class_too = get_bool_opt(options, 'classtoo')
|
|
32
|
+
|
|
33
|
+
def filter(self, lexer, stream):
|
|
34
|
+
for ttype, value in stream:
|
|
35
|
+
if ttype is Name.Function or (self.class_too and
|
|
36
|
+
ttype is Name.Class):
|
|
37
|
+
ttype = Name
|
|
38
|
+
yield ttype, value
|
|
39
|
+
|
|
40
|
+
Some notes on the `lexer` argument: that can be quite confusing since it doesn't
|
|
41
|
+
need to be a lexer instance. If a filter was added by using the `add_filter()`
|
|
42
|
+
function of lexers, that lexer is registered for the filter. In that case
|
|
43
|
+
`lexer` will refer to the lexer that has registered the filter. It *can* be used
|
|
44
|
+
to access options passed to a lexer. Because it could be `None` you always have
|
|
45
|
+
to check for that case if you access it.
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
Using a decorator
|
|
49
|
+
=================
|
|
50
|
+
|
|
51
|
+
You can also use the `simplefilter` decorator from the `pygments.filter` module:
|
|
52
|
+
|
|
53
|
+
.. sourcecode:: python
|
|
54
|
+
|
|
55
|
+
from pygments.util import get_bool_opt
|
|
56
|
+
from pygments.token import Name
|
|
57
|
+
from pygments.filter import simplefilter
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
@simplefilter
|
|
61
|
+
def uncolor(lexer, stream, options):
|
|
62
|
+
class_too = get_bool_opt(options, 'classtoo')
|
|
63
|
+
for ttype, value in stream:
|
|
64
|
+
if ttype is Name.Function or (class_too and
|
|
65
|
+
ttype is Name.Class):
|
|
66
|
+
ttype = Name
|
|
67
|
+
yield ttype, value
|
|
68
|
+
|
|
69
|
+
The decorator automatically subclasses an internal filter class and uses the
|
|
70
|
+
decorated function for filtering.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
.. -*- mode: rst -*-
|
|
2
|
+
|
|
3
|
+
=======
|
|
4
|
+
Filters
|
|
5
|
+
=======
|
|
6
|
+
|
|
7
|
+
*New in Pygments 0.7.*
|
|
8
|
+
|
|
9
|
+
You can filter token streams coming from lexers to improve or annotate the
|
|
10
|
+
output. For example, you can highlight special words in comments, convert
|
|
11
|
+
keywords to upper or lowercase to enforce a style guide etc.
|
|
12
|
+
|
|
13
|
+
To apply a filter, you can use the `add_filter()` method of a lexer:
|
|
14
|
+
|
|
15
|
+
.. sourcecode:: pycon
|
|
16
|
+
|
|
17
|
+
>>> from pygments.lexers import PythonLexer
|
|
18
|
+
>>> l = PythonLexer()
|
|
19
|
+
>>> # add a filter given by a string and options
|
|
20
|
+
>>> l.add_filter('codetagify', case='lower')
|
|
21
|
+
>>> l.filters
|
|
22
|
+
[<pygments.filters.CodeTagFilter object at 0xb785decc>]
|
|
23
|
+
>>> from pygments.filters import KeywordCaseFilter
|
|
24
|
+
>>> # or give an instance
|
|
25
|
+
>>> l.add_filter(KeywordCaseFilter(case='lower'))
|
|
26
|
+
|
|
27
|
+
The `add_filter()` method takes keyword arguments which are forwarded to
|
|
28
|
+
the constructor of the filter.
|
|
29
|
+
|
|
30
|
+
To get a list of all registered filters by name, you can use the
|
|
31
|
+
`get_all_filters()` function from the `pygments.filters` module that returns an
|
|
32
|
+
iterable for all known filters.
|
|
33
|
+
|
|
34
|
+
If you want to write your own filter, have a look at `Write your own filter`_.
|
|
35
|
+
|
|
36
|
+
.. _Write your own filter: filterdevelopment.txt
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
Builtin Filters
|
|
40
|
+
===============
|
|
41
|
+
|
|
42
|
+
[builtin_filter_docs]
|