pygments.rb 0.6.3 → 1.0.0

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 (606) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +11 -0
  3. data/README.md +6 -6
  4. data/Rakefile +2 -1
  5. data/cache-lexers.rb +1 -1
  6. data/circle.yml +7 -0
  7. data/lib/pygments/lexer.rb +3 -3
  8. data/lib/pygments/popen.rb +67 -30
  9. data/lib/pygments/version.rb +1 -1
  10. data/pygments.rb.gemspec +2 -1
  11. data/test/test_pygments.rb +16 -16
  12. data/vendor/pygments-main/AUTHORS +54 -8
  13. data/vendor/pygments-main/CHANGES +247 -25
  14. data/vendor/pygments-main/LICENSE +1 -1
  15. data/vendor/pygments-main/Makefile +15 -6
  16. data/vendor/pygments-main/README.rst +39 -0
  17. data/vendor/pygments-main/REVISION +1 -1
  18. data/vendor/pygments-main/TODO +0 -3
  19. data/vendor/pygments-main/doc/_themes/pygments14/layout.html +1 -1
  20. data/vendor/pygments-main/doc/_themes/pygments14/static/pygments14.css_t +1 -1
  21. data/vendor/pygments-main/doc/conf.py +3 -11
  22. data/vendor/pygments-main/doc/docs/api.rst +15 -0
  23. data/vendor/pygments-main/doc/docs/cmdline.rst +6 -2
  24. data/vendor/pygments-main/doc/docs/filterdevelopment.rst +4 -3
  25. data/vendor/pygments-main/doc/docs/integrate.rst +11 -15
  26. data/vendor/pygments-main/doc/docs/java.rst +7 -7
  27. data/vendor/pygments-main/doc/docs/lexerdevelopment.rst +258 -171
  28. data/vendor/pygments-main/doc/docs/lexers.rst +2 -2
  29. data/vendor/pygments-main/doc/docs/styles.rst +58 -0
  30. data/vendor/pygments-main/doc/docs/tokens.rst +22 -2
  31. data/vendor/pygments-main/doc/docs/unicode.rst +15 -7
  32. data/vendor/pygments-main/doc/faq.rst +17 -21
  33. data/vendor/pygments-main/doc/index.rst +12 -11
  34. data/vendor/pygments-main/doc/languages.rst +10 -7
  35. data/vendor/pygments-main/external/autopygmentize +9 -6
  36. data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +70 -52
  37. data/vendor/pygments-main/external/markdown-processor.py +1 -1
  38. data/vendor/pygments-main/external/moin-parser.py +1 -1
  39. data/vendor/pygments-main/external/rst-directive.py +1 -1
  40. data/vendor/pygments-main/pygmentize +2 -1
  41. data/vendor/pygments-main/pygments/__init__.py +14 -15
  42. data/vendor/pygments-main/pygments/cmdline.py +188 -113
  43. data/vendor/pygments-main/pygments/console.py +13 -13
  44. data/vendor/pygments-main/pygments/filter.py +7 -7
  45. data/vendor/pygments-main/pygments/filters/__init__.py +24 -32
  46. data/vendor/pygments-main/pygments/formatter.py +5 -5
  47. data/vendor/pygments-main/pygments/formatters/__init__.py +92 -44
  48. data/vendor/pygments-main/pygments/formatters/_mapping.py +51 -69
  49. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
  50. data/vendor/pygments-main/pygments/formatters/html.py +63 -51
  51. data/vendor/pygments-main/pygments/formatters/img.py +25 -22
  52. data/vendor/pygments-main/pygments/formatters/irc.py +182 -0
  53. data/vendor/pygments-main/pygments/formatters/latex.py +34 -22
  54. data/vendor/pygments-main/pygments/formatters/other.py +5 -7
  55. data/vendor/pygments-main/pygments/formatters/rtf.py +28 -31
  56. data/vendor/pygments-main/pygments/formatters/svg.py +1 -2
  57. data/vendor/pygments-main/pygments/formatters/terminal.py +29 -45
  58. data/vendor/pygments-main/pygments/formatters/terminal256.py +118 -31
  59. data/vendor/pygments-main/pygments/lexer.py +120 -34
  60. data/vendor/pygments-main/pygments/lexers/__init__.py +85 -53
  61. data/vendor/pygments-main/pygments/lexers/{_asybuiltins.py → _asy_builtins.py} +7 -7
  62. data/vendor/pygments-main/pygments/lexers/{_clbuiltins.py → _cl_builtins.py} +17 -17
  63. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +72 -0
  64. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1346 -0
  65. data/vendor/pygments-main/pygments/lexers/{_lassobuiltins.py → _lasso_builtins.py} +4699 -4561
  66. data/vendor/pygments-main/pygments/lexers/{_luabuiltins.py → _lua_builtins.py} +91 -51
  67. data/vendor/pygments-main/pygments/lexers/_mapping.py +342 -242
  68. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1172 -0
  69. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +2547 -0
  70. data/vendor/pygments-main/pygments/lexers/{_phpbuiltins.py → _php_builtins.py} +350 -353
  71. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +600 -212
  72. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +3084 -30
  73. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1163 -0
  74. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +91 -13
  75. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +419 -0
  76. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1004 -0
  77. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1939 -0
  78. data/vendor/pygments-main/pygments/lexers/actionscript.py +240 -0
  79. data/vendor/pygments-main/pygments/lexers/agile.py +14 -2542
  80. data/vendor/pygments-main/pygments/lexers/algebra.py +221 -0
  81. data/vendor/pygments-main/pygments/lexers/ambient.py +76 -0
  82. data/vendor/pygments-main/pygments/lexers/ampl.py +87 -0
  83. data/vendor/pygments-main/pygments/lexers/apl.py +101 -0
  84. data/vendor/pygments-main/pygments/lexers/archetype.py +318 -0
  85. data/vendor/pygments-main/pygments/lexers/asm.py +276 -81
  86. data/vendor/pygments-main/pygments/lexers/automation.py +374 -0
  87. data/vendor/pygments-main/pygments/lexers/basic.py +500 -0
  88. data/vendor/pygments-main/pygments/lexers/bibtex.py +156 -0
  89. data/vendor/pygments-main/pygments/lexers/business.py +594 -0
  90. data/vendor/pygments-main/pygments/lexers/c_cpp.py +252 -0
  91. data/vendor/pygments-main/pygments/lexers/c_like.py +541 -0
  92. data/vendor/pygments-main/pygments/lexers/capnproto.py +79 -0
  93. data/vendor/pygments-main/pygments/lexers/chapel.py +101 -0
  94. data/vendor/pygments-main/pygments/lexers/clean.py +288 -0
  95. data/vendor/pygments-main/pygments/lexers/compiled.py +24 -5182
  96. data/vendor/pygments-main/pygments/lexers/configs.py +833 -0
  97. data/vendor/pygments-main/pygments/lexers/console.py +114 -0
  98. data/vendor/pygments-main/pygments/lexers/crystal.py +384 -0
  99. data/vendor/pygments-main/pygments/lexers/csound.py +366 -0
  100. data/vendor/pygments-main/pygments/lexers/css.py +689 -0
  101. data/vendor/pygments-main/pygments/lexers/d.py +251 -0
  102. data/vendor/pygments-main/pygments/lexers/dalvik.py +6 -6
  103. data/vendor/pygments-main/pygments/lexers/data.py +555 -0
  104. data/vendor/pygments-main/pygments/lexers/diff.py +165 -0
  105. data/vendor/pygments-main/pygments/lexers/dotnet.py +96 -88
  106. data/vendor/pygments-main/pygments/lexers/dsls.py +878 -0
  107. data/vendor/pygments-main/pygments/lexers/dylan.py +289 -0
  108. data/vendor/pygments-main/pygments/lexers/ecl.py +125 -0
  109. data/vendor/pygments-main/pygments/lexers/eiffel.py +65 -0
  110. data/vendor/pygments-main/pygments/lexers/elm.py +121 -0
  111. data/vendor/pygments-main/pygments/lexers/erlang.py +533 -0
  112. data/vendor/pygments-main/pygments/lexers/esoteric.py +275 -0
  113. data/vendor/pygments-main/pygments/lexers/ezhil.py +68 -0
  114. data/vendor/pygments-main/pygments/lexers/factor.py +344 -0
  115. data/vendor/pygments-main/pygments/lexers/fantom.py +250 -0
  116. data/vendor/pygments-main/pygments/lexers/felix.py +273 -0
  117. data/vendor/pygments-main/pygments/lexers/forth.py +177 -0
  118. data/vendor/pygments-main/pygments/lexers/fortran.py +205 -0
  119. data/vendor/pygments-main/pygments/lexers/foxpro.py +1 -1
  120. data/vendor/pygments-main/pygments/lexers/functional.py +11 -3661
  121. data/vendor/pygments-main/pygments/lexers/go.py +101 -0
  122. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +213 -0
  123. data/vendor/pygments-main/pygments/lexers/graph.py +7 -8
  124. data/vendor/pygments-main/pygments/lexers/graphics.py +553 -0
  125. data/vendor/pygments-main/pygments/lexers/haskell.py +840 -0
  126. data/vendor/pygments-main/pygments/lexers/haxe.py +936 -0
  127. data/vendor/pygments-main/pygments/lexers/hdl.py +172 -145
  128. data/vendor/pygments-main/pygments/lexers/hexdump.py +97 -0
  129. data/vendor/pygments-main/pygments/lexers/html.py +602 -0
  130. data/vendor/pygments-main/pygments/lexers/idl.py +270 -0
  131. data/vendor/pygments-main/pygments/lexers/igor.py +288 -0
  132. data/vendor/pygments-main/pygments/lexers/inferno.py +3 -3
  133. data/vendor/pygments-main/pygments/lexers/installers.py +322 -0
  134. data/vendor/pygments-main/pygments/lexers/int_fiction.py +1343 -0
  135. data/vendor/pygments-main/pygments/lexers/iolang.py +63 -0
  136. data/vendor/pygments-main/pygments/lexers/j.py +146 -0
  137. data/vendor/pygments-main/pygments/lexers/javascript.py +1506 -0
  138. data/vendor/pygments-main/pygments/lexers/julia.py +333 -0
  139. data/vendor/pygments-main/pygments/lexers/jvm.py +232 -186
  140. data/vendor/pygments-main/pygments/lexers/lisp.py +2621 -0
  141. data/vendor/pygments-main/pygments/lexers/make.py +202 -0
  142. data/vendor/pygments-main/pygments/lexers/markup.py +595 -0
  143. data/vendor/pygments-main/pygments/lexers/math.py +11 -2276
  144. data/vendor/pygments-main/pygments/lexers/matlab.py +663 -0
  145. data/vendor/pygments-main/pygments/lexers/ml.py +769 -0
  146. data/vendor/pygments-main/pygments/lexers/modeling.py +358 -0
  147. data/vendor/pygments-main/pygments/lexers/modula2.py +1561 -0
  148. data/vendor/pygments-main/pygments/lexers/monte.py +203 -0
  149. data/vendor/pygments-main/pygments/lexers/ncl.py +1053 -0
  150. data/vendor/pygments-main/pygments/lexers/nimrod.py +159 -0
  151. data/vendor/pygments-main/pygments/lexers/nit.py +64 -0
  152. data/vendor/pygments-main/pygments/lexers/nix.py +136 -0
  153. data/vendor/pygments-main/pygments/lexers/oberon.py +105 -0
  154. data/vendor/pygments-main/pygments/lexers/objective.py +504 -0
  155. data/vendor/pygments-main/pygments/lexers/ooc.py +85 -0
  156. data/vendor/pygments-main/pygments/lexers/other.py +30 -4481
  157. data/vendor/pygments-main/pygments/lexers/parasail.py +79 -0
  158. data/vendor/pygments-main/pygments/lexers/parsers.py +171 -114
  159. data/vendor/pygments-main/pygments/lexers/pascal.py +644 -0
  160. data/vendor/pygments-main/pygments/lexers/pawn.py +199 -0
  161. data/vendor/pygments-main/pygments/lexers/perl.py +616 -0
  162. data/vendor/pygments-main/pygments/lexers/php.py +267 -0
  163. data/vendor/pygments-main/pygments/lexers/praat.py +294 -0
  164. data/vendor/pygments-main/pygments/lexers/prolog.py +306 -0
  165. data/vendor/pygments-main/pygments/lexers/python.py +938 -0
  166. data/vendor/pygments-main/pygments/lexers/qvt.py +152 -0
  167. data/vendor/pygments-main/pygments/lexers/r.py +453 -0
  168. data/vendor/pygments-main/pygments/lexers/rdf.py +195 -24
  169. data/vendor/pygments-main/pygments/lexers/rebol.py +431 -0
  170. data/vendor/pygments-main/pygments/lexers/resource.py +85 -0
  171. data/vendor/pygments-main/pygments/lexers/rnc.py +67 -0
  172. data/vendor/pygments-main/pygments/lexers/roboconf.py +82 -0
  173. data/vendor/pygments-main/pygments/lexers/{_robotframeworklexer.py → robotframework.py} +20 -18
  174. data/vendor/pygments-main/pygments/lexers/ruby.py +519 -0
  175. data/vendor/pygments-main/pygments/lexers/rust.py +209 -0
  176. data/vendor/pygments-main/pygments/lexers/sas.py +228 -0
  177. data/vendor/pygments-main/pygments/lexers/scripting.py +1222 -0
  178. data/vendor/pygments-main/pygments/lexers/shell.py +478 -115
  179. data/vendor/pygments-main/pygments/lexers/smalltalk.py +195 -0
  180. data/vendor/pygments-main/pygments/lexers/smv.py +75 -0
  181. data/vendor/pygments-main/pygments/lexers/snobol.py +83 -0
  182. data/vendor/pygments-main/pygments/lexers/special.py +6 -2
  183. data/vendor/pygments-main/pygments/lexers/sql.py +209 -120
  184. data/vendor/pygments-main/pygments/lexers/stata.py +106 -0
  185. data/vendor/pygments-main/pygments/lexers/supercollider.py +90 -0
  186. data/vendor/pygments-main/pygments/lexers/tcl.py +145 -0
  187. data/vendor/pygments-main/pygments/lexers/templates.py +282 -90
  188. data/vendor/pygments-main/pygments/lexers/testing.py +207 -0
  189. data/vendor/pygments-main/pygments/lexers/text.py +15 -2045
  190. data/vendor/pygments-main/pygments/lexers/textedit.py +169 -0
  191. data/vendor/pygments-main/pygments/lexers/textfmts.py +297 -0
  192. data/vendor/pygments-main/pygments/lexers/theorem.py +458 -0
  193. data/vendor/pygments-main/pygments/lexers/trafficscript.py +54 -0
  194. data/vendor/pygments-main/pygments/lexers/typoscript.py +225 -0
  195. data/vendor/pygments-main/pygments/lexers/urbi.py +133 -0
  196. data/vendor/pygments-main/pygments/lexers/varnish.py +190 -0
  197. data/vendor/pygments-main/pygments/lexers/verification.py +111 -0
  198. data/vendor/pygments-main/pygments/lexers/web.py +13 -4499
  199. data/vendor/pygments-main/pygments/lexers/webmisc.py +979 -0
  200. data/vendor/pygments-main/pygments/lexers/whiley.py +117 -0
  201. data/vendor/pygments-main/pygments/lexers/x10.py +69 -0
  202. data/vendor/pygments-main/pygments/modeline.py +5 -2
  203. data/vendor/pygments-main/pygments/plugin.py +1 -1
  204. data/vendor/pygments-main/pygments/regexopt.py +92 -0
  205. data/vendor/pygments-main/pygments/scanner.py +3 -2
  206. data/vendor/pygments-main/pygments/sphinxext.py +11 -6
  207. data/vendor/pygments-main/pygments/style.py +41 -4
  208. data/vendor/pygments-main/pygments/styles/__init__.py +5 -1
  209. data/vendor/pygments-main/pygments/styles/algol.py +63 -0
  210. data/vendor/pygments-main/pygments/styles/algol_nu.py +63 -0
  211. data/vendor/pygments-main/pygments/styles/arduino.py +98 -0
  212. data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
  213. data/vendor/pygments-main/pygments/styles/borland.py +1 -1
  214. data/vendor/pygments-main/pygments/styles/bw.py +1 -1
  215. data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
  216. data/vendor/pygments-main/pygments/styles/default.py +1 -1
  217. data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
  218. data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
  219. data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
  220. data/vendor/pygments-main/pygments/styles/igor.py +1 -1
  221. data/vendor/pygments-main/pygments/styles/lovelace.py +97 -0
  222. data/vendor/pygments-main/pygments/styles/manni.py +1 -1
  223. data/vendor/pygments-main/pygments/styles/monokai.py +1 -1
  224. data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
  225. data/vendor/pygments-main/pygments/styles/native.py +1 -1
  226. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -1
  227. data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -1
  228. data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
  229. data/vendor/pygments-main/pygments/styles/perldoc.py +2 -2
  230. data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
  231. data/vendor/pygments-main/pygments/styles/sas.py +41 -0
  232. data/vendor/pygments-main/pygments/styles/stata.py +37 -0
  233. data/vendor/pygments-main/pygments/styles/tango.py +1 -1
  234. data/vendor/pygments-main/pygments/styles/trac.py +1 -1
  235. data/vendor/pygments-main/pygments/styles/vim.py +1 -1
  236. data/vendor/pygments-main/pygments/styles/vs.py +1 -1
  237. data/vendor/pygments-main/pygments/styles/xcode.py +1 -1
  238. data/vendor/pygments-main/pygments/token.py +31 -16
  239. data/vendor/pygments-main/pygments/unistring.py +141 -65
  240. data/vendor/pygments-main/pygments/util.py +129 -33
  241. data/vendor/pygments-main/requirements.txt +5 -0
  242. data/vendor/pygments-main/scripts/check_sources.py +25 -40
  243. data/vendor/pygments-main/scripts/debug_lexer.py +246 -0
  244. data/vendor/pygments-main/scripts/find_error.py +1 -0
  245. data/vendor/pygments-main/scripts/get_vimkw.py +35 -4
  246. data/vendor/pygments-main/setup.cfg +3 -0
  247. data/vendor/pygments-main/setup.py +17 -30
  248. data/vendor/pygments-main/tox.ini +7 -0
  249. metadata +159 -387
  250. data/vendor/pygments-main/ez_setup.py +0 -382
  251. data/vendor/pygments-main/pygments/lexers/_cocoabuiltins.py +0 -73
  252. data/vendor/pygments-main/pygments/lexers/_openedgebuiltins.py +0 -562
  253. data/vendor/pygments-main/pygments/lexers/_sourcemodbuiltins.py +0 -1077
  254. data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +0 -13
  255. data/vendor/pygments-main/pygments/lexers/qbasic.py +0 -157
  256. data/vendor/pygments-main/scripts/find_codetags.py +0 -213
  257. data/vendor/pygments-main/scripts/find_error.py +0 -173
  258. data/vendor/pygments-main/tests/dtds/HTML4-f.dtd +0 -37
  259. data/vendor/pygments-main/tests/dtds/HTML4-s.dtd +0 -869
  260. data/vendor/pygments-main/tests/dtds/HTML4.dcl +0 -88
  261. data/vendor/pygments-main/tests/dtds/HTML4.dtd +0 -1092
  262. data/vendor/pygments-main/tests/dtds/HTML4.soc +0 -9
  263. data/vendor/pygments-main/tests/dtds/HTMLlat1.ent +0 -195
  264. data/vendor/pygments-main/tests/dtds/HTMLspec.ent +0 -77
  265. data/vendor/pygments-main/tests/dtds/HTMLsym.ent +0 -241
  266. data/vendor/pygments-main/tests/examplefiles/99_bottles_of_beer.chpl +0 -118
  267. data/vendor/pygments-main/tests/examplefiles/AcidStateAdvanced.hs +0 -209
  268. data/vendor/pygments-main/tests/examplefiles/AlternatingGroup.mu +0 -102
  269. data/vendor/pygments-main/tests/examplefiles/BOM.js +0 -1
  270. data/vendor/pygments-main/tests/examplefiles/CPDictionary.j +0 -611
  271. data/vendor/pygments-main/tests/examplefiles/Config.in.cache +0 -1973
  272. data/vendor/pygments-main/tests/examplefiles/Constants.mo +0 -158
  273. data/vendor/pygments-main/tests/examplefiles/DancingSudoku.lhs +0 -411
  274. data/vendor/pygments-main/tests/examplefiles/Deflate.fs +0 -578
  275. data/vendor/pygments-main/tests/examplefiles/Error.pmod +0 -38
  276. data/vendor/pygments-main/tests/examplefiles/Errors.scala +0 -18
  277. data/vendor/pygments-main/tests/examplefiles/FakeFile.pike +0 -360
  278. data/vendor/pygments-main/tests/examplefiles/Get-CommandDefinitionHtml.ps1 +0 -66
  279. data/vendor/pygments-main/tests/examplefiles/IPDispatchC.nc +0 -104
  280. data/vendor/pygments-main/tests/examplefiles/IPDispatchP.nc +0 -671
  281. data/vendor/pygments-main/tests/examplefiles/Intro.java +0 -1660
  282. data/vendor/pygments-main/tests/examplefiles/Makefile +0 -1131
  283. data/vendor/pygments-main/tests/examplefiles/Object.st +0 -4394
  284. data/vendor/pygments-main/tests/examplefiles/OrderedMap.hx +0 -584
  285. data/vendor/pygments-main/tests/examplefiles/RoleQ.pm6 +0 -23
  286. data/vendor/pygments-main/tests/examplefiles/SmallCheck.hs +0 -378
  287. data/vendor/pygments-main/tests/examplefiles/Sorting.mod +0 -470
  288. data/vendor/pygments-main/tests/examplefiles/Sudoku.lhs +0 -382
  289. data/vendor/pygments-main/tests/examplefiles/addressbook.proto +0 -30
  290. data/vendor/pygments-main/tests/examplefiles/antlr_ANTLRv3.g +0 -608
  291. data/vendor/pygments-main/tests/examplefiles/antlr_throws +0 -1
  292. data/vendor/pygments-main/tests/examplefiles/apache2.conf +0 -393
  293. data/vendor/pygments-main/tests/examplefiles/as3_test.as +0 -143
  294. data/vendor/pygments-main/tests/examplefiles/as3_test2.as +0 -46
  295. data/vendor/pygments-main/tests/examplefiles/as3_test3.as +0 -3
  296. data/vendor/pygments-main/tests/examplefiles/aspx-cs_example +0 -27
  297. data/vendor/pygments-main/tests/examplefiles/autoit_submit.au3 +0 -25
  298. data/vendor/pygments-main/tests/examplefiles/badcase.java +0 -2
  299. data/vendor/pygments-main/tests/examplefiles/batchfile.bat +0 -49
  300. data/vendor/pygments-main/tests/examplefiles/bigtest.nsi +0 -308
  301. data/vendor/pygments-main/tests/examplefiles/boot-9.scm +0 -1557
  302. data/vendor/pygments-main/tests/examplefiles/ca65_example +0 -284
  303. data/vendor/pygments-main/tests/examplefiles/cbmbas_example +0 -9
  304. data/vendor/pygments-main/tests/examplefiles/cells.ps +0 -515
  305. data/vendor/pygments-main/tests/examplefiles/ceval.c +0 -2604
  306. data/vendor/pygments-main/tests/examplefiles/cheetah_example.html +0 -13
  307. data/vendor/pygments-main/tests/examplefiles/classes.dylan +0 -125
  308. data/vendor/pygments-main/tests/examplefiles/clojure-weird-keywords.clj +0 -5
  309. data/vendor/pygments-main/tests/examplefiles/condensed_ruby.rb +0 -10
  310. data/vendor/pygments-main/tests/examplefiles/coq_RelationClasses +0 -447
  311. data/vendor/pygments-main/tests/examplefiles/core.cljs +0 -52
  312. data/vendor/pygments-main/tests/examplefiles/database.pytb +0 -20
  313. data/vendor/pygments-main/tests/examplefiles/de.MoinMoin.po +0 -2461
  314. data/vendor/pygments-main/tests/examplefiles/demo.ahk +0 -181
  315. data/vendor/pygments-main/tests/examplefiles/demo.cfm +0 -50
  316. data/vendor/pygments-main/tests/examplefiles/demo.hbs +0 -12
  317. data/vendor/pygments-main/tests/examplefiles/django_sample.html+django +0 -68
  318. data/vendor/pygments-main/tests/examplefiles/dwarf.cw +0 -17
  319. data/vendor/pygments-main/tests/examplefiles/ember.handlebars +0 -33
  320. data/vendor/pygments-main/tests/examplefiles/erl_session +0 -10
  321. data/vendor/pygments-main/tests/examplefiles/escape_semicolon.clj +0 -1
  322. data/vendor/pygments-main/tests/examplefiles/evil_regex.js +0 -48
  323. data/vendor/pygments-main/tests/examplefiles/example.Rd +0 -78
  324. data/vendor/pygments-main/tests/examplefiles/example.als +0 -217
  325. data/vendor/pygments-main/tests/examplefiles/example.bug +0 -54
  326. data/vendor/pygments-main/tests/examplefiles/example.c +0 -2080
  327. data/vendor/pygments-main/tests/examplefiles/example.ceylon +0 -52
  328. data/vendor/pygments-main/tests/examplefiles/example.chai +0 -6
  329. data/vendor/pygments-main/tests/examplefiles/example.clay +0 -33
  330. data/vendor/pygments-main/tests/examplefiles/example.cls +0 -15
  331. data/vendor/pygments-main/tests/examplefiles/example.cob +0 -3556
  332. data/vendor/pygments-main/tests/examplefiles/example.coffee +0 -27
  333. data/vendor/pygments-main/tests/examplefiles/example.cpp +0 -2363
  334. data/vendor/pygments-main/tests/examplefiles/example.e +0 -124
  335. data/vendor/pygments-main/tests/examplefiles/example.f90 +0 -8
  336. data/vendor/pygments-main/tests/examplefiles/example.feature +0 -16
  337. data/vendor/pygments-main/tests/examplefiles/example.gd +0 -23
  338. data/vendor/pygments-main/tests/examplefiles/example.gi +0 -64
  339. data/vendor/pygments-main/tests/examplefiles/example.groovy +0 -2
  340. data/vendor/pygments-main/tests/examplefiles/example.gs +0 -106
  341. data/vendor/pygments-main/tests/examplefiles/example.gst +0 -7
  342. data/vendor/pygments-main/tests/examplefiles/example.hs +0 -27
  343. data/vendor/pygments-main/tests/examplefiles/example.hx +0 -185
  344. data/vendor/pygments-main/tests/examplefiles/example.i6t +0 -32
  345. data/vendor/pygments-main/tests/examplefiles/example.i7x +0 -45
  346. data/vendor/pygments-main/tests/examplefiles/example.inf +0 -374
  347. data/vendor/pygments-main/tests/examplefiles/example.j +0 -564
  348. data/vendor/pygments-main/tests/examplefiles/example.jag +0 -48
  349. data/vendor/pygments-main/tests/examplefiles/example.java +0 -16
  350. data/vendor/pygments-main/tests/examplefiles/example.kal +0 -75
  351. data/vendor/pygments-main/tests/examplefiles/example.kt +0 -47
  352. data/vendor/pygments-main/tests/examplefiles/example.lagda +0 -19
  353. data/vendor/pygments-main/tests/examplefiles/example.liquid +0 -42
  354. data/vendor/pygments-main/tests/examplefiles/example.lua +0 -250
  355. data/vendor/pygments-main/tests/examplefiles/example.ma +0 -8
  356. data/vendor/pygments-main/tests/examplefiles/example.monkey +0 -152
  357. data/vendor/pygments-main/tests/examplefiles/example.moo +0 -26
  358. data/vendor/pygments-main/tests/examplefiles/example.moon +0 -629
  359. data/vendor/pygments-main/tests/examplefiles/example.mq4 +0 -187
  360. data/vendor/pygments-main/tests/examplefiles/example.mqh +0 -123
  361. data/vendor/pygments-main/tests/examplefiles/example.msc +0 -43
  362. data/vendor/pygments-main/tests/examplefiles/example.ni +0 -57
  363. data/vendor/pygments-main/tests/examplefiles/example.nim +0 -1010
  364. data/vendor/pygments-main/tests/examplefiles/example.nix +0 -80
  365. data/vendor/pygments-main/tests/examplefiles/example.ns2 +0 -69
  366. data/vendor/pygments-main/tests/examplefiles/example.pas +0 -2708
  367. data/vendor/pygments-main/tests/examplefiles/example.pp +0 -8
  368. data/vendor/pygments-main/tests/examplefiles/example.prg +0 -161
  369. data/vendor/pygments-main/tests/examplefiles/example.rb +0 -1852
  370. data/vendor/pygments-main/tests/examplefiles/example.red +0 -257
  371. data/vendor/pygments-main/tests/examplefiles/example.reds +0 -150
  372. data/vendor/pygments-main/tests/examplefiles/example.reg +0 -19
  373. data/vendor/pygments-main/tests/examplefiles/example.rexx +0 -50
  374. data/vendor/pygments-main/tests/examplefiles/example.rhtml +0 -561
  375. data/vendor/pygments-main/tests/examplefiles/example.rkt +0 -743
  376. data/vendor/pygments-main/tests/examplefiles/example.rpf +0 -4
  377. data/vendor/pygments-main/tests/examplefiles/example.sh +0 -22
  378. data/vendor/pygments-main/tests/examplefiles/example.sh-session +0 -19
  379. data/vendor/pygments-main/tests/examplefiles/example.shell-session +0 -45
  380. data/vendor/pygments-main/tests/examplefiles/example.slim +0 -31
  381. data/vendor/pygments-main/tests/examplefiles/example.sls +0 -51
  382. data/vendor/pygments-main/tests/examplefiles/example.sml +0 -156
  383. data/vendor/pygments-main/tests/examplefiles/example.snobol +0 -15
  384. data/vendor/pygments-main/tests/examplefiles/example.stan +0 -110
  385. data/vendor/pygments-main/tests/examplefiles/example.tea +0 -34
  386. data/vendor/pygments-main/tests/examplefiles/example.todotxt +0 -9
  387. data/vendor/pygments-main/tests/examplefiles/example.ts +0 -28
  388. data/vendor/pygments-main/tests/examplefiles/example.u +0 -548
  389. data/vendor/pygments-main/tests/examplefiles/example.weechatlog +0 -9
  390. data/vendor/pygments-main/tests/examplefiles/example.xhtml +0 -376
  391. data/vendor/pygments-main/tests/examplefiles/example.xtend +0 -34
  392. data/vendor/pygments-main/tests/examplefiles/example.yaml +0 -302
  393. data/vendor/pygments-main/tests/examplefiles/example2.aspx +0 -29
  394. data/vendor/pygments-main/tests/examplefiles/example2.msc +0 -79
  395. data/vendor/pygments-main/tests/examplefiles/exampleScript.cfc +0 -241
  396. data/vendor/pygments-main/tests/examplefiles/exampleTag.cfc +0 -18
  397. data/vendor/pygments-main/tests/examplefiles/example_elixir.ex +0 -205
  398. data/vendor/pygments-main/tests/examplefiles/example_file.fy +0 -128
  399. data/vendor/pygments-main/tests/examplefiles/firefox.mak +0 -586
  400. data/vendor/pygments-main/tests/examplefiles/flipflop.sv +0 -19
  401. data/vendor/pygments-main/tests/examplefiles/foo.sce +0 -6
  402. data/vendor/pygments-main/tests/examplefiles/format.ml +0 -1213
  403. data/vendor/pygments-main/tests/examplefiles/fucked_up.rb +0 -77
  404. data/vendor/pygments-main/tests/examplefiles/function.mu +0 -1
  405. data/vendor/pygments-main/tests/examplefiles/functional.rst +0 -1472
  406. data/vendor/pygments-main/tests/examplefiles/garcia-wachs.kk +0 -133
  407. data/vendor/pygments-main/tests/examplefiles/genclass.clj +0 -510
  408. data/vendor/pygments-main/tests/examplefiles/genshi_example.xml+genshi +0 -193
  409. data/vendor/pygments-main/tests/examplefiles/genshitext_example.genshitext +0 -33
  410. data/vendor/pygments-main/tests/examplefiles/glsl.frag +0 -7
  411. data/vendor/pygments-main/tests/examplefiles/glsl.vert +0 -13
  412. data/vendor/pygments-main/tests/examplefiles/grammar-test.p6 +0 -22
  413. data/vendor/pygments-main/tests/examplefiles/hash_syntax.rb +0 -5
  414. data/vendor/pygments-main/tests/examplefiles/hello.at +0 -6
  415. data/vendor/pygments-main/tests/examplefiles/hello.golo +0 -5
  416. data/vendor/pygments-main/tests/examplefiles/hello.lsl +0 -12
  417. data/vendor/pygments-main/tests/examplefiles/hello.smali +0 -40
  418. data/vendor/pygments-main/tests/examplefiles/hello.sp +0 -9
  419. data/vendor/pygments-main/tests/examplefiles/html+php_faulty.php +0 -1
  420. data/vendor/pygments-main/tests/examplefiles/http_request_example +0 -15
  421. data/vendor/pygments-main/tests/examplefiles/http_response_example +0 -29
  422. data/vendor/pygments-main/tests/examplefiles/hybris_File.hy +0 -174
  423. data/vendor/pygments-main/tests/examplefiles/idl_sample.pro +0 -73
  424. data/vendor/pygments-main/tests/examplefiles/iex_example +0 -23
  425. data/vendor/pygments-main/tests/examplefiles/inet_pton6.dg +0 -71
  426. data/vendor/pygments-main/tests/examplefiles/intro.ik +0 -24
  427. data/vendor/pygments-main/tests/examplefiles/ints.php +0 -10
  428. data/vendor/pygments-main/tests/examplefiles/intsyn.fun +0 -675
  429. data/vendor/pygments-main/tests/examplefiles/intsyn.sig +0 -286
  430. data/vendor/pygments-main/tests/examplefiles/irb_heredoc +0 -8
  431. data/vendor/pygments-main/tests/examplefiles/irc.lsp +0 -214
  432. data/vendor/pygments-main/tests/examplefiles/java.properties +0 -16
  433. data/vendor/pygments-main/tests/examplefiles/jbst_example1.jbst +0 -28
  434. data/vendor/pygments-main/tests/examplefiles/jbst_example2.jbst +0 -45
  435. data/vendor/pygments-main/tests/examplefiles/jinjadesignerdoc.rst +0 -713
  436. data/vendor/pygments-main/tests/examplefiles/json.lasso +0 -301
  437. data/vendor/pygments-main/tests/examplefiles/json.lasso9 +0 -213
  438. data/vendor/pygments-main/tests/examplefiles/language.hy +0 -165
  439. data/vendor/pygments-main/tests/examplefiles/lighttpd_config.conf +0 -13
  440. data/vendor/pygments-main/tests/examplefiles/limbo.b +0 -456
  441. data/vendor/pygments-main/tests/examplefiles/linecontinuation.py +0 -47
  442. data/vendor/pygments-main/tests/examplefiles/livescript-demo.ls +0 -43
  443. data/vendor/pygments-main/tests/examplefiles/logos_example.xm +0 -28
  444. data/vendor/pygments-main/tests/examplefiles/ltmain.sh +0 -2849
  445. data/vendor/pygments-main/tests/examplefiles/main.cmake +0 -44
  446. data/vendor/pygments-main/tests/examplefiles/markdown.lsp +0 -679
  447. data/vendor/pygments-main/tests/examplefiles/matlab_noreturn +0 -3
  448. data/vendor/pygments-main/tests/examplefiles/matlab_sample +0 -30
  449. data/vendor/pygments-main/tests/examplefiles/matlabsession_sample.txt +0 -37
  450. data/vendor/pygments-main/tests/examplefiles/metagrammar.treetop +0 -455
  451. data/vendor/pygments-main/tests/examplefiles/minehunt.qml +0 -112
  452. data/vendor/pygments-main/tests/examplefiles/minimal.ns2 +0 -4
  453. data/vendor/pygments-main/tests/examplefiles/moin_SyntaxReference.txt +0 -340
  454. data/vendor/pygments-main/tests/examplefiles/multiline_regexes.rb +0 -38
  455. data/vendor/pygments-main/tests/examplefiles/nanomsg.intr +0 -95
  456. data/vendor/pygments-main/tests/examplefiles/nasm_aoutso.asm +0 -96
  457. data/vendor/pygments-main/tests/examplefiles/nasm_objexe.asm +0 -30
  458. data/vendor/pygments-main/tests/examplefiles/nemerle_sample.n +0 -87
  459. data/vendor/pygments-main/tests/examplefiles/nginx_nginx.conf +0 -118
  460. data/vendor/pygments-main/tests/examplefiles/numbers.c +0 -12
  461. data/vendor/pygments-main/tests/examplefiles/objc_example.m +0 -179
  462. data/vendor/pygments-main/tests/examplefiles/openedge_example +0 -34
  463. data/vendor/pygments-main/tests/examplefiles/pawn_example +0 -25
  464. data/vendor/pygments-main/tests/examplefiles/perl_misc +0 -62
  465. data/vendor/pygments-main/tests/examplefiles/perl_perl5db +0 -998
  466. data/vendor/pygments-main/tests/examplefiles/perl_regex-delims +0 -120
  467. data/vendor/pygments-main/tests/examplefiles/perlfunc.1 +0 -856
  468. data/vendor/pygments-main/tests/examplefiles/phpMyAdmin.spec +0 -163
  469. data/vendor/pygments-main/tests/examplefiles/phpcomplete.vim +0 -567
  470. data/vendor/pygments-main/tests/examplefiles/pleac.in.rb +0 -1223
  471. data/vendor/pygments-main/tests/examplefiles/postgresql_test.txt +0 -47
  472. data/vendor/pygments-main/tests/examplefiles/pppoe.applescript +0 -10
  473. data/vendor/pygments-main/tests/examplefiles/psql_session.txt +0 -122
  474. data/vendor/pygments-main/tests/examplefiles/py3_test.txt +0 -2
  475. data/vendor/pygments-main/tests/examplefiles/py3tb_test.py3tb +0 -4
  476. data/vendor/pygments-main/tests/examplefiles/pycon_test.pycon +0 -14
  477. data/vendor/pygments-main/tests/examplefiles/pytb_test2.pytb +0 -2
  478. data/vendor/pygments-main/tests/examplefiles/pytb_test3.pytb +0 -4
  479. data/vendor/pygments-main/tests/examplefiles/python25-bsd.mak +0 -234
  480. data/vendor/pygments-main/tests/examplefiles/qbasic_example +0 -2
  481. data/vendor/pygments-main/tests/examplefiles/qsort.prolog +0 -13
  482. data/vendor/pygments-main/tests/examplefiles/r-console-transcript.Rout +0 -38
  483. data/vendor/pygments-main/tests/examplefiles/r6rs-comments.scm +0 -23
  484. data/vendor/pygments-main/tests/examplefiles/ragel-cpp_rlscan +0 -280
  485. data/vendor/pygments-main/tests/examplefiles/ragel-cpp_snippet +0 -2
  486. data/vendor/pygments-main/tests/examplefiles/regex.js +0 -22
  487. data/vendor/pygments-main/tests/examplefiles/reversi.lsp +0 -427
  488. data/vendor/pygments-main/tests/examplefiles/robotframework_test.txt +0 -39
  489. data/vendor/pygments-main/tests/examplefiles/rql-queries.rql +0 -34
  490. data/vendor/pygments-main/tests/examplefiles/ruby_func_def.rb +0 -11
  491. data/vendor/pygments-main/tests/examplefiles/rust_example.rs +0 -233
  492. data/vendor/pygments-main/tests/examplefiles/scilab.sci +0 -30
  493. data/vendor/pygments-main/tests/examplefiles/scope.cirru +0 -43
  494. data/vendor/pygments-main/tests/examplefiles/session.dylan-console +0 -9
  495. data/vendor/pygments-main/tests/examplefiles/sibling.prolog +0 -19
  496. data/vendor/pygments-main/tests/examplefiles/simple.md +0 -747
  497. data/vendor/pygments-main/tests/examplefiles/smarty_example.html +0 -209
  498. data/vendor/pygments-main/tests/examplefiles/source.lgt +0 -343
  499. data/vendor/pygments-main/tests/examplefiles/sources.list +0 -62
  500. data/vendor/pygments-main/tests/examplefiles/sparql.rq +0 -23
  501. data/vendor/pygments-main/tests/examplefiles/sphere.pov +0 -18
  502. data/vendor/pygments-main/tests/examplefiles/sqlite3.sqlite3-console +0 -27
  503. data/vendor/pygments-main/tests/examplefiles/squid.conf +0 -30
  504. data/vendor/pygments-main/tests/examplefiles/string.jl +0 -1031
  505. data/vendor/pygments-main/tests/examplefiles/string_delimiters.d +0 -21
  506. data/vendor/pygments-main/tests/examplefiles/stripheredoc.sh +0 -3
  507. data/vendor/pygments-main/tests/examplefiles/swig_java.swg +0 -1329
  508. data/vendor/pygments-main/tests/examplefiles/swig_std_vector.i +0 -225
  509. data/vendor/pygments-main/tests/examplefiles/test.R +0 -185
  510. data/vendor/pygments-main/tests/examplefiles/test.adb +0 -211
  511. data/vendor/pygments-main/tests/examplefiles/test.agda +0 -102
  512. data/vendor/pygments-main/tests/examplefiles/test.apl +0 -26
  513. data/vendor/pygments-main/tests/examplefiles/test.asy +0 -131
  514. data/vendor/pygments-main/tests/examplefiles/test.awk +0 -121
  515. data/vendor/pygments-main/tests/examplefiles/test.bb +0 -95
  516. data/vendor/pygments-main/tests/examplefiles/test.bmx +0 -145
  517. data/vendor/pygments-main/tests/examplefiles/test.boo +0 -39
  518. data/vendor/pygments-main/tests/examplefiles/test.bro +0 -250
  519. data/vendor/pygments-main/tests/examplefiles/test.cs +0 -374
  520. data/vendor/pygments-main/tests/examplefiles/test.css +0 -54
  521. data/vendor/pygments-main/tests/examplefiles/test.cu +0 -36
  522. data/vendor/pygments-main/tests/examplefiles/test.cyp +0 -123
  523. data/vendor/pygments-main/tests/examplefiles/test.d +0 -135
  524. data/vendor/pygments-main/tests/examplefiles/test.dart +0 -23
  525. data/vendor/pygments-main/tests/examplefiles/test.dtd +0 -89
  526. data/vendor/pygments-main/tests/examplefiles/test.ebnf +0 -31
  527. data/vendor/pygments-main/tests/examplefiles/test.ec +0 -605
  528. data/vendor/pygments-main/tests/examplefiles/test.ecl +0 -58
  529. data/vendor/pygments-main/tests/examplefiles/test.eh +0 -315
  530. data/vendor/pygments-main/tests/examplefiles/test.erl +0 -169
  531. data/vendor/pygments-main/tests/examplefiles/test.evoque +0 -33
  532. data/vendor/pygments-main/tests/examplefiles/test.fan +0 -818
  533. data/vendor/pygments-main/tests/examplefiles/test.flx +0 -57
  534. data/vendor/pygments-main/tests/examplefiles/test.gdc +0 -13
  535. data/vendor/pygments-main/tests/examplefiles/test.groovy +0 -97
  536. data/vendor/pygments-main/tests/examplefiles/test.html +0 -339
  537. data/vendor/pygments-main/tests/examplefiles/test.idr +0 -93
  538. data/vendor/pygments-main/tests/examplefiles/test.ini +0 -10
  539. data/vendor/pygments-main/tests/examplefiles/test.java +0 -653
  540. data/vendor/pygments-main/tests/examplefiles/test.jsp +0 -24
  541. data/vendor/pygments-main/tests/examplefiles/test.maql +0 -45
  542. data/vendor/pygments-main/tests/examplefiles/test.mask +0 -41
  543. data/vendor/pygments-main/tests/examplefiles/test.mod +0 -374
  544. data/vendor/pygments-main/tests/examplefiles/test.moo +0 -51
  545. data/vendor/pygments-main/tests/examplefiles/test.myt +0 -166
  546. data/vendor/pygments-main/tests/examplefiles/test.nim +0 -93
  547. data/vendor/pygments-main/tests/examplefiles/test.opa +0 -10
  548. data/vendor/pygments-main/tests/examplefiles/test.p6 +0 -252
  549. data/vendor/pygments-main/tests/examplefiles/test.pan +0 -54
  550. data/vendor/pygments-main/tests/examplefiles/test.pas +0 -743
  551. data/vendor/pygments-main/tests/examplefiles/test.php +0 -507
  552. data/vendor/pygments-main/tests/examplefiles/test.pig +0 -148
  553. data/vendor/pygments-main/tests/examplefiles/test.plot +0 -333
  554. data/vendor/pygments-main/tests/examplefiles/test.ps1 +0 -108
  555. data/vendor/pygments-main/tests/examplefiles/test.pwn +0 -253
  556. data/vendor/pygments-main/tests/examplefiles/test.pypylog +0 -1839
  557. data/vendor/pygments-main/tests/examplefiles/test.r3 +0 -114
  558. data/vendor/pygments-main/tests/examplefiles/test.rb +0 -177
  559. data/vendor/pygments-main/tests/examplefiles/test.rhtml +0 -43
  560. data/vendor/pygments-main/tests/examplefiles/test.rsl +0 -111
  561. data/vendor/pygments-main/tests/examplefiles/test.scaml +0 -8
  562. data/vendor/pygments-main/tests/examplefiles/test.ssp +0 -12
  563. data/vendor/pygments-main/tests/examplefiles/test.swift +0 -65
  564. data/vendor/pygments-main/tests/examplefiles/test.tcsh +0 -830
  565. data/vendor/pygments-main/tests/examplefiles/test.vb +0 -407
  566. data/vendor/pygments-main/tests/examplefiles/test.vhdl +0 -161
  567. data/vendor/pygments-main/tests/examplefiles/test.xqy +0 -138
  568. data/vendor/pygments-main/tests/examplefiles/test.xsl +0 -23
  569. data/vendor/pygments-main/tests/examplefiles/test.zep +0 -33
  570. data/vendor/pygments-main/tests/examplefiles/test2.pypylog +0 -120
  571. data/vendor/pygments-main/tests/examplefiles/truncated.pytb +0 -15
  572. data/vendor/pygments-main/tests/examplefiles/type.lisp +0 -1218
  573. data/vendor/pygments-main/tests/examplefiles/underscore.coffee +0 -603
  574. data/vendor/pygments-main/tests/examplefiles/unicode.applescript +0 -5
  575. data/vendor/pygments-main/tests/examplefiles/unicode.go +0 -10
  576. data/vendor/pygments-main/tests/examplefiles/unicodedoc.py +0 -11
  577. data/vendor/pygments-main/tests/examplefiles/unix-io.lid +0 -37
  578. data/vendor/pygments-main/tests/examplefiles/vbnet_test.bas +0 -29
  579. data/vendor/pygments-main/tests/examplefiles/vctreestatus_hg +0 -4
  580. data/vendor/pygments-main/tests/examplefiles/vimrc +0 -21
  581. data/vendor/pygments-main/tests/examplefiles/webkit-transition.css +0 -3
  582. data/vendor/pygments-main/tests/examplefiles/while.pov +0 -13
  583. data/vendor/pygments-main/tests/examplefiles/wiki.factor +0 -384
  584. data/vendor/pygments-main/tests/examplefiles/xml_example +0 -1897
  585. data/vendor/pygments-main/tests/examplefiles/zmlrpc.f90 +0 -798
  586. data/vendor/pygments-main/tests/run.py +0 -44
  587. data/vendor/pygments-main/tests/string_asserts.py +0 -22
  588. data/vendor/pygments-main/tests/support.py +0 -15
  589. data/vendor/pygments-main/tests/support/tags +0 -36
  590. data/vendor/pygments-main/tests/test_basic_api.py +0 -309
  591. data/vendor/pygments-main/tests/test_cfm.py +0 -46
  592. data/vendor/pygments-main/tests/test_clexer.py +0 -236
  593. data/vendor/pygments-main/tests/test_cmdline.py +0 -106
  594. data/vendor/pygments-main/tests/test_examplefiles.py +0 -110
  595. data/vendor/pygments-main/tests/test_html_formatter.py +0 -180
  596. data/vendor/pygments-main/tests/test_latex_formatter.py +0 -57
  597. data/vendor/pygments-main/tests/test_lexers_other.py +0 -68
  598. data/vendor/pygments-main/tests/test_objectiveclexer.py +0 -81
  599. data/vendor/pygments-main/tests/test_perllexer.py +0 -137
  600. data/vendor/pygments-main/tests/test_qbasiclexer.py +0 -43
  601. data/vendor/pygments-main/tests/test_regexlexer.py +0 -54
  602. data/vendor/pygments-main/tests/test_rtf_formatter.py +0 -109
  603. data/vendor/pygments-main/tests/test_string_asserts.py +0 -39
  604. data/vendor/pygments-main/tests/test_token.py +0 -46
  605. data/vendor/pygments-main/tests/test_using_api.py +0 -40
  606. data/vendor/pygments-main/tests/test_util.py +0 -135
@@ -0,0 +1,202 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ pygments.lexers.make
4
+ ~~~~~~~~~~~~~~~~~~~~
5
+
6
+ Lexers for Makefiles and similar.
7
+
8
+ :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
9
+ :license: BSD, see LICENSE for details.
10
+ """
11
+
12
+ import re
13
+
14
+ from pygments.lexer import Lexer, RegexLexer, include, bygroups, \
15
+ do_insertions, using
16
+ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
17
+ Punctuation
18
+ from pygments.lexers.shell import BashLexer
19
+
20
+ __all__ = ['MakefileLexer', 'BaseMakefileLexer', 'CMakeLexer']
21
+
22
+
23
+ class MakefileLexer(Lexer):
24
+ """
25
+ Lexer for BSD and GNU make extensions (lenient enough to handle both in
26
+ the same file even).
27
+
28
+ *Rewritten in Pygments 0.10.*
29
+ """
30
+
31
+ name = 'Makefile'
32
+ aliases = ['make', 'makefile', 'mf', 'bsdmake']
33
+ filenames = ['*.mak', '*.mk', 'Makefile', 'makefile', 'Makefile.*', 'GNUmakefile']
34
+ mimetypes = ['text/x-makefile']
35
+
36
+ r_special = re.compile(
37
+ r'^(?:'
38
+ # BSD Make
39
+ r'\.\s*(include|undef|error|warning|if|else|elif|endif|for|endfor)|'
40
+ # GNU Make
41
+ r'\s*(ifeq|ifneq|ifdef|ifndef|else|endif|-?include|define|endef|:|vpath)|'
42
+ # GNU Automake
43
+ r'\s*(if|else|endif))(?=\s)')
44
+ r_comment = re.compile(r'^\s*@?#')
45
+
46
+ def get_tokens_unprocessed(self, text):
47
+ ins = []
48
+ lines = text.splitlines(True)
49
+ done = ''
50
+ lex = BaseMakefileLexer(**self.options)
51
+ backslashflag = False
52
+ for line in lines:
53
+ if self.r_special.match(line) or backslashflag:
54
+ ins.append((len(done), [(0, Comment.Preproc, line)]))
55
+ backslashflag = line.strip().endswith('\\')
56
+ elif self.r_comment.match(line):
57
+ ins.append((len(done), [(0, Comment, line)]))
58
+ else:
59
+ done += line
60
+ for item in do_insertions(ins, lex.get_tokens_unprocessed(done)):
61
+ yield item
62
+
63
+ def analyse_text(text):
64
+ # Many makefiles have $(BIG_CAPS) style variables
65
+ if re.search(r'\$\([A-Z_]+\)', text):
66
+ return 0.1
67
+
68
+
69
+ class BaseMakefileLexer(RegexLexer):
70
+ """
71
+ Lexer for simple Makefiles (no preprocessing).
72
+
73
+ .. versionadded:: 0.10
74
+ """
75
+
76
+ name = 'Base Makefile'
77
+ aliases = ['basemake']
78
+ filenames = []
79
+ mimetypes = []
80
+
81
+ tokens = {
82
+ 'root': [
83
+ # recipes (need to allow spaces because of expandtabs)
84
+ (r'^(?:[\t ]+.*\n|\n)+', using(BashLexer)),
85
+ # special variables
86
+ (r'\$[<@$+%?|*]', Keyword),
87
+ (r'\s+', Text),
88
+ (r'#.*?\n', Comment),
89
+ (r'(export)(\s+)(?=[\w${}\t -]+\n)',
90
+ bygroups(Keyword, Text), 'export'),
91
+ (r'export\s+', Keyword),
92
+ # assignment
93
+ (r'([\w${}().-]+)(\s*)([!?:+]?=)([ \t]*)((?:.*\\\n)+|.*\n)',
94
+ bygroups(Name.Variable, Text, Operator, Text, using(BashLexer))),
95
+ # strings
96
+ (r'(?s)"(\\\\|\\.|[^"\\])*"', String.Double),
97
+ (r"(?s)'(\\\\|\\.|[^'\\])*'", String.Single),
98
+ # targets
99
+ (r'([^\n:]+)(:+)([ \t]*)', bygroups(Name.Function, Operator, Text),
100
+ 'block-header'),
101
+ # expansions
102
+ (r'\$\(', Keyword, 'expansion'),
103
+ ],
104
+ 'expansion': [
105
+ (r'[^$a-zA-Z_()]+', Text),
106
+ (r'[a-zA-Z_]+', Name.Variable),
107
+ (r'\$', Keyword),
108
+ (r'\(', Keyword, '#push'),
109
+ (r'\)', Keyword, '#pop'),
110
+ ],
111
+ 'export': [
112
+ (r'[\w${}-]+', Name.Variable),
113
+ (r'\n', Text, '#pop'),
114
+ (r'\s+', Text),
115
+ ],
116
+ 'block-header': [
117
+ (r'[,|]', Punctuation),
118
+ (r'#.*?\n', Comment, '#pop'),
119
+ (r'\\\n', Text), # line continuation
120
+ (r'\$\(', Keyword, 'expansion'),
121
+ (r'[a-zA-Z_]+', Name),
122
+ (r'\n', Text, '#pop'),
123
+ (r'.', Text),
124
+ ],
125
+ }
126
+
127
+
128
+ class CMakeLexer(RegexLexer):
129
+ """
130
+ Lexer for `CMake <http://cmake.org/Wiki/CMake>`_ files.
131
+
132
+ .. versionadded:: 1.2
133
+ """
134
+ name = 'CMake'
135
+ aliases = ['cmake']
136
+ filenames = ['*.cmake', 'CMakeLists.txt']
137
+ mimetypes = ['text/x-cmake']
138
+
139
+ tokens = {
140
+ 'root': [
141
+ # (r'(ADD_CUSTOM_COMMAND|ADD_CUSTOM_TARGET|ADD_DEFINITIONS|'
142
+ # r'ADD_DEPENDENCIES|ADD_EXECUTABLE|ADD_LIBRARY|ADD_SUBDIRECTORY|'
143
+ # r'ADD_TEST|AUX_SOURCE_DIRECTORY|BUILD_COMMAND|BUILD_NAME|'
144
+ # r'CMAKE_MINIMUM_REQUIRED|CONFIGURE_FILE|CREATE_TEST_SOURCELIST|'
145
+ # r'ELSE|ELSEIF|ENABLE_LANGUAGE|ENABLE_TESTING|ENDFOREACH|'
146
+ # r'ENDFUNCTION|ENDIF|ENDMACRO|ENDWHILE|EXEC_PROGRAM|'
147
+ # r'EXECUTE_PROCESS|EXPORT_LIBRARY_DEPENDENCIES|FILE|FIND_FILE|'
148
+ # r'FIND_LIBRARY|FIND_PACKAGE|FIND_PATH|FIND_PROGRAM|FLTK_WRAP_UI|'
149
+ # r'FOREACH|FUNCTION|GET_CMAKE_PROPERTY|GET_DIRECTORY_PROPERTY|'
150
+ # r'GET_FILENAME_COMPONENT|GET_SOURCE_FILE_PROPERTY|'
151
+ # r'GET_TARGET_PROPERTY|GET_TEST_PROPERTY|IF|INCLUDE|'
152
+ # r'INCLUDE_DIRECTORIES|INCLUDE_EXTERNAL_MSPROJECT|'
153
+ # r'INCLUDE_REGULAR_EXPRESSION|INSTALL|INSTALL_FILES|'
154
+ # r'INSTALL_PROGRAMS|INSTALL_TARGETS|LINK_DIRECTORIES|'
155
+ # r'LINK_LIBRARIES|LIST|LOAD_CACHE|LOAD_COMMAND|MACRO|'
156
+ # r'MAKE_DIRECTORY|MARK_AS_ADVANCED|MATH|MESSAGE|OPTION|'
157
+ # r'OUTPUT_REQUIRED_FILES|PROJECT|QT_WRAP_CPP|QT_WRAP_UI|REMOVE|'
158
+ # r'REMOVE_DEFINITIONS|SEPARATE_ARGUMENTS|SET|'
159
+ # r'SET_DIRECTORY_PROPERTIES|SET_SOURCE_FILES_PROPERTIES|'
160
+ # r'SET_TARGET_PROPERTIES|SET_TESTS_PROPERTIES|SITE_NAME|'
161
+ # r'SOURCE_GROUP|STRING|SUBDIR_DEPENDS|SUBDIRS|'
162
+ # r'TARGET_LINK_LIBRARIES|TRY_COMPILE|TRY_RUN|UNSET|'
163
+ # r'USE_MANGLED_MESA|UTILITY_SOURCE|VARIABLE_REQUIRES|'
164
+ # r'VTK_MAKE_INSTANTIATOR|VTK_WRAP_JAVA|VTK_WRAP_PYTHON|'
165
+ # r'VTK_WRAP_TCL|WHILE|WRITE_FILE|'
166
+ # r'COUNTARGS)\b', Name.Builtin, 'args'),
167
+ (r'\b(\w+)([ \t]*)(\()', bygroups(Name.Builtin, Text,
168
+ Punctuation), 'args'),
169
+ include('keywords'),
170
+ include('ws')
171
+ ],
172
+ 'args': [
173
+ (r'\(', Punctuation, '#push'),
174
+ (r'\)', Punctuation, '#pop'),
175
+ (r'(\$\{)(.+?)(\})', bygroups(Operator, Name.Variable, Operator)),
176
+ (r'(\$ENV\{)(.+?)(\})', bygroups(Operator, Name.Variable, Operator)),
177
+ (r'(\$<)(.+?)(>)', bygroups(Operator, Name.Variable, Operator)),
178
+ (r'(?s)".*?"', String.Double),
179
+ (r'\\\S+', String),
180
+ (r'[^)$"# \t\n]+', String),
181
+ (r'\n', Text), # explicitly legal
182
+ include('keywords'),
183
+ include('ws')
184
+ ],
185
+ 'string': [
186
+
187
+ ],
188
+ 'keywords': [
189
+ (r'\b(WIN32|UNIX|APPLE|CYGWIN|BORLAND|MINGW|MSVC|MSVC_IDE|MSVC60|'
190
+ r'MSVC70|MSVC71|MSVC80|MSVC90)\b', Keyword),
191
+ ],
192
+ 'ws': [
193
+ (r'[ \t]+', Text),
194
+ (r'#.*\n', Comment),
195
+ ]
196
+ }
197
+
198
+ def analyse_text(text):
199
+ exp = r'^ *CMAKE_MINIMUM_REQUIRED *\( *VERSION *\d(\.\d)* *( FATAL_ERROR)? *\) *$'
200
+ if re.search(exp, text, flags=re.MULTILINE | re.IGNORECASE):
201
+ return 0.8
202
+ return 0.0
@@ -0,0 +1,595 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ pygments.lexers.markup
4
+ ~~~~~~~~~~~~~~~~~~~~~~
5
+
6
+ Lexers for non-HTML markup languages.
7
+
8
+ :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
9
+ :license: BSD, see LICENSE for details.
10
+ """
11
+
12
+ import re
13
+
14
+ from pygments.lexers.html import HtmlLexer, XmlLexer
15
+ from pygments.lexers.javascript import JavascriptLexer
16
+ from pygments.lexers.css import CssLexer
17
+
18
+ from pygments.lexer import RegexLexer, DelegatingLexer, include, bygroups, \
19
+ using, this, do_insertions, default, words
20
+ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
21
+ Number, Punctuation, Generic, Other
22
+ from pygments.util import get_bool_opt, ClassNotFound
23
+
24
+ __all__ = ['BBCodeLexer', 'MoinWikiLexer', 'RstLexer', 'TexLexer', 'GroffLexer',
25
+ 'MozPreprocHashLexer', 'MozPreprocPercentLexer',
26
+ 'MozPreprocXulLexer', 'MozPreprocJavascriptLexer',
27
+ 'MozPreprocCssLexer', 'MarkdownLexer']
28
+
29
+
30
+ class BBCodeLexer(RegexLexer):
31
+ """
32
+ A lexer that highlights BBCode(-like) syntax.
33
+
34
+ .. versionadded:: 0.6
35
+ """
36
+
37
+ name = 'BBCode'
38
+ aliases = ['bbcode']
39
+ mimetypes = ['text/x-bbcode']
40
+
41
+ tokens = {
42
+ 'root': [
43
+ (r'[^[]+', Text),
44
+ # tag/end tag begin
45
+ (r'\[/?\w+', Keyword, 'tag'),
46
+ # stray bracket
47
+ (r'\[', Text),
48
+ ],
49
+ 'tag': [
50
+ (r'\s+', Text),
51
+ # attribute with value
52
+ (r'(\w+)(=)("?[^\s"\]]+"?)',
53
+ bygroups(Name.Attribute, Operator, String)),
54
+ # tag argument (a la [color=green])
55
+ (r'(=)("?[^\s"\]]+"?)',
56
+ bygroups(Operator, String)),
57
+ # tag end
58
+ (r'\]', Keyword, '#pop'),
59
+ ],
60
+ }
61
+
62
+
63
+ class MoinWikiLexer(RegexLexer):
64
+ """
65
+ For MoinMoin (and Trac) Wiki markup.
66
+
67
+ .. versionadded:: 0.7
68
+ """
69
+
70
+ name = 'MoinMoin/Trac Wiki markup'
71
+ aliases = ['trac-wiki', 'moin']
72
+ filenames = []
73
+ mimetypes = ['text/x-trac-wiki']
74
+ flags = re.MULTILINE | re.IGNORECASE
75
+
76
+ tokens = {
77
+ 'root': [
78
+ (r'^#.*$', Comment),
79
+ (r'(!)(\S+)', bygroups(Keyword, Text)), # Ignore-next
80
+ # Titles
81
+ (r'^(=+)([^=]+)(=+)(\s*#.+)?$',
82
+ bygroups(Generic.Heading, using(this), Generic.Heading, String)),
83
+ # Literal code blocks, with optional shebang
84
+ (r'(\{\{\{)(\n#!.+)?', bygroups(Name.Builtin, Name.Namespace), 'codeblock'),
85
+ (r'(\'\'\'?|\|\||`|__|~~|\^|,,|::)', Comment), # Formatting
86
+ # Lists
87
+ (r'^( +)([.*-])( )', bygroups(Text, Name.Builtin, Text)),
88
+ (r'^( +)([a-z]{1,5}\.)( )', bygroups(Text, Name.Builtin, Text)),
89
+ # Other Formatting
90
+ (r'\[\[\w+.*?\]\]', Keyword), # Macro
91
+ (r'(\[[^\s\]]+)(\s+[^\]]+?)?(\])',
92
+ bygroups(Keyword, String, Keyword)), # Link
93
+ (r'^----+$', Keyword), # Horizontal rules
94
+ (r'[^\n\'\[{!_~^,|]+', Text),
95
+ (r'\n', Text),
96
+ (r'.', Text),
97
+ ],
98
+ 'codeblock': [
99
+ (r'\}\}\}', Name.Builtin, '#pop'),
100
+ # these blocks are allowed to be nested in Trac, but not MoinMoin
101
+ (r'\{\{\{', Text, '#push'),
102
+ (r'[^{}]+', Comment.Preproc), # slurp boring text
103
+ (r'.', Comment.Preproc), # allow loose { or }
104
+ ],
105
+ }
106
+
107
+
108
+ class RstLexer(RegexLexer):
109
+ """
110
+ For `reStructuredText <http://docutils.sf.net/rst.html>`_ markup.
111
+
112
+ .. versionadded:: 0.7
113
+
114
+ Additional options accepted:
115
+
116
+ `handlecodeblocks`
117
+ Highlight the contents of ``.. sourcecode:: language``,
118
+ ``.. code:: language`` and ``.. code-block:: language``
119
+ directives with a lexer for the given language (default:
120
+ ``True``).
121
+
122
+ .. versionadded:: 0.8
123
+ """
124
+ name = 'reStructuredText'
125
+ aliases = ['rst', 'rest', 'restructuredtext']
126
+ filenames = ['*.rst', '*.rest']
127
+ mimetypes = ["text/x-rst", "text/prs.fallenstein.rst"]
128
+ flags = re.MULTILINE
129
+
130
+ def _handle_sourcecode(self, match):
131
+ from pygments.lexers import get_lexer_by_name
132
+
133
+ # section header
134
+ yield match.start(1), Punctuation, match.group(1)
135
+ yield match.start(2), Text, match.group(2)
136
+ yield match.start(3), Operator.Word, match.group(3)
137
+ yield match.start(4), Punctuation, match.group(4)
138
+ yield match.start(5), Text, match.group(5)
139
+ yield match.start(6), Keyword, match.group(6)
140
+ yield match.start(7), Text, match.group(7)
141
+
142
+ # lookup lexer if wanted and existing
143
+ lexer = None
144
+ if self.handlecodeblocks:
145
+ try:
146
+ lexer = get_lexer_by_name(match.group(6).strip())
147
+ except ClassNotFound:
148
+ pass
149
+ indention = match.group(8)
150
+ indention_size = len(indention)
151
+ code = (indention + match.group(9) + match.group(10) + match.group(11))
152
+
153
+ # no lexer for this language. handle it like it was a code block
154
+ if lexer is None:
155
+ yield match.start(8), String, code
156
+ return
157
+
158
+ # highlight the lines with the lexer.
159
+ ins = []
160
+ codelines = code.splitlines(True)
161
+ code = ''
162
+ for line in codelines:
163
+ if len(line) > indention_size:
164
+ ins.append((len(code), [(0, Text, line[:indention_size])]))
165
+ code += line[indention_size:]
166
+ else:
167
+ code += line
168
+ for item in do_insertions(ins, lexer.get_tokens_unprocessed(code)):
169
+ yield item
170
+
171
+ # from docutils.parsers.rst.states
172
+ closers = u'\'")]}>\u2019\u201d\xbb!?'
173
+ unicode_delimiters = u'\u2010\u2011\u2012\u2013\u2014\u00a0'
174
+ end_string_suffix = (r'((?=$)|(?=[-/:.,; \n\x00%s%s]))'
175
+ % (re.escape(unicode_delimiters),
176
+ re.escape(closers)))
177
+
178
+ tokens = {
179
+ 'root': [
180
+ # Heading with overline
181
+ (r'^(=+|-+|`+|:+|\.+|\'+|"+|~+|\^+|_+|\*+|\++|#+)([ \t]*\n)'
182
+ r'(.+)(\n)(\1)(\n)',
183
+ bygroups(Generic.Heading, Text, Generic.Heading,
184
+ Text, Generic.Heading, Text)),
185
+ # Plain heading
186
+ (r'^(\S.*)(\n)(={3,}|-{3,}|`{3,}|:{3,}|\.{3,}|\'{3,}|"{3,}|'
187
+ r'~{3,}|\^{3,}|_{3,}|\*{3,}|\+{3,}|#{3,})(\n)',
188
+ bygroups(Generic.Heading, Text, Generic.Heading, Text)),
189
+ # Bulleted lists
190
+ (r'^(\s*)([-*+])( .+\n(?:\1 .+\n)*)',
191
+ bygroups(Text, Number, using(this, state='inline'))),
192
+ # Numbered lists
193
+ (r'^(\s*)([0-9#ivxlcmIVXLCM]+\.)( .+\n(?:\1 .+\n)*)',
194
+ bygroups(Text, Number, using(this, state='inline'))),
195
+ (r'^(\s*)(\(?[0-9#ivxlcmIVXLCM]+\))( .+\n(?:\1 .+\n)*)',
196
+ bygroups(Text, Number, using(this, state='inline'))),
197
+ # Numbered, but keep words at BOL from becoming lists
198
+ (r'^(\s*)([A-Z]+\.)( .+\n(?:\1 .+\n)+)',
199
+ bygroups(Text, Number, using(this, state='inline'))),
200
+ (r'^(\s*)(\(?[A-Za-z]+\))( .+\n(?:\1 .+\n)+)',
201
+ bygroups(Text, Number, using(this, state='inline'))),
202
+ # Line blocks
203
+ (r'^(\s*)(\|)( .+\n(?:\| .+\n)*)',
204
+ bygroups(Text, Operator, using(this, state='inline'))),
205
+ # Sourcecode directives
206
+ (r'^( *\.\.)(\s*)((?:source)?code(?:-block)?)(::)([ \t]*)([^\n]+)'
207
+ r'(\n[ \t]*\n)([ \t]+)(.*)(\n)((?:(?:\8.*|)\n)+)',
208
+ _handle_sourcecode),
209
+ # A directive
210
+ (r'^( *\.\.)(\s*)([\w:-]+?)(::)(?:([ \t]*)(.*))',
211
+ bygroups(Punctuation, Text, Operator.Word, Punctuation, Text,
212
+ using(this, state='inline'))),
213
+ # A reference target
214
+ (r'^( *\.\.)(\s*)(_(?:[^:\\]|\\.)+:)(.*?)$',
215
+ bygroups(Punctuation, Text, Name.Tag, using(this, state='inline'))),
216
+ # A footnote/citation target
217
+ (r'^( *\.\.)(\s*)(\[.+\])(.*?)$',
218
+ bygroups(Punctuation, Text, Name.Tag, using(this, state='inline'))),
219
+ # A substitution def
220
+ (r'^( *\.\.)(\s*)(\|.+\|)(\s*)([\w:-]+?)(::)(?:([ \t]*)(.*))',
221
+ bygroups(Punctuation, Text, Name.Tag, Text, Operator.Word,
222
+ Punctuation, Text, using(this, state='inline'))),
223
+ # Comments
224
+ (r'^ *\.\..*(\n( +.*\n|\n)+)?', Comment.Preproc),
225
+ # Field list
226
+ (r'^( *)(:[a-zA-Z-]+:)(\s*)$', bygroups(Text, Name.Class, Text)),
227
+ (r'^( *)(:.*?:)([ \t]+)(.*?)$',
228
+ bygroups(Text, Name.Class, Text, Name.Function)),
229
+ # Definition list
230
+ (r'^(\S.*(?<!::)\n)((?:(?: +.*)\n)+)',
231
+ bygroups(using(this, state='inline'), using(this, state='inline'))),
232
+ # Code blocks
233
+ (r'(::)(\n[ \t]*\n)([ \t]+)(.*)(\n)((?:(?:\3.*|)\n)+)',
234
+ bygroups(String.Escape, Text, String, String, Text, String)),
235
+ include('inline'),
236
+ ],
237
+ 'inline': [
238
+ (r'\\.', Text), # escape
239
+ (r'``', String, 'literal'), # code
240
+ (r'(`.+?)(<.+?>)(`__?)', # reference with inline target
241
+ bygroups(String, String.Interpol, String)),
242
+ (r'`.+?`__?', String), # reference
243
+ (r'(`.+?`)(:[a-zA-Z0-9:-]+?:)?',
244
+ bygroups(Name.Variable, Name.Attribute)), # role
245
+ (r'(:[a-zA-Z0-9:-]+?:)(`.+?`)',
246
+ bygroups(Name.Attribute, Name.Variable)), # role (content first)
247
+ (r'\*\*.+?\*\*', Generic.Strong), # Strong emphasis
248
+ (r'\*.+?\*', Generic.Emph), # Emphasis
249
+ (r'\[.*?\]_', String), # Footnote or citation
250
+ (r'<.+?>', Name.Tag), # Hyperlink
251
+ (r'[^\\\n\[*`:]+', Text),
252
+ (r'.', Text),
253
+ ],
254
+ 'literal': [
255
+ (r'[^`]+', String),
256
+ (r'``' + end_string_suffix, String, '#pop'),
257
+ (r'`', String),
258
+ ]
259
+ }
260
+
261
+ def __init__(self, **options):
262
+ self.handlecodeblocks = get_bool_opt(options, 'handlecodeblocks', True)
263
+ RegexLexer.__init__(self, **options)
264
+
265
+ def analyse_text(text):
266
+ if text[:2] == '..' and text[2:3] != '.':
267
+ return 0.3
268
+ p1 = text.find("\n")
269
+ p2 = text.find("\n", p1 + 1)
270
+ if (p2 > -1 and # has two lines
271
+ p1 * 2 + 1 == p2 and # they are the same length
272
+ text[p1+1] in '-=' and # the next line both starts and ends with
273
+ text[p1+1] == text[p2-1]): # ...a sufficiently high header
274
+ return 0.5
275
+
276
+
277
+ class TexLexer(RegexLexer):
278
+ """
279
+ Lexer for the TeX and LaTeX typesetting languages.
280
+ """
281
+
282
+ name = 'TeX'
283
+ aliases = ['tex', 'latex']
284
+ filenames = ['*.tex', '*.aux', '*.toc']
285
+ mimetypes = ['text/x-tex', 'text/x-latex']
286
+
287
+ tokens = {
288
+ 'general': [
289
+ (r'%.*?\n', Comment),
290
+ (r'[{}]', Name.Builtin),
291
+ (r'[&_^]', Name.Builtin),
292
+ ],
293
+ 'root': [
294
+ (r'\\\[', String.Backtick, 'displaymath'),
295
+ (r'\\\(', String, 'inlinemath'),
296
+ (r'\$\$', String.Backtick, 'displaymath'),
297
+ (r'\$', String, 'inlinemath'),
298
+ (r'\\([a-zA-Z]+|.)', Keyword, 'command'),
299
+ (r'\\$', Keyword),
300
+ include('general'),
301
+ (r'[^\\$%&_^{}]+', Text),
302
+ ],
303
+ 'math': [
304
+ (r'\\([a-zA-Z]+|.)', Name.Variable),
305
+ include('general'),
306
+ (r'[0-9]+', Number),
307
+ (r'[-=!+*/()\[\]]', Operator),
308
+ (r'[^=!+*/()\[\]\\$%&_^{}0-9-]+', Name.Builtin),
309
+ ],
310
+ 'inlinemath': [
311
+ (r'\\\)', String, '#pop'),
312
+ (r'\$', String, '#pop'),
313
+ include('math'),
314
+ ],
315
+ 'displaymath': [
316
+ (r'\\\]', String, '#pop'),
317
+ (r'\$\$', String, '#pop'),
318
+ (r'\$', Name.Builtin),
319
+ include('math'),
320
+ ],
321
+ 'command': [
322
+ (r'\[.*?\]', Name.Attribute),
323
+ (r'\*', Keyword),
324
+ default('#pop'),
325
+ ],
326
+ }
327
+
328
+ def analyse_text(text):
329
+ for start in ("\\documentclass", "\\input", "\\documentstyle",
330
+ "\\relax"):
331
+ if text[:len(start)] == start:
332
+ return True
333
+
334
+
335
+ class GroffLexer(RegexLexer):
336
+ """
337
+ Lexer for the (g)roff typesetting language, supporting groff
338
+ extensions. Mainly useful for highlighting manpage sources.
339
+
340
+ .. versionadded:: 0.6
341
+ """
342
+
343
+ name = 'Groff'
344
+ aliases = ['groff', 'nroff', 'man']
345
+ filenames = ['*.[1234567]', '*.man']
346
+ mimetypes = ['application/x-troff', 'text/troff']
347
+
348
+ tokens = {
349
+ 'root': [
350
+ (r'(\.)(\w+)', bygroups(Text, Keyword), 'request'),
351
+ (r'\.', Punctuation, 'request'),
352
+ # Regular characters, slurp till we find a backslash or newline
353
+ (r'[^\\\n]+', Text, 'textline'),
354
+ default('textline'),
355
+ ],
356
+ 'textline': [
357
+ include('escapes'),
358
+ (r'[^\\\n]+', Text),
359
+ (r'\n', Text, '#pop'),
360
+ ],
361
+ 'escapes': [
362
+ # groff has many ways to write escapes.
363
+ (r'\\"[^\n]*', Comment),
364
+ (r'\\[fn]\w', String.Escape),
365
+ (r'\\\(.{2}', String.Escape),
366
+ (r'\\.\[.*\]', String.Escape),
367
+ (r'\\.', String.Escape),
368
+ (r'\\\n', Text, 'request'),
369
+ ],
370
+ 'request': [
371
+ (r'\n', Text, '#pop'),
372
+ include('escapes'),
373
+ (r'"[^\n"]+"', String.Double),
374
+ (r'\d+', Number),
375
+ (r'\S+', String),
376
+ (r'\s+', Text),
377
+ ],
378
+ }
379
+
380
+ def analyse_text(text):
381
+ if text[:1] != '.':
382
+ return False
383
+ if text[:3] == '.\\"':
384
+ return True
385
+ if text[:4] == '.TH ':
386
+ return True
387
+ if text[1:3].isalnum() and text[3].isspace():
388
+ return 0.9
389
+
390
+
391
+ class MozPreprocHashLexer(RegexLexer):
392
+ """
393
+ Lexer for Mozilla Preprocessor files (with '#' as the marker).
394
+
395
+ Other data is left untouched.
396
+
397
+ .. versionadded:: 2.0
398
+ """
399
+ name = 'mozhashpreproc'
400
+ aliases = [name]
401
+ filenames = []
402
+ mimetypes = []
403
+
404
+ tokens = {
405
+ 'root': [
406
+ (r'^#', Comment.Preproc, ('expr', 'exprstart')),
407
+ (r'.+', Other),
408
+ ],
409
+ 'exprstart': [
410
+ (r'(literal)(.*)', bygroups(Comment.Preproc, Text), '#pop:2'),
411
+ (words((
412
+ 'define', 'undef', 'if', 'ifdef', 'ifndef', 'else', 'elif',
413
+ 'elifdef', 'elifndef', 'endif', 'expand', 'filter', 'unfilter',
414
+ 'include', 'includesubst', 'error')),
415
+ Comment.Preproc, '#pop'),
416
+ ],
417
+ 'expr': [
418
+ (words(('!', '!=', '==', '&&', '||')), Operator),
419
+ (r'(defined)(\()', bygroups(Keyword, Punctuation)),
420
+ (r'\)', Punctuation),
421
+ (r'[0-9]+', Number.Decimal),
422
+ (r'__\w+?__', Name.Variable),
423
+ (r'@\w+?@', Name.Class),
424
+ (r'\w+', Name),
425
+ (r'\n', Text, '#pop'),
426
+ (r'\s+', Text),
427
+ (r'\S', Punctuation),
428
+ ],
429
+ }
430
+
431
+
432
+ class MozPreprocPercentLexer(MozPreprocHashLexer):
433
+ """
434
+ Lexer for Mozilla Preprocessor files (with '%' as the marker).
435
+
436
+ Other data is left untouched.
437
+
438
+ .. versionadded:: 2.0
439
+ """
440
+ name = 'mozpercentpreproc'
441
+ aliases = [name]
442
+ filenames = []
443
+ mimetypes = []
444
+
445
+ tokens = {
446
+ 'root': [
447
+ (r'^%', Comment.Preproc, ('expr', 'exprstart')),
448
+ (r'.+', Other),
449
+ ],
450
+ }
451
+
452
+
453
+ class MozPreprocXulLexer(DelegatingLexer):
454
+ """
455
+ Subclass of the `MozPreprocHashLexer` that highlights unlexed data with the
456
+ `XmlLexer`.
457
+
458
+ .. versionadded:: 2.0
459
+ """
460
+ name = "XUL+mozpreproc"
461
+ aliases = ['xul+mozpreproc']
462
+ filenames = ['*.xul.in']
463
+ mimetypes = []
464
+
465
+ def __init__(self, **options):
466
+ super(MozPreprocXulLexer, self).__init__(
467
+ XmlLexer, MozPreprocHashLexer, **options)
468
+
469
+
470
+ class MozPreprocJavascriptLexer(DelegatingLexer):
471
+ """
472
+ Subclass of the `MozPreprocHashLexer` that highlights unlexed data with the
473
+ `JavascriptLexer`.
474
+
475
+ .. versionadded:: 2.0
476
+ """
477
+ name = "Javascript+mozpreproc"
478
+ aliases = ['javascript+mozpreproc']
479
+ filenames = ['*.js.in']
480
+ mimetypes = []
481
+
482
+ def __init__(self, **options):
483
+ super(MozPreprocJavascriptLexer, self).__init__(
484
+ JavascriptLexer, MozPreprocHashLexer, **options)
485
+
486
+
487
+ class MozPreprocCssLexer(DelegatingLexer):
488
+ """
489
+ Subclass of the `MozPreprocHashLexer` that highlights unlexed data with the
490
+ `CssLexer`.
491
+
492
+ .. versionadded:: 2.0
493
+ """
494
+ name = "CSS+mozpreproc"
495
+ aliases = ['css+mozpreproc']
496
+ filenames = ['*.css.in']
497
+ mimetypes = []
498
+
499
+ def __init__(self, **options):
500
+ super(MozPreprocCssLexer, self).__init__(
501
+ CssLexer, MozPreprocPercentLexer, **options)
502
+
503
+
504
+ class MarkdownLexer(RegexLexer):
505
+ """
506
+ For `Markdown <https://help.github.com/categories/writing-on-github/>`_ markup.
507
+
508
+ .. versionadded:: 2.2
509
+ """
510
+ name = 'markdown'
511
+ aliases = ['md']
512
+ filenames = ['*.md']
513
+ mimetypes = ["text/x-markdown"]
514
+ flags = re.MULTILINE
515
+
516
+ def _handle_codeblock(self, match):
517
+ """
518
+ match args: 1:backticks, 2:lang_name, 3:newline, 4:code, 5:backticks
519
+ """
520
+ from pygments.lexers import get_lexer_by_name
521
+
522
+ # section header
523
+ yield match.start(1), String , match.group(1)
524
+ yield match.start(2), String , match.group(2)
525
+ yield match.start(3), Text , match.group(3)
526
+
527
+ # lookup lexer if wanted and existing
528
+ lexer = None
529
+ if self.handlecodeblocks:
530
+ try:
531
+ lexer = get_lexer_by_name( match.group(2).strip() )
532
+ except ClassNotFound:
533
+ pass
534
+ code = match.group(4)
535
+
536
+ # no lexer for this language. handle it like it was a code block
537
+ if lexer is None:
538
+ yield match.start(4), String, code
539
+ return
540
+
541
+ for item in do_insertions([], lexer.get_tokens_unprocessed(code)):
542
+ yield item
543
+
544
+ yield match.start(5), String , match.group(5)
545
+
546
+ tokens = {
547
+ 'root': [
548
+ # heading with pound prefix
549
+ (r'^(#)([^#].+\n)', bygroups(Generic.Heading, Text)),
550
+ (r'^(#{2,6})(.+\n)', bygroups(Generic.Subheading, Text)),
551
+ # task list
552
+ (r'^(\s*)([*-] )(\[[ xX]\])( .+\n)',
553
+ bygroups(Text, Keyword, Keyword, using(this, state='inline'))),
554
+ # bulleted lists
555
+ (r'^(\s*)([*-])(\s)(.+\n)',
556
+ bygroups(Text, Keyword, Text, using(this, state='inline'))),
557
+ # numbered lists
558
+ (r'^(\s*)([0-9]+\.)( .+\n)',
559
+ bygroups(Text, Keyword, using(this, state='inline'))),
560
+ # quote
561
+ (r'^(\s*>\s)(.+\n)', bygroups(Keyword, Generic.Emph)),
562
+ # text block
563
+ (r'^(```\n)([\w\W]*?)(^```$)', bygroups(String, Text, String)),
564
+ # code block with language
565
+ (r'^(```)(\w+)(\n)([\w\W]*?)(^```$)', _handle_codeblock),
566
+
567
+ include('inline'),
568
+ ],
569
+ 'inline': [
570
+ # escape
571
+ (r'\\.', Text),
572
+ # italics
573
+ (r'(\s)([*_][^*_]+[*_])(\W|\n)', bygroups(Text, Generic.Emph, Text)),
574
+ # bold
575
+ # warning: the following rule eats internal tags. eg. **foo _bar_ baz** bar is not italics
576
+ (r'(\s)((\*\*|__).*\3)((?=\W|\n))', bygroups(Text, Generic.Strong, None, Text)),
577
+ # "proper way" (r'(\s)([*_]{2}[^*_]+[*_]{2})((?=\W|\n))', bygroups(Text, Generic.Strong, Text)),
578
+ # strikethrough
579
+ (r'(\s)(~~[^~]+~~)((?=\W|\n))', bygroups(Text, Generic.Deleted, Text)),
580
+ # inline code
581
+ (r'`[^`]+`', String.Backtick),
582
+ # mentions and topics (twitter and github stuff)
583
+ (r'[@#][\w/:]+', Name.Entity),
584
+ # (image?) links eg: ![Image of Yaktocat](https://octodex.github.com/images/yaktocat.png)
585
+ (r'(!?\[)([^]]+)(\])(\()([^)]+)(\))', bygroups(Text, Name.Tag, Text, Text, Name.Attribute, Text)),
586
+
587
+ # general text, must come last!
588
+ (r'[^\\\s]+', Text),
589
+ (r'.', Text),
590
+ ],
591
+ }
592
+
593
+ def __init__(self, **options):
594
+ self.handlecodeblocks = get_bool_opt(options, 'handlecodeblocks', True)
595
+ RegexLexer.__init__(self, **options)