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,276 @@
1
+ #!python
2
+ """Bootstrap setuptools installation
3
+
4
+ If you want to use setuptools in your package's setup.py, just include this
5
+ file in the same directory with it, and add this to the top of your setup.py::
6
+
7
+ from ez_setup import use_setuptools
8
+ use_setuptools()
9
+
10
+ If you want to require a specific version of setuptools, set a download
11
+ mirror, or use an alternate download directory, you can do so by supplying
12
+ the appropriate options to ``use_setuptools()``.
13
+
14
+ This file can also be run as a script to install or upgrade setuptools.
15
+ """
16
+ import sys
17
+ DEFAULT_VERSION = "0.6c9"
18
+ DEFAULT_URL = "http://pypi.python.org/packages/%s/s/setuptools/" % sys.version[:3]
19
+
20
+ md5_data = {
21
+ 'setuptools-0.6b1-py2.3.egg': '8822caf901250d848b996b7f25c6e6ca',
22
+ 'setuptools-0.6b1-py2.4.egg': 'b79a8a403e4502fbb85ee3f1941735cb',
23
+ 'setuptools-0.6b2-py2.3.egg': '5657759d8a6d8fc44070a9d07272d99b',
24
+ 'setuptools-0.6b2-py2.4.egg': '4996a8d169d2be661fa32a6e52e4f82a',
25
+ 'setuptools-0.6b3-py2.3.egg': 'bb31c0fc7399a63579975cad9f5a0618',
26
+ 'setuptools-0.6b3-py2.4.egg': '38a8c6b3d6ecd22247f179f7da669fac',
27
+ 'setuptools-0.6b4-py2.3.egg': '62045a24ed4e1ebc77fe039aa4e6f7e5',
28
+ 'setuptools-0.6b4-py2.4.egg': '4cb2a185d228dacffb2d17f103b3b1c4',
29
+ 'setuptools-0.6c1-py2.3.egg': 'b3f2b5539d65cb7f74ad79127f1a908c',
30
+ 'setuptools-0.6c1-py2.4.egg': 'b45adeda0667d2d2ffe14009364f2a4b',
31
+ 'setuptools-0.6c2-py2.3.egg': 'f0064bf6aa2b7d0f3ba0b43f20817c27',
32
+ 'setuptools-0.6c2-py2.4.egg': '616192eec35f47e8ea16cd6a122b7277',
33
+ 'setuptools-0.6c3-py2.3.egg': 'f181fa125dfe85a259c9cd6f1d7b78fa',
34
+ 'setuptools-0.6c3-py2.4.egg': 'e0ed74682c998bfb73bf803a50e7b71e',
35
+ 'setuptools-0.6c3-py2.5.egg': 'abef16fdd61955514841c7c6bd98965e',
36
+ 'setuptools-0.6c4-py2.3.egg': 'b0b9131acab32022bfac7f44c5d7971f',
37
+ 'setuptools-0.6c4-py2.4.egg': '2a1f9656d4fbf3c97bf946c0a124e6e2',
38
+ 'setuptools-0.6c4-py2.5.egg': '8f5a052e32cdb9c72bcf4b5526f28afc',
39
+ 'setuptools-0.6c5-py2.3.egg': 'ee9fd80965da04f2f3e6b3576e9d8167',
40
+ 'setuptools-0.6c5-py2.4.egg': 'afe2adf1c01701ee841761f5bcd8aa64',
41
+ 'setuptools-0.6c5-py2.5.egg': 'a8d3f61494ccaa8714dfed37bccd3d5d',
42
+ 'setuptools-0.6c6-py2.3.egg': '35686b78116a668847237b69d549ec20',
43
+ 'setuptools-0.6c6-py2.4.egg': '3c56af57be3225019260a644430065ab',
44
+ 'setuptools-0.6c6-py2.5.egg': 'b2f8a7520709a5b34f80946de5f02f53',
45
+ 'setuptools-0.6c7-py2.3.egg': '209fdf9adc3a615e5115b725658e13e2',
46
+ 'setuptools-0.6c7-py2.4.egg': '5a8f954807d46a0fb67cf1f26c55a82e',
47
+ 'setuptools-0.6c7-py2.5.egg': '45d2ad28f9750e7434111fde831e8372',
48
+ 'setuptools-0.6c8-py2.3.egg': '50759d29b349db8cfd807ba8303f1902',
49
+ 'setuptools-0.6c8-py2.4.egg': 'cba38d74f7d483c06e9daa6070cce6de',
50
+ 'setuptools-0.6c8-py2.5.egg': '1721747ee329dc150590a58b3e1ac95b',
51
+ 'setuptools-0.6c9-py2.3.egg': 'a83c4020414807b496e4cfbe08507c03',
52
+ 'setuptools-0.6c9-py2.4.egg': '260a2be2e5388d66bdaee06abec6342a',
53
+ 'setuptools-0.6c9-py2.5.egg': 'fe67c3e5a17b12c0e7c541b7ea43a8e6',
54
+ 'setuptools-0.6c9-py2.6.egg': 'ca37b1ff16fa2ede6e19383e7b59245a',
55
+ }
56
+
57
+ import sys, os
58
+ try: from hashlib import md5
59
+ except ImportError: from md5 import md5
60
+
61
+ def _validate_md5(egg_name, data):
62
+ if egg_name in md5_data:
63
+ digest = md5(data).hexdigest()
64
+ if digest != md5_data[egg_name]:
65
+ print >>sys.stderr, (
66
+ "md5 validation of %s failed! (Possible download problem?)"
67
+ % egg_name
68
+ )
69
+ sys.exit(2)
70
+ return data
71
+
72
+ def use_setuptools(
73
+ version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir,
74
+ download_delay=15
75
+ ):
76
+ """Automatically find/download setuptools and make it available on sys.path
77
+
78
+ `version` should be a valid setuptools version number that is available
79
+ as an egg for download under the `download_base` URL (which should end with
80
+ a '/'). `to_dir` is the directory where setuptools will be downloaded, if
81
+ it is not already available. If `download_delay` is specified, it should
82
+ be the number of seconds that will be paused before initiating a download,
83
+ should one be required. If an older version of setuptools is installed,
84
+ this routine will print a message to ``sys.stderr`` and raise SystemExit in
85
+ an attempt to abort the calling script.
86
+ """
87
+ was_imported = 'pkg_resources' in sys.modules or 'setuptools' in sys.modules
88
+ def do_download():
89
+ egg = download_setuptools(version, download_base, to_dir, download_delay)
90
+ sys.path.insert(0, egg)
91
+ import setuptools; setuptools.bootstrap_install_from = egg
92
+ try:
93
+ import pkg_resources
94
+ except ImportError:
95
+ return do_download()
96
+ try:
97
+ pkg_resources.require("setuptools>="+version); return
98
+ except pkg_resources.VersionConflict, e:
99
+ if was_imported:
100
+ print >>sys.stderr, (
101
+ "The required version of setuptools (>=%s) is not available, and\n"
102
+ "can't be installed while this script is running. Please install\n"
103
+ " a more recent version first, using 'easy_install -U setuptools'."
104
+ "\n\n(Currently using %r)"
105
+ ) % (version, e.args[0])
106
+ sys.exit(2)
107
+ else:
108
+ del pkg_resources, sys.modules['pkg_resources'] # reload ok
109
+ return do_download()
110
+ except pkg_resources.DistributionNotFound:
111
+ return do_download()
112
+
113
+ def download_setuptools(
114
+ version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir,
115
+ delay = 15
116
+ ):
117
+ """Download setuptools from a specified location and return its filename
118
+
119
+ `version` should be a valid setuptools version number that is available
120
+ as an egg for download under the `download_base` URL (which should end
121
+ with a '/'). `to_dir` is the directory where the egg will be downloaded.
122
+ `delay` is the number of seconds to pause before an actual download attempt.
123
+ """
124
+ import urllib2, shutil
125
+ egg_name = "setuptools-%s-py%s.egg" % (version,sys.version[:3])
126
+ url = download_base + egg_name
127
+ saveto = os.path.join(to_dir, egg_name)
128
+ src = dst = None
129
+ if not os.path.exists(saveto): # Avoid repeated downloads
130
+ try:
131
+ from distutils import log
132
+ if delay:
133
+ log.warn("""
134
+ ---------------------------------------------------------------------------
135
+ This script requires setuptools version %s to run (even to display
136
+ help). I will attempt to download it for you (from
137
+ %s), but
138
+ you may need to enable firewall access for this script first.
139
+ I will start the download in %d seconds.
140
+
141
+ (Note: if this machine does not have network access, please obtain the file
142
+
143
+ %s
144
+
145
+ and place it in this directory before rerunning this script.)
146
+ ---------------------------------------------------------------------------""",
147
+ version, download_base, delay, url
148
+ ); from time import sleep; sleep(delay)
149
+ log.warn("Downloading %s", url)
150
+ src = urllib2.urlopen(url)
151
+ # Read/write all in one block, so we don't create a corrupt file
152
+ # if the download is interrupted.
153
+ data = _validate_md5(egg_name, src.read())
154
+ dst = open(saveto,"wb"); dst.write(data)
155
+ finally:
156
+ if src: src.close()
157
+ if dst: dst.close()
158
+ return os.path.realpath(saveto)
159
+
160
+
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+ def main(argv, version=DEFAULT_VERSION):
196
+ """Install or upgrade setuptools and EasyInstall"""
197
+ try:
198
+ import setuptools
199
+ except ImportError:
200
+ egg = None
201
+ try:
202
+ egg = download_setuptools(version, delay=0)
203
+ sys.path.insert(0,egg)
204
+ from setuptools.command.easy_install import main
205
+ return main(list(argv)+[egg]) # we're done here
206
+ finally:
207
+ if egg and os.path.exists(egg):
208
+ os.unlink(egg)
209
+ else:
210
+ if setuptools.__version__ == '0.0.1':
211
+ print >>sys.stderr, (
212
+ "You have an obsolete version of setuptools installed. Please\n"
213
+ "remove it from your system entirely before rerunning this script."
214
+ )
215
+ sys.exit(2)
216
+
217
+ req = "setuptools>="+version
218
+ import pkg_resources
219
+ try:
220
+ pkg_resources.require(req)
221
+ except pkg_resources.VersionConflict:
222
+ try:
223
+ from setuptools.command.easy_install import main
224
+ except ImportError:
225
+ from easy_install import main
226
+ main(list(argv)+[download_setuptools(delay=0)])
227
+ sys.exit(0) # try to force an exit
228
+ else:
229
+ if argv:
230
+ from setuptools.command.easy_install import main
231
+ main(argv)
232
+ else:
233
+ print "Setuptools version",version,"or greater has been installed."
234
+ print '(Run "ez_setup.py -U setuptools" to reinstall or upgrade.)'
235
+
236
+ def update_md5(filenames):
237
+ """Update our built-in md5 registry"""
238
+
239
+ import re
240
+
241
+ for name in filenames:
242
+ base = os.path.basename(name)
243
+ f = open(name,'rb')
244
+ md5_data[base] = md5(f.read()).hexdigest()
245
+ f.close()
246
+
247
+ data = [" %r: %r,\n" % it for it in md5_data.items()]
248
+ data.sort()
249
+ repl = "".join(data)
250
+
251
+ import inspect
252
+ srcfile = inspect.getsourcefile(sys.modules[__name__])
253
+ f = open(srcfile, 'rb'); src = f.read(); f.close()
254
+
255
+ match = re.search("\nmd5_data = {\n([^}]+)}", src)
256
+ if not match:
257
+ print >>sys.stderr, "Internal error!"
258
+ sys.exit(2)
259
+
260
+ src = src[:match.start(1)] + repl + src[match.end(1):]
261
+ f = open(srcfile,'w')
262
+ f.write(src)
263
+ f.close()
264
+
265
+
266
+ if __name__=='__main__':
267
+ if len(sys.argv)>2 and sys.argv[1]=='--md5update':
268
+ update_md5(sys.argv[2:])
269
+ else:
270
+ main(sys.argv[1:])
271
+
272
+
273
+
274
+
275
+
276
+
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env python2
2
+
3
+ import sys, pygments.cmdline
4
+ try:
5
+ sys.exit(pygments.cmdline.main(sys.argv))
6
+ except KeyboardInterrupt:
7
+ sys.exit(1)
@@ -0,0 +1,91 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Pygments
4
+ ~~~~~~~~
5
+
6
+ Pygments is a syntax highlighting package written in Python.
7
+
8
+ It is a generic syntax highlighter for general use in all kinds of software
9
+ such as forum systems, wikis or other applications that need to prettify
10
+ source code. Highlights are:
11
+
12
+ * a wide range of common languages and markup formats is supported
13
+ * special attention is paid to details, increasing quality by a fair amount
14
+ * support for new languages and formats are added easily
15
+ * a number of output formats, presently HTML, LaTeX, RTF, SVG, all image
16
+ formats that PIL supports, and ANSI sequences
17
+ * it is usable as a command-line tool and as a library
18
+ * ... and it highlights even Brainfuck!
19
+
20
+ The `Pygments tip`_ is installable with ``easy_install Pygments==dev``.
21
+
22
+ .. _Pygments tip:
23
+ http://bitbucket.org/birkenfeld/pygments-main/get/tip.zip#egg=Pygments-dev
24
+
25
+ :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
26
+ :license: BSD, see LICENSE for details.
27
+ """
28
+
29
+ __version__ = '1.6'
30
+ __docformat__ = 'restructuredtext'
31
+
32
+ __all__ = ['lex', 'format', 'highlight']
33
+
34
+
35
+ import sys
36
+
37
+ from pygments.util import StringIO, BytesIO
38
+
39
+
40
+ def lex(code, lexer):
41
+ """
42
+ Lex ``code`` with ``lexer`` and return an iterable of tokens.
43
+ """
44
+ try:
45
+ return lexer.get_tokens(code)
46
+ except TypeError, err:
47
+ if isinstance(err.args[0], str) and \
48
+ 'unbound method get_tokens' in err.args[0]:
49
+ raise TypeError('lex() argument must be a lexer instance, '
50
+ 'not a class')
51
+ raise
52
+
53
+
54
+ def format(tokens, formatter, outfile=None):
55
+ """
56
+ Format a tokenlist ``tokens`` with the formatter ``formatter``.
57
+
58
+ If ``outfile`` is given and a valid file object (an object
59
+ with a ``write`` method), the result will be written to it, otherwise
60
+ it is returned as a string.
61
+ """
62
+ try:
63
+ if not outfile:
64
+ #print formatter, 'using', formatter.encoding
65
+ realoutfile = formatter.encoding and BytesIO() or StringIO()
66
+ formatter.format(tokens, realoutfile)
67
+ return realoutfile.getvalue()
68
+ else:
69
+ formatter.format(tokens, outfile)
70
+ except TypeError, err:
71
+ if isinstance(err.args[0], str) and \
72
+ 'unbound method format' in err.args[0]:
73
+ raise TypeError('format() argument must be a formatter instance, '
74
+ 'not a class')
75
+ raise
76
+
77
+
78
+ def highlight(code, lexer, formatter, outfile=None):
79
+ """
80
+ Lex ``code`` with ``lexer`` and format it with the formatter ``formatter``.
81
+
82
+ If ``outfile`` is given and a valid file object (an object
83
+ with a ``write`` method), the result will be written to it, otherwise
84
+ it is returned as a string.
85
+ """
86
+ return format(lex(code, lexer), formatter, outfile)
87
+
88
+
89
+ if __name__ == '__main__':
90
+ from pygments.cmdline import main
91
+ sys.exit(main(sys.argv))
@@ -0,0 +1,441 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ pygments.cmdline
4
+ ~~~~~~~~~~~~~~~~
5
+
6
+ Command line interface.
7
+
8
+ :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
9
+ :license: BSD, see LICENSE for details.
10
+ """
11
+ import sys
12
+ import getopt
13
+ from textwrap import dedent
14
+
15
+ from pygments import __version__, highlight
16
+ from pygments.util import ClassNotFound, OptionError, docstring_headline
17
+ from pygments.lexers import get_all_lexers, get_lexer_by_name, get_lexer_for_filename, \
18
+ find_lexer_class, guess_lexer, TextLexer
19
+ from pygments.formatters import get_all_formatters, get_formatter_by_name, \
20
+ get_formatter_for_filename, find_formatter_class, \
21
+ TerminalFormatter # pylint:disable-msg=E0611
22
+ from pygments.filters import get_all_filters, find_filter_class
23
+ from pygments.styles import get_all_styles, get_style_by_name
24
+
25
+
26
+ USAGE = """\
27
+ Usage: %s [-l <lexer> | -g] [-F <filter>[:<options>]] [-f <formatter>]
28
+ [-O <options>] [-P <option=value>] [-o <outfile>] [<infile>]
29
+
30
+ %s -S <style> -f <formatter> [-a <arg>] [-O <options>] [-P <option=value>]
31
+ %s -L [<which> ...]
32
+ %s -N <filename>
33
+ %s -H <type> <name>
34
+ %s -h | -V
35
+
36
+ Highlight the input file and write the result to <outfile>.
37
+
38
+ If no input file is given, use stdin, if -o is not given, use stdout.
39
+
40
+ <lexer> is a lexer name (query all lexer names with -L). If -l is not
41
+ given, the lexer is guessed from the extension of the input file name
42
+ (this obviously doesn't work if the input is stdin). If -g is passed,
43
+ attempt to guess the lexer from the file contents, or pass through as
44
+ plain text if this fails (this can work for stdin).
45
+
46
+ Likewise, <formatter> is a formatter name, and will be guessed from
47
+ the extension of the output file name. If no output file is given,
48
+ the terminal formatter will be used by default.
49
+
50
+ With the -O option, you can give the lexer and formatter a comma-
51
+ separated list of options, e.g. ``-O bg=light,python=cool``.
52
+
53
+ The -P option adds lexer and formatter options like the -O option, but
54
+ you can only give one option per -P. That way, the option value may
55
+ contain commas and equals signs, which it can't with -O, e.g.
56
+ ``-P "heading=Pygments, the Python highlighter".
57
+
58
+ With the -F option, you can add filters to the token stream, you can
59
+ give options in the same way as for -O after a colon (note: there must
60
+ not be spaces around the colon).
61
+
62
+ The -O, -P and -F options can be given multiple times.
63
+
64
+ With the -S option, print out style definitions for style <style>
65
+ for formatter <formatter>. The argument given by -a is formatter
66
+ dependent.
67
+
68
+ The -L option lists lexers, formatters, styles or filters -- set
69
+ `which` to the thing you want to list (e.g. "styles"), or omit it to
70
+ list everything.
71
+
72
+ The -N option guesses and prints out a lexer name based solely on
73
+ the given filename. It does not take input or highlight anything.
74
+ If no specific lexer can be determined "text" is returned.
75
+
76
+ The -H option prints detailed help for the object <name> of type <type>,
77
+ where <type> is one of "lexer", "formatter" or "filter".
78
+
79
+ The -h option prints this help.
80
+ The -V option prints the package version.
81
+ """
82
+
83
+
84
+ def _parse_options(o_strs):
85
+ opts = {}
86
+ if not o_strs:
87
+ return opts
88
+ for o_str in o_strs:
89
+ if not o_str:
90
+ continue
91
+ o_args = o_str.split(',')
92
+ for o_arg in o_args:
93
+ o_arg = o_arg.strip()
94
+ try:
95
+ o_key, o_val = o_arg.split('=')
96
+ o_key = o_key.strip()
97
+ o_val = o_val.strip()
98
+ except ValueError:
99
+ opts[o_arg] = True
100
+ else:
101
+ opts[o_key] = o_val
102
+ return opts
103
+
104
+
105
+ def _parse_filters(f_strs):
106
+ filters = []
107
+ if not f_strs:
108
+ return filters
109
+ for f_str in f_strs:
110
+ if ':' in f_str:
111
+ fname, fopts = f_str.split(':', 1)
112
+ filters.append((fname, _parse_options([fopts])))
113
+ else:
114
+ filters.append((f_str, {}))
115
+ return filters
116
+
117
+
118
+ def _print_help(what, name):
119
+ try:
120
+ if what == 'lexer':
121
+ cls = find_lexer_class(name)
122
+ print "Help on the %s lexer:" % cls.name
123
+ print dedent(cls.__doc__)
124
+ elif what == 'formatter':
125
+ cls = find_formatter_class(name)
126
+ print "Help on the %s formatter:" % cls.name
127
+ print dedent(cls.__doc__)
128
+ elif what == 'filter':
129
+ cls = find_filter_class(name)
130
+ print "Help on the %s filter:" % name
131
+ print dedent(cls.__doc__)
132
+ except AttributeError:
133
+ print >>sys.stderr, "%s not found!" % what
134
+
135
+
136
+ def _print_list(what):
137
+ if what == 'lexer':
138
+ print
139
+ print "Lexers:"
140
+ print "~~~~~~~"
141
+
142
+ info = []
143
+ for fullname, names, exts, _ in get_all_lexers():
144
+ tup = (', '.join(names)+':', fullname,
145
+ exts and '(filenames ' + ', '.join(exts) + ')' or '')
146
+ info.append(tup)
147
+ info.sort()
148
+ for i in info:
149
+ print ('* %s\n %s %s') % i
150
+
151
+ elif what == 'formatter':
152
+ print
153
+ print "Formatters:"
154
+ print "~~~~~~~~~~~"
155
+
156
+ info = []
157
+ for cls in get_all_formatters():
158
+ doc = docstring_headline(cls)
159
+ tup = (', '.join(cls.aliases) + ':', doc, cls.filenames and
160
+ '(filenames ' + ', '.join(cls.filenames) + ')' or '')
161
+ info.append(tup)
162
+ info.sort()
163
+ for i in info:
164
+ print ('* %s\n %s %s') % i
165
+
166
+ elif what == 'filter':
167
+ print
168
+ print "Filters:"
169
+ print "~~~~~~~~"
170
+
171
+ for name in get_all_filters():
172
+ cls = find_filter_class(name)
173
+ print "* " + name + ':'
174
+ print " %s" % docstring_headline(cls)
175
+
176
+ elif what == 'style':
177
+ print
178
+ print "Styles:"
179
+ print "~~~~~~~"
180
+
181
+ for name in get_all_styles():
182
+ cls = get_style_by_name(name)
183
+ print "* " + name + ':'
184
+ print " %s" % docstring_headline(cls)
185
+
186
+
187
+ def main(args=sys.argv):
188
+ """
189
+ Main command line entry point.
190
+ """
191
+ # pylint: disable-msg=R0911,R0912,R0915
192
+
193
+ usage = USAGE % ((args[0],) * 6)
194
+
195
+ if sys.platform in ['win32', 'cygwin']:
196
+ try:
197
+ # Provide coloring under Windows, if possible
198
+ import colorama
199
+ colorama.init()
200
+ except ImportError:
201
+ pass
202
+
203
+ try:
204
+ popts, args = getopt.getopt(args[1:], "l:f:F:o:O:P:LS:a:N:hVHg")
205
+ except getopt.GetoptError, err:
206
+ print >>sys.stderr, usage
207
+ return 2
208
+ opts = {}
209
+ O_opts = []
210
+ P_opts = []
211
+ F_opts = []
212
+ for opt, arg in popts:
213
+ if opt == '-O':
214
+ O_opts.append(arg)
215
+ elif opt == '-P':
216
+ P_opts.append(arg)
217
+ elif opt == '-F':
218
+ F_opts.append(arg)
219
+ opts[opt] = arg
220
+
221
+ if not opts and not args:
222
+ print usage
223
+ return 0
224
+
225
+ if opts.pop('-h', None) is not None:
226
+ print usage
227
+ return 0
228
+
229
+ if opts.pop('-V', None) is not None:
230
+ print 'Pygments version %s, (c) 2006-2013 by Georg Brandl.' % __version__
231
+ return 0
232
+
233
+ # handle ``pygmentize -L``
234
+ L_opt = opts.pop('-L', None)
235
+ if L_opt is not None:
236
+ if opts:
237
+ print >>sys.stderr, usage
238
+ return 2
239
+
240
+ # print version
241
+ main(['', '-V'])
242
+ if not args:
243
+ args = ['lexer', 'formatter', 'filter', 'style']
244
+ for arg in args:
245
+ _print_list(arg.rstrip('s'))
246
+ return 0
247
+
248
+ # handle ``pygmentize -H``
249
+ H_opt = opts.pop('-H', None)
250
+ if H_opt is not None:
251
+ if opts or len(args) != 2:
252
+ print >>sys.stderr, usage
253
+ return 2
254
+
255
+ what, name = args
256
+ if what not in ('lexer', 'formatter', 'filter'):
257
+ print >>sys.stderr, usage
258
+ return 2
259
+
260
+ _print_help(what, name)
261
+ return 0
262
+
263
+ # parse -O options
264
+ parsed_opts = _parse_options(O_opts)
265
+ opts.pop('-O', None)
266
+
267
+ # parse -P options
268
+ for p_opt in P_opts:
269
+ try:
270
+ name, value = p_opt.split('=', 1)
271
+ except ValueError:
272
+ parsed_opts[p_opt] = True
273
+ else:
274
+ parsed_opts[name] = value
275
+ opts.pop('-P', None)
276
+
277
+ # handle ``pygmentize -N``
278
+ infn = opts.pop('-N', None)
279
+ if infn is not None:
280
+ try:
281
+ lexer = get_lexer_for_filename(infn, **parsed_opts)
282
+ except ClassNotFound, err:
283
+ lexer = TextLexer()
284
+ except OptionError, err:
285
+ print >>sys.stderr, 'Error:', err
286
+ return 1
287
+
288
+ print lexer.aliases[0]
289
+ return 0
290
+
291
+ # handle ``pygmentize -S``
292
+ S_opt = opts.pop('-S', None)
293
+ a_opt = opts.pop('-a', None)
294
+ if S_opt is not None:
295
+ f_opt = opts.pop('-f', None)
296
+ if not f_opt:
297
+ print >>sys.stderr, usage
298
+ return 2
299
+ if opts or args:
300
+ print >>sys.stderr, usage
301
+ return 2
302
+
303
+ try:
304
+ parsed_opts['style'] = S_opt
305
+ fmter = get_formatter_by_name(f_opt, **parsed_opts)
306
+ except ClassNotFound, err:
307
+ print >>sys.stderr, err
308
+ return 1
309
+
310
+ arg = a_opt or ''
311
+ try:
312
+ print fmter.get_style_defs(arg)
313
+ except Exception, err:
314
+ print >>sys.stderr, 'Error:', err
315
+ return 1
316
+ return 0
317
+
318
+ # if no -S is given, -a is not allowed
319
+ if a_opt is not None:
320
+ print >>sys.stderr, usage
321
+ return 2
322
+
323
+ # parse -F options
324
+ F_opts = _parse_filters(F_opts)
325
+ opts.pop('-F', None)
326
+
327
+ # select formatter
328
+ outfn = opts.pop('-o', None)
329
+ fmter = opts.pop('-f', None)
330
+ if fmter:
331
+ try:
332
+ fmter = get_formatter_by_name(fmter, **parsed_opts)
333
+ except (OptionError, ClassNotFound), err:
334
+ print >>sys.stderr, 'Error:', err
335
+ return 1
336
+
337
+ if outfn:
338
+ if not fmter:
339
+ try:
340
+ fmter = get_formatter_for_filename(outfn, **parsed_opts)
341
+ except (OptionError, ClassNotFound), err:
342
+ print >>sys.stderr, 'Error:', err
343
+ return 1
344
+ try:
345
+ outfile = open(outfn, 'wb')
346
+ except Exception, err:
347
+ print >>sys.stderr, 'Error: cannot open outfile:', err
348
+ return 1
349
+ else:
350
+ if not fmter:
351
+ fmter = TerminalFormatter(**parsed_opts)
352
+ outfile = sys.stdout
353
+
354
+ # select lexer
355
+ lexer = opts.pop('-l', None)
356
+ if lexer:
357
+ try:
358
+ lexer = get_lexer_by_name(lexer, **parsed_opts)
359
+ except (OptionError, ClassNotFound), err:
360
+ print >>sys.stderr, 'Error:', err
361
+ return 1
362
+
363
+ if args:
364
+ if len(args) > 1:
365
+ print >>sys.stderr, usage
366
+ return 2
367
+
368
+ infn = args[0]
369
+ try:
370
+ code = open(infn, 'rb').read()
371
+ except Exception, err:
372
+ print >>sys.stderr, 'Error: cannot read infile:', err
373
+ return 1
374
+
375
+ if not lexer:
376
+ try:
377
+ lexer = get_lexer_for_filename(infn, code, **parsed_opts)
378
+ except ClassNotFound, err:
379
+ if '-g' in opts:
380
+ try:
381
+ lexer = guess_lexer(code, **parsed_opts)
382
+ except ClassNotFound:
383
+ lexer = TextLexer(**parsed_opts)
384
+ else:
385
+ print >>sys.stderr, 'Error:', err
386
+ return 1
387
+ except OptionError, err:
388
+ print >>sys.stderr, 'Error:', err
389
+ return 1
390
+
391
+ else:
392
+ if '-g' in opts:
393
+ code = sys.stdin.read()
394
+ try:
395
+ lexer = guess_lexer(code, **parsed_opts)
396
+ except ClassNotFound:
397
+ lexer = TextLexer(**parsed_opts)
398
+ elif not lexer:
399
+ print >>sys.stderr, 'Error: no lexer name given and reading ' + \
400
+ 'from stdin (try using -g or -l <lexer>)'
401
+ return 2
402
+ else:
403
+ code = sys.stdin.read()
404
+
405
+ # No encoding given? Use latin1 if output file given,
406
+ # stdin/stdout encoding otherwise.
407
+ # (This is a compromise, I'm not too happy with it...)
408
+ if 'encoding' not in parsed_opts and 'outencoding' not in parsed_opts:
409
+ if outfn:
410
+ # encoding pass-through
411
+ fmter.encoding = 'latin1'
412
+ else:
413
+ if sys.version_info < (3,):
414
+ # use terminal encoding; Python 3's terminals already do that
415
+ lexer.encoding = getattr(sys.stdin, 'encoding',
416
+ None) or 'ascii'
417
+ fmter.encoding = getattr(sys.stdout, 'encoding',
418
+ None) or 'ascii'
419
+ elif not outfn and sys.version_info > (3,):
420
+ # output to terminal with encoding -> use .buffer
421
+ outfile = sys.stdout.buffer
422
+
423
+ # ... and do it!
424
+ try:
425
+ # process filters
426
+ for fname, fopts in F_opts:
427
+ lexer.add_filter(fname, **fopts)
428
+ highlight(code, lexer, fmter, outfile)
429
+ except Exception, err:
430
+ import traceback
431
+ info = traceback.format_exception(*sys.exc_info())
432
+ msg = info[-1].strip()
433
+ if len(info) >= 3:
434
+ # extract relevant file and position info
435
+ msg += '\n (f%s)' % info[-2].split('\n')[0].strip()[1:]
436
+ print >>sys.stderr
437
+ print >>sys.stderr, '*** Error while highlighting:'
438
+ print >>sys.stderr, msg
439
+ return 1
440
+
441
+ return 0