pygments.rb 1.2.0 → 2.1.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 (388) hide show
  1. checksums.yaml +5 -5
  2. data/.github/dependabot.yml +13 -0
  3. data/.github/workflows/ci.yml +40 -0
  4. data/.github/workflows/release.yml +24 -0
  5. data/.gitignore +5 -5
  6. data/.rubocop.yml +18 -0
  7. data/CHANGELOG.adoc +132 -0
  8. data/Gemfile +3 -1
  9. data/LICENSE +1 -1
  10. data/README.adoc +160 -0
  11. data/Rakefile +12 -21
  12. data/bench.rb +14 -8
  13. data/{cache-lexers.rb → cache_lexers.rb} +3 -2
  14. data/lexers +0 -0
  15. data/lib/pygments.rb +10 -11
  16. data/lib/pygments/lexer.rb +6 -6
  17. data/lib/pygments/mentos.py +23 -110
  18. data/lib/pygments/popen.rb +196 -275
  19. data/lib/pygments/version.rb +2 -2
  20. data/pygments.rb.gemspec +12 -10
  21. data/test/test_pygments.rb +50 -110
  22. data/vendor/pygments-main/{AUTHORS → Pygments-2.8.0.dist-info/AUTHORS} +26 -3
  23. data/vendor/pygments-main/Pygments-2.8.0.dist-info/INSTALLER +1 -0
  24. data/vendor/pygments-main/{LICENSE → Pygments-2.8.0.dist-info/LICENSE} +1 -1
  25. data/vendor/pygments-main/Pygments-2.8.0.dist-info/METADATA +48 -0
  26. data/vendor/pygments-main/Pygments-2.8.0.dist-info/RECORD +494 -0
  27. data/vendor/pygments-main/Pygments-2.8.0.dist-info/REQUESTED +0 -0
  28. data/vendor/pygments-main/Pygments-2.8.0.dist-info/WHEEL +5 -0
  29. data/vendor/pygments-main/Pygments-2.8.0.dist-info/entry_points.txt +3 -0
  30. data/vendor/pygments-main/Pygments-2.8.0.dist-info/top_level.txt +1 -0
  31. data/vendor/pygments-main/bin/pygmentize +8 -0
  32. data/vendor/pygments-main/pygments/__init__.py +6 -12
  33. data/vendor/pygments-main/pygments/__main__.py +17 -0
  34. data/vendor/pygments-main/pygments/cmdline.py +213 -184
  35. data/vendor/pygments-main/pygments/console.py +6 -10
  36. data/vendor/pygments-main/pygments/filter.py +4 -7
  37. data/vendor/pygments-main/pygments/filters/__init__.py +609 -22
  38. data/vendor/pygments-main/pygments/formatter.py +4 -5
  39. data/vendor/pygments-main/pygments/formatters/__init__.py +10 -10
  40. data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -4
  41. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -2
  42. data/vendor/pygments-main/pygments/formatters/html.py +242 -139
  43. data/vendor/pygments-main/pygments/formatters/img.py +91 -50
  44. data/vendor/pygments-main/pygments/formatters/irc.py +39 -40
  45. data/vendor/pygments-main/pygments/formatters/latex.py +62 -33
  46. data/vendor/pygments-main/pygments/formatters/other.py +18 -17
  47. data/vendor/pygments-main/pygments/formatters/rtf.py +29 -30
  48. data/vendor/pygments-main/pygments/formatters/svg.py +40 -5
  49. data/vendor/pygments-main/pygments/formatters/terminal.py +25 -32
  50. data/vendor/pygments-main/pygments/formatters/terminal256.py +45 -14
  51. data/vendor/pygments-main/pygments/lexer.py +47 -44
  52. data/vendor/pygments-main/pygments/lexers/__init__.py +29 -17
  53. data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +5 -6
  54. data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +15 -16
  55. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +21 -18
  56. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1717 -1339
  57. data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +1 -2
  58. data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +2 -5
  59. data/vendor/pygments-main/pygments/lexers/_mapping.py +79 -31
  60. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +2 -3
  61. data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +1281 -0
  62. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +439 -386
  63. data/vendor/pygments-main/pygments/lexers/_php_builtins.py +17 -21
  64. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +73 -17
  65. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +2 -3
  66. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1 -4
  67. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +151 -126
  68. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +96 -58
  69. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -2
  70. data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +112 -0
  71. data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +279 -0
  72. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -2
  73. data/vendor/pygments-main/pygments/lexers/actionscript.py +14 -10
  74. data/vendor/pygments-main/pygments/lexers/agile.py +1 -2
  75. data/vendor/pygments-main/pygments/lexers/algebra.py +20 -2
  76. data/vendor/pygments-main/pygments/lexers/ambient.py +2 -3
  77. data/vendor/pygments-main/pygments/lexers/amdgpu.py +48 -0
  78. data/vendor/pygments-main/pygments/lexers/ampl.py +3 -4
  79. data/vendor/pygments-main/pygments/lexers/apl.py +15 -16
  80. data/vendor/pygments-main/pygments/lexers/archetype.py +4 -5
  81. data/vendor/pygments-main/pygments/lexers/arrow.py +116 -0
  82. data/vendor/pygments-main/pygments/lexers/asm.py +440 -77
  83. data/vendor/pygments-main/pygments/lexers/automation.py +7 -2
  84. data/vendor/pygments-main/pygments/lexers/bare.py +103 -0
  85. data/vendor/pygments-main/pygments/lexers/basic.py +168 -7
  86. data/vendor/pygments-main/pygments/lexers/bibtex.py +5 -6
  87. data/vendor/pygments-main/pygments/lexers/boa.py +101 -0
  88. data/vendor/pygments-main/pygments/lexers/business.py +19 -5
  89. data/vendor/pygments-main/pygments/lexers/c_cpp.py +138 -48
  90. data/vendor/pygments-main/pygments/lexers/c_like.py +67 -43
  91. data/vendor/pygments-main/pygments/lexers/capnproto.py +7 -8
  92. data/vendor/pygments-main/pygments/lexers/cddl.py +190 -0
  93. data/vendor/pygments-main/pygments/lexers/chapel.py +25 -16
  94. data/vendor/pygments-main/pygments/lexers/clean.py +135 -245
  95. data/vendor/pygments-main/pygments/lexers/compiled.py +1 -2
  96. data/vendor/pygments-main/pygments/lexers/configs.py +190 -38
  97. data/vendor/pygments-main/pygments/lexers/console.py +1 -2
  98. data/vendor/pygments-main/pygments/lexers/crystal.py +54 -81
  99. data/vendor/pygments-main/pygments/lexers/csound.py +288 -188
  100. data/vendor/pygments-main/pygments/lexers/css.py +28 -23
  101. data/vendor/pygments-main/pygments/lexers/d.py +12 -8
  102. data/vendor/pygments-main/pygments/lexers/dalvik.py +1 -2
  103. data/vendor/pygments-main/pygments/lexers/data.py +240 -98
  104. data/vendor/pygments-main/pygments/lexers/devicetree.py +108 -0
  105. data/vendor/pygments-main/pygments/lexers/diff.py +4 -5
  106. data/vendor/pygments-main/pygments/lexers/dotnet.py +46 -31
  107. data/vendor/pygments-main/pygments/lexers/dsls.py +146 -65
  108. data/vendor/pygments-main/pygments/lexers/dylan.py +16 -19
  109. data/vendor/pygments-main/pygments/lexers/ecl.py +17 -5
  110. data/vendor/pygments-main/pygments/lexers/eiffel.py +2 -3
  111. data/vendor/pygments-main/pygments/lexers/elm.py +5 -6
  112. data/vendor/pygments-main/pygments/lexers/email.py +150 -0
  113. data/vendor/pygments-main/pygments/lexers/erlang.py +29 -33
  114. data/vendor/pygments-main/pygments/lexers/esoteric.py +46 -20
  115. data/vendor/pygments-main/pygments/lexers/ezhil.py +21 -14
  116. data/vendor/pygments-main/pygments/lexers/factor.py +3 -4
  117. data/vendor/pygments-main/pygments/lexers/fantom.py +1 -2
  118. data/vendor/pygments-main/pygments/lexers/felix.py +1 -2
  119. data/vendor/pygments-main/pygments/lexers/floscript.py +82 -0
  120. data/vendor/pygments-main/pygments/lexers/forth.py +41 -41
  121. data/vendor/pygments-main/pygments/lexers/fortran.py +13 -10
  122. data/vendor/pygments-main/pygments/lexers/foxpro.py +2 -3
  123. data/vendor/pygments-main/pygments/lexers/freefem.py +897 -0
  124. data/vendor/pygments-main/pygments/lexers/functional.py +1 -2
  125. data/vendor/pygments-main/pygments/lexers/futhark.py +110 -0
  126. data/vendor/pygments-main/pygments/lexers/gdscript.py +345 -0
  127. data/vendor/pygments-main/pygments/lexers/go.py +2 -3
  128. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +62 -6
  129. data/vendor/pygments-main/pygments/lexers/graph.py +14 -10
  130. data/vendor/pygments-main/pygments/lexers/graphics.py +274 -28
  131. data/vendor/pygments-main/pygments/lexers/graphviz.py +57 -0
  132. data/vendor/pygments-main/pygments/lexers/haskell.py +48 -22
  133. data/vendor/pygments-main/pygments/lexers/haxe.py +8 -9
  134. data/vendor/pygments-main/pygments/lexers/hdl.py +176 -90
  135. data/vendor/pygments-main/pygments/lexers/hexdump.py +1 -2
  136. data/vendor/pygments-main/pygments/lexers/html.py +37 -26
  137. data/vendor/pygments-main/pygments/lexers/idl.py +19 -9
  138. data/vendor/pygments-main/pygments/lexers/igor.py +244 -113
  139. data/vendor/pygments-main/pygments/lexers/inferno.py +2 -3
  140. data/vendor/pygments-main/pygments/lexers/installers.py +1 -2
  141. data/vendor/pygments-main/pygments/lexers/int_fiction.py +40 -16
  142. data/vendor/pygments-main/pygments/lexers/iolang.py +3 -4
  143. data/vendor/pygments-main/pygments/lexers/j.py +4 -5
  144. data/vendor/pygments-main/pygments/lexers/javascript.py +115 -104
  145. data/vendor/pygments-main/pygments/lexers/julia.py +44 -47
  146. data/vendor/pygments-main/pygments/lexers/jvm.py +368 -202
  147. data/vendor/pygments-main/pygments/lexers/lisp.py +887 -810
  148. data/vendor/pygments-main/pygments/lexers/make.py +12 -9
  149. data/vendor/pygments-main/pygments/lexers/markup.py +212 -45
  150. data/vendor/pygments-main/pygments/lexers/math.py +1 -2
  151. data/vendor/pygments-main/pygments/lexers/matlab.py +2705 -88
  152. data/vendor/pygments-main/pygments/lexers/mime.py +225 -0
  153. data/vendor/pygments-main/pygments/lexers/ml.py +203 -15
  154. data/vendor/pygments-main/pygments/lexers/modeling.py +26 -19
  155. data/vendor/pygments-main/pygments/lexers/modula2.py +27 -9
  156. data/vendor/pygments-main/pygments/lexers/monte.py +1 -2
  157. data/vendor/pygments-main/pygments/lexers/mosel.py +447 -0
  158. data/vendor/pygments-main/pygments/lexers/ncl.py +1 -2
  159. data/vendor/pygments-main/pygments/lexers/nimrod.py +4 -5
  160. data/vendor/pygments-main/pygments/lexers/nit.py +1 -2
  161. data/vendor/pygments-main/pygments/lexers/nix.py +1 -2
  162. data/vendor/pygments-main/pygments/lexers/oberon.py +17 -2
  163. data/vendor/pygments-main/pygments/lexers/objective.py +18 -19
  164. data/vendor/pygments-main/pygments/lexers/ooc.py +1 -2
  165. data/vendor/pygments-main/pygments/lexers/other.py +1 -2
  166. data/vendor/pygments-main/pygments/lexers/parasail.py +1 -2
  167. data/vendor/pygments-main/pygments/lexers/parsers.py +47 -83
  168. data/vendor/pygments-main/pygments/lexers/pascal.py +22 -23
  169. data/vendor/pygments-main/pygments/lexers/pawn.py +31 -28
  170. data/vendor/pygments-main/pygments/lexers/perl.py +260 -149
  171. data/vendor/pygments-main/pygments/lexers/php.py +66 -13
  172. data/vendor/pygments-main/pygments/lexers/pointless.py +70 -0
  173. data/vendor/pygments-main/pygments/lexers/pony.py +93 -0
  174. data/vendor/pygments-main/pygments/lexers/praat.py +38 -31
  175. data/vendor/pygments-main/pygments/lexers/prolog.py +38 -39
  176. data/vendor/pygments-main/pygments/lexers/promql.py +182 -0
  177. data/vendor/pygments-main/pygments/lexers/python.py +450 -231
  178. data/vendor/pygments-main/pygments/lexers/qvt.py +6 -7
  179. data/vendor/pygments-main/pygments/lexers/r.py +13 -276
  180. data/vendor/pygments-main/pygments/lexers/rdf.py +232 -40
  181. data/vendor/pygments-main/pygments/lexers/rebol.py +8 -9
  182. data/vendor/pygments-main/pygments/lexers/resource.py +2 -3
  183. data/vendor/pygments-main/pygments/lexers/ride.py +138 -0
  184. data/vendor/pygments-main/pygments/lexers/rnc.py +1 -2
  185. data/vendor/pygments-main/pygments/lexers/roboconf.py +1 -2
  186. data/vendor/pygments-main/pygments/lexers/robotframework.py +23 -32
  187. data/vendor/pygments-main/pygments/lexers/ruby.py +50 -46
  188. data/vendor/pygments-main/pygments/lexers/rust.py +76 -73
  189. data/vendor/pygments-main/pygments/lexers/sas.py +1 -2
  190. data/vendor/pygments-main/pygments/lexers/scdoc.py +82 -0
  191. data/vendor/pygments-main/pygments/lexers/scripting.py +79 -18
  192. data/vendor/pygments-main/pygments/lexers/sgf.py +60 -0
  193. data/vendor/pygments-main/pygments/lexers/shell.py +164 -49
  194. data/vendor/pygments-main/pygments/lexers/sieve.py +68 -0
  195. data/vendor/pygments-main/pygments/lexers/slash.py +184 -0
  196. data/vendor/pygments-main/pygments/lexers/smalltalk.py +2 -3
  197. data/vendor/pygments-main/pygments/lexers/smv.py +3 -4
  198. data/vendor/pygments-main/pygments/lexers/snobol.py +1 -2
  199. data/vendor/pygments-main/pygments/lexers/solidity.py +91 -0
  200. data/vendor/pygments-main/pygments/lexers/special.py +31 -28
  201. data/vendor/pygments-main/pygments/lexers/sql.py +330 -179
  202. data/vendor/pygments-main/pygments/lexers/stata.py +107 -45
  203. data/vendor/pygments-main/pygments/lexers/supercollider.py +8 -4
  204. data/vendor/pygments-main/pygments/lexers/tcl.py +1 -2
  205. data/vendor/pygments-main/pygments/lexers/templates.py +116 -136
  206. data/vendor/pygments-main/pygments/lexers/teraterm.py +334 -0
  207. data/vendor/pygments-main/pygments/lexers/testing.py +6 -7
  208. data/vendor/pygments-main/pygments/lexers/text.py +2 -2
  209. data/vendor/pygments-main/pygments/lexers/textedit.py +6 -7
  210. data/vendor/pygments-main/pygments/lexers/textfmts.py +146 -14
  211. data/vendor/pygments-main/pygments/lexers/theorem.py +74 -56
  212. data/vendor/pygments-main/pygments/lexers/tnt.py +262 -0
  213. data/vendor/pygments-main/pygments/lexers/trafficscript.py +1 -2
  214. data/vendor/pygments-main/pygments/lexers/typoscript.py +4 -12
  215. data/vendor/pygments-main/pygments/lexers/unicon.py +411 -0
  216. data/vendor/pygments-main/pygments/lexers/urbi.py +16 -4
  217. data/vendor/pygments-main/pygments/lexers/usd.py +89 -0
  218. data/vendor/pygments-main/pygments/lexers/varnish.py +4 -5
  219. data/vendor/pygments-main/pygments/lexers/verification.py +13 -11
  220. data/vendor/pygments-main/pygments/lexers/web.py +1 -2
  221. data/vendor/pygments-main/pygments/lexers/webidl.py +298 -0
  222. data/vendor/pygments-main/pygments/lexers/webmisc.py +35 -32
  223. data/vendor/pygments-main/pygments/lexers/whiley.py +5 -6
  224. data/vendor/pygments-main/pygments/lexers/x10.py +2 -3
  225. data/vendor/pygments-main/pygments/lexers/xorg.py +5 -5
  226. data/vendor/pygments-main/pygments/lexers/yang.py +103 -0
  227. data/vendor/pygments-main/pygments/lexers/zig.py +123 -0
  228. data/vendor/pygments-main/pygments/modeline.py +1 -2
  229. data/vendor/pygments-main/pygments/plugin.py +4 -3
  230. data/vendor/pygments-main/pygments/regexopt.py +1 -2
  231. data/vendor/pygments-main/pygments/scanner.py +2 -3
  232. data/vendor/pygments-main/pygments/sphinxext.py +2 -5
  233. data/vendor/pygments-main/pygments/style.py +61 -25
  234. data/vendor/pygments-main/pygments/styles/__init__.py +12 -5
  235. data/vendor/pygments-main/pygments/styles/abap.py +1 -2
  236. data/vendor/pygments-main/pygments/styles/algol.py +1 -2
  237. data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -2
  238. data/vendor/pygments-main/pygments/styles/arduino.py +2 -3
  239. data/vendor/pygments-main/pygments/styles/autumn.py +1 -2
  240. data/vendor/pygments-main/pygments/styles/borland.py +1 -2
  241. data/vendor/pygments-main/pygments/styles/bw.py +1 -2
  242. data/vendor/pygments-main/pygments/styles/colorful.py +1 -2
  243. data/vendor/pygments-main/pygments/styles/default.py +1 -2
  244. data/vendor/pygments-main/pygments/styles/emacs.py +1 -2
  245. data/vendor/pygments-main/pygments/styles/friendly.py +1 -2
  246. data/vendor/pygments-main/pygments/styles/fruity.py +1 -2
  247. data/vendor/pygments-main/pygments/styles/igor.py +1 -2
  248. data/vendor/pygments-main/pygments/styles/inkpot.py +66 -0
  249. data/vendor/pygments-main/pygments/styles/lovelace.py +1 -2
  250. data/vendor/pygments-main/pygments/styles/manni.py +1 -2
  251. data/vendor/pygments-main/pygments/styles/material.py +118 -0
  252. data/vendor/pygments-main/pygments/styles/monokai.py +4 -4
  253. data/vendor/pygments-main/pygments/styles/murphy.py +1 -2
  254. data/vendor/pygments-main/pygments/styles/native.py +1 -2
  255. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -2
  256. data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -2
  257. data/vendor/pygments-main/pygments/styles/pastie.py +1 -2
  258. data/vendor/pygments-main/pygments/styles/perldoc.py +1 -2
  259. data/vendor/pygments-main/pygments/styles/rainbow_dash.py +1 -2
  260. data/vendor/pygments-main/pygments/styles/rrt.py +1 -2
  261. data/vendor/pygments-main/pygments/styles/sas.py +1 -2
  262. data/vendor/pygments-main/pygments/styles/solarized.py +136 -0
  263. data/vendor/pygments-main/pygments/styles/stata_dark.py +40 -0
  264. data/vendor/pygments-main/pygments/styles/{stata.py → stata_light.py} +14 -16
  265. data/vendor/pygments-main/pygments/styles/tango.py +1 -2
  266. data/vendor/pygments-main/pygments/styles/trac.py +1 -2
  267. data/vendor/pygments-main/pygments/styles/vim.py +1 -2
  268. data/vendor/pygments-main/pygments/styles/vs.py +1 -2
  269. data/vendor/pygments-main/pygments/styles/xcode.py +1 -2
  270. data/vendor/pygments-main/pygments/styles/zenburn.py +80 -0
  271. data/vendor/pygments-main/pygments/token.py +1 -2
  272. data/vendor/pygments-main/pygments/unistring.py +47 -109
  273. data/vendor/pygments-main/pygments/util.py +16 -96
  274. metadata +76 -137
  275. data/CHANGELOG.md +0 -105
  276. data/README.md +0 -121
  277. data/circle.yml +0 -20
  278. data/test/test_data.c +0 -2581
  279. data/test/test_data.py +0 -514
  280. data/test/test_data_generated +0 -2582
  281. data/vendor/custom_lexers/github.py +0 -565
  282. data/vendor/pygments-main/CHANGES +0 -1186
  283. data/vendor/pygments-main/MANIFEST.in +0 -6
  284. data/vendor/pygments-main/Makefile +0 -65
  285. data/vendor/pygments-main/README.rst +0 -39
  286. data/vendor/pygments-main/REVISION +0 -1
  287. data/vendor/pygments-main/TODO +0 -12
  288. data/vendor/pygments-main/doc/Makefile +0 -153
  289. data/vendor/pygments-main/doc/_static/favicon.ico +0 -0
  290. data/vendor/pygments-main/doc/_static/logo_new.png +0 -0
  291. data/vendor/pygments-main/doc/_static/logo_only.png +0 -0
  292. data/vendor/pygments-main/doc/_templates/docssidebar.html +0 -3
  293. data/vendor/pygments-main/doc/_templates/indexsidebar.html +0 -25
  294. data/vendor/pygments-main/doc/_themes/pygments14/layout.html +0 -98
  295. data/vendor/pygments-main/doc/_themes/pygments14/static/bodybg.png +0 -0
  296. data/vendor/pygments-main/doc/_themes/pygments14/static/docbg.png +0 -0
  297. data/vendor/pygments-main/doc/_themes/pygments14/static/listitem.png +0 -0
  298. data/vendor/pygments-main/doc/_themes/pygments14/static/logo.png +0 -0
  299. data/vendor/pygments-main/doc/_themes/pygments14/static/pocoo.png +0 -0
  300. data/vendor/pygments-main/doc/_themes/pygments14/static/pygments14.css_t +0 -401
  301. data/vendor/pygments-main/doc/_themes/pygments14/theme.conf +0 -15
  302. data/vendor/pygments-main/doc/conf.py +0 -241
  303. data/vendor/pygments-main/doc/docs/api.rst +0 -354
  304. data/vendor/pygments-main/doc/docs/authors.rst +0 -4
  305. data/vendor/pygments-main/doc/docs/changelog.rst +0 -1
  306. data/vendor/pygments-main/doc/docs/cmdline.rst +0 -166
  307. data/vendor/pygments-main/doc/docs/filterdevelopment.rst +0 -71
  308. data/vendor/pygments-main/doc/docs/filters.rst +0 -41
  309. data/vendor/pygments-main/doc/docs/formatterdevelopment.rst +0 -169
  310. data/vendor/pygments-main/doc/docs/formatters.rst +0 -48
  311. data/vendor/pygments-main/doc/docs/index.rst +0 -66
  312. data/vendor/pygments-main/doc/docs/integrate.rst +0 -40
  313. data/vendor/pygments-main/doc/docs/java.rst +0 -70
  314. data/vendor/pygments-main/doc/docs/lexerdevelopment.rst +0 -728
  315. data/vendor/pygments-main/doc/docs/lexers.rst +0 -69
  316. data/vendor/pygments-main/doc/docs/moinmoin.rst +0 -39
  317. data/vendor/pygments-main/doc/docs/plugins.rst +0 -93
  318. data/vendor/pygments-main/doc/docs/quickstart.rst +0 -205
  319. data/vendor/pygments-main/doc/docs/rstdirective.rst +0 -22
  320. data/vendor/pygments-main/doc/docs/styles.rst +0 -201
  321. data/vendor/pygments-main/doc/docs/tokens.rst +0 -372
  322. data/vendor/pygments-main/doc/docs/unicode.rst +0 -58
  323. data/vendor/pygments-main/doc/download.rst +0 -41
  324. data/vendor/pygments-main/doc/faq.rst +0 -139
  325. data/vendor/pygments-main/doc/index.rst +0 -54
  326. data/vendor/pygments-main/doc/languages.rst +0 -154
  327. data/vendor/pygments-main/doc/make.bat +0 -190
  328. data/vendor/pygments-main/doc/pygmentize.1 +0 -94
  329. data/vendor/pygments-main/external/autopygmentize +0 -101
  330. data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +0 -162
  331. data/vendor/pygments-main/external/markdown-processor.py +0 -67
  332. data/vendor/pygments-main/external/moin-parser.py +0 -112
  333. data/vendor/pygments-main/external/pygments.bashcomp +0 -38
  334. data/vendor/pygments-main/external/rst-directive.py +0 -82
  335. data/vendor/pygments-main/pygmentize +0 -8
  336. data/vendor/pygments-main/pygments/lexers/github.py +0 -565
  337. data/vendor/pygments-main/requirements.txt +0 -5
  338. data/vendor/pygments-main/scripts/check_sources.py +0 -211
  339. data/vendor/pygments-main/scripts/debug_lexer.py +0 -246
  340. data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +0 -33
  341. data/vendor/pygments-main/scripts/epydoc.css +0 -280
  342. data/vendor/pygments-main/scripts/get_vimkw.py +0 -74
  343. data/vendor/pygments-main/scripts/pylintrc +0 -301
  344. data/vendor/pygments-main/scripts/vim2pygments.py +0 -935
  345. data/vendor/pygments-main/setup.cfg +0 -10
  346. data/vendor/pygments-main/setup.py +0 -77
  347. data/vendor/pygments-main/tox.ini +0 -7
  348. data/vendor/simplejson/.gitignore +0 -10
  349. data/vendor/simplejson/.travis.yml +0 -5
  350. data/vendor/simplejson/CHANGES.txt +0 -291
  351. data/vendor/simplejson/LICENSE.txt +0 -19
  352. data/vendor/simplejson/MANIFEST.in +0 -5
  353. data/vendor/simplejson/README.rst +0 -19
  354. data/vendor/simplejson/conf.py +0 -179
  355. data/vendor/simplejson/index.rst +0 -628
  356. data/vendor/simplejson/scripts/make_docs.py +0 -18
  357. data/vendor/simplejson/setup.py +0 -104
  358. data/vendor/simplejson/simplejson/__init__.py +0 -510
  359. data/vendor/simplejson/simplejson/_speedups.c +0 -2745
  360. data/vendor/simplejson/simplejson/decoder.py +0 -425
  361. data/vendor/simplejson/simplejson/encoder.py +0 -567
  362. data/vendor/simplejson/simplejson/ordered_dict.py +0 -119
  363. data/vendor/simplejson/simplejson/scanner.py +0 -77
  364. data/vendor/simplejson/simplejson/tests/__init__.py +0 -67
  365. data/vendor/simplejson/simplejson/tests/test_bigint_as_string.py +0 -55
  366. data/vendor/simplejson/simplejson/tests/test_check_circular.py +0 -30
  367. data/vendor/simplejson/simplejson/tests/test_decimal.py +0 -66
  368. data/vendor/simplejson/simplejson/tests/test_decode.py +0 -83
  369. data/vendor/simplejson/simplejson/tests/test_default.py +0 -9
  370. data/vendor/simplejson/simplejson/tests/test_dump.py +0 -67
  371. data/vendor/simplejson/simplejson/tests/test_encode_basestring_ascii.py +0 -46
  372. data/vendor/simplejson/simplejson/tests/test_encode_for_html.py +0 -32
  373. data/vendor/simplejson/simplejson/tests/test_errors.py +0 -34
  374. data/vendor/simplejson/simplejson/tests/test_fail.py +0 -91
  375. data/vendor/simplejson/simplejson/tests/test_float.py +0 -19
  376. data/vendor/simplejson/simplejson/tests/test_indent.py +0 -86
  377. data/vendor/simplejson/simplejson/tests/test_item_sort_key.py +0 -20
  378. data/vendor/simplejson/simplejson/tests/test_namedtuple.py +0 -121
  379. data/vendor/simplejson/simplejson/tests/test_pass1.py +0 -76
  380. data/vendor/simplejson/simplejson/tests/test_pass2.py +0 -14
  381. data/vendor/simplejson/simplejson/tests/test_pass3.py +0 -20
  382. data/vendor/simplejson/simplejson/tests/test_recursion.py +0 -67
  383. data/vendor/simplejson/simplejson/tests/test_scanstring.py +0 -117
  384. data/vendor/simplejson/simplejson/tests/test_separators.py +0 -42
  385. data/vendor/simplejson/simplejson/tests/test_speedups.py +0 -20
  386. data/vendor/simplejson/simplejson/tests/test_tuple.py +0 -49
  387. data/vendor/simplejson/simplejson/tests/test_unicode.py +0 -109
  388. data/vendor/simplejson/simplejson/tool.py +0 -39
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 68bbaf00ae347f4be0aa0915c3c91d3702fb1018
4
- data.tar.gz: 3a35c538fdf8ceec9ad26f3ac86cb708e73f7109
2
+ SHA256:
3
+ metadata.gz: a81b37936d77daa0478878031e065f4c4248ec09f8e5aad0955cb9d3906fdde2
4
+ data.tar.gz: f4eeaa4c16489986301798f0d760c924b8c5dbe600fe915b3d41607ead341287
5
5
  SHA512:
6
- metadata.gz: 1ab74f4da1c783693f827b3245abf4a9d88c75fc92fbaeba78950f29638f36e85e61cef83d936537937e33749237d12b139ec46c1df3d03e8aa0a38cb629be0c
7
- data.tar.gz: 0afd2f0409c4932453582ab242f8501601528a266411b6bcd1b1fc235da82074832a5d71d9adce682f0dcd099e23286e22342236c132dc9cd73b635b78878b25
6
+ metadata.gz: 764c90e3afefa3914a4c9dc21e0bef73f6ab94c87a30aa86e56e4080166a83f943bdd0058fc204ae878f7d2ccf7f23bc849f1363fce510f1062babe8aff66fb5
7
+ data.tar.gz: f90e47da1207df3ff7913f0acdee8ddd11438015c0664030908f42587bfd97ef67eedae6dcb0f668c2955c1022f3a8fe2127195b339618a4925b4632f0926710
@@ -0,0 +1,13 @@
1
+ # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
2
+
3
+ version: 2
4
+ updates:
5
+ - package-ecosystem: "bundler"
6
+ directory: "/"
7
+ schedule:
8
+ interval: "daily"
9
+
10
+ - package-ecosystem: "github-actions"
11
+ directory: "/"
12
+ schedule:
13
+ interval: "daily"
@@ -0,0 +1,40 @@
1
+ name: CI
2
+ on:
3
+ push:
4
+ branches: [ '**' ]
5
+ tags-ignore: [ '**' ]
6
+ pull_request:
7
+ jobs:
8
+ rubocop:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - name: Checkout
12
+ uses: actions/checkout@v2
13
+ - name: Set up Ruby
14
+ uses: ruby/setup-ruby@v1
15
+ with:
16
+ ruby-version: '3.0'
17
+ bundler-cache: true
18
+ - name: Rubocop
19
+ run: bundle exec rubocop
20
+ build:
21
+ strategy:
22
+ matrix:
23
+ ruby: [ 'jruby-9.2', '2.3', '3.0' ]
24
+ python: [ '3.5', '3.9' ]
25
+ platform: [ ubuntu-latest, macos-latest, windows-latest ]
26
+ runs-on: ${{ matrix.platform }}
27
+ steps:
28
+ - name: Checkout
29
+ uses: actions/checkout@v2
30
+ - name: Setup Ruby
31
+ uses: ruby/setup-ruby@v1
32
+ with:
33
+ ruby-version: ${{ matrix.ruby }}
34
+ bundler-cache: true
35
+ - name: Setup Python
36
+ uses: actions/setup-python@v2
37
+ with:
38
+ python-version: ${{ matrix.python }}
39
+ - name: Run Tests
40
+ run: bundle exec rake test
@@ -0,0 +1,24 @@
1
+ name: Publish to RubyGems.org
2
+ on:
3
+ push:
4
+ tags: [ '*' ]
5
+ jobs:
6
+ build:
7
+ runs-on: ubuntu-latest
8
+ steps:
9
+ - uses: actions/checkout@v2
10
+ - name: Set up Ruby
11
+ uses: ruby/setup-ruby@v1
12
+ with:
13
+ ruby-version: '3.0'
14
+ bundler-cache: true
15
+ - name: Setup Python
16
+ uses: actions/setup-python@v2
17
+ with:
18
+ python-version: '3.9'
19
+ - name: Build
20
+ run: bundle exec rake build
21
+ - name: Publish to RubyGems.org
22
+ uses: dawidd6/action-publish-gem@v1
23
+ with:
24
+ api_key: ${{ secrets.RUBYGEMS_API_KEY }}
data/.gitignore CHANGED
@@ -1,6 +1,6 @@
1
- Gemfile.lock
2
- ext/Makefile
3
- lib/pygments_ext.*
4
- tmp
5
- pkg
1
+ /.idea/
2
+ /Gemfile.lock
3
+ /pkg/
4
+ /tmp
6
5
  *.pyc
6
+ /lexers
data/.rubocop.yml ADDED
@@ -0,0 +1,18 @@
1
+ Metrics/AbcSize:
2
+ Enabled: false
3
+ Metrics/BlockLength:
4
+ Enabled: false
5
+ Metrics/ClassLength:
6
+ Enabled: false
7
+ Metrics/CyclomaticComplexity:
8
+ Enabled: false
9
+ Layout/LineLength:
10
+ Max: 120
11
+ Metrics/MethodLength:
12
+ Enabled: false
13
+ Security/MarshalLoad:
14
+ Enabled: false
15
+ Style/StructInheritance:
16
+ Enabled: false
17
+ Style/Documentation:
18
+ Enabled: false
data/CHANGELOG.adoc ADDED
@@ -0,0 +1,132 @@
1
+ = {project-name} Changelog
2
+ :project-name: pygments.rb
3
+ :uri-repo: https://github.com/pygments/pygments.rb
4
+
5
+ This document provides a high-level view of the changes to the {project-name} by release.
6
+ For a detailed view of what has changed, refer to the {uri-repo}/commits/master[commit history] on GitHub.
7
+
8
+ == 2.1.0 (2021-02-14) - @slonopotamus
9
+
10
+ * Update Pygments to 2.8.0
11
+
12
+ == 2.0.0 (2021-01-08) - @slonopotamus
13
+
14
+ * stop sending/receiving `ids` between Ruby and Python
15
+ * use `close_others` Ruby mechanism to prevent file descriptor leaking to Python
16
+
17
+ == 2.0.0.rc3 (2021-01-08) - @slonopotamus
18
+
19
+ * fix watchdog race condition leading to `ThreadError(<killed thread>)` on JRuby ({uri-repo}/pull/215[#215])
20
+
21
+ == 2.0.0.rc2 (2021-01-07) - @slonopotamus
22
+
23
+ * Fix release workflow
24
+
25
+ == 2.0.0.rc1 (2021-01-07) - @slonopotamus
26
+
27
+ * Modify `mentos.py` to run on Python 3.x instead of Python 2.7
28
+ * Add `:timeout` parameter to allow for configurable timeouts
29
+ * Add several Python 3.x versions to test matrix
30
+ * Drop dependency on MultiJson
31
+ * Fix hanging on JRuby + Windows
32
+ * Update Pygments to 2.7.3
33
+ * Drop GitHub custom lexers
34
+ * Rework timeout handling
35
+ * Improve error message when Python is not found
36
+ * *Breaking change* Pygments.rb no longer sets default timeout for its operations
37
+ * *Breaking change* Now pygments.rb raises `MentosError` instead of returning `nil` on timeout
38
+
39
+ == 1.2.1 (2017-12-07)
40
+
41
+ * Automatically update `lexers` cache on build ({uri-repo}/pull/186[#186])
42
+ +
43
+ See {uri-repo}/pull/185[#185] for the reason
44
+
45
+ == 1.2.0 (2017-09-13)
46
+
47
+ * Exclude symlinks from the gem package to solve Windows issues ({uri-repo}/pull/181[#181])
48
+ * Upgrade pygments to 2.0.0 ({uri-repo}/pull/180[#180])
49
+
50
+ == 1.1.2 (2017-04-03)
51
+
52
+ * Resolves {uri-repo}/pull/176[#176] exclude find_error.py symlink from gem ({uri-repo}/pull/177[#177])
53
+
54
+ == 1.1.1 (2016-12-28)
55
+
56
+ * Suppress Ruby 2.4.0's warnings ({uri-repo}/pull/172[#172])
57
+ * Enable `frozen_string_literal` ({uri-repo}/pull/173[#173])
58
+
59
+ == 1.1.0 (2016-12-24)
60
+
61
+ * Support JRuby ({uri-repo}/pull/170[#170])
62
+ * Make pygments.rb thread safe ({uri-repo}/pull/171[#171])
63
+
64
+ == 1.0.0 (2016-12-11)
65
+
66
+ * Upgrade bundled pygments to 2.2.0-HEAD ({uri-repo}/pull/167[#167])
67
+ +
68
+ This includes *incompatible changes* because of upgrade of pygments.
69
+ See https://pygments.org/ for details.
70
+ * Relax yajl-ruby dependency to "~> 1.2" ({uri-repo}/pull/164[#164])
71
+ * Python binary can be configured by `PYTMENTS_RB_PYTHON` env ({uri-repo}/pull/168[#168])
72
+ * Improved error messages when python binary is missing ({uri-repo}/pull/158[#158])
73
+
74
+ == 0.5.4 (2013-11-03)
75
+
76
+ * Update lexers file
77
+
78
+ == 0.5.3 (2013-09-17)
79
+
80
+ * Fixes for Slash lexer
81
+ * Improve highlighting for Slash lexer
82
+ * Upgrade to latest pygments (1.7, changes summary follows.
83
+ See pygments changelog for details)
84
+ ** Add Clay lexer
85
+ ** Add Perl 6 lexer
86
+ ** Add Swig lexer
87
+ ** Add nesC lexer
88
+ ** Add BlitzBasic lexer
89
+ ** Add EBNF lexer
90
+ ** Add Igor Pro lexer
91
+ ** Add Rexx lexer
92
+ ** Add Agda lexer
93
+ ** Recognize vim modelines
94
+ ** Improve Python 3 lexer
95
+ ** Improve Opa lexer
96
+ ** Improve Julia lexer
97
+ ** Improve Lasso lexer
98
+ ** Improve Objective C/C++ lexer
99
+ ** Improve Ruby lexer
100
+ ** Improve Stan lexer
101
+ ** Improve JavaScript lexer
102
+ ** Improve HTTP lexer
103
+ ** Improve Koka lexer
104
+ ** Improve Haxe lexer
105
+ ** Improve Prolog lexer
106
+ ** Improve F# lexer
107
+
108
+ == 0.5.2 (2013-07-17)
109
+
110
+ * Add Slash lexer
111
+
112
+ == 0.5.1 (2013-06-25)
113
+
114
+ * Ensure compatibility across distros by detecting if `python2` is available
115
+
116
+ == 0.5.0 (2013-04-13)
117
+
118
+ * Use `#rstrip` to fix table mode bug
119
+
120
+ == 0.4.2 (2013-02-25)
121
+
122
+ * Add new lexers, including custom lexers
123
+
124
+ == 0.3.7 (2013-01-02)
125
+
126
+ * Fixed missing custom lexers
127
+ * Added syntax highlighting for Hxml
128
+
129
+ == 0.3.4 (2012-12-28)
130
+
131
+ * Add support for Windows
132
+ * Add MIT license
data/Gemfile CHANGED
@@ -1,2 +1,4 @@
1
- source "https://rubygems.org"
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
2
4
  gemspec
data/LICENSE CHANGED
@@ -1,5 +1,5 @@
1
1
  The MIT License (MIT)
2
- Copyright (c) Ted Nyman and Aman Gupta, 2012-2013
2
+ Copyright (C) Ted Nyman, Aman Gupta, Marat Radchenko, 2012-2021
3
3
 
4
4
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
5
5
  associated documentation files (the "Software"), to deal in the Software without restriction,
data/README.adoc ADDED
@@ -0,0 +1,160 @@
1
+ = {project-name}
2
+ Ted Nyman <ted@ted.io>; Aman Gupta <aman@tmm1.net>; Marat Radchenko <marat@slonopotamus.org>
3
+ :project-name: pygments.rb
4
+ :slug: pygments/{project-name}
5
+ :toc: preamble
6
+ :uri-project: https://github.com/{slug}
7
+ :uri-ci: {uri-project}/actions?query=branch%3Amaster
8
+ :uri-gem: https://rubygems.org/gems/{project-name}
9
+ :uri-pygments: https://pygments.org/
10
+
11
+ image:https://img.shields.io/gem/v/{project-name}.svg[Latest Release,link={uri-gem}]
12
+ image:{uri-project}/workflows/CI/badge.svg?branch=master[Build Status,link={uri-ci}]
13
+
14
+ == Introduction
15
+
16
+ {project-name} is a Ruby wrapper for {uri-pygments}[Pygments] syntax highlighter.
17
+
18
+ {project-name} works by talking over a simple pipe to a long-lived Python child process.
19
+ This library replaces https://github.com/github/albino[github/albino], as well as an older version of {project-name} that used an embedded Python interpreter.
20
+
21
+ Each Ruby process that runs has its own 'personal Python'; for example, 4 Unicorn workers will have one Python process each.
22
+ If a Python process dies, a new one will be spawned on the next pygments.rb request.
23
+
24
+ == System Requirements
25
+
26
+ - Python >= 3.5
27
+ - Ruby >= 2.3
28
+
29
+ == Installation
30
+
31
+ Add this line to your application's Gemfile:
32
+
33
+ [source,ruby]
34
+ ----
35
+ gem 'pygments.rb'
36
+ ----
37
+
38
+ And then execute:
39
+
40
+ [source,shell script]
41
+ ----
42
+ $ bundle install
43
+ ----
44
+
45
+ Or install pygments.rb gem yourself as:
46
+
47
+ [source,shell script]
48
+ ----
49
+ $ gem install pygments.rb
50
+ ----
51
+
52
+ == Usage
53
+
54
+ Require pygments.rb module:
55
+
56
+ [source,ruby]
57
+ ----
58
+ require 'pygments'
59
+ ----
60
+
61
+ Highlight a file:
62
+
63
+ [source,ruby]
64
+ ----
65
+ Pygments.highlight(File.read(__FILE__), lexer: 'ruby')
66
+ ----
67
+
68
+ Optionally, pass encoding and other lexer/formatter options via an `:options` hash:
69
+
70
+ [source,ruby]
71
+ ----
72
+ Pygments.highlight('code', options: {encoding: 'utf-8'})
73
+ ----
74
+
75
+ pygments.rb uses HTML formatter by default.
76
+ To use a different formatter, specify it via `:formatter` parameter:
77
+
78
+ [source,ruby]
79
+ ----
80
+ Pygments.highlight('code', formatter: 'bbcode')
81
+ Pygments.highlight('code', formatter: 'terminal')
82
+ ----
83
+
84
+ To generate CSS for HTML formatted code, use the `Pygments.css` method:
85
+
86
+ [source,ruby]
87
+ ----
88
+ Pygments.css
89
+ Pygments.css('.highlight')
90
+ ----
91
+
92
+ To use a specific pygments style, pass the `:style` option to the `Pygments.css` method:
93
+
94
+ [source,ruby]
95
+ ----
96
+ Pygments.css(style: 'monokai')
97
+ ----
98
+
99
+ Other Pygments high-level API methods are also available.
100
+ These methods return arrays detailing all the available lexers, formatters, and styles:
101
+
102
+ [source,ruby]
103
+ ----
104
+ Pygments.lexers
105
+ Pygments.formatters
106
+ Pygments.styles
107
+ ----
108
+
109
+ To use a custom pygments installation, specify the path to
110
+ `Pygments.start`:
111
+
112
+ [source,ruby]
113
+ ----
114
+ Pygments.start("/path/to/pygments")
115
+ ----
116
+
117
+ If you'd like logging, set the environmental variable `MENTOS_LOG` to a file path for your logfile.
118
+
119
+ You can apply a timeout to pygments.rb calls by specifying number of seconds in `MENTOS_TIMEOUT` environmental variable or by passing the `:timeout` argument (takes precedence over `MENTOS_TIMEOUT`):
120
+
121
+ [source,ruby]
122
+ ----
123
+ Pygments.highlight('code', timeout: 4)
124
+ ----
125
+
126
+ == Benchmarks
127
+
128
+ ----
129
+ $ ruby bench.rb 50
130
+ Benchmarking....
131
+ Size: 698 bytes
132
+ Iterations: 50
133
+ user system total real
134
+ pygments popen 0.010000 0.010000 0.020000 ( 0.460370)
135
+ pygments popen (process already started) 0.010000 0.000000 0.010000 ( 0.272975)
136
+ pygments popen (process already started 2) 0.000000 0.000000 0.000000 ( 0.273589)
137
+ ----
138
+
139
+ ----
140
+ $ ruby bench.rb 10
141
+ Benchmarking....
142
+ Size: 15523 bytes
143
+ Iterations: 10
144
+ user system total real
145
+ pygments popen 0.000000 0.000000 0.000000 ( 0.819419)
146
+ pygments popen (process already started) 0.010000 0.000000 0.010000 ( 0.676515)
147
+ pygments popen (process already started 2) 0.000000 0.010000 0.010000 ( 0.674189)
148
+ ----
149
+
150
+ == Development
151
+
152
+ After checking out the repo, run `bundle install` to install dependencies.
153
+ Then, run `bundle exec rake test` to run the tests.
154
+
155
+ == Copyright
156
+
157
+ Copyright (C) Ted Nyman, Aman Gupta, Marat Radchenko, 2012-2021.
158
+ Free use of this software is granted under the terms of the MIT License.
159
+
160
+ For the full text of the license, see the link:LICENSE[] file.
data/Rakefile CHANGED
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env rake
2
- require "bundler/gem_tasks"
2
+ # frozen_string_literal: true
3
3
 
4
- task :default => :test
4
+ require 'bundler/gem_tasks'
5
+
6
+ task default: :test
5
7
 
6
8
  # ==========================================================
7
9
  # Packaging
8
10
  # ==========================================================
9
11
 
10
- GEMSPEC = eval(File.read('pygments.rb.gemspec'))
11
-
12
12
  require 'rubygems/package_task'
13
13
 
14
14
  # ==========================================================
@@ -18,7 +18,6 @@ require 'rubygems/package_task'
18
18
  require 'rake/testtask'
19
19
  Rake::TestTask.new 'test' do |t|
20
20
  t.test_files = FileList['test/test_*.rb']
21
- t.ruby_opts = ['-rubygems']
22
21
  end
23
22
 
24
23
  # ==========================================================
@@ -26,7 +25,7 @@ end
26
25
  # ==========================================================
27
26
 
28
27
  task :bench do
29
- sh "ruby bench.rb"
28
+ sh 'ruby bench.rb'
30
29
  end
31
30
 
32
31
  # ==========================================================
@@ -35,34 +34,26 @@ end
35
34
 
36
35
  # Write all the lexers to a file for easy lookup
37
36
  task :lexers do
38
- sh "ruby cache-lexers.rb"
37
+ sh 'ruby cache_lexers.rb'
39
38
  end
40
39
 
40
+ task(:test).enhance([:lexers])
41
+ task(:build).enhance([:lexers])
42
+
41
43
  # ==========================================================
42
44
  # Vendor
43
45
  # ==========================================================
44
46
 
45
47
  namespace :vendor do
46
48
  file 'vendor/pygments-main' do |f|
47
- sh "hg clone https://bitbucket.org/birkenfeld/pygments-main #{f.name}"
48
- sh "hg --repository #{f.name} identify --id > #{f.name}/REVISION"
49
- rm_rf Dir["#{f.name}/.hg*"]
50
- rm_rf Dir["#{f.name}/tests"]
49
+ sh "pip install --target=#{f.name} pygments"
50
+ sh "git add -- #{f.name}"
51
51
  end
52
52
 
53
53
  task :clobber do
54
54
  rm_rf 'vendor/pygments-main'
55
55
  end
56
56
 
57
- # Load all the custom lexers in the `vendor/custom_lexers` folder
58
- # and stick them in our custom Pygments vendor
59
- task :load_lexers do
60
- LEXERS_DIR = 'vendor/pygments-main/pygments/lexers'
61
- lexers = FileList['vendor/custom_lexers/*.py']
62
- lexers.each { |l| FileUtils.copy l, LEXERS_DIR }
63
- FileUtils.cd(LEXERS_DIR) { sh "python _mapping.py" }
64
- end
65
-
66
57
  desc 'update vendor/pygments-main'
67
- task :update => [:clobber, 'vendor/pygments-main', :load_lexers]
58
+ task update: [:clobber, 'vendor/pygments-main']
68
59
  end