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.
Files changed (473) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +6 -0
  3. data/CHANGELOG.md +71 -0
  4. data/Gemfile +2 -0
  5. data/LICENSE +17 -0
  6. data/README.md +118 -0
  7. data/Rakefile +66 -0
  8. data/bench.rb +22 -0
  9. data/cache-lexers.rb +8 -0
  10. data/lexers +0 -0
  11. data/lib/pygments.rb +8 -0
  12. data/lib/pygments/lexer.rb +148 -0
  13. data/lib/pygments/mentos.py +351 -0
  14. data/lib/pygments/popen.rb +404 -0
  15. data/lib/pygments/version.rb +3 -0
  16. data/pygments.rb.gemspec +24 -0
  17. data/test/test_data.c +2581 -0
  18. data/test/test_data.py +514 -0
  19. data/test/test_data_generated +2582 -0
  20. data/test/test_pygments.rb +287 -0
  21. data/vendor/custom_lexers/github.py +565 -0
  22. data/vendor/pygments-main/AUTHORS +153 -0
  23. data/vendor/pygments-main/CHANGES +889 -0
  24. data/vendor/pygments-main/LICENSE +25 -0
  25. data/vendor/pygments-main/MANIFEST.in +6 -0
  26. data/vendor/pygments-main/Makefile +59 -0
  27. data/vendor/pygments-main/REVISION +1 -0
  28. data/vendor/pygments-main/TODO +15 -0
  29. data/vendor/pygments-main/docs/generate.py +472 -0
  30. data/vendor/pygments-main/docs/pygmentize.1 +94 -0
  31. data/vendor/pygments-main/docs/src/api.txt +270 -0
  32. data/vendor/pygments-main/docs/src/authors.txt +5 -0
  33. data/vendor/pygments-main/docs/src/changelog.txt +5 -0
  34. data/vendor/pygments-main/docs/src/cmdline.txt +147 -0
  35. data/vendor/pygments-main/docs/src/filterdevelopment.txt +70 -0
  36. data/vendor/pygments-main/docs/src/filters.txt +42 -0
  37. data/vendor/pygments-main/docs/src/formatterdevelopment.txt +169 -0
  38. data/vendor/pygments-main/docs/src/formatters.txt +48 -0
  39. data/vendor/pygments-main/docs/src/index.txt +69 -0
  40. data/vendor/pygments-main/docs/src/installation.txt +71 -0
  41. data/vendor/pygments-main/docs/src/integrate.txt +48 -0
  42. data/vendor/pygments-main/docs/src/java.txt +70 -0
  43. data/vendor/pygments-main/docs/src/lexerdevelopment.txt +603 -0
  44. data/vendor/pygments-main/docs/src/lexers.txt +67 -0
  45. data/vendor/pygments-main/docs/src/moinmoin.txt +39 -0
  46. data/vendor/pygments-main/docs/src/plugins.txt +93 -0
  47. data/vendor/pygments-main/docs/src/quickstart.txt +202 -0
  48. data/vendor/pygments-main/docs/src/rstdirective.txt +22 -0
  49. data/vendor/pygments-main/docs/src/styles.txt +143 -0
  50. data/vendor/pygments-main/docs/src/tokens.txt +349 -0
  51. data/vendor/pygments-main/docs/src/unicode.txt +49 -0
  52. data/vendor/pygments-main/external/autopygmentize +64 -0
  53. data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +144 -0
  54. data/vendor/pygments-main/external/markdown-processor.py +67 -0
  55. data/vendor/pygments-main/external/moin-parser.py +112 -0
  56. data/vendor/pygments-main/external/pygments.bashcomp +38 -0
  57. data/vendor/pygments-main/external/rst-directive-old.py +77 -0
  58. data/vendor/pygments-main/external/rst-directive.py +83 -0
  59. data/vendor/pygments-main/ez_setup.py +276 -0
  60. data/vendor/pygments-main/pygmentize +7 -0
  61. data/vendor/pygments-main/pygments/__init__.py +91 -0
  62. data/vendor/pygments-main/pygments/cmdline.py +441 -0
  63. data/vendor/pygments-main/pygments/console.py +74 -0
  64. data/vendor/pygments-main/pygments/filter.py +74 -0
  65. data/vendor/pygments-main/pygments/filters/__init__.py +356 -0
  66. data/vendor/pygments-main/pygments/formatter.py +95 -0
  67. data/vendor/pygments-main/pygments/formatters/__init__.py +68 -0
  68. data/vendor/pygments-main/pygments/formatters/_mapping.py +92 -0
  69. data/vendor/pygments-main/pygments/formatters/bbcode.py +109 -0
  70. data/vendor/pygments-main/pygments/formatters/html.py +821 -0
  71. data/vendor/pygments-main/pygments/formatters/img.py +553 -0
  72. data/vendor/pygments-main/pygments/formatters/latex.py +378 -0
  73. data/vendor/pygments-main/pygments/formatters/other.py +115 -0
  74. data/vendor/pygments-main/pygments/formatters/rtf.py +136 -0
  75. data/vendor/pygments-main/pygments/formatters/svg.py +154 -0
  76. data/vendor/pygments-main/pygments/formatters/terminal.py +112 -0
  77. data/vendor/pygments-main/pygments/formatters/terminal256.py +222 -0
  78. data/vendor/pygments-main/pygments/lexer.py +765 -0
  79. data/vendor/pygments-main/pygments/lexers/__init__.py +240 -0
  80. data/vendor/pygments-main/pygments/lexers/_asybuiltins.py +1645 -0
  81. data/vendor/pygments-main/pygments/lexers/_clbuiltins.py +232 -0
  82. data/vendor/pygments-main/pygments/lexers/_lassobuiltins.py +5172 -0
  83. data/vendor/pygments-main/pygments/lexers/_luabuiltins.py +249 -0
  84. data/vendor/pygments-main/pygments/lexers/_mapping.py +354 -0
  85. data/vendor/pygments-main/pygments/lexers/_openedgebuiltins.py +562 -0
  86. data/vendor/pygments-main/pygments/lexers/_phpbuiltins.py +3787 -0
  87. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +233 -0
  88. data/vendor/pygments-main/pygments/lexers/_robotframeworklexer.py +557 -0
  89. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +40 -0
  90. data/vendor/pygments-main/pygments/lexers/_sourcemodbuiltins.py +1072 -0
  91. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +360 -0
  92. data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +13 -0
  93. data/vendor/pygments-main/pygments/lexers/agile.py +2290 -0
  94. data/vendor/pygments-main/pygments/lexers/asm.py +398 -0
  95. data/vendor/pygments-main/pygments/lexers/compiled.py +3723 -0
  96. data/vendor/pygments-main/pygments/lexers/dalvik.py +104 -0
  97. data/vendor/pygments-main/pygments/lexers/dotnet.py +671 -0
  98. data/vendor/pygments-main/pygments/lexers/foxpro.py +428 -0
  99. data/vendor/pygments-main/pygments/lexers/functional.py +2731 -0
  100. data/vendor/pygments-main/pygments/lexers/github.py +565 -0
  101. data/vendor/pygments-main/pygments/lexers/hdl.py +356 -0
  102. data/vendor/pygments-main/pygments/lexers/jvm.py +1112 -0
  103. data/vendor/pygments-main/pygments/lexers/math.py +1918 -0
  104. data/vendor/pygments-main/pygments/lexers/other.py +3778 -0
  105. data/vendor/pygments-main/pygments/lexers/parsers.py +778 -0
  106. data/vendor/pygments-main/pygments/lexers/shell.py +424 -0
  107. data/vendor/pygments-main/pygments/lexers/special.py +100 -0
  108. data/vendor/pygments-main/pygments/lexers/sql.py +559 -0
  109. data/vendor/pygments-main/pygments/lexers/templates.py +1742 -0
  110. data/vendor/pygments-main/pygments/lexers/text.py +1893 -0
  111. data/vendor/pygments-main/pygments/lexers/web.py +4045 -0
  112. data/vendor/pygments-main/pygments/modeline.py +40 -0
  113. data/vendor/pygments-main/pygments/plugin.py +74 -0
  114. data/vendor/pygments-main/pygments/scanner.py +104 -0
  115. data/vendor/pygments-main/pygments/style.py +117 -0
  116. data/vendor/pygments-main/pygments/styles/__init__.py +70 -0
  117. data/vendor/pygments-main/pygments/styles/autumn.py +65 -0
  118. data/vendor/pygments-main/pygments/styles/borland.py +51 -0
  119. data/vendor/pygments-main/pygments/styles/bw.py +49 -0
  120. data/vendor/pygments-main/pygments/styles/colorful.py +81 -0
  121. data/vendor/pygments-main/pygments/styles/default.py +73 -0
  122. data/vendor/pygments-main/pygments/styles/emacs.py +72 -0
  123. data/vendor/pygments-main/pygments/styles/friendly.py +72 -0
  124. data/vendor/pygments-main/pygments/styles/fruity.py +42 -0
  125. data/vendor/pygments-main/pygments/styles/manni.py +75 -0
  126. data/vendor/pygments-main/pygments/styles/monokai.py +106 -0
  127. data/vendor/pygments-main/pygments/styles/murphy.py +80 -0
  128. data/vendor/pygments-main/pygments/styles/native.py +65 -0
  129. data/vendor/pygments-main/pygments/styles/pastie.py +75 -0
  130. data/vendor/pygments-main/pygments/styles/perldoc.py +69 -0
  131. data/vendor/pygments-main/pygments/styles/rrt.py +33 -0
  132. data/vendor/pygments-main/pygments/styles/tango.py +141 -0
  133. data/vendor/pygments-main/pygments/styles/trac.py +63 -0
  134. data/vendor/pygments-main/pygments/styles/vim.py +63 -0
  135. data/vendor/pygments-main/pygments/styles/vs.py +38 -0
  136. data/vendor/pygments-main/pygments/token.py +195 -0
  137. data/vendor/pygments-main/pygments/unistring.py +140 -0
  138. data/vendor/pygments-main/pygments/util.py +277 -0
  139. data/vendor/pygments-main/scripts/check_sources.py +242 -0
  140. data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +32 -0
  141. data/vendor/pygments-main/scripts/epydoc.css +280 -0
  142. data/vendor/pygments-main/scripts/find_codetags.py +205 -0
  143. data/vendor/pygments-main/scripts/find_error.py +170 -0
  144. data/vendor/pygments-main/scripts/get_vimkw.py +43 -0
  145. data/vendor/pygments-main/scripts/pylintrc +301 -0
  146. data/vendor/pygments-main/scripts/reindent.py +291 -0
  147. data/vendor/pygments-main/scripts/vim2pygments.py +933 -0
  148. data/vendor/pygments-main/setup.cfg +7 -0
  149. data/vendor/pygments-main/setup.py +90 -0
  150. data/vendor/pygments-main/tests/dtds/HTML4-f.dtd +37 -0
  151. data/vendor/pygments-main/tests/dtds/HTML4-s.dtd +869 -0
  152. data/vendor/pygments-main/tests/dtds/HTML4.dcl +88 -0
  153. data/vendor/pygments-main/tests/dtds/HTML4.dtd +1092 -0
  154. data/vendor/pygments-main/tests/dtds/HTML4.soc +9 -0
  155. data/vendor/pygments-main/tests/dtds/HTMLlat1.ent +195 -0
  156. data/vendor/pygments-main/tests/dtds/HTMLspec.ent +77 -0
  157. data/vendor/pygments-main/tests/dtds/HTMLsym.ent +241 -0
  158. data/vendor/pygments-main/tests/examplefiles/ANTLRv3.g +608 -0
  159. data/vendor/pygments-main/tests/examplefiles/AcidStateAdvanced.hs +209 -0
  160. data/vendor/pygments-main/tests/examplefiles/AlternatingGroup.mu +102 -0
  161. data/vendor/pygments-main/tests/examplefiles/BOM.js +1 -0
  162. data/vendor/pygments-main/tests/examplefiles/CPDictionary.j +611 -0
  163. data/vendor/pygments-main/tests/examplefiles/Config.in.cache +1973 -0
  164. data/vendor/pygments-main/tests/examplefiles/Constants.mo +158 -0
  165. data/vendor/pygments-main/tests/examplefiles/DancingSudoku.lhs +411 -0
  166. data/vendor/pygments-main/tests/examplefiles/Deflate.fs +578 -0
  167. data/vendor/pygments-main/tests/examplefiles/Errors.scala +18 -0
  168. data/vendor/pygments-main/tests/examplefiles/File.hy +174 -0
  169. data/vendor/pygments-main/tests/examplefiles/Get-CommandDefinitionHtml.ps1 +66 -0
  170. data/vendor/pygments-main/tests/examplefiles/IPDispatchC.nc +104 -0
  171. data/vendor/pygments-main/tests/examplefiles/IPDispatchP.nc +671 -0
  172. data/vendor/pygments-main/tests/examplefiles/Intro.java +1660 -0
  173. data/vendor/pygments-main/tests/examplefiles/Makefile +1131 -0
  174. data/vendor/pygments-main/tests/examplefiles/Object.st +4394 -0
  175. data/vendor/pygments-main/tests/examplefiles/OrderedMap.hx +584 -0
  176. data/vendor/pygments-main/tests/examplefiles/RoleQ.pm6 +23 -0
  177. data/vendor/pygments-main/tests/examplefiles/SmallCheck.hs +378 -0
  178. data/vendor/pygments-main/tests/examplefiles/Sorting.mod +470 -0
  179. data/vendor/pygments-main/tests/examplefiles/Sudoku.lhs +382 -0
  180. data/vendor/pygments-main/tests/examplefiles/addressbook.proto +30 -0
  181. data/vendor/pygments-main/tests/examplefiles/antlr_throws +1 -0
  182. data/vendor/pygments-main/tests/examplefiles/apache2.conf +393 -0
  183. data/vendor/pygments-main/tests/examplefiles/as3_test.as +143 -0
  184. data/vendor/pygments-main/tests/examplefiles/as3_test2.as +46 -0
  185. data/vendor/pygments-main/tests/examplefiles/as3_test3.as +3 -0
  186. data/vendor/pygments-main/tests/examplefiles/aspx-cs_example +27 -0
  187. data/vendor/pygments-main/tests/examplefiles/autoit_submit.au3 +25 -0
  188. data/vendor/pygments-main/tests/examplefiles/badcase.java +2 -0
  189. data/vendor/pygments-main/tests/examplefiles/batchfile.bat +49 -0
  190. data/vendor/pygments-main/tests/examplefiles/bigtest.nsi +308 -0
  191. data/vendor/pygments-main/tests/examplefiles/boot-9.scm +1557 -0
  192. data/vendor/pygments-main/tests/examplefiles/ca65_example +284 -0
  193. data/vendor/pygments-main/tests/examplefiles/cbmbas_example +9 -0
  194. data/vendor/pygments-main/tests/examplefiles/cells.ps +515 -0
  195. data/vendor/pygments-main/tests/examplefiles/ceval.c +2604 -0
  196. data/vendor/pygments-main/tests/examplefiles/cheetah_example.html +13 -0
  197. data/vendor/pygments-main/tests/examplefiles/classes.dylan +125 -0
  198. data/vendor/pygments-main/tests/examplefiles/condensed_ruby.rb +10 -0
  199. data/vendor/pygments-main/tests/examplefiles/coq_RelationClasses +447 -0
  200. data/vendor/pygments-main/tests/examplefiles/database.pytb +20 -0
  201. data/vendor/pygments-main/tests/examplefiles/de.MoinMoin.po +2461 -0
  202. data/vendor/pygments-main/tests/examplefiles/demo.ahk +181 -0
  203. data/vendor/pygments-main/tests/examplefiles/demo.cfm +38 -0
  204. data/vendor/pygments-main/tests/examplefiles/django_sample.html+django +68 -0
  205. data/vendor/pygments-main/tests/examplefiles/dwarf.cw +17 -0
  206. data/vendor/pygments-main/tests/examplefiles/erl_session +10 -0
  207. data/vendor/pygments-main/tests/examplefiles/escape_semicolon.clj +1 -0
  208. data/vendor/pygments-main/tests/examplefiles/evil_regex.js +48 -0
  209. data/vendor/pygments-main/tests/examplefiles/example.Rd +78 -0
  210. data/vendor/pygments-main/tests/examplefiles/example.bug +54 -0
  211. data/vendor/pygments-main/tests/examplefiles/example.c +2080 -0
  212. data/vendor/pygments-main/tests/examplefiles/example.ceylon +52 -0
  213. data/vendor/pygments-main/tests/examplefiles/example.clay +33 -0
  214. data/vendor/pygments-main/tests/examplefiles/example.cls +15 -0
  215. data/vendor/pygments-main/tests/examplefiles/example.cob +3556 -0
  216. data/vendor/pygments-main/tests/examplefiles/example.cpp +2363 -0
  217. data/vendor/pygments-main/tests/examplefiles/example.gs +106 -0
  218. data/vendor/pygments-main/tests/examplefiles/example.gst +7 -0
  219. data/vendor/pygments-main/tests/examplefiles/example.hx +142 -0
  220. data/vendor/pygments-main/tests/examplefiles/example.jag +48 -0
  221. data/vendor/pygments-main/tests/examplefiles/example.kt +47 -0
  222. data/vendor/pygments-main/tests/examplefiles/example.lagda +19 -0
  223. data/vendor/pygments-main/tests/examplefiles/example.lua +250 -0
  224. data/vendor/pygments-main/tests/examplefiles/example.monkey +152 -0
  225. data/vendor/pygments-main/tests/examplefiles/example.moo +26 -0
  226. data/vendor/pygments-main/tests/examplefiles/example.moon +629 -0
  227. data/vendor/pygments-main/tests/examplefiles/example.msc +43 -0
  228. data/vendor/pygments-main/tests/examplefiles/example.nim +1010 -0
  229. data/vendor/pygments-main/tests/examplefiles/example.ns2 +69 -0
  230. data/vendor/pygments-main/tests/examplefiles/example.p +34 -0
  231. data/vendor/pygments-main/tests/examplefiles/example.pas +2708 -0
  232. data/vendor/pygments-main/tests/examplefiles/example.prg +161 -0
  233. data/vendor/pygments-main/tests/examplefiles/example.rb +1852 -0
  234. data/vendor/pygments-main/tests/examplefiles/example.reg +19 -0
  235. data/vendor/pygments-main/tests/examplefiles/example.rexx +50 -0
  236. data/vendor/pygments-main/tests/examplefiles/example.rhtml +561 -0
  237. data/vendor/pygments-main/tests/examplefiles/example.rkt +95 -0
  238. data/vendor/pygments-main/tests/examplefiles/example.rpf +4 -0
  239. data/vendor/pygments-main/tests/examplefiles/example.sh-session +19 -0
  240. data/vendor/pygments-main/tests/examplefiles/example.shell-session +45 -0
  241. data/vendor/pygments-main/tests/examplefiles/example.sml +156 -0
  242. data/vendor/pygments-main/tests/examplefiles/example.snobol +15 -0
  243. data/vendor/pygments-main/tests/examplefiles/example.stan +108 -0
  244. data/vendor/pygments-main/tests/examplefiles/example.tea +34 -0
  245. data/vendor/pygments-main/tests/examplefiles/example.ts +28 -0
  246. data/vendor/pygments-main/tests/examplefiles/example.u +548 -0
  247. data/vendor/pygments-main/tests/examplefiles/example.weechatlog +9 -0
  248. data/vendor/pygments-main/tests/examplefiles/example.xhtml +376 -0
  249. data/vendor/pygments-main/tests/examplefiles/example.xtend +34 -0
  250. data/vendor/pygments-main/tests/examplefiles/example.yaml +302 -0
  251. data/vendor/pygments-main/tests/examplefiles/example2.aspx +29 -0
  252. data/vendor/pygments-main/tests/examplefiles/example2.msc +79 -0
  253. data/vendor/pygments-main/tests/examplefiles/example_elixir.ex +363 -0
  254. data/vendor/pygments-main/tests/examplefiles/example_file.fy +128 -0
  255. data/vendor/pygments-main/tests/examplefiles/firefox.mak +586 -0
  256. data/vendor/pygments-main/tests/examplefiles/flipflop.sv +19 -0
  257. data/vendor/pygments-main/tests/examplefiles/foo.sce +6 -0
  258. data/vendor/pygments-main/tests/examplefiles/format.ml +1213 -0
  259. data/vendor/pygments-main/tests/examplefiles/fucked_up.rb +77 -0
  260. data/vendor/pygments-main/tests/examplefiles/function.mu +1 -0
  261. data/vendor/pygments-main/tests/examplefiles/functional.rst +1472 -0
  262. data/vendor/pygments-main/tests/examplefiles/garcia-wachs.kk +133 -0
  263. data/vendor/pygments-main/tests/examplefiles/genclass.clj +510 -0
  264. data/vendor/pygments-main/tests/examplefiles/genshi_example.xml+genshi +193 -0
  265. data/vendor/pygments-main/tests/examplefiles/genshitext_example.genshitext +33 -0
  266. data/vendor/pygments-main/tests/examplefiles/glsl.frag +7 -0
  267. data/vendor/pygments-main/tests/examplefiles/glsl.vert +13 -0
  268. data/vendor/pygments-main/tests/examplefiles/grammar-test.p6 +22 -0
  269. data/vendor/pygments-main/tests/examplefiles/hello.smali +40 -0
  270. data/vendor/pygments-main/tests/examplefiles/hello.sp +9 -0
  271. data/vendor/pygments-main/tests/examplefiles/html+php_faulty.php +1 -0
  272. data/vendor/pygments-main/tests/examplefiles/http_request_example +15 -0
  273. data/vendor/pygments-main/tests/examplefiles/http_response_example +29 -0
  274. data/vendor/pygments-main/tests/examplefiles/import.hs +4 -0
  275. data/vendor/pygments-main/tests/examplefiles/inet_pton6.dg +71 -0
  276. data/vendor/pygments-main/tests/examplefiles/intro.ik +24 -0
  277. data/vendor/pygments-main/tests/examplefiles/ints.php +10 -0
  278. data/vendor/pygments-main/tests/examplefiles/intsyn.fun +675 -0
  279. data/vendor/pygments-main/tests/examplefiles/intsyn.sig +286 -0
  280. data/vendor/pygments-main/tests/examplefiles/irb_heredoc +8 -0
  281. data/vendor/pygments-main/tests/examplefiles/irc.lsp +214 -0
  282. data/vendor/pygments-main/tests/examplefiles/java.properties +16 -0
  283. data/vendor/pygments-main/tests/examplefiles/jbst_example1.jbst +28 -0
  284. data/vendor/pygments-main/tests/examplefiles/jbst_example2.jbst +45 -0
  285. data/vendor/pygments-main/tests/examplefiles/jinjadesignerdoc.rst +713 -0
  286. data/vendor/pygments-main/tests/examplefiles/json.lasso +301 -0
  287. data/vendor/pygments-main/tests/examplefiles/json.lasso9 +213 -0
  288. data/vendor/pygments-main/tests/examplefiles/lighttpd_config.conf +13 -0
  289. data/vendor/pygments-main/tests/examplefiles/linecontinuation.py +47 -0
  290. data/vendor/pygments-main/tests/examplefiles/livescript-demo.ls +41 -0
  291. data/vendor/pygments-main/tests/examplefiles/logos_example.xm +28 -0
  292. data/vendor/pygments-main/tests/examplefiles/ltmain.sh +2849 -0
  293. data/vendor/pygments-main/tests/examplefiles/main.cmake +42 -0
  294. data/vendor/pygments-main/tests/examplefiles/markdown.lsp +679 -0
  295. data/vendor/pygments-main/tests/examplefiles/matlab_noreturn +3 -0
  296. data/vendor/pygments-main/tests/examplefiles/matlab_sample +30 -0
  297. data/vendor/pygments-main/tests/examplefiles/matlabsession_sample.txt +37 -0
  298. data/vendor/pygments-main/tests/examplefiles/metagrammar.treetop +455 -0
  299. data/vendor/pygments-main/tests/examplefiles/mg_sample.pro +73 -0
  300. data/vendor/pygments-main/tests/examplefiles/minehunt.qml +112 -0
  301. data/vendor/pygments-main/tests/examplefiles/minimal.ns2 +4 -0
  302. data/vendor/pygments-main/tests/examplefiles/moin_SyntaxReference.txt +340 -0
  303. data/vendor/pygments-main/tests/examplefiles/multiline_regexes.rb +38 -0
  304. data/vendor/pygments-main/tests/examplefiles/nanomsg.intr +95 -0
  305. data/vendor/pygments-main/tests/examplefiles/nasm_aoutso.asm +96 -0
  306. data/vendor/pygments-main/tests/examplefiles/nasm_objexe.asm +30 -0
  307. data/vendor/pygments-main/tests/examplefiles/nemerle_sample.n +87 -0
  308. data/vendor/pygments-main/tests/examplefiles/nginx_nginx.conf +118 -0
  309. data/vendor/pygments-main/tests/examplefiles/numbers.c +12 -0
  310. data/vendor/pygments-main/tests/examplefiles/objc_example.m +32 -0
  311. data/vendor/pygments-main/tests/examplefiles/objc_example2.m +24 -0
  312. data/vendor/pygments-main/tests/examplefiles/perl_misc +62 -0
  313. data/vendor/pygments-main/tests/examplefiles/perl_perl5db +998 -0
  314. data/vendor/pygments-main/tests/examplefiles/perl_regex-delims +120 -0
  315. data/vendor/pygments-main/tests/examplefiles/perlfunc.1 +856 -0
  316. data/vendor/pygments-main/tests/examplefiles/phpMyAdmin.spec +163 -0
  317. data/vendor/pygments-main/tests/examplefiles/phpcomplete.vim +567 -0
  318. data/vendor/pygments-main/tests/examplefiles/pleac.in.rb +1223 -0
  319. data/vendor/pygments-main/tests/examplefiles/postgresql_test.txt +47 -0
  320. data/vendor/pygments-main/tests/examplefiles/pppoe.applescript +10 -0
  321. data/vendor/pygments-main/tests/examplefiles/psql_session.txt +122 -0
  322. data/vendor/pygments-main/tests/examplefiles/py3_test.txt +2 -0
  323. data/vendor/pygments-main/tests/examplefiles/py3tb_test.py3tb +4 -0
  324. data/vendor/pygments-main/tests/examplefiles/pycon_test.pycon +14 -0
  325. data/vendor/pygments-main/tests/examplefiles/pytb_test2.pytb +2 -0
  326. data/vendor/pygments-main/tests/examplefiles/pytb_test3.pytb +4 -0
  327. data/vendor/pygments-main/tests/examplefiles/python25-bsd.mak +234 -0
  328. data/vendor/pygments-main/tests/examplefiles/qsort.prolog +13 -0
  329. data/vendor/pygments-main/tests/examplefiles/r-console-transcript.Rout +38 -0
  330. data/vendor/pygments-main/tests/examplefiles/ragel-cpp_rlscan +280 -0
  331. data/vendor/pygments-main/tests/examplefiles/ragel-cpp_snippet +2 -0
  332. data/vendor/pygments-main/tests/examplefiles/regex.js +22 -0
  333. data/vendor/pygments-main/tests/examplefiles/reversi.lsp +427 -0
  334. data/vendor/pygments-main/tests/examplefiles/robotframework.txt +39 -0
  335. data/vendor/pygments-main/tests/examplefiles/ruby_func_def.rb +11 -0
  336. data/vendor/pygments-main/tests/examplefiles/rust_example.rs +233 -0
  337. data/vendor/pygments-main/tests/examplefiles/scilab.sci +30 -0
  338. data/vendor/pygments-main/tests/examplefiles/session.dylan-console +9 -0
  339. data/vendor/pygments-main/tests/examplefiles/sibling.prolog +19 -0
  340. data/vendor/pygments-main/tests/examplefiles/simple.md +747 -0
  341. data/vendor/pygments-main/tests/examplefiles/smarty_example.html +209 -0
  342. data/vendor/pygments-main/tests/examplefiles/source.lgt +343 -0
  343. data/vendor/pygments-main/tests/examplefiles/sources.list +62 -0
  344. data/vendor/pygments-main/tests/examplefiles/sphere.pov +18 -0
  345. data/vendor/pygments-main/tests/examplefiles/sqlite3.sqlite3-console +27 -0
  346. data/vendor/pygments-main/tests/examplefiles/squid.conf +30 -0
  347. data/vendor/pygments-main/tests/examplefiles/string.jl +1031 -0
  348. data/vendor/pygments-main/tests/examplefiles/string_delimiters.d +21 -0
  349. data/vendor/pygments-main/tests/examplefiles/stripheredoc.sh +3 -0
  350. data/vendor/pygments-main/tests/examplefiles/swig_java.swg +1329 -0
  351. data/vendor/pygments-main/tests/examplefiles/swig_std_vector.i +225 -0
  352. data/vendor/pygments-main/tests/examplefiles/test.R +153 -0
  353. data/vendor/pygments-main/tests/examplefiles/test.adb +211 -0
  354. data/vendor/pygments-main/tests/examplefiles/test.agda +102 -0
  355. data/vendor/pygments-main/tests/examplefiles/test.asy +131 -0
  356. data/vendor/pygments-main/tests/examplefiles/test.awk +121 -0
  357. data/vendor/pygments-main/tests/examplefiles/test.bas +29 -0
  358. data/vendor/pygments-main/tests/examplefiles/test.bb +95 -0
  359. data/vendor/pygments-main/tests/examplefiles/test.bmx +145 -0
  360. data/vendor/pygments-main/tests/examplefiles/test.boo +39 -0
  361. data/vendor/pygments-main/tests/examplefiles/test.bro +250 -0
  362. data/vendor/pygments-main/tests/examplefiles/test.cs +374 -0
  363. data/vendor/pygments-main/tests/examplefiles/test.css +54 -0
  364. data/vendor/pygments-main/tests/examplefiles/test.cu +36 -0
  365. data/vendor/pygments-main/tests/examplefiles/test.d +135 -0
  366. data/vendor/pygments-main/tests/examplefiles/test.dart +23 -0
  367. data/vendor/pygments-main/tests/examplefiles/test.dtd +89 -0
  368. data/vendor/pygments-main/tests/examplefiles/test.ebnf +31 -0
  369. data/vendor/pygments-main/tests/examplefiles/test.ec +605 -0
  370. data/vendor/pygments-main/tests/examplefiles/test.ecl +58 -0
  371. data/vendor/pygments-main/tests/examplefiles/test.eh +315 -0
  372. data/vendor/pygments-main/tests/examplefiles/test.erl +169 -0
  373. data/vendor/pygments-main/tests/examplefiles/test.evoque +33 -0
  374. data/vendor/pygments-main/tests/examplefiles/test.fan +818 -0
  375. data/vendor/pygments-main/tests/examplefiles/test.flx +57 -0
  376. data/vendor/pygments-main/tests/examplefiles/test.gdc +13 -0
  377. data/vendor/pygments-main/tests/examplefiles/test.groovy +97 -0
  378. data/vendor/pygments-main/tests/examplefiles/test.html +339 -0
  379. data/vendor/pygments-main/tests/examplefiles/test.ini +10 -0
  380. data/vendor/pygments-main/tests/examplefiles/test.java +653 -0
  381. data/vendor/pygments-main/tests/examplefiles/test.jsp +24 -0
  382. data/vendor/pygments-main/tests/examplefiles/test.maql +45 -0
  383. data/vendor/pygments-main/tests/examplefiles/test.mod +374 -0
  384. data/vendor/pygments-main/tests/examplefiles/test.moo +51 -0
  385. data/vendor/pygments-main/tests/examplefiles/test.myt +166 -0
  386. data/vendor/pygments-main/tests/examplefiles/test.nim +93 -0
  387. data/vendor/pygments-main/tests/examplefiles/test.opa +10 -0
  388. data/vendor/pygments-main/tests/examplefiles/test.p6 +252 -0
  389. data/vendor/pygments-main/tests/examplefiles/test.pas +743 -0
  390. data/vendor/pygments-main/tests/examplefiles/test.php +505 -0
  391. data/vendor/pygments-main/tests/examplefiles/test.plot +333 -0
  392. data/vendor/pygments-main/tests/examplefiles/test.ps1 +108 -0
  393. data/vendor/pygments-main/tests/examplefiles/test.pypylog +1839 -0
  394. data/vendor/pygments-main/tests/examplefiles/test.r3 +94 -0
  395. data/vendor/pygments-main/tests/examplefiles/test.rb +177 -0
  396. data/vendor/pygments-main/tests/examplefiles/test.rhtml +43 -0
  397. data/vendor/pygments-main/tests/examplefiles/test.scaml +8 -0
  398. data/vendor/pygments-main/tests/examplefiles/test.ssp +12 -0
  399. data/vendor/pygments-main/tests/examplefiles/test.tcsh +830 -0
  400. data/vendor/pygments-main/tests/examplefiles/test.vb +407 -0
  401. data/vendor/pygments-main/tests/examplefiles/test.vhdl +161 -0
  402. data/vendor/pygments-main/tests/examplefiles/test.xqy +138 -0
  403. data/vendor/pygments-main/tests/examplefiles/test.xsl +23 -0
  404. data/vendor/pygments-main/tests/examplefiles/test2.pypylog +120 -0
  405. data/vendor/pygments-main/tests/examplefiles/truncated.pytb +15 -0
  406. data/vendor/pygments-main/tests/examplefiles/type.lisp +1218 -0
  407. data/vendor/pygments-main/tests/examplefiles/underscore.coffee +603 -0
  408. data/vendor/pygments-main/tests/examplefiles/unicode.applescript +5 -0
  409. data/vendor/pygments-main/tests/examplefiles/unicodedoc.py +11 -0
  410. data/vendor/pygments-main/tests/examplefiles/unix-io.lid +37 -0
  411. data/vendor/pygments-main/tests/examplefiles/webkit-transition.css +3 -0
  412. data/vendor/pygments-main/tests/examplefiles/while.pov +13 -0
  413. data/vendor/pygments-main/tests/examplefiles/wiki.factor +384 -0
  414. data/vendor/pygments-main/tests/examplefiles/xml_example +1897 -0
  415. data/vendor/pygments-main/tests/examplefiles/zmlrpc.f90 +798 -0
  416. data/vendor/pygments-main/tests/old_run.py +138 -0
  417. data/vendor/pygments-main/tests/run.py +49 -0
  418. data/vendor/pygments-main/tests/support.py +15 -0
  419. data/vendor/pygments-main/tests/support/tags +36 -0
  420. data/vendor/pygments-main/tests/test_basic_api.py +295 -0
  421. data/vendor/pygments-main/tests/test_clexer.py +31 -0
  422. data/vendor/pygments-main/tests/test_cmdline.py +105 -0
  423. data/vendor/pygments-main/tests/test_examplefiles.py +99 -0
  424. data/vendor/pygments-main/tests/test_html_formatter.py +178 -0
  425. data/vendor/pygments-main/tests/test_latex_formatter.py +55 -0
  426. data/vendor/pygments-main/tests/test_lexers_other.py +68 -0
  427. data/vendor/pygments-main/tests/test_perllexer.py +137 -0
  428. data/vendor/pygments-main/tests/test_regexlexer.py +47 -0
  429. data/vendor/pygments-main/tests/test_token.py +46 -0
  430. data/vendor/pygments-main/tests/test_using_api.py +40 -0
  431. data/vendor/pygments-main/tests/test_util.py +135 -0
  432. data/vendor/simplejson/.gitignore +10 -0
  433. data/vendor/simplejson/.travis.yml +5 -0
  434. data/vendor/simplejson/CHANGES.txt +291 -0
  435. data/vendor/simplejson/LICENSE.txt +19 -0
  436. data/vendor/simplejson/MANIFEST.in +5 -0
  437. data/vendor/simplejson/README.rst +19 -0
  438. data/vendor/simplejson/conf.py +179 -0
  439. data/vendor/simplejson/index.rst +628 -0
  440. data/vendor/simplejson/scripts/make_docs.py +18 -0
  441. data/vendor/simplejson/setup.py +104 -0
  442. data/vendor/simplejson/simplejson/__init__.py +510 -0
  443. data/vendor/simplejson/simplejson/_speedups.c +2745 -0
  444. data/vendor/simplejson/simplejson/decoder.py +425 -0
  445. data/vendor/simplejson/simplejson/encoder.py +567 -0
  446. data/vendor/simplejson/simplejson/ordered_dict.py +119 -0
  447. data/vendor/simplejson/simplejson/scanner.py +77 -0
  448. data/vendor/simplejson/simplejson/tests/__init__.py +67 -0
  449. data/vendor/simplejson/simplejson/tests/test_bigint_as_string.py +55 -0
  450. data/vendor/simplejson/simplejson/tests/test_check_circular.py +30 -0
  451. data/vendor/simplejson/simplejson/tests/test_decimal.py +66 -0
  452. data/vendor/simplejson/simplejson/tests/test_decode.py +83 -0
  453. data/vendor/simplejson/simplejson/tests/test_default.py +9 -0
  454. data/vendor/simplejson/simplejson/tests/test_dump.py +67 -0
  455. data/vendor/simplejson/simplejson/tests/test_encode_basestring_ascii.py +46 -0
  456. data/vendor/simplejson/simplejson/tests/test_encode_for_html.py +32 -0
  457. data/vendor/simplejson/simplejson/tests/test_errors.py +34 -0
  458. data/vendor/simplejson/simplejson/tests/test_fail.py +91 -0
  459. data/vendor/simplejson/simplejson/tests/test_float.py +19 -0
  460. data/vendor/simplejson/simplejson/tests/test_indent.py +86 -0
  461. data/vendor/simplejson/simplejson/tests/test_item_sort_key.py +20 -0
  462. data/vendor/simplejson/simplejson/tests/test_namedtuple.py +121 -0
  463. data/vendor/simplejson/simplejson/tests/test_pass1.py +76 -0
  464. data/vendor/simplejson/simplejson/tests/test_pass2.py +14 -0
  465. data/vendor/simplejson/simplejson/tests/test_pass3.py +20 -0
  466. data/vendor/simplejson/simplejson/tests/test_recursion.py +67 -0
  467. data/vendor/simplejson/simplejson/tests/test_scanstring.py +117 -0
  468. data/vendor/simplejson/simplejson/tests/test_separators.py +42 -0
  469. data/vendor/simplejson/simplejson/tests/test_speedups.py +20 -0
  470. data/vendor/simplejson/simplejson/tests/test_tuple.py +49 -0
  471. data/vendor/simplejson/simplejson/tests/test_unicode.py +109 -0
  472. data/vendor/simplejson/simplejson/tool.py +39 -0
  473. 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&nbsp;\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
+