pygments.rb-jruby 0.5.4
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/.gitignore +6 -0
- data/CHANGELOG.md +71 -0
- data/Gemfile +2 -0
- data/LICENSE +17 -0
- data/README.md +118 -0
- data/Rakefile +66 -0
- data/bench.rb +22 -0
- data/cache-lexers.rb +8 -0
- data/lexers +0 -0
- data/lib/pygments.rb +8 -0
- data/lib/pygments/lexer.rb +148 -0
- data/lib/pygments/mentos.py +351 -0
- data/lib/pygments/popen.rb +404 -0
- data/lib/pygments/version.rb +3 -0
- data/pygments.rb.gemspec +24 -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 +354 -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 +559 -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.py +15 -0
- data/vendor/pygments-main/tests/support/tags +36 -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 +557 -0
@@ -0,0 +1,144 @@
|
|
1
|
+
#!/usr/bin/lasso9
|
2
|
+
|
3
|
+
/*
|
4
|
+
Builtins Generator for Lasso 9
|
5
|
+
|
6
|
+
This is the shell script that was used to extract Lasso 9's built-in keywords
|
7
|
+
and generate most of the _lassobuiltins.py file. When run, it creates a file
|
8
|
+
named "lassobuiltins-9.py" containing the types, traits, methods, and members
|
9
|
+
of the currently-installed version of Lasso 9.
|
10
|
+
|
11
|
+
A list of tags in Lasso 8 can be generated with this code:
|
12
|
+
|
13
|
+
<?LassoScript
|
14
|
+
local('l8tags' = list,
|
15
|
+
'l8libs' = array('Cache','ChartFX','Client','Database','File','HTTP',
|
16
|
+
'iCal','Lasso','Link','List','PDF','Response','Stock','String',
|
17
|
+
'Thread','Valid','WAP','XML'));
|
18
|
+
iterate(#l8libs, local('library'));
|
19
|
+
local('result' = namespace_load(#library));
|
20
|
+
/iterate;
|
21
|
+
iterate(tags_list, local('i'));
|
22
|
+
#l8tags->insert(string_removeleading(#i, -pattern='_global_'));
|
23
|
+
/iterate;
|
24
|
+
#l8tags->sort;
|
25
|
+
iterate(#l8tags, local('i'));
|
26
|
+
string_lowercase(#i)+"<br>";
|
27
|
+
/iterate;
|
28
|
+
|
29
|
+
*/
|
30
|
+
|
31
|
+
output("This output statement is required for a complete list of methods.")
|
32
|
+
local(f) = file("lassobuiltins-9.py")
|
33
|
+
#f->doWithClose => {
|
34
|
+
|
35
|
+
#f->openWrite
|
36
|
+
#f->writeString('# -*- coding: utf-8 -*-
|
37
|
+
"""
|
38
|
+
pygments.lexers._lassobuiltins
|
39
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
40
|
+
|
41
|
+
Built-in Lasso types, traits, methods, and members.
|
42
|
+
|
43
|
+
:copyright: Copyright 2006-'+date->year+' by the Pygments team, see AUTHORS.
|
44
|
+
:license: BSD, see LICENSE for details.
|
45
|
+
"""
|
46
|
+
|
47
|
+
')
|
48
|
+
|
49
|
+
lcapi_loadModules
|
50
|
+
|
51
|
+
// Load all of the libraries from builtins and lassoserver
|
52
|
+
// This forces all possible available types and methods to be registered
|
53
|
+
local(srcs =
|
54
|
+
tie(
|
55
|
+
dir(sys_masterHomePath + 'LassoLibraries/builtins/')->eachFilePath,
|
56
|
+
dir(sys_masterHomePath + 'LassoLibraries/lassoserver/')->eachFilePath
|
57
|
+
)
|
58
|
+
)
|
59
|
+
|
60
|
+
with topLevelDir in #srcs
|
61
|
+
where not #topLevelDir->lastComponent->beginsWith('.')
|
62
|
+
do protect => {
|
63
|
+
handle_error => {
|
64
|
+
stdoutnl('Unable to load: ' + #topLevelDir + ' ' + error_msg)
|
65
|
+
}
|
66
|
+
library_thread_loader->loadLibrary(#topLevelDir)
|
67
|
+
stdoutnl('Loaded: ' + #topLevelDir)
|
68
|
+
}
|
69
|
+
|
70
|
+
local(
|
71
|
+
typesList = list(),
|
72
|
+
traitsList = list(),
|
73
|
+
unboundMethodsList = list(),
|
74
|
+
memberMethodsList = list()
|
75
|
+
)
|
76
|
+
|
77
|
+
// types
|
78
|
+
with type in sys_listTypes
|
79
|
+
where #typesList !>> #type
|
80
|
+
do {
|
81
|
+
#typesList->insert(#type)
|
82
|
+
with method in #type->getType->listMethods
|
83
|
+
let name = #method->methodName
|
84
|
+
where not #name->asString->endsWith('=') // skip setter methods
|
85
|
+
where #name->asString->isAlpha(1) // skip unpublished methods
|
86
|
+
where #memberMethodsList !>> #name
|
87
|
+
do #memberMethodsList->insert(#name)
|
88
|
+
}
|
89
|
+
|
90
|
+
// traits
|
91
|
+
with trait in sys_listTraits
|
92
|
+
where not #trait->asString->beginsWith('$') // skip combined traits
|
93
|
+
where #traitsList !>> #trait
|
94
|
+
do {
|
95
|
+
#traitsList->insert(#trait)
|
96
|
+
with method in tie(#trait->getType->provides, #trait->getType->requires)
|
97
|
+
let name = #method->methodName
|
98
|
+
where not #name->asString->endsWith('=') // skip setter methods
|
99
|
+
where #name->asString->isAlpha(1) // skip unpublished methods
|
100
|
+
where #memberMethodsList !>> #name
|
101
|
+
do #memberMethodsList->insert(#name)
|
102
|
+
}
|
103
|
+
|
104
|
+
// unbound methods
|
105
|
+
with method in sys_listUnboundMethods
|
106
|
+
let name = #method->methodName
|
107
|
+
where not #name->asString->endsWith('=') // skip setter methods
|
108
|
+
where #name->asString->isAlpha(1) // skip unpublished methods
|
109
|
+
where #typesList !>> #name
|
110
|
+
where #traitsList !>> #name
|
111
|
+
where #unboundMethodsList !>> #name
|
112
|
+
do #unboundMethodsList->insert(#name)
|
113
|
+
|
114
|
+
#f->writeString("BUILTINS = {
|
115
|
+
'Types': [
|
116
|
+
")
|
117
|
+
with t in #typesList
|
118
|
+
do !#t->asString->endsWith('$') ? #f->writeString(" '"+string_lowercase(#t->asString)+"',\n")
|
119
|
+
|
120
|
+
#f->writeString(" ],
|
121
|
+
'Traits': [
|
122
|
+
")
|
123
|
+
with t in #traitsList
|
124
|
+
do #f->writeString(" '"+string_lowercase(#t->asString)+"',\n")
|
125
|
+
|
126
|
+
#f->writeString(" ],
|
127
|
+
'Unbound Methods': [
|
128
|
+
")
|
129
|
+
with t in #unboundMethodsList
|
130
|
+
do #f->writeString(" '"+string_lowercase(#t->asString)+"',\n")
|
131
|
+
|
132
|
+
#f->writeString(" ]
|
133
|
+
}
|
134
|
+
MEMBERS = {
|
135
|
+
'Member Methods': [
|
136
|
+
")
|
137
|
+
with t in #memberMethodsList
|
138
|
+
do #f->writeString(" '"+string_lowercase(#t->asString)+"',\n")
|
139
|
+
|
140
|
+
#f->writeString(" ]
|
141
|
+
}
|
142
|
+
")
|
143
|
+
|
144
|
+
}
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
"""
|
3
|
+
The Pygments Markdown Preprocessor
|
4
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
5
|
+
|
6
|
+
This fragment is a Markdown_ preprocessor that renders source code
|
7
|
+
to HTML via Pygments. To use it, invoke Markdown like so::
|
8
|
+
|
9
|
+
from markdown import Markdown
|
10
|
+
|
11
|
+
md = Markdown()
|
12
|
+
md.textPreprocessors.insert(0, CodeBlockPreprocessor())
|
13
|
+
html = md.convert(someText)
|
14
|
+
|
15
|
+
markdown is then a callable that can be passed to the context of
|
16
|
+
a template and used in that template, for example.
|
17
|
+
|
18
|
+
This uses CSS classes by default, so use
|
19
|
+
``pygmentize -S <some style> -f html > pygments.css``
|
20
|
+
to create a stylesheet to be added to the website.
|
21
|
+
|
22
|
+
You can then highlight source code in your markdown markup::
|
23
|
+
|
24
|
+
[sourcecode:lexer]
|
25
|
+
some code
|
26
|
+
[/sourcecode]
|
27
|
+
|
28
|
+
.. _Markdown: http://www.freewisdom.org/projects/python-markdown/
|
29
|
+
|
30
|
+
:copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
|
31
|
+
:license: BSD, see LICENSE for details.
|
32
|
+
"""
|
33
|
+
|
34
|
+
# Options
|
35
|
+
# ~~~~~~~
|
36
|
+
|
37
|
+
# Set to True if you want inline CSS styles instead of classes
|
38
|
+
INLINESTYLES = False
|
39
|
+
|
40
|
+
|
41
|
+
import re
|
42
|
+
|
43
|
+
from markdown import TextPreprocessor
|
44
|
+
|
45
|
+
from pygments import highlight
|
46
|
+
from pygments.formatters import HtmlFormatter
|
47
|
+
from pygments.lexers import get_lexer_by_name, TextLexer
|
48
|
+
|
49
|
+
|
50
|
+
class CodeBlockPreprocessor(TextPreprocessor):
|
51
|
+
|
52
|
+
pattern = re.compile(
|
53
|
+
r'\[sourcecode:(.+?)\](.+?)\[/sourcecode\]', re.S)
|
54
|
+
|
55
|
+
formatter = HtmlFormatter(noclasses=INLINESTYLES)
|
56
|
+
|
57
|
+
def run(self, lines):
|
58
|
+
def repl(m):
|
59
|
+
try:
|
60
|
+
lexer = get_lexer_by_name(m.group(1))
|
61
|
+
except ValueError:
|
62
|
+
lexer = TextLexer()
|
63
|
+
code = highlight(m.group(2), lexer, self.formatter)
|
64
|
+
code = code.replace('\n\n', '\n \n').replace('\n', '<br />')
|
65
|
+
return '\n\n<div class="code">%s</div>\n\n' % code
|
66
|
+
return self.pattern.sub(
|
67
|
+
repl, lines)
|
@@ -0,0 +1,112 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
"""
|
3
|
+
The Pygments MoinMoin Parser
|
4
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
5
|
+
|
6
|
+
This is a MoinMoin parser plugin that renders source code to HTML via
|
7
|
+
Pygments; you need Pygments 0.7 or newer for this parser to work.
|
8
|
+
|
9
|
+
To use it, set the options below to match your setup and put this file in
|
10
|
+
the data/plugin/parser subdirectory of your Moin instance, and give it the
|
11
|
+
name that the parser directive should have. For example, if you name the
|
12
|
+
file ``code.py``, you can get a highlighted Python code sample with this
|
13
|
+
Wiki markup::
|
14
|
+
|
15
|
+
{{{
|
16
|
+
#!code python
|
17
|
+
[...]
|
18
|
+
}}}
|
19
|
+
|
20
|
+
Additionally, if you set ATTACHMENTS below to True, Pygments will also be
|
21
|
+
called for all attachments for whose filenames there is no other parser
|
22
|
+
registered.
|
23
|
+
|
24
|
+
You are responsible for including CSS rules that will map the Pygments CSS
|
25
|
+
classes to colors. You can output a stylesheet file with `pygmentize`, put
|
26
|
+
it into the `htdocs` directory of your Moin instance and then include it in
|
27
|
+
the `stylesheets` configuration option in the Moin config, e.g.::
|
28
|
+
|
29
|
+
stylesheets = [('screen', '/htdocs/pygments.css')]
|
30
|
+
|
31
|
+
If you do not want to do that and are willing to accept larger HTML
|
32
|
+
output, you can set the INLINESTYLES option below to True.
|
33
|
+
|
34
|
+
:copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
|
35
|
+
:license: BSD, see LICENSE for details.
|
36
|
+
"""
|
37
|
+
|
38
|
+
# Options
|
39
|
+
# ~~~~~~~
|
40
|
+
|
41
|
+
# Set to True if you want to highlight attachments, in addition to
|
42
|
+
# {{{ }}} blocks.
|
43
|
+
ATTACHMENTS = True
|
44
|
+
|
45
|
+
# Set to True if you want inline CSS styles instead of classes
|
46
|
+
INLINESTYLES = False
|
47
|
+
|
48
|
+
|
49
|
+
import sys
|
50
|
+
|
51
|
+
from pygments import highlight
|
52
|
+
from pygments.lexers import get_lexer_by_name, get_lexer_for_filename, TextLexer
|
53
|
+
from pygments.formatters import HtmlFormatter
|
54
|
+
from pygments.util import ClassNotFound
|
55
|
+
|
56
|
+
|
57
|
+
# wrap lines in <span>s so that the Moin-generated line numbers work
|
58
|
+
class MoinHtmlFormatter(HtmlFormatter):
|
59
|
+
def wrap(self, source, outfile):
|
60
|
+
for line in source:
|
61
|
+
yield 1, '<span class="line">' + line[1] + '</span>'
|
62
|
+
|
63
|
+
htmlformatter = MoinHtmlFormatter(noclasses=INLINESTYLES)
|
64
|
+
textlexer = TextLexer()
|
65
|
+
codeid = [0]
|
66
|
+
|
67
|
+
|
68
|
+
class Parser:
|
69
|
+
"""
|
70
|
+
MoinMoin Pygments parser.
|
71
|
+
"""
|
72
|
+
if ATTACHMENTS:
|
73
|
+
extensions = '*'
|
74
|
+
else:
|
75
|
+
extensions = []
|
76
|
+
|
77
|
+
Dependencies = []
|
78
|
+
|
79
|
+
def __init__(self, raw, request, **kw):
|
80
|
+
self.raw = raw
|
81
|
+
self.req = request
|
82
|
+
if "format_args" in kw:
|
83
|
+
# called from a {{{ }}} block
|
84
|
+
try:
|
85
|
+
self.lexer = get_lexer_by_name(kw['format_args'].strip())
|
86
|
+
except ClassNotFound:
|
87
|
+
self.lexer = textlexer
|
88
|
+
return
|
89
|
+
if "filename" in kw:
|
90
|
+
# called for an attachment
|
91
|
+
filename = kw['filename']
|
92
|
+
else:
|
93
|
+
# called for an attachment by an older moin
|
94
|
+
# HACK: find out the filename by peeking into the execution
|
95
|
+
# frame which might not always work
|
96
|
+
try:
|
97
|
+
frame = sys._getframe(1)
|
98
|
+
filename = frame.f_locals['filename']
|
99
|
+
except:
|
100
|
+
filename = 'x.txt'
|
101
|
+
try:
|
102
|
+
self.lexer = get_lexer_for_filename(filename)
|
103
|
+
except ClassNotFound:
|
104
|
+
self.lexer = textlexer
|
105
|
+
|
106
|
+
def format(self, formatter):
|
107
|
+
codeid[0] += 1
|
108
|
+
id = "pygments_%s" % codeid[0]
|
109
|
+
w = self.req.write
|
110
|
+
w(formatter.code_area(1, id, start=1, step=1))
|
111
|
+
w(formatter.rawHTML(highlight(self.raw, self.lexer, htmlformatter)))
|
112
|
+
w(formatter.code_area(0, id))
|
@@ -0,0 +1,38 @@
|
|
1
|
+
#!bash
|
2
|
+
#
|
3
|
+
# Bash completion support for Pygments (the 'pygmentize' command).
|
4
|
+
#
|
5
|
+
|
6
|
+
_pygmentize()
|
7
|
+
{
|
8
|
+
local cur prev
|
9
|
+
|
10
|
+
COMPREPLY=()
|
11
|
+
cur=`_get_cword`
|
12
|
+
prev=${COMP_WORDS[COMP_CWORD-1]}
|
13
|
+
|
14
|
+
case "$prev" in
|
15
|
+
-f)
|
16
|
+
FORMATTERS=`pygmentize -L formatters | grep '* ' | cut -c3- | sed -e 's/,//g' -e 's/:$//'`
|
17
|
+
COMPREPLY=( $( compgen -W '$FORMATTERS' -- "$cur" ) )
|
18
|
+
return 0
|
19
|
+
;;
|
20
|
+
-l)
|
21
|
+
LEXERS=`pygmentize -L lexers | grep '* ' | cut -c3- | sed -e 's/,//g' -e 's/:$//'`
|
22
|
+
COMPREPLY=( $( compgen -W '$LEXERS' -- "$cur" ) )
|
23
|
+
return 0
|
24
|
+
;;
|
25
|
+
-S)
|
26
|
+
STYLES=`pygmentize -L styles | grep '* ' | cut -c3- | sed s/:$//`
|
27
|
+
COMPREPLY=( $( compgen -W '$STYLES' -- "$cur" ) )
|
28
|
+
return 0
|
29
|
+
;;
|
30
|
+
esac
|
31
|
+
|
32
|
+
if [[ "$cur" == -* ]]; then
|
33
|
+
COMPREPLY=( $( compgen -W '-f -l -S -L -g -O -P -F \
|
34
|
+
-N -H -h -V -o' -- "$cur" ) )
|
35
|
+
return 0
|
36
|
+
fi
|
37
|
+
}
|
38
|
+
complete -F _pygmentize -o default pygmentize
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
"""
|
3
|
+
The Pygments reStructuredText directive
|
4
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
5
|
+
|
6
|
+
This fragment is a Docutils_ 0.4 directive that renders source code
|
7
|
+
(to HTML only, currently) via Pygments.
|
8
|
+
|
9
|
+
To use it, adjust the options below and copy the code into a module
|
10
|
+
that you import on initialization. The code then automatically
|
11
|
+
registers a ``sourcecode`` directive that you can use instead of
|
12
|
+
normal code blocks like this::
|
13
|
+
|
14
|
+
.. sourcecode:: python
|
15
|
+
|
16
|
+
My code goes here.
|
17
|
+
|
18
|
+
If you want to have different code styles, e.g. one with line numbers
|
19
|
+
and one without, add formatters with their names in the VARIANTS dict
|
20
|
+
below. You can invoke them instead of the DEFAULT one by using a
|
21
|
+
directive option::
|
22
|
+
|
23
|
+
.. sourcecode:: python
|
24
|
+
:linenos:
|
25
|
+
|
26
|
+
My code goes here.
|
27
|
+
|
28
|
+
Look at the `directive documentation`_ to get all the gory details.
|
29
|
+
|
30
|
+
.. _Docutils: http://docutils.sf.net/
|
31
|
+
.. _directive documentation:
|
32
|
+
http://docutils.sourceforge.net/docs/howto/rst-directives.html
|
33
|
+
|
34
|
+
:copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
|
35
|
+
:license: BSD, see LICENSE for details.
|
36
|
+
"""
|
37
|
+
|
38
|
+
# Options
|
39
|
+
# ~~~~~~~
|
40
|
+
|
41
|
+
# Set to True if you want inline CSS styles instead of classes
|
42
|
+
INLINESTYLES = False
|
43
|
+
|
44
|
+
from pygments.formatters import HtmlFormatter
|
45
|
+
|
46
|
+
# The default formatter
|
47
|
+
DEFAULT = HtmlFormatter(noclasses=INLINESTYLES)
|
48
|
+
|
49
|
+
# Add name -> formatter pairs for every variant you want to use
|
50
|
+
VARIANTS = {
|
51
|
+
# 'linenos': HtmlFormatter(noclasses=INLINESTYLES, linenos=True),
|
52
|
+
}
|
53
|
+
|
54
|
+
|
55
|
+
from docutils import nodes
|
56
|
+
from docutils.parsers.rst import directives
|
57
|
+
|
58
|
+
from pygments import highlight
|
59
|
+
from pygments.lexers import get_lexer_by_name, TextLexer
|
60
|
+
|
61
|
+
def pygments_directive(name, arguments, options, content, lineno,
|
62
|
+
content_offset, block_text, state, state_machine):
|
63
|
+
try:
|
64
|
+
lexer = get_lexer_by_name(arguments[0])
|
65
|
+
except ValueError:
|
66
|
+
# no lexer found - use the text one instead of an exception
|
67
|
+
lexer = TextLexer()
|
68
|
+
# take an arbitrary option if more than one is given
|
69
|
+
formatter = options and VARIANTS[options.keys()[0]] or DEFAULT
|
70
|
+
parsed = highlight(u'\n'.join(content), lexer, formatter)
|
71
|
+
return [nodes.raw('', parsed, format='html')]
|
72
|
+
|
73
|
+
pygments_directive.arguments = (1, 0, 1)
|
74
|
+
pygments_directive.content = 1
|
75
|
+
pygments_directive.options = dict([(key, directives.flag) for key in VARIANTS])
|
76
|
+
|
77
|
+
directives.register_directive('sourcecode', pygments_directive)
|
@@ -0,0 +1,83 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
"""
|
3
|
+
The Pygments reStructuredText directive
|
4
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
5
|
+
|
6
|
+
This fragment is a Docutils_ 0.5 directive that renders source code
|
7
|
+
(to HTML only, currently) via Pygments.
|
8
|
+
|
9
|
+
To use it, adjust the options below and copy the code into a module
|
10
|
+
that you import on initialization. The code then automatically
|
11
|
+
registers a ``sourcecode`` directive that you can use instead of
|
12
|
+
normal code blocks like this::
|
13
|
+
|
14
|
+
.. sourcecode:: python
|
15
|
+
|
16
|
+
My code goes here.
|
17
|
+
|
18
|
+
If you want to have different code styles, e.g. one with line numbers
|
19
|
+
and one without, add formatters with their names in the VARIANTS dict
|
20
|
+
below. You can invoke them instead of the DEFAULT one by using a
|
21
|
+
directive option::
|
22
|
+
|
23
|
+
.. sourcecode:: python
|
24
|
+
:linenos:
|
25
|
+
|
26
|
+
My code goes here.
|
27
|
+
|
28
|
+
Look at the `directive documentation`_ to get all the gory details.
|
29
|
+
|
30
|
+
.. _Docutils: http://docutils.sf.net/
|
31
|
+
.. _directive documentation:
|
32
|
+
http://docutils.sourceforge.net/docs/howto/rst-directives.html
|
33
|
+
|
34
|
+
:copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
|
35
|
+
:license: BSD, see LICENSE for details.
|
36
|
+
"""
|
37
|
+
|
38
|
+
# Options
|
39
|
+
# ~~~~~~~
|
40
|
+
|
41
|
+
# Set to True if you want inline CSS styles instead of classes
|
42
|
+
INLINESTYLES = False
|
43
|
+
|
44
|
+
from pygments.formatters import HtmlFormatter
|
45
|
+
|
46
|
+
# The default formatter
|
47
|
+
DEFAULT = HtmlFormatter(noclasses=INLINESTYLES)
|
48
|
+
|
49
|
+
# Add name -> formatter pairs for every variant you want to use
|
50
|
+
VARIANTS = {
|
51
|
+
# 'linenos': HtmlFormatter(noclasses=INLINESTYLES, linenos=True),
|
52
|
+
}
|
53
|
+
|
54
|
+
|
55
|
+
from docutils import nodes
|
56
|
+
from docutils.parsers.rst import directives, Directive
|
57
|
+
|
58
|
+
from pygments import highlight
|
59
|
+
from pygments.lexers import get_lexer_by_name, TextLexer
|
60
|
+
|
61
|
+
class Pygments(Directive):
|
62
|
+
""" Source code syntax hightlighting.
|
63
|
+
"""
|
64
|
+
required_arguments = 1
|
65
|
+
optional_arguments = 0
|
66
|
+
final_argument_whitespace = True
|
67
|
+
option_spec = dict([(key, directives.flag) for key in VARIANTS])
|
68
|
+
has_content = True
|
69
|
+
|
70
|
+
def run(self):
|
71
|
+
self.assert_has_content()
|
72
|
+
try:
|
73
|
+
lexer = get_lexer_by_name(self.arguments[0])
|
74
|
+
except ValueError:
|
75
|
+
# no lexer found - use the text one instead of an exception
|
76
|
+
lexer = TextLexer()
|
77
|
+
# take an arbitrary option if more than one is given
|
78
|
+
formatter = self.options and VARIANTS[self.options.keys()[0]] or DEFAULT
|
79
|
+
parsed = highlight(u'\n'.join(self.content), lexer, formatter)
|
80
|
+
return [nodes.raw('', parsed, format='html')]
|
81
|
+
|
82
|
+
directives.register_directive('sourcecode', Pygments)
|
83
|
+
|