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,67 @@
1
+ .. -*- mode: rst -*-
2
+
3
+ ================
4
+ Available lexers
5
+ ================
6
+
7
+ This page lists all available builtin lexers and the options they take.
8
+
9
+ Currently, **all lexers** support these options:
10
+
11
+ `stripnl`
12
+ Strip leading and trailing newlines from the input (default: ``True``)
13
+
14
+ `stripall`
15
+ Strip all leading and trailing whitespace from the input (default:
16
+ ``False``).
17
+
18
+ `ensurenl`
19
+ Make sure that the input ends with a newline (default: ``True``). This
20
+ is required for some lexers that consume input linewise.
21
+ *New in Pygments 1.3.*
22
+
23
+ `tabsize`
24
+ If given and greater than 0, expand tabs in the input (default: ``0``).
25
+
26
+ `encoding`
27
+ *New in Pygments 0.6.*
28
+
29
+ If given, must be an encoding name (such as ``"utf-8"``). This encoding
30
+ will be used to convert the input string to Unicode (if it is not already
31
+ a Unicode string). The default is ``"latin1"``.
32
+
33
+ If this option is set to ``"guess"``, a simple UTF-8 vs. Latin-1
34
+ detection is used, if it is set to ``"chardet"``, the
35
+ `chardet library <http://chardet.feedparser.org/>`__ is used to
36
+ guess the encoding of the input.
37
+
38
+
39
+ The "Short Names" field lists the identifiers that can be used with the
40
+ `get_lexer_by_name()` function.
41
+
42
+ These lexers are builtin and can be imported from `pygments.lexers`:
43
+
44
+ [builtin_lexer_docs]
45
+
46
+ Iterating over all lexers
47
+ -------------------------
48
+
49
+ *New in Pygments 0.6.*
50
+
51
+ To get all lexers (both the builtin and the plugin ones), you can
52
+ use the `get_all_lexers()` function from the `pygments.lexers`
53
+ module:
54
+
55
+ .. sourcecode:: pycon
56
+
57
+ >>> from pygments.lexers import get_all_lexers
58
+ >>> i = get_all_lexers()
59
+ >>> i.next()
60
+ ('Diff', ('diff',), ('*.diff', '*.patch'), ('text/x-diff', 'text/x-patch'))
61
+ >>> i.next()
62
+ ('Delphi', ('delphi', 'objectpascal', 'pas', 'pascal'), ('*.pas',), ('text/x-pascal',))
63
+ >>> i.next()
64
+ ('XML+Ruby', ('xml+erb', 'xml+ruby'), (), ())
65
+
66
+ As you can see, the return value is an iterator which yields tuples
67
+ in the form ``(name, aliases, filetypes, mimetypes)``.
@@ -0,0 +1,39 @@
1
+ .. -*- mode: rst -*-
2
+
3
+ ============================
4
+ Using Pygments with MoinMoin
5
+ ============================
6
+
7
+ From Pygments 0.7, the source distribution ships a `Moin`_ parser plugin that
8
+ can be used to get Pygments highlighting in Moin wiki pages.
9
+
10
+ To use it, copy the file `external/moin-parser.py` from the Pygments
11
+ distribution to the `data/plugin/parser` subdirectory of your Moin instance.
12
+ Edit the options at the top of the file (currently ``ATTACHMENTS`` and
13
+ ``INLINESTYLES``) and rename the file to the name that the parser directive
14
+ should have. For example, if you name the file ``code.py``, you can get a
15
+ highlighted Python code sample with this Wiki markup::
16
+
17
+ {{{
18
+ #!code python
19
+ [...]
20
+ }}}
21
+
22
+ where ``python`` is the Pygments name of the lexer to use.
23
+
24
+ Additionally, if you set the ``ATTACHMENTS`` option to True, Pygments will also
25
+ be called for all attachments for whose filenames there is no other parser
26
+ registered.
27
+
28
+ You are responsible for including CSS rules that will map the Pygments CSS
29
+ classes to colors. You can output a stylesheet file with `pygmentize`, put it
30
+ into the `htdocs` directory of your Moin instance and then include it in the
31
+ `stylesheets` configuration option in the Moin config, e.g.::
32
+
33
+ stylesheets = [('screen', '/htdocs/pygments.css')]
34
+
35
+ If you do not want to do that and are willing to accept larger HTML output, you
36
+ can set the ``INLINESTYLES`` option to True.
37
+
38
+
39
+ .. _Moin: http://moinmoin.wikiwikiweb.de/
@@ -0,0 +1,93 @@
1
+ ================
2
+ Register Plugins
3
+ ================
4
+
5
+ If you want to extend Pygments without hacking the sources, but want to
6
+ use the lexer/formatter/style/filter lookup functions (`lexers.get_lexer_by_name`
7
+ et al.), you can use `setuptools`_ entrypoints to add new lexers, formatters
8
+ or styles as if they were in the Pygments core.
9
+
10
+ .. _setuptools: http://peak.telecommunity.com/DevCenter/setuptools
11
+
12
+ That means you can use your highlighter modules with the `pygmentize` script,
13
+ which relies on the mentioned functions.
14
+
15
+
16
+ Entrypoints
17
+ ===========
18
+
19
+ Here is a list of setuptools entrypoints that Pygments understands:
20
+
21
+ `pygments.lexers`
22
+
23
+ This entrypoint is used for adding new lexers to the Pygments core.
24
+ The name of the entrypoint values doesn't really matter, Pygments extracts
25
+ required metadata from the class definition:
26
+
27
+ .. sourcecode:: ini
28
+
29
+ [pygments.lexers]
30
+ yourlexer = yourmodule:YourLexer
31
+
32
+ Note that you have to define ``name``, ``aliases`` and ``filename``
33
+ attributes so that you can use the highlighter from the command line:
34
+
35
+ .. sourcecode:: python
36
+
37
+ class YourLexer(...):
38
+ name = 'Name Of Your Lexer'
39
+ aliases = ['alias']
40
+ filenames = ['*.ext']
41
+
42
+
43
+ `pygments.formatters`
44
+
45
+ You can use this entrypoint to add new formatters to Pygments. The
46
+ name of an entrypoint item is the name of the formatter. If you
47
+ prefix the name with a slash it's used as a filename pattern:
48
+
49
+ .. sourcecode:: ini
50
+
51
+ [pygments.formatters]
52
+ yourformatter = yourmodule:YourFormatter
53
+ /.ext = yourmodule:YourFormatter
54
+
55
+
56
+ `pygments.styles`
57
+
58
+ To add a new style you can use this entrypoint. The name of the entrypoint
59
+ is the name of the style:
60
+
61
+ .. sourcecode:: ini
62
+
63
+ [pygments.styles]
64
+ yourstyle = yourmodule:YourStyle
65
+
66
+
67
+ `pygments.filters`
68
+
69
+ Use this entrypoint to register a new filter. The name of the
70
+ entrypoint is the name of the filter:
71
+
72
+ .. sourcecode:: ini
73
+
74
+ [pygments.filters]
75
+ yourfilter = yourmodule:YourFilter
76
+
77
+
78
+ How To Use Entrypoints
79
+ ======================
80
+
81
+ This documentation doesn't explain how to use those entrypoints because this is
82
+ covered in the `setuptools documentation`_. That page should cover everything
83
+ you need to write a plugin.
84
+
85
+ .. _setuptools documentation: http://peak.telecommunity.com/DevCenter/setuptools
86
+
87
+
88
+ Extending The Core
89
+ ==================
90
+
91
+ If you have written a Pygments plugin that is open source, please inform us
92
+ about that. There is a high chance that we'll add it to the Pygments
93
+ distribution.
@@ -0,0 +1,202 @@
1
+ .. -*- mode: rst -*-
2
+
3
+ ===========================
4
+ Introduction and Quickstart
5
+ ===========================
6
+
7
+
8
+ Welcome to Pygments! This document explains the basic concepts and terms and
9
+ gives a few examples of how to use the library.
10
+
11
+
12
+ Architecture
13
+ ============
14
+
15
+ There are four types of components that work together highlighting a piece of
16
+ code:
17
+
18
+ * A **lexer** splits the source into tokens, fragments of the source that
19
+ have a token type that determines what the text represents semantically
20
+ (e.g., keyword, string, or comment). There is a lexer for every language
21
+ or markup format that Pygments supports.
22
+ * The token stream can be piped through **filters**, which usually modify
23
+ the token types or text fragments, e.g. uppercasing all keywords.
24
+ * A **formatter** then takes the token stream and writes it to an output
25
+ file, in a format such as HTML, LaTeX or RTF.
26
+ * While writing the output, a **style** determines how to highlight all the
27
+ different token types. It maps them to attributes like "red and bold".
28
+
29
+
30
+ Example
31
+ =======
32
+
33
+ Here is a small example for highlighting Python code:
34
+
35
+ .. sourcecode:: python
36
+
37
+ from pygments import highlight
38
+ from pygments.lexers import PythonLexer
39
+ from pygments.formatters import HtmlFormatter
40
+
41
+ code = 'print "Hello World"'
42
+ print highlight(code, PythonLexer(), HtmlFormatter())
43
+
44
+ which prints something like this:
45
+
46
+ .. sourcecode:: html
47
+
48
+ <div class="highlight">
49
+ <pre><span class="k">print</span> <span class="s">&quot;Hello World&quot;</span></pre>
50
+ </div>
51
+
52
+ As you can see, Pygments uses CSS classes (by default, but you can change that)
53
+ instead of inline styles in order to avoid outputting redundant style information over
54
+ and over. A CSS stylesheet that contains all CSS classes possibly used in the output
55
+ can be produced by:
56
+
57
+ .. sourcecode:: python
58
+
59
+ print HtmlFormatter().get_style_defs('.highlight')
60
+
61
+ The argument to `get_style_defs` is used as an additional CSS selector: the output
62
+ may look like this:
63
+
64
+ .. sourcecode:: css
65
+
66
+ .highlight .k { color: #AA22FF; font-weight: bold }
67
+ .highlight .s { color: #BB4444 }
68
+ ...
69
+
70
+
71
+ Options
72
+ =======
73
+
74
+ The `highlight()` function supports a fourth argument called `outfile`, it must be
75
+ a file object if given. The formatted output will then be written to this file
76
+ instead of being returned as a string.
77
+
78
+ Lexers and formatters both support options. They are given to them as keyword
79
+ arguments either to the class or to the lookup method:
80
+
81
+ .. sourcecode:: python
82
+
83
+ from pygments import highlight
84
+ from pygments.lexers import get_lexer_by_name
85
+ from pygments.formatters import HtmlFormatter
86
+
87
+ lexer = get_lexer_by_name("python", stripall=True)
88
+ formatter = HtmlFormatter(linenos=True, cssclass="source")
89
+ result = highlight(code, lexer, formatter)
90
+
91
+ This makes the lexer strip all leading and trailing whitespace from the input
92
+ (`stripall` option), lets the formatter output line numbers (`linenos` option),
93
+ and sets the wrapping ``<div>``'s class to ``source`` (instead of
94
+ ``highlight``).
95
+
96
+ Important options include:
97
+
98
+ `encoding` : for lexers and formatters
99
+ Since Pygments uses Unicode strings internally, this determines which
100
+ encoding will be used to convert to or from byte strings.
101
+ `style` : for formatters
102
+ The name of the style to use when writing the output.
103
+
104
+
105
+ For an overview of builtin lexers and formatters and their options, visit the
106
+ `lexer <lexers.txt>`_ and `formatters <formatters.txt>`_ lists.
107
+
108
+ For a documentation on filters, see `this page <filters.txt>`_.
109
+
110
+
111
+ Lexer and formatter lookup
112
+ ==========================
113
+
114
+ If you want to lookup a built-in lexer by its alias or a filename, you can use
115
+ one of the following methods:
116
+
117
+ .. sourcecode:: pycon
118
+
119
+ >>> from pygments.lexers import (get_lexer_by_name,
120
+ ... get_lexer_for_filename, get_lexer_for_mimetype)
121
+
122
+ >>> get_lexer_by_name('python')
123
+ <pygments.lexers.PythonLexer>
124
+
125
+ >>> get_lexer_for_filename('spam.rb')
126
+ <pygments.lexers.RubyLexer>
127
+
128
+ >>> get_lexer_for_mimetype('text/x-perl')
129
+ <pygments.lexers.PerlLexer>
130
+
131
+ All these functions accept keyword arguments; they will be passed to the lexer
132
+ as options.
133
+
134
+ A similar API is available for formatters: use `get_formatter_by_name()` and
135
+ `get_formatter_for_filename()` from the `pygments.formatters` module
136
+ for this purpose.
137
+
138
+
139
+ Guessing lexers
140
+ ===============
141
+
142
+ If you don't know the content of the file, or you want to highlight a file
143
+ whose extension is ambiguous, such as ``.html`` (which could contain plain HTML
144
+ or some template tags), use these functions:
145
+
146
+ .. sourcecode:: pycon
147
+
148
+ >>> from pygments.lexers import guess_lexer, guess_lexer_for_filename
149
+
150
+ >>> guess_lexer('#!/usr/bin/python\nprint "Hello World!"')
151
+ <pygments.lexers.PythonLexer>
152
+
153
+ >>> guess_lexer_for_filename('test.py', 'print "Hello World!"')
154
+ <pygments.lexers.PythonLexer>
155
+
156
+ `guess_lexer()` passes the given content to the lexer classes' `analyse_text()`
157
+ method and returns the one for which it returns the highest number.
158
+
159
+ All lexers have two different filename pattern lists: the primary and the
160
+ secondary one. The `get_lexer_for_filename()` function only uses the primary
161
+ list, whose entries are supposed to be unique among all lexers.
162
+ `guess_lexer_for_filename()`, however, will first loop through all lexers and
163
+ look at the primary and secondary filename patterns if the filename matches.
164
+ If only one lexer matches, it is returned, else the guessing mechanism of
165
+ `guess_lexer()` is used with the matching lexers.
166
+
167
+ As usual, keyword arguments to these functions are given to the created lexer
168
+ as options.
169
+
170
+
171
+ Command line usage
172
+ ==================
173
+
174
+ You can use Pygments from the command line, using the `pygmentize` script::
175
+
176
+ $ pygmentize test.py
177
+
178
+ will highlight the Python file test.py using ANSI escape sequences
179
+ (a.k.a. terminal colors) and print the result to standard output.
180
+
181
+ To output HTML, use the ``-f`` option::
182
+
183
+ $ pygmentize -f html -o test.html test.py
184
+
185
+ to write an HTML-highlighted version of test.py to the file test.html.
186
+ Note that it will only be a snippet of HTML, if you want a full HTML document,
187
+ use the "full" option::
188
+
189
+ $ pygmentize -f html -O full -o test.html test.py
190
+
191
+ This will produce a full HTML document with included stylesheet.
192
+
193
+ A style can be selected with ``-O style=<name>``.
194
+
195
+ If you need a stylesheet for an existing HTML file using Pygments CSS classes,
196
+ it can be created with::
197
+
198
+ $ pygmentize -S default -f html > style.css
199
+
200
+ where ``default`` is the style name.
201
+
202
+ More options and tricks and be found in the `command line reference <cmdline.txt>`_.
@@ -0,0 +1,22 @@
1
+ .. -*- mode: rst -*-
2
+
3
+ ================================
4
+ Using Pygments in ReST documents
5
+ ================================
6
+
7
+ Many Python people use `ReST`_ for documentation their sourcecode, programs,
8
+ scripts et cetera. This also means that documentation often includes sourcecode
9
+ samples or snippets.
10
+
11
+ You can easily enable Pygments support for your ReST texts using a custom
12
+ directive -- this is also how this documentation displays source code.
13
+
14
+ From Pygments 0.9, the directive is shipped in the distribution as
15
+ `external/rst-directive.py`. You can copy and adapt this code to your liking.
16
+
17
+ .. removed -- too confusing
18
+ *Loosely related note:* The ReST lexer now recognizes ``.. sourcecode::`` and
19
+ ``.. code::`` directives and highlights the contents in the specified language
20
+ if the `handlecodeblocks` option is true.
21
+
22
+ .. _ReST: http://docutils.sf.net/rst.html
@@ -0,0 +1,143 @@
1
+ .. -*- mode: rst -*-
2
+
3
+ ======
4
+ Styles
5
+ ======
6
+
7
+ Pygments comes with some builtin styles that work for both the HTML and
8
+ LaTeX formatter.
9
+
10
+ The builtin styles can be looked up with the `get_style_by_name` function:
11
+
12
+ .. sourcecode:: pycon
13
+
14
+ >>> from pygments.styles import get_style_by_name
15
+ >>> get_style_by_name('colorful')
16
+ <class 'pygments.styles.colorful.ColorfulStyle'>
17
+
18
+ You can pass a instance of a `Style` class to a formatter as the `style`
19
+ option in form of a string:
20
+
21
+ .. sourcecode:: pycon
22
+
23
+ >>> from pygments.styles import get_style_by_name
24
+ >>> HtmlFormatter(style='colorful').style
25
+ <class 'pygments.styles.colorful.ColorfulStyle'>
26
+
27
+ Or you can also import your own style (which must be a subclass of
28
+ `pygments.style.Style`) and pass it to the formatter:
29
+
30
+ .. sourcecode:: pycon
31
+
32
+ >>> from yourapp.yourmodule import YourStyle
33
+ >>> HtmlFormatter(style=YourStyle).style
34
+ <class 'yourapp.yourmodule.YourStyle'>
35
+
36
+
37
+ Creating Own Styles
38
+ ===================
39
+
40
+ So, how to create a style? All you have to do is to subclass `Style` and
41
+ define some styles:
42
+
43
+ .. sourcecode:: python
44
+
45
+ from pygments.style import Style
46
+ from pygments.token import Keyword, Name, Comment, String, Error, \
47
+ Number, Operator, Generic
48
+
49
+ class YourStyle(Style):
50
+ default_style = ""
51
+ styles = {
52
+ Comment: 'italic #888',
53
+ Keyword: 'bold #005',
54
+ Name: '#f00',
55
+ Name.Function: '#0f0',
56
+ Name.Class: 'bold #0f0',
57
+ String: 'bg:#eee #111'
58
+ }
59
+
60
+ That's it. There are just a few rules. When you define a style for `Name`
61
+ the style automatically also affects `Name.Function` and so on. If you
62
+ defined ``'bold'`` and you don't want boldface for a subtoken use ``'nobold'``.
63
+
64
+ (Philosophy: the styles aren't written in CSS syntax since this way
65
+ they can be used for a variety of formatters.)
66
+
67
+ `default_style` is the style inherited by all token types.
68
+
69
+ To make the style usable for Pygments, you must
70
+
71
+ * either register it as a plugin (see `the plugin docs <plugins.txt>`_)
72
+ * or drop it into the `styles` subpackage of your Pygments distribution one style
73
+ class per style, where the file name is the style name and the class name is
74
+ `StylenameClass`. For example, if your style should be called
75
+ ``"mondrian"``, name the class `MondrianStyle`, put it into the file
76
+ ``mondrian.py`` and this file into the ``pygments.styles`` subpackage
77
+ directory.
78
+
79
+
80
+ Style Rules
81
+ ===========
82
+
83
+ Here a small overview of all allowed styles:
84
+
85
+ ``bold``
86
+ render text as bold
87
+ ``nobold``
88
+ don't render text as bold (to prevent subtokens being highlighted bold)
89
+ ``italic``
90
+ render text italic
91
+ ``noitalic``
92
+ don't render text as italic
93
+ ``underline``
94
+ render text underlined
95
+ ``nounderline``
96
+ don't render text underlined
97
+ ``bg:``
98
+ transparent background
99
+ ``bg:#000000``
100
+ background color (black)
101
+ ``border:``
102
+ no border
103
+ ``border:#ffffff``
104
+ border color (white)
105
+ ``#ff0000``
106
+ text color (red)
107
+ ``noinherit``
108
+ don't inherit styles from supertoken
109
+
110
+ Note that there may not be a space between ``bg:`` and the color value
111
+ since the style definition string is split at whitespace.
112
+ Also, using named colors is not allowed since the supported color names
113
+ vary for different formatters.
114
+
115
+ Furthermore, not all lexers might support every style.
116
+
117
+
118
+ Builtin Styles
119
+ ==============
120
+
121
+ Pygments ships some builtin styles which are maintained by the Pygments team.
122
+
123
+ To get a list of known styles you can use this snippet:
124
+
125
+ .. sourcecode:: pycon
126
+
127
+ >>> from pygments.styles import STYLE_MAP
128
+ >>> STYLE_MAP.keys()
129
+ ['default', 'emacs', 'friendly', 'colorful']
130
+
131
+
132
+ Getting a list of available styles
133
+ ==================================
134
+
135
+ *New in Pygments 0.6.*
136
+
137
+ Because it could be that a plugin registered a style, there is
138
+ a way to iterate over all styles:
139
+
140
+ .. sourcecode:: pycon
141
+
142
+ >>> from pygments.styles import get_all_styles
143
+ >>> styles = list(get_all_styles())