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
@@ -5,20 +5,26 @@
5
5
 
6
6
  Base lexer classes.
7
7
 
8
- :copyright: Copyright 2006-2014 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
- import re, itertools
11
+
12
+ from __future__ import print_function
13
+
14
+ import re
15
+ import sys
16
+ import time
12
17
 
13
18
  from pygments.filter import apply_filters, Filter
14
19
  from pygments.filters import get_filter_by_name
15
20
  from pygments.token import Error, Text, Other, _TokenType
16
21
  from pygments.util import get_bool_opt, get_int_opt, get_list_opt, \
17
- make_analysator, text_type, add_metaclass, iteritems
18
-
22
+ make_analysator, text_type, add_metaclass, iteritems, Future, guess_decode
23
+ from pygments.regexopt import regex_opt
19
24
 
20
25
  __all__ = ['Lexer', 'RegexLexer', 'ExtendedRegexLexer', 'DelegatingLexer',
21
- 'LexerContext', 'include', 'inherit', 'bygroups', 'using', 'this', 'default']
26
+ 'LexerContext', 'include', 'inherit', 'bygroups', 'using', 'this',
27
+ 'default', 'words']
22
28
 
23
29
 
24
30
  _encoding_map = [(b'\xef\xbb\xbf', 'utf-8'),
@@ -36,10 +42,10 @@ class LexerMeta(type):
36
42
  static methods which always return float values.
37
43
  """
38
44
 
39
- def __new__(cls, name, bases, d):
45
+ def __new__(mcs, name, bases, d):
40
46
  if 'analyse_text' in d:
41
47
  d['analyse_text'] = make_analysator(d['analyse_text'])
42
- return type.__new__(cls, name, bases, d)
48
+ return type.__new__(mcs, name, bases, d)
43
49
 
44
50
 
45
51
  @add_metaclass(LexerMeta)
@@ -64,9 +70,11 @@ class Lexer(object):
64
70
  ``encoding``
65
71
  If given, must be an encoding name. This encoding will be used to
66
72
  convert the input string to Unicode, if it is not already a Unicode
67
- string (default: ``'latin1'``).
68
- Can also be ``'guess'`` to use a simple UTF-8 / Latin1 detection, or
69
- ``'chardet'`` to use the chardet library, if it is installed.
73
+ string (default: ``'guess'``, which uses a simple UTF-8 / Locale /
74
+ Latin1 detection. Can also be ``'chardet'`` to use the chardet
75
+ library, if it is installed.
76
+ ``inencoding``
77
+ Overrides the ``encoding`` if given.
70
78
  """
71
79
 
72
80
  #: Name of the lexer
@@ -93,8 +101,8 @@ class Lexer(object):
93
101
  self.stripall = get_bool_opt(options, 'stripall', False)
94
102
  self.ensurenl = get_bool_opt(options, 'ensurenl', True)
95
103
  self.tabsize = get_int_opt(options, 'tabsize', 0)
96
- self.encoding = options.get('encoding', 'latin1')
97
- # self.encoding = options.get('inencoding', None) or self.encoding
104
+ self.encoding = options.get('encoding', 'guess')
105
+ self.encoding = options.get('inencoding') or self.encoding
98
106
  self.filters = []
99
107
  for filter_ in get_list_opt(options, 'filters', ()):
100
108
  self.add_filter(filter_)
@@ -139,12 +147,7 @@ class Lexer(object):
139
147
  """
140
148
  if not isinstance(text, text_type):
141
149
  if self.encoding == 'guess':
142
- try:
143
- text = text.decode('utf-8')
144
- if text.startswith(u'\ufeff'):
145
- text = text[len(u'\ufeff'):]
146
- except UnicodeDecodeError:
147
- text = text.decode('latin1')
150
+ text, _ = guess_decode(text)
148
151
  elif self.encoding == 'chardet':
149
152
  try:
150
153
  import chardet
@@ -160,7 +163,7 @@ class Lexer(object):
160
163
  break
161
164
  # no BOM found, so use chardet
162
165
  if decoded is None:
163
- enc = chardet.detect(text[:1024]) # Guess using first 1KB
166
+ enc = chardet.detect(text[:1024]) # Guess using first 1KB
164
167
  decoded = text.decode(enc.get('encoding') or 'utf-8',
165
168
  'replace')
166
169
  text = decoded
@@ -185,7 +188,7 @@ class Lexer(object):
185
188
  text += '\n'
186
189
 
187
190
  def streamer():
188
- for i, t, v in self.get_tokens_unprocessed(text):
191
+ for _, t, v in self.get_tokens_unprocessed(text):
189
192
  yield t, v
190
193
  stream = streamer()
191
194
  if not unfiltered:
@@ -237,12 +240,12 @@ class DelegatingLexer(Lexer):
237
240
  self.root_lexer.get_tokens_unprocessed(buffered))
238
241
 
239
242
 
240
- #-------------------------------------------------------------------------------
243
+ # ------------------------------------------------------------------------------
241
244
  # RegexLexer and ExtendedRegexLexer
242
245
  #
243
246
 
244
247
 
245
- class include(str):
248
+ class include(str): # pylint: disable=invalid-name
246
249
  """
247
250
  Indicates that a state should include rules from another state.
248
251
  """
@@ -256,10 +259,10 @@ class _inherit(object):
256
259
  def __repr__(self):
257
260
  return 'inherit'
258
261
 
259
- inherit = _inherit()
262
+ inherit = _inherit() # pylint: disable=invalid-name
260
263
 
261
264
 
262
- class combined(tuple):
265
+ class combined(tuple): # pylint: disable=invalid-name
263
266
  """
264
267
  Indicates a state combined from multiple states.
265
268
  """
@@ -316,8 +319,8 @@ def bygroups(*args):
316
319
  if data is not None:
317
320
  if ctx:
318
321
  ctx.pos = match.start(i + 1)
319
- for item in action(lexer, _PseudoMatch(match.start(i + 1),
320
- data), ctx):
322
+ for item in action(lexer,
323
+ _PseudoMatch(match.start(i + 1), data), ctx):
321
324
  if item:
322
325
  yield item
323
326
  if ctx:
@@ -387,26 +390,46 @@ class default:
387
390
  """
388
391
  Indicates a state or state action (e.g. #pop) to apply.
389
392
  For example default('#pop') is equivalent to ('', Token, '#pop')
390
- Note that state tuples may be used as well
393
+ Note that state tuples may be used as well.
394
+
395
+ .. versionadded:: 2.0
391
396
  """
392
397
  def __init__(self, state):
393
398
  self.state = state
394
399
 
395
400
 
401
+ class words(Future):
402
+ """
403
+ Indicates a list of literal words that is transformed into an optimized
404
+ regex that matches any of the words.
405
+
406
+ .. versionadded:: 2.0
407
+ """
408
+ def __init__(self, words, prefix='', suffix=''):
409
+ self.words = words
410
+ self.prefix = prefix
411
+ self.suffix = suffix
412
+
413
+ def get(self):
414
+ return regex_opt(self.words, prefix=self.prefix, suffix=self.suffix)
415
+
416
+
396
417
  class RegexLexerMeta(LexerMeta):
397
418
  """
398
419
  Metaclass for RegexLexer, creates the self._tokens attribute from
399
420
  self.tokens on the first instantiation.
400
421
  """
401
422
 
402
- def _process_regex(cls, regex, rflags):
423
+ def _process_regex(cls, regex, rflags, state):
403
424
  """Preprocess the regular expression component of a token definition."""
425
+ if isinstance(regex, Future):
426
+ regex = regex.get()
404
427
  return re.compile(regex, rflags).match
405
428
 
406
429
  def _process_token(cls, token):
407
430
  """Preprocess the token component of a token definition."""
408
431
  assert type(token) is _TokenType or callable(token), \
409
- 'token type must be simple type or callable, not %r' % (token,)
432
+ 'token type must be simple type or callable, not %r' % (token,)
410
433
  return token
411
434
 
412
435
  def _process_new_state(cls, new_state, unprocessed, processed):
@@ -439,7 +462,7 @@ class RegexLexerMeta(LexerMeta):
439
462
  for istate in new_state:
440
463
  assert (istate in unprocessed or
441
464
  istate in ('#pop', '#push')), \
442
- 'unknown new state ' + istate
465
+ 'unknown new state ' + istate
443
466
  return new_state
444
467
  else:
445
468
  assert False, 'unknown new state def %r' % new_state
@@ -460,7 +483,9 @@ class RegexLexerMeta(LexerMeta):
460
483
  str(tdef)))
461
484
  continue
462
485
  if isinstance(tdef, _inherit):
463
- # processed already
486
+ # should be processed already, but may not in the case of:
487
+ # 1. the state has no counterpart in any parent
488
+ # 2. the state includes more than one 'inherit'
464
489
  continue
465
490
  if isinstance(tdef, default):
466
491
  new_state = cls._process_new_state(tdef.state, unprocessed, processed)
@@ -470,7 +495,7 @@ class RegexLexerMeta(LexerMeta):
470
495
  assert type(tdef) is tuple, "wrong rule def %r" % tdef
471
496
 
472
497
  try:
473
- rex = cls._process_regex(tdef[0], rflags)
498
+ rex = cls._process_regex(tdef[0], rflags, state)
474
499
  except Exception as err:
475
500
  raise ValueError("uncompilable regex %r in state %r of %r: %s" %
476
501
  (tdef[0], state, cls, err))
@@ -508,12 +533,16 @@ class RegexLexerMeta(LexerMeta):
508
533
  """
509
534
  tokens = {}
510
535
  inheritable = {}
511
- for c in itertools.chain((cls,), cls.__mro__):
536
+ for c in cls.__mro__:
512
537
  toks = c.__dict__.get('tokens', {})
513
538
 
514
539
  for state, items in iteritems(toks):
515
540
  curitems = tokens.get(state)
516
541
  if curitems is None:
542
+ # N.b. because this is assigned by reference, sufficiently
543
+ # deep hierarchies are processed incrementally (e.g. for
544
+ # A(B), B(C), C(RegexLexer), B will be premodified so X(B)
545
+ # will not see any inherits in B).
517
546
  tokens[state] = items
518
547
  try:
519
548
  inherit_ndx = items.index(inherit)
@@ -529,6 +558,8 @@ class RegexLexerMeta(LexerMeta):
529
558
  # Replace the "inherit" value with the items
530
559
  curitems[inherit_ndx:inherit_ndx+1] = items
531
560
  try:
561
+ # N.b. this is the index in items (that is, the superclass
562
+ # copy), so offset required when storing below.
532
563
  new_inh_ndx = items.index(inherit)
533
564
  except ValueError:
534
565
  pass
@@ -623,6 +654,8 @@ class RegexLexer(Lexer):
623
654
  statetokens = tokendefs[statestack[-1]]
624
655
  break
625
656
  else:
657
+ # We are here only if all state tokens have been considered
658
+ # and there was not a match on any of them.
626
659
  try:
627
660
  if text[pos] == '\n':
628
661
  # at EOL, reset state to "root"
@@ -645,7 +678,7 @@ class LexerContext(object):
645
678
  def __init__(self, text, pos, stack=None, end=None):
646
679
  self.text = text
647
680
  self.pos = pos
648
- self.end = end or len(text) # end=0 not supported ;-)
681
+ self.end = end or len(text) # end=0 not supported ;-)
649
682
  self.stack = stack or ['root']
650
683
 
651
684
  def __repr__(self):
@@ -783,3 +816,56 @@ def do_insertions(insertions, tokens):
783
816
  except StopIteration:
784
817
  insleft = False
785
818
  break # not strictly necessary
819
+
820
+
821
+ class ProfilingRegexLexerMeta(RegexLexerMeta):
822
+ """Metaclass for ProfilingRegexLexer, collects regex timing info."""
823
+
824
+ def _process_regex(cls, regex, rflags, state):
825
+ if isinstance(regex, words):
826
+ rex = regex_opt(regex.words, prefix=regex.prefix,
827
+ suffix=regex.suffix)
828
+ else:
829
+ rex = regex
830
+ compiled = re.compile(rex, rflags)
831
+
832
+ def match_func(text, pos, endpos=sys.maxsize):
833
+ info = cls._prof_data[-1].setdefault((state, rex), [0, 0.0])
834
+ t0 = time.time()
835
+ res = compiled.match(text, pos, endpos)
836
+ t1 = time.time()
837
+ info[0] += 1
838
+ info[1] += t1 - t0
839
+ return res
840
+ return match_func
841
+
842
+
843
+ @add_metaclass(ProfilingRegexLexerMeta)
844
+ class ProfilingRegexLexer(RegexLexer):
845
+ """Drop-in replacement for RegexLexer that does profiling of its regexes."""
846
+
847
+ _prof_data = []
848
+ _prof_sort_index = 4 # defaults to time per call
849
+
850
+ def get_tokens_unprocessed(self, text, stack=('root',)):
851
+ # this needs to be a stack, since using(this) will produce nested calls
852
+ self.__class__._prof_data.append({})
853
+ for tok in RegexLexer.get_tokens_unprocessed(self, text, stack):
854
+ yield tok
855
+ rawdata = self.__class__._prof_data.pop()
856
+ data = sorted(((s, repr(r).strip('u\'').replace('\\\\', '\\')[:65],
857
+ n, 1000 * t, 1000 * t / n)
858
+ for ((s, r), (n, t)) in rawdata.items()),
859
+ key=lambda x: x[self._prof_sort_index],
860
+ reverse=True)
861
+ sum_total = sum(x[3] for x in data)
862
+
863
+ print()
864
+ print('Profiling result for %s lexing %d chars in %.3f ms' %
865
+ (self.__class__.__name__, len(text), sum_total))
866
+ print('=' * 110)
867
+ print('%-20s %-64s ncalls tottime percall' % ('state', 'regex'))
868
+ print('-' * 110)
869
+ for d in data:
870
+ print('%-20s %-65s %5d %8.4f %8.4f' % d)
871
+ print('=' * 110)
@@ -5,20 +5,20 @@
5
5
 
6
6
  Pygments lexers.
7
7
 
8
- :copyright: Copyright 2006-2014 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
12
+ import re
12
13
  import sys
13
14
  import types
14
15
  import fnmatch
15
- import re
16
16
  from os.path import basename
17
17
 
18
18
  from pygments.lexers._mapping import LEXERS
19
19
  from pygments.modeline import get_filetype_from_buffer
20
20
  from pygments.plugin import find_plugin_lexers
21
- from pygments.util import ClassNotFound, itervalues
21
+ from pygments.util import ClassNotFound, itervalues, guess_decode
22
22
 
23
23
 
24
24
  __all__ = ['get_lexer_by_name', 'get_lexer_for_filename', 'find_lexer_class',
@@ -27,23 +27,17 @@ __all__ = ['get_lexer_by_name', 'get_lexer_for_filename', 'find_lexer_class',
27
27
  _lexer_cache = {}
28
28
  _pattern_cache = {}
29
29
 
30
+
30
31
  def _fn_matches(fn, glob):
31
- """
32
- Return whether the supplied file name fn matches pattern filename
33
- """
32
+ """Return whether the supplied file name fn matches pattern filename."""
34
33
  if glob not in _pattern_cache:
35
- pattern = re.compile(fnmatch.translate(glob))
36
- _pattern_cache[glob] = pattern
37
- else:
38
- pattern = _pattern_cache[glob]
39
-
40
- return pattern.match(fn)
34
+ pattern = _pattern_cache[glob] = re.compile(fnmatch.translate(glob))
35
+ return pattern.match(fn)
36
+ return _pattern_cache[glob].match(fn)
41
37
 
42
38
 
43
39
  def _load_lexers(module_name):
44
- """
45
- Load a lexer (and all others in the module too).
46
- """
40
+ """Load a lexer (and all others in the module too)."""
47
41
  mod = __import__(module_name, None, None, ['__all__'])
48
42
  for lexer_name in mod.__all__:
49
43
  cls = getattr(mod, lexer_name)
@@ -51,8 +45,7 @@ def _load_lexers(module_name):
51
45
 
52
46
 
53
47
  def get_all_lexers():
54
- """
55
- Return a generator of tuples in the form ``(name, aliases,
48
+ """Return a generator of tuples in the form ``(name, aliases,
56
49
  filenames, mimetypes)`` of all know lexers.
57
50
  """
58
51
  for item in itervalues(LEXERS):
@@ -62,8 +55,9 @@ def get_all_lexers():
62
55
 
63
56
 
64
57
  def find_lexer_class(name):
65
- """
66
- Lookup a lexer class by name. Return None if not found.
58
+ """Lookup a lexer class by name.
59
+
60
+ Return None if not found.
67
61
  """
68
62
  if name in _lexer_cache:
69
63
  return _lexer_cache[name]
@@ -78,9 +72,32 @@ def find_lexer_class(name):
78
72
  return cls
79
73
 
80
74
 
81
- def get_lexer_by_name(_alias, **options):
75
+ def find_lexer_class_by_name(alias):
76
+ """Lookup a lexer class by alias.
77
+
78
+ Like `get_lexer_by_name`, but does not instantiate the class.
79
+
80
+ .. versionadded:: 2.2
82
81
  """
83
- Get a lexer by an alias.
82
+ if not _alias:
83
+ raise ClassNotFound('no lexer for alias %r found' % _alias)
84
+ # lookup builtin lexers
85
+ for module_name, name, aliases, _, _ in itervalues(LEXERS):
86
+ if _alias.lower() in aliases:
87
+ if name not in _lexer_cache:
88
+ _load_lexers(module_name)
89
+ return _lexer_cache[name]
90
+ # continue with lexers from setuptools entrypoints
91
+ for cls in find_plugin_lexers():
92
+ if _alias.lower() in cls.aliases:
93
+ return cls
94
+ raise ClassNotFound('no lexer for alias %r found' % _alias)
95
+
96
+
97
+ def get_lexer_by_name(_alias, **options):
98
+ """Get a lexer by an alias.
99
+
100
+ Raises ClassNotFound if not found.
84
101
  """
85
102
  if not _alias:
86
103
  raise ClassNotFound('no lexer for alias %r found' % _alias)
@@ -93,16 +110,18 @@ def get_lexer_by_name(_alias, **options):
93
110
  return _lexer_cache[name](**options)
94
111
  # continue with lexers from setuptools entrypoints
95
112
  for cls in find_plugin_lexers():
96
- if _alias in cls.aliases:
113
+ if _alias.lower() in cls.aliases:
97
114
  return cls(**options)
98
115
  raise ClassNotFound('no lexer for alias %r found' % _alias)
99
116
 
100
117
 
101
- def get_lexer_for_filename(_fn, code=None, **options):
102
- """
103
- Get a lexer for a filename. If multiple lexers match the filename
104
- pattern, use ``analyse_text()`` to figure out which one is more
105
- appropriate.
118
+ def find_lexer_class_for_filename(_fn, code=None):
119
+ """Get a lexer for a filename.
120
+
121
+ If multiple lexers match the filename pattern, use ``analyse_text()`` to
122
+ figure out which one is more appropriate.
123
+
124
+ Returns None if not found.
106
125
  """
107
126
  matches = []
108
127
  fn = basename(_fn)
@@ -119,7 +138,7 @@ def get_lexer_for_filename(_fn, code=None, **options):
119
138
 
120
139
  if sys.version_info > (3,) and isinstance(code, bytes):
121
140
  # decode it, since all analyse_text functions expect unicode
122
- code = code.decode('latin1')
141
+ code = guess_decode(code)
123
142
 
124
143
  def get_rating(info):
125
144
  cls, filename = info
@@ -135,14 +154,28 @@ def get_lexer_for_filename(_fn, code=None, **options):
135
154
 
136
155
  if matches:
137
156
  matches.sort(key=get_rating)
138
- #print "Possible lexers, after sort:", matches
139
- return matches[-1][0](**options)
140
- raise ClassNotFound('no lexer for filename %r found' % _fn)
157
+ # print "Possible lexers, after sort:", matches
158
+ return matches[-1][0]
141
159
 
142
160
 
143
- def get_lexer_for_mimetype(_mime, **options):
161
+ def get_lexer_for_filename(_fn, code=None, **options):
162
+ """Get a lexer for a filename.
163
+
164
+ If multiple lexers match the filename pattern, use ``analyse_text()`` to
165
+ figure out which one is more appropriate.
166
+
167
+ Raises ClassNotFound if not found.
144
168
  """
145
- Get a lexer for a mimetype.
169
+ res = find_lexer_class_for_filename(_fn, code)
170
+ if not res:
171
+ raise ClassNotFound('no lexer for filename %r found' % _fn)
172
+ return res(**options)
173
+
174
+
175
+ def get_lexer_for_mimetype(_mime, **options):
176
+ """Get a lexer for a mimetype.
177
+
178
+ Raises ClassNotFound if not found.
146
179
  """
147
180
  for modname, name, _, _, mimetypes in itervalues(LEXERS):
148
181
  if _mime in mimetypes:
@@ -155,17 +188,16 @@ def get_lexer_for_mimetype(_mime, **options):
155
188
  raise ClassNotFound('no lexer for mimetype %r found' % _mime)
156
189
 
157
190
 
158
- def _iter_lexerclasses():
159
- """
160
- Return an iterator over all lexer classes.
161
- """
191
+ def _iter_lexerclasses(plugins=True):
192
+ """Return an iterator over all lexer classes."""
162
193
  for key in sorted(LEXERS):
163
194
  module_name, name = LEXERS[key][:2]
164
195
  if name not in _lexer_cache:
165
196
  _load_lexers(module_name)
166
197
  yield _lexer_cache[name]
167
- for lexer in find_plugin_lexers():
168
- yield lexer
198
+ if plugins:
199
+ for lexer in find_plugin_lexers():
200
+ yield lexer
169
201
 
170
202
 
171
203
  def guess_lexer_for_filename(_fn, _text, **options):
@@ -185,16 +217,17 @@ def guess_lexer_for_filename(_fn, _text, **options):
185
217
  <pygments.lexers.templates.CssPhpLexer object at 0xb7ba518c>
186
218
  """
187
219
  fn = basename(_fn)
188
- primary = None
220
+ primary = {}
189
221
  matching_lexers = set()
190
222
  for lexer in _iter_lexerclasses():
191
223
  for filename in lexer.filenames:
192
224
  if _fn_matches(fn, filename):
193
225
  matching_lexers.add(lexer)
194
- primary = lexer
226
+ primary[lexer] = True
195
227
  for filename in lexer.alias_filenames:
196
228
  if _fn_matches(fn, filename):
197
229
  matching_lexers.add(lexer)
230
+ primary[lexer] = False
198
231
  if not matching_lexers:
199
232
  raise ClassNotFound('no lexer for filename %r found' % fn)
200
233
  if len(matching_lexers) == 1:
@@ -206,21 +239,20 @@ def guess_lexer_for_filename(_fn, _text, **options):
206
239
  return lexer(**options)
207
240
  result.append((rv, lexer))
208
241
 
209
- # since py3 can no longer sort by class name by default, here is the
210
- # sorting function that works in both
211
- def type_sort(type_):
212
- return (type_[0], type_[1].__name__)
242
+ def type_sort(t):
243
+ # sort by:
244
+ # - analyse score
245
+ # - is primary filename pattern?
246
+ # - priority
247
+ # - last resort: class name
248
+ return (t[0], primary[t[1]], t[1].priority, t[1].__name__)
213
249
  result.sort(key=type_sort)
214
250
 
215
- if not result[-1][0] and primary is not None:
216
- return primary(**options)
217
251
  return result[-1][1](**options)
218
252
 
219
253
 
220
254
  def guess_lexer(_text, **options):
221
- """
222
- Guess a lexer by strong distinctions in the text (eg, shebang).
223
- """
255
+ """Guess a lexer by strong distinctions in the text (eg, shebang)."""
224
256
 
225
257
  # try to get a vim modeline first
226
258
  ft = get_filetype_from_buffer(_text)
@@ -256,8 +288,8 @@ class _automodule(types.ModuleType):
256
288
  raise AttributeError(name)
257
289
 
258
290
 
259
- oldmod = sys.modules['pygments.lexers']
260
- newmod = _automodule('pygments.lexers')
291
+ oldmod = sys.modules[__name__]
292
+ newmod = _automodule(__name__)
261
293
  newmod.__dict__.update(oldmod.__dict__)
262
- sys.modules['pygments.lexers'] = newmod
294
+ sys.modules[__name__] = newmod
263
295
  del newmod.newmod, newmod.oldmod, newmod.sys, newmod.types