pygments.rb 1.2.1 → 2.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 (381) hide show
  1. checksums.yaml +5 -5
  2. data/.github/dependabot.yml +13 -0
  3. data/.github/workflows/ci.yml +28 -0
  4. data/.github/workflows/release.yml +24 -0
  5. data/.gitignore +5 -6
  6. data/CHANGELOG.adoc +128 -0
  7. data/Gemfile +3 -1
  8. data/LICENSE +1 -1
  9. data/README.adoc +160 -0
  10. data/Rakefile +11 -21
  11. data/bench.rb +8 -7
  12. data/cache-lexers.rb +3 -2
  13. data/lexers +0 -0
  14. data/lib/pygments/lexer.rb +5 -5
  15. data/lib/pygments/mentos.py +23 -110
  16. data/lib/pygments/popen.rb +148 -229
  17. data/lib/pygments/version.rb +2 -2
  18. data/lib/pygments.rb +10 -11
  19. data/pygments.rb.gemspec +12 -10
  20. data/test/test_pygments.rb +46 -104
  21. data/vendor/pygments-main/{AUTHORS → Pygments-2.7.3.dist-info/AUTHORS} +21 -3
  22. data/vendor/pygments-main/Pygments-2.7.3.dist-info/INSTALLER +1 -0
  23. data/vendor/pygments-main/{LICENSE → Pygments-2.7.3.dist-info/LICENSE} +1 -1
  24. data/vendor/pygments-main/Pygments-2.7.3.dist-info/METADATA +49 -0
  25. data/vendor/pygments-main/Pygments-2.7.3.dist-info/RECORD +482 -0
  26. data/vendor/pygments-main/Pygments-2.7.3.dist-info/REQUESTED +0 -0
  27. data/vendor/pygments-main/Pygments-2.7.3.dist-info/WHEEL +5 -0
  28. data/vendor/pygments-main/Pygments-2.7.3.dist-info/entry_points.txt +3 -0
  29. data/vendor/pygments-main/Pygments-2.7.3.dist-info/top_level.txt +1 -0
  30. data/vendor/pygments-main/bin/pygmentize +8 -0
  31. data/vendor/pygments-main/pygments/__init__.py +6 -11
  32. data/vendor/pygments-main/pygments/__main__.py +18 -0
  33. data/vendor/pygments-main/pygments/cmdline.py +38 -29
  34. data/vendor/pygments-main/pygments/console.py +6 -9
  35. data/vendor/pygments-main/pygments/filter.py +4 -6
  36. data/vendor/pygments-main/pygments/filters/__init__.py +609 -21
  37. data/vendor/pygments-main/pygments/formatter.py +4 -4
  38. data/vendor/pygments-main/pygments/formatters/__init__.py +9 -8
  39. data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -3
  40. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
  41. data/vendor/pygments-main/pygments/formatters/html.py +223 -135
  42. data/vendor/pygments-main/pygments/formatters/img.py +68 -41
  43. data/vendor/pygments-main/pygments/formatters/irc.py +39 -39
  44. data/vendor/pygments-main/pygments/formatters/latex.py +56 -26
  45. data/vendor/pygments-main/pygments/formatters/other.py +12 -8
  46. data/vendor/pygments-main/pygments/formatters/rtf.py +29 -29
  47. data/vendor/pygments-main/pygments/formatters/svg.py +38 -4
  48. data/vendor/pygments-main/pygments/formatters/terminal.py +25 -31
  49. data/vendor/pygments-main/pygments/formatters/terminal256.py +22 -12
  50. data/vendor/pygments-main/pygments/lexer.py +41 -39
  51. data/vendor/pygments-main/pygments/lexers/__init__.py +28 -15
  52. data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +5 -5
  53. data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +15 -15
  54. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +11 -12
  55. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1717 -1338
  56. data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +1 -1
  57. data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +2 -4
  58. data/vendor/pygments-main/pygments/lexers/_mapping.py +74 -29
  59. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +2 -2
  60. data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +1282 -0
  61. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +1 -1
  62. data/vendor/pygments-main/pygments/lexers/_php_builtins.py +17 -20
  63. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +73 -16
  64. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +2 -2
  65. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1 -3
  66. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +151 -125
  67. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +6 -4
  68. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -1
  69. data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +113 -0
  70. data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +280 -0
  71. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -1
  72. data/vendor/pygments-main/pygments/lexers/actionscript.py +8 -3
  73. data/vendor/pygments-main/pygments/lexers/agile.py +1 -1
  74. data/vendor/pygments-main/pygments/lexers/algebra.py +20 -1
  75. data/vendor/pygments-main/pygments/lexers/ambient.py +1 -1
  76. data/vendor/pygments-main/pygments/lexers/ampl.py +3 -3
  77. data/vendor/pygments-main/pygments/lexers/apl.py +15 -15
  78. data/vendor/pygments-main/pygments/lexers/archetype.py +3 -3
  79. data/vendor/pygments-main/pygments/lexers/arrow.py +117 -0
  80. data/vendor/pygments-main/pygments/lexers/asm.py +440 -76
  81. data/vendor/pygments-main/pygments/lexers/automation.py +1 -1
  82. data/vendor/pygments-main/pygments/lexers/bare.py +104 -0
  83. data/vendor/pygments-main/pygments/lexers/basic.py +166 -4
  84. data/vendor/pygments-main/pygments/lexers/bibtex.py +5 -5
  85. data/vendor/pygments-main/pygments/lexers/boa.py +102 -0
  86. data/vendor/pygments-main/pygments/lexers/business.py +17 -2
  87. data/vendor/pygments-main/pygments/lexers/c_cpp.py +137 -45
  88. data/vendor/pygments-main/pygments/lexers/c_like.py +67 -42
  89. data/vendor/pygments-main/pygments/lexers/capnproto.py +7 -7
  90. data/vendor/pygments-main/pygments/lexers/chapel.py +23 -13
  91. data/vendor/pygments-main/pygments/lexers/clean.py +135 -244
  92. data/vendor/pygments-main/pygments/lexers/compiled.py +1 -1
  93. data/vendor/pygments-main/pygments/lexers/configs.py +187 -36
  94. data/vendor/pygments-main/pygments/lexers/console.py +1 -1
  95. data/vendor/pygments-main/pygments/lexers/crystal.py +3 -4
  96. data/vendor/pygments-main/pygments/lexers/csound.py +288 -187
  97. data/vendor/pygments-main/pygments/lexers/css.py +18 -16
  98. data/vendor/pygments-main/pygments/lexers/d.py +10 -5
  99. data/vendor/pygments-main/pygments/lexers/dalvik.py +1 -1
  100. data/vendor/pygments-main/pygments/lexers/data.py +240 -97
  101. data/vendor/pygments-main/pygments/lexers/devicetree.py +109 -0
  102. data/vendor/pygments-main/pygments/lexers/diff.py +4 -4
  103. data/vendor/pygments-main/pygments/lexers/dotnet.py +40 -24
  104. data/vendor/pygments-main/pygments/lexers/dsls.py +144 -62
  105. data/vendor/pygments-main/pygments/lexers/dylan.py +16 -18
  106. data/vendor/pygments-main/pygments/lexers/ecl.py +16 -2
  107. data/vendor/pygments-main/pygments/lexers/eiffel.py +1 -1
  108. data/vendor/pygments-main/pygments/lexers/elm.py +5 -5
  109. data/vendor/pygments-main/pygments/lexers/email.py +151 -0
  110. data/vendor/pygments-main/pygments/lexers/erlang.py +29 -32
  111. data/vendor/pygments-main/pygments/lexers/esoteric.py +46 -19
  112. data/vendor/pygments-main/pygments/lexers/ezhil.py +21 -13
  113. data/vendor/pygments-main/pygments/lexers/factor.py +1 -1
  114. data/vendor/pygments-main/pygments/lexers/fantom.py +1 -1
  115. data/vendor/pygments-main/pygments/lexers/felix.py +1 -1
  116. data/vendor/pygments-main/pygments/lexers/floscript.py +83 -0
  117. data/vendor/pygments-main/pygments/lexers/forth.py +41 -40
  118. data/vendor/pygments-main/pygments/lexers/fortran.py +5 -4
  119. data/vendor/pygments-main/pygments/lexers/foxpro.py +2 -2
  120. data/vendor/pygments-main/pygments/lexers/freefem.py +898 -0
  121. data/vendor/pygments-main/pygments/lexers/functional.py +1 -1
  122. data/vendor/pygments-main/pygments/lexers/gdscript.py +346 -0
  123. data/vendor/pygments-main/pygments/lexers/go.py +1 -1
  124. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +62 -5
  125. data/vendor/pygments-main/pygments/lexers/graph.py +14 -9
  126. data/vendor/pygments-main/pygments/lexers/graphics.py +272 -25
  127. data/vendor/pygments-main/pygments/lexers/haskell.py +48 -21
  128. data/vendor/pygments-main/pygments/lexers/haxe.py +6 -6
  129. data/vendor/pygments-main/pygments/lexers/hdl.py +176 -86
  130. data/vendor/pygments-main/pygments/lexers/hexdump.py +1 -1
  131. data/vendor/pygments-main/pygments/lexers/html.py +31 -19
  132. data/vendor/pygments-main/pygments/lexers/idl.py +19 -8
  133. data/vendor/pygments-main/pygments/lexers/igor.py +244 -112
  134. data/vendor/pygments-main/pygments/lexers/inferno.py +2 -2
  135. data/vendor/pygments-main/pygments/lexers/installers.py +1 -1
  136. data/vendor/pygments-main/pygments/lexers/int_fiction.py +40 -15
  137. data/vendor/pygments-main/pygments/lexers/iolang.py +2 -2
  138. data/vendor/pygments-main/pygments/lexers/j.py +3 -3
  139. data/vendor/pygments-main/pygments/lexers/javascript.py +60 -45
  140. data/vendor/pygments-main/pygments/lexers/julia.py +44 -46
  141. data/vendor/pygments-main/pygments/lexers/jvm.py +265 -165
  142. data/vendor/pygments-main/pygments/lexers/lisp.py +882 -804
  143. data/vendor/pygments-main/pygments/lexers/make.py +10 -6
  144. data/vendor/pygments-main/pygments/lexers/markup.py +213 -43
  145. data/vendor/pygments-main/pygments/lexers/math.py +1 -1
  146. data/vendor/pygments-main/pygments/lexers/matlab.py +98 -41
  147. data/vendor/pygments-main/pygments/lexers/mime.py +226 -0
  148. data/vendor/pygments-main/pygments/lexers/ml.py +198 -9
  149. data/vendor/pygments-main/pygments/lexers/modeling.py +26 -18
  150. data/vendor/pygments-main/pygments/lexers/modula2.py +25 -6
  151. data/vendor/pygments-main/pygments/lexers/monte.py +1 -1
  152. data/vendor/pygments-main/pygments/lexers/mosel.py +448 -0
  153. data/vendor/pygments-main/pygments/lexers/ncl.py +1 -1
  154. data/vendor/pygments-main/pygments/lexers/nimrod.py +4 -4
  155. data/vendor/pygments-main/pygments/lexers/nit.py +1 -1
  156. data/vendor/pygments-main/pygments/lexers/nix.py +1 -1
  157. data/vendor/pygments-main/pygments/lexers/oberon.py +17 -1
  158. data/vendor/pygments-main/pygments/lexers/objective.py +16 -16
  159. data/vendor/pygments-main/pygments/lexers/ooc.py +1 -1
  160. data/vendor/pygments-main/pygments/lexers/other.py +1 -1
  161. data/vendor/pygments-main/pygments/lexers/parasail.py +1 -1
  162. data/vendor/pygments-main/pygments/lexers/parsers.py +23 -58
  163. data/vendor/pygments-main/pygments/lexers/pascal.py +22 -22
  164. data/vendor/pygments-main/pygments/lexers/pawn.py +30 -24
  165. data/vendor/pygments-main/pygments/lexers/perl.py +260 -148
  166. data/vendor/pygments-main/pygments/lexers/php.py +64 -10
  167. data/vendor/pygments-main/pygments/lexers/pointless.py +71 -0
  168. data/vendor/pygments-main/pygments/lexers/pony.py +94 -0
  169. data/vendor/pygments-main/pygments/lexers/praat.py +38 -30
  170. data/vendor/pygments-main/pygments/lexers/prolog.py +36 -36
  171. data/vendor/pygments-main/pygments/lexers/promql.py +183 -0
  172. data/vendor/pygments-main/pygments/lexers/python.py +439 -227
  173. data/vendor/pygments-main/pygments/lexers/qvt.py +6 -6
  174. data/vendor/pygments-main/pygments/lexers/r.py +13 -275
  175. data/vendor/pygments-main/pygments/lexers/rdf.py +232 -39
  176. data/vendor/pygments-main/pygments/lexers/rebol.py +8 -8
  177. data/vendor/pygments-main/pygments/lexers/resource.py +2 -2
  178. data/vendor/pygments-main/pygments/lexers/ride.py +139 -0
  179. data/vendor/pygments-main/pygments/lexers/rnc.py +1 -1
  180. data/vendor/pygments-main/pygments/lexers/roboconf.py +1 -1
  181. data/vendor/pygments-main/pygments/lexers/robotframework.py +23 -31
  182. data/vendor/pygments-main/pygments/lexers/ruby.py +22 -24
  183. data/vendor/pygments-main/pygments/lexers/rust.py +76 -72
  184. data/vendor/pygments-main/pygments/lexers/sas.py +1 -1
  185. data/vendor/pygments-main/pygments/lexers/scdoc.py +83 -0
  186. data/vendor/pygments-main/pygments/lexers/scripting.py +75 -13
  187. data/vendor/pygments-main/pygments/lexers/sgf.py +61 -0
  188. data/vendor/pygments-main/pygments/lexers/shell.py +162 -42
  189. data/vendor/pygments-main/pygments/lexers/sieve.py +69 -0
  190. data/vendor/pygments-main/pygments/lexers/slash.py +185 -0
  191. data/vendor/pygments-main/pygments/lexers/smalltalk.py +2 -2
  192. data/vendor/pygments-main/pygments/lexers/smv.py +3 -3
  193. data/vendor/pygments-main/pygments/lexers/snobol.py +1 -1
  194. data/vendor/pygments-main/pygments/lexers/solidity.py +92 -0
  195. data/vendor/pygments-main/pygments/lexers/special.py +5 -3
  196. data/vendor/pygments-main/pygments/lexers/sql.py +333 -177
  197. data/vendor/pygments-main/pygments/lexers/stata.py +107 -44
  198. data/vendor/pygments-main/pygments/lexers/supercollider.py +6 -1
  199. data/vendor/pygments-main/pygments/lexers/tcl.py +1 -1
  200. data/vendor/pygments-main/pygments/lexers/templates.py +102 -121
  201. data/vendor/pygments-main/pygments/lexers/teraterm.py +335 -0
  202. data/vendor/pygments-main/pygments/lexers/testing.py +6 -6
  203. data/vendor/pygments-main/pygments/lexers/text.py +2 -1
  204. data/vendor/pygments-main/pygments/lexers/textedit.py +4 -4
  205. data/vendor/pygments-main/pygments/lexers/textfmts.py +146 -13
  206. data/vendor/pygments-main/pygments/lexers/theorem.py +69 -53
  207. data/vendor/pygments-main/pygments/lexers/tnt.py +263 -0
  208. data/vendor/pygments-main/pygments/lexers/trafficscript.py +1 -1
  209. data/vendor/pygments-main/pygments/lexers/typoscript.py +4 -11
  210. data/vendor/pygments-main/pygments/lexers/unicon.py +412 -0
  211. data/vendor/pygments-main/pygments/lexers/urbi.py +14 -1
  212. data/vendor/pygments-main/pygments/lexers/usd.py +90 -0
  213. data/vendor/pygments-main/pygments/lexers/varnish.py +3 -3
  214. data/vendor/pygments-main/pygments/lexers/verification.py +13 -10
  215. data/vendor/pygments-main/pygments/lexers/web.py +1 -1
  216. data/vendor/pygments-main/pygments/lexers/webidl.py +299 -0
  217. data/vendor/pygments-main/pygments/lexers/webmisc.py +31 -28
  218. data/vendor/pygments-main/pygments/lexers/whiley.py +5 -5
  219. data/vendor/pygments-main/pygments/lexers/x10.py +1 -1
  220. data/vendor/pygments-main/pygments/lexers/xorg.py +5 -4
  221. data/vendor/pygments-main/pygments/lexers/yang.py +104 -0
  222. data/vendor/pygments-main/pygments/lexers/zig.py +124 -0
  223. data/vendor/pygments-main/pygments/modeline.py +1 -1
  224. data/vendor/pygments-main/pygments/plugin.py +4 -2
  225. data/vendor/pygments-main/pygments/regexopt.py +1 -1
  226. data/vendor/pygments-main/pygments/scanner.py +2 -2
  227. data/vendor/pygments-main/pygments/sphinxext.py +2 -4
  228. data/vendor/pygments-main/pygments/style.py +61 -24
  229. data/vendor/pygments-main/pygments/styles/__init__.py +10 -4
  230. data/vendor/pygments-main/pygments/styles/abap.py +1 -1
  231. data/vendor/pygments-main/pygments/styles/algol.py +1 -1
  232. data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -1
  233. data/vendor/pygments-main/pygments/styles/arduino.py +2 -2
  234. data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
  235. data/vendor/pygments-main/pygments/styles/borland.py +1 -1
  236. data/vendor/pygments-main/pygments/styles/bw.py +1 -1
  237. data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
  238. data/vendor/pygments-main/pygments/styles/default.py +1 -1
  239. data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
  240. data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
  241. data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
  242. data/vendor/pygments-main/pygments/styles/igor.py +1 -1
  243. data/vendor/pygments-main/pygments/styles/inkpot.py +67 -0
  244. data/vendor/pygments-main/pygments/styles/lovelace.py +1 -1
  245. data/vendor/pygments-main/pygments/styles/manni.py +1 -1
  246. data/vendor/pygments-main/pygments/styles/monokai.py +4 -3
  247. data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
  248. data/vendor/pygments-main/pygments/styles/native.py +1 -1
  249. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -1
  250. data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -1
  251. data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
  252. data/vendor/pygments-main/pygments/styles/perldoc.py +1 -1
  253. data/vendor/pygments-main/pygments/styles/rainbow_dash.py +1 -1
  254. data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
  255. data/vendor/pygments-main/pygments/styles/sas.py +1 -1
  256. data/vendor/pygments-main/pygments/styles/solarized.py +134 -0
  257. data/vendor/pygments-main/pygments/styles/stata_dark.py +41 -0
  258. data/vendor/pygments-main/pygments/styles/{stata.py → stata_light.py} +14 -15
  259. data/vendor/pygments-main/pygments/styles/tango.py +1 -1
  260. data/vendor/pygments-main/pygments/styles/trac.py +1 -1
  261. data/vendor/pygments-main/pygments/styles/vim.py +1 -1
  262. data/vendor/pygments-main/pygments/styles/vs.py +1 -1
  263. data/vendor/pygments-main/pygments/styles/xcode.py +1 -1
  264. data/vendor/pygments-main/pygments/token.py +1 -1
  265. data/vendor/pygments-main/pygments/unistring.py +47 -108
  266. data/vendor/pygments-main/pygments/util.py +15 -92
  267. metadata +68 -136
  268. data/CHANGELOG.md +0 -111
  269. data/README.md +0 -121
  270. data/circle.yml +0 -20
  271. data/test/test_data.c +0 -2581
  272. data/test/test_data.py +0 -514
  273. data/test/test_data_generated +0 -2582
  274. data/vendor/custom_lexers/github.py +0 -565
  275. data/vendor/pygments-main/CHANGES +0 -1186
  276. data/vendor/pygments-main/MANIFEST.in +0 -6
  277. data/vendor/pygments-main/Makefile +0 -65
  278. data/vendor/pygments-main/README.rst +0 -39
  279. data/vendor/pygments-main/REVISION +0 -1
  280. data/vendor/pygments-main/TODO +0 -12
  281. data/vendor/pygments-main/doc/Makefile +0 -153
  282. data/vendor/pygments-main/doc/_static/favicon.ico +0 -0
  283. data/vendor/pygments-main/doc/_static/logo_new.png +0 -0
  284. data/vendor/pygments-main/doc/_static/logo_only.png +0 -0
  285. data/vendor/pygments-main/doc/_templates/docssidebar.html +0 -3
  286. data/vendor/pygments-main/doc/_templates/indexsidebar.html +0 -25
  287. data/vendor/pygments-main/doc/_themes/pygments14/layout.html +0 -98
  288. data/vendor/pygments-main/doc/_themes/pygments14/static/bodybg.png +0 -0
  289. data/vendor/pygments-main/doc/_themes/pygments14/static/docbg.png +0 -0
  290. data/vendor/pygments-main/doc/_themes/pygments14/static/listitem.png +0 -0
  291. data/vendor/pygments-main/doc/_themes/pygments14/static/logo.png +0 -0
  292. data/vendor/pygments-main/doc/_themes/pygments14/static/pocoo.png +0 -0
  293. data/vendor/pygments-main/doc/_themes/pygments14/static/pygments14.css_t +0 -401
  294. data/vendor/pygments-main/doc/_themes/pygments14/theme.conf +0 -15
  295. data/vendor/pygments-main/doc/conf.py +0 -241
  296. data/vendor/pygments-main/doc/docs/api.rst +0 -354
  297. data/vendor/pygments-main/doc/docs/authors.rst +0 -4
  298. data/vendor/pygments-main/doc/docs/changelog.rst +0 -1
  299. data/vendor/pygments-main/doc/docs/cmdline.rst +0 -166
  300. data/vendor/pygments-main/doc/docs/filterdevelopment.rst +0 -71
  301. data/vendor/pygments-main/doc/docs/filters.rst +0 -41
  302. data/vendor/pygments-main/doc/docs/formatterdevelopment.rst +0 -169
  303. data/vendor/pygments-main/doc/docs/formatters.rst +0 -48
  304. data/vendor/pygments-main/doc/docs/index.rst +0 -66
  305. data/vendor/pygments-main/doc/docs/integrate.rst +0 -40
  306. data/vendor/pygments-main/doc/docs/java.rst +0 -70
  307. data/vendor/pygments-main/doc/docs/lexerdevelopment.rst +0 -728
  308. data/vendor/pygments-main/doc/docs/lexers.rst +0 -69
  309. data/vendor/pygments-main/doc/docs/moinmoin.rst +0 -39
  310. data/vendor/pygments-main/doc/docs/plugins.rst +0 -93
  311. data/vendor/pygments-main/doc/docs/quickstart.rst +0 -205
  312. data/vendor/pygments-main/doc/docs/rstdirective.rst +0 -22
  313. data/vendor/pygments-main/doc/docs/styles.rst +0 -201
  314. data/vendor/pygments-main/doc/docs/tokens.rst +0 -372
  315. data/vendor/pygments-main/doc/docs/unicode.rst +0 -58
  316. data/vendor/pygments-main/doc/download.rst +0 -41
  317. data/vendor/pygments-main/doc/faq.rst +0 -139
  318. data/vendor/pygments-main/doc/index.rst +0 -54
  319. data/vendor/pygments-main/doc/languages.rst +0 -154
  320. data/vendor/pygments-main/doc/make.bat +0 -190
  321. data/vendor/pygments-main/doc/pygmentize.1 +0 -94
  322. data/vendor/pygments-main/external/autopygmentize +0 -101
  323. data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +0 -162
  324. data/vendor/pygments-main/external/markdown-processor.py +0 -67
  325. data/vendor/pygments-main/external/moin-parser.py +0 -112
  326. data/vendor/pygments-main/external/pygments.bashcomp +0 -38
  327. data/vendor/pygments-main/external/rst-directive.py +0 -82
  328. data/vendor/pygments-main/pygmentize +0 -8
  329. data/vendor/pygments-main/pygments/lexers/github.py +0 -565
  330. data/vendor/pygments-main/requirements.txt +0 -5
  331. data/vendor/pygments-main/scripts/check_sources.py +0 -211
  332. data/vendor/pygments-main/scripts/debug_lexer.py +0 -246
  333. data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +0 -33
  334. data/vendor/pygments-main/scripts/epydoc.css +0 -280
  335. data/vendor/pygments-main/scripts/get_vimkw.py +0 -74
  336. data/vendor/pygments-main/scripts/pylintrc +0 -301
  337. data/vendor/pygments-main/scripts/vim2pygments.py +0 -935
  338. data/vendor/pygments-main/setup.cfg +0 -10
  339. data/vendor/pygments-main/setup.py +0 -77
  340. data/vendor/pygments-main/tox.ini +0 -7
  341. data/vendor/simplejson/.gitignore +0 -10
  342. data/vendor/simplejson/.travis.yml +0 -5
  343. data/vendor/simplejson/CHANGES.txt +0 -291
  344. data/vendor/simplejson/LICENSE.txt +0 -19
  345. data/vendor/simplejson/MANIFEST.in +0 -5
  346. data/vendor/simplejson/README.rst +0 -19
  347. data/vendor/simplejson/conf.py +0 -179
  348. data/vendor/simplejson/index.rst +0 -628
  349. data/vendor/simplejson/scripts/make_docs.py +0 -18
  350. data/vendor/simplejson/setup.py +0 -104
  351. data/vendor/simplejson/simplejson/__init__.py +0 -510
  352. data/vendor/simplejson/simplejson/_speedups.c +0 -2745
  353. data/vendor/simplejson/simplejson/decoder.py +0 -425
  354. data/vendor/simplejson/simplejson/encoder.py +0 -567
  355. data/vendor/simplejson/simplejson/ordered_dict.py +0 -119
  356. data/vendor/simplejson/simplejson/scanner.py +0 -77
  357. data/vendor/simplejson/simplejson/tests/__init__.py +0 -67
  358. data/vendor/simplejson/simplejson/tests/test_bigint_as_string.py +0 -55
  359. data/vendor/simplejson/simplejson/tests/test_check_circular.py +0 -30
  360. data/vendor/simplejson/simplejson/tests/test_decimal.py +0 -66
  361. data/vendor/simplejson/simplejson/tests/test_decode.py +0 -83
  362. data/vendor/simplejson/simplejson/tests/test_default.py +0 -9
  363. data/vendor/simplejson/simplejson/tests/test_dump.py +0 -67
  364. data/vendor/simplejson/simplejson/tests/test_encode_basestring_ascii.py +0 -46
  365. data/vendor/simplejson/simplejson/tests/test_encode_for_html.py +0 -32
  366. data/vendor/simplejson/simplejson/tests/test_errors.py +0 -34
  367. data/vendor/simplejson/simplejson/tests/test_fail.py +0 -91
  368. data/vendor/simplejson/simplejson/tests/test_float.py +0 -19
  369. data/vendor/simplejson/simplejson/tests/test_indent.py +0 -86
  370. data/vendor/simplejson/simplejson/tests/test_item_sort_key.py +0 -20
  371. data/vendor/simplejson/simplejson/tests/test_namedtuple.py +0 -121
  372. data/vendor/simplejson/simplejson/tests/test_pass1.py +0 -76
  373. data/vendor/simplejson/simplejson/tests/test_pass2.py +0 -14
  374. data/vendor/simplejson/simplejson/tests/test_pass3.py +0 -20
  375. data/vendor/simplejson/simplejson/tests/test_recursion.py +0 -67
  376. data/vendor/simplejson/simplejson/tests/test_scanstring.py +0 -117
  377. data/vendor/simplejson/simplejson/tests/test_separators.py +0 -42
  378. data/vendor/simplejson/simplejson/tests/test_speedups.py +0 -20
  379. data/vendor/simplejson/simplejson/tests/test_tuple.py +0 -49
  380. data/vendor/simplejson/simplejson/tests/test_unicode.py +0 -109
  381. data/vendor/simplejson/simplejson/tool.py +0 -39
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 4a0effd0abf9485e9c25411abd292c5d1afa9368
4
- data.tar.gz: 5f891032766ff9e99578a13862a1900a2cd8da14
2
+ SHA256:
3
+ metadata.gz: 82a1b6e9549afec22e94b2690983b55a5a3029e986b3d7201c2c6558a2968bc5
4
+ data.tar.gz: 63ac418bfb998653fc4472c1cfd3c8268a006b002754b1759bc11132889f3e2b
5
5
  SHA512:
6
- metadata.gz: 66361ecc1d441298caa88f34d5be181a5c17b723106825de4d4030778823a77a2829da3139006c9e8e8458bbabebd408bf427b7cee663ffb58b4ffecf105bf8e
7
- data.tar.gz: 9c98ac0f6fc5d88cb47d7305d99053cc27ffb0c788da6d31c5ddcc6a37e7845bca163d47bfb6090c6bfa90aa893fe4412fca0151cde753cff96525fed156e7ff
6
+ metadata.gz: a54ab6bc824be2d4fcdd0c61e52d0838b55ac7cc5ed023f8392ff784fa79d3f1fc32b159c422b46cc91646a8d07853ce2d934fd03e8c06de8903901f45a589c9
7
+ data.tar.gz: e3910502b53d5c3f6ad729bc558e1baffdbc8af8958fa8867e7489df10bbfd1d1e832f0791a90592418b6bf1c19ba3aa0289b7f043f81aabb071fc036fec29ad
@@ -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,28 @@
1
+ name: CI
2
+ on:
3
+ push:
4
+ branches: [ '**' ]
5
+ tags-ignore: [ '**' ]
6
+ pull_request:
7
+ jobs:
8
+ build:
9
+ strategy:
10
+ matrix:
11
+ ruby: [ 'jruby-9.2', '2.3', '3.0' ]
12
+ python: [ '3.5', '3.9' ]
13
+ platform: [ ubuntu-latest, macos-latest, windows-latest ]
14
+ runs-on: ${{ matrix.platform }}
15
+ steps:
16
+ - name: Checkout
17
+ uses: actions/checkout@v2
18
+ - name: Setup Ruby
19
+ uses: ruby/setup-ruby@v1
20
+ with:
21
+ ruby-version: ${{ matrix.ruby }}
22
+ bundler-cache: true
23
+ - name: Setup Python
24
+ uses: actions/setup-python@v2
25
+ with:
26
+ python-version: ${{ matrix.python }}
27
+ - name: Run Tests
28
+ 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,7 +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
7
- lexers
6
+ /lexers
data/CHANGELOG.adoc ADDED
@@ -0,0 +1,128 @@
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.0.0 (2021-01-08) - @slonopotamus
9
+
10
+ * stop sending/receiving `ids` between Ruby and Python
11
+ * use `close_others` Ruby mechanism to prevent file descriptor leaking to Python
12
+
13
+ == 2.0.0.rc3 (2021-01-08) - @slonopotamus
14
+
15
+ * fix watchdog race condition leading to `ThreadError(<killed thread>)` on JRuby ({uri-repo}/pull/215[#215])
16
+
17
+ == 2.0.0.rc2 (2021-01-07) - @slonopotamus
18
+
19
+ * Fix release workflow
20
+
21
+ == 2.0.0.rc1 (2021-01-07) - @slonopotamus
22
+
23
+ * Modify `mentos.py` to run on Python 3.x instead of Python 2.7
24
+ * Add `:timeout` parameter to allow for configurable timeouts
25
+ * Add several Python 3.x versions to test matrix
26
+ * Drop dependency on MultiJson
27
+ * Fix hanging on JRuby + Windows
28
+ * Update Pygments to 2.7.3
29
+ * Drop GitHub custom lexers
30
+ * Rework timeout handling
31
+ * Improve error message when Python is not found
32
+ * *Breaking change* Pygments.rb no longer sets default timeout for its operations
33
+ * *Breaking change* Now pygments.rb raises `MentosError` instead of returning `nil` on timeout
34
+
35
+ == 1.2.1 (2017-12-07)
36
+
37
+ * Automatically update `lexers` cache on build ({uri-repo}/pull/186[#186])
38
+ +
39
+ See {uri-repo}/pull/185[#185] for the reason
40
+
41
+ == 1.2.0 (2017-09-13)
42
+
43
+ * Exclude symlinks from the gem package to solve Windows issues ({uri-repo}/pull/181[#181])
44
+ * Upgrade pygments to 2.0.0 ({uri-repo}/pull/180[#180])
45
+
46
+ == 1.1.2 (2017-04-03)
47
+
48
+ * Resolves {uri-repo}/pull/176[#176] exclude find_error.py symlink from gem ({uri-repo}/pull/177[#177])
49
+
50
+ == 1.1.1 (2016-12-28)
51
+
52
+ * Suppress Ruby 2.4.0's warnings ({uri-repo}/pull/172[#172])
53
+ * Enable `frozen_string_literal` ({uri-repo}/pull/173[#173])
54
+
55
+ == 1.1.0 (2016-12-24)
56
+
57
+ * Support JRuby ({uri-repo}/pull/170[#170])
58
+ * Make pygments.rb thread safe ({uri-repo}/pull/171[#171])
59
+
60
+ == 1.0.0 (2016-12-11)
61
+
62
+ * Upgrade bundled pygments to 2.2.0-HEAD ({uri-repo}/pull/167[#167])
63
+ +
64
+ This includes *incompatible changes* because of upgrade of pygments.
65
+ See https://pygments.org/ for details.
66
+ * Relax yajl-ruby dependency to "~> 1.2" ({uri-repo}/pull/164[#164])
67
+ * Python binary can be configured by `PYTMENTS_RB_PYTHON` env ({uri-repo}/pull/168[#168])
68
+ * Improved error messages when python binary is missing ({uri-repo}/pull/158[#158])
69
+
70
+ == 0.5.4 (2013-11-03)
71
+
72
+ * Update lexers file
73
+
74
+ == 0.5.3 (2013-09-17)
75
+
76
+ * Fixes for Slash lexer
77
+ * Improve highlighting for Slash lexer
78
+ * Upgrade to latest pygments (1.7, changes summary follows.
79
+ See pygments changelog for details)
80
+ ** Add Clay lexer
81
+ ** Add Perl 6 lexer
82
+ ** Add Swig lexer
83
+ ** Add nesC lexer
84
+ ** Add BlitzBasic lexer
85
+ ** Add EBNF lexer
86
+ ** Add Igor Pro lexer
87
+ ** Add Rexx lexer
88
+ ** Add Agda lexer
89
+ ** Recognize vim modelines
90
+ ** Improve Python 3 lexer
91
+ ** Improve Opa lexer
92
+ ** Improve Julia lexer
93
+ ** Improve Lasso lexer
94
+ ** Improve Objective C/C++ lexer
95
+ ** Improve Ruby lexer
96
+ ** Improve Stan lexer
97
+ ** Improve JavaScript lexer
98
+ ** Improve HTTP lexer
99
+ ** Improve Koka lexer
100
+ ** Improve Haxe lexer
101
+ ** Improve Prolog lexer
102
+ ** Improve F# lexer
103
+
104
+ == 0.5.2 (2013-07-17)
105
+
106
+ * Add Slash lexer
107
+
108
+ == 0.5.1 (2013-06-25)
109
+
110
+ * Ensure compatibility across distros by detecting if `python2` is available
111
+
112
+ == 0.5.0 (2013-04-13)
113
+
114
+ * Use `#rstrip` to fix table mode bug
115
+
116
+ == 0.4.2 (2013-02-25)
117
+
118
+ * Add new lexers, including custom lexers
119
+
120
+ == 0.3.7 (2013-01-02)
121
+
122
+ * Fixed missing custom lexers
123
+ * Added syntax highlighting for Hxml
124
+
125
+ == 0.3.4 (2012-12-28)
126
+
127
+ * Add support for Windows
128
+ * 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,7 +1,9 @@
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
@@ -18,7 +20,6 @@ require 'rubygems/package_task'
18
20
  require 'rake/testtask'
19
21
  Rake::TestTask.new 'test' do |t|
20
22
  t.test_files = FileList['test/test_*.rb']
21
- t.ruby_opts = ['-rubygems']
22
23
  end
23
24
 
24
25
  # ==========================================================
@@ -26,7 +27,7 @@ end
26
27
  # ==========================================================
27
28
 
28
29
  task :bench do
29
- sh "ruby bench.rb"
30
+ sh 'ruby bench.rb'
30
31
  end
31
32
 
32
33
  # ==========================================================
@@ -35,11 +36,11 @@ end
35
36
 
36
37
  # Write all the lexers to a file for easy lookup
37
38
  task :lexers do
38
- sh "ruby cache-lexers.rb"
39
+ sh 'ruby cache-lexers.rb'
39
40
  end
40
41
 
41
- task test: :lexers
42
- task release: :lexers
42
+ task(:test).enhance([:lexers])
43
+ task(:build).enhance([:lexers])
43
44
 
44
45
  # ==========================================================
45
46
  # Vendor
@@ -47,25 +48,14 @@ task release: :lexers
47
48
 
48
49
  namespace :vendor do
49
50
  file 'vendor/pygments-main' do |f|
50
- sh "hg clone https://bitbucket.org/birkenfeld/pygments-main #{f.name}"
51
- sh "hg --repository #{f.name} identify --id > #{f.name}/REVISION"
52
- rm_rf Dir["#{f.name}/.hg*"]
53
- rm_rf Dir["#{f.name}/tests"]
51
+ sh "pip install --target=#{f.name} pygments"
52
+ sh "git add -- #{f.name}"
54
53
  end
55
54
 
56
55
  task :clobber do
57
56
  rm_rf 'vendor/pygments-main'
58
57
  end
59
58
 
60
- # Load all the custom lexers in the `vendor/custom_lexers` folder
61
- # and stick them in our custom Pygments vendor
62
- task :load_lexers do
63
- LEXERS_DIR = 'vendor/pygments-main/pygments/lexers'
64
- lexers = FileList['vendor/custom_lexers/*.py']
65
- lexers.each { |l| FileUtils.copy l, LEXERS_DIR }
66
- FileUtils.cd(LEXERS_DIR) { sh "python _mapping.py" }
67
- end
68
-
69
59
  desc 'update vendor/pygments-main'
70
- task :update => [:clobber, 'vendor/pygments-main', :load_lexers]
60
+ task update: [:clobber, 'vendor/pygments-main']
71
61
  end
data/bench.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require File.join(File.dirname(__FILE__), '/lib/pygments.rb')
2
4
  require 'benchmark'
3
5
 
@@ -8,15 +10,14 @@ num = ARGV[0] ? ARGV[0].to_i : 10
8
10
  # we can also repeat the code itself
9
11
  repeats = ARGV[1] ? ARGV[1].to_i : 1
10
12
 
11
- code = File.open('test/test_data.py').read.to_s * repeats
13
+ code = File.open('test/test_pygments.rb').read.to_s * repeats
12
14
 
13
15
  puts "Benchmarking....\n"
14
- puts "Size: " + code.bytesize.to_s + " bytes\n"
15
- puts "Iterations: " + num.to_s + "\n"
16
+ puts 'Size: ' + code.bytesize.to_s + " bytes\n"
17
+ puts 'Iterations: ' + num.to_s + "\n"
16
18
 
17
19
  Benchmark.bm(40) do |x|
18
- x.report("pygments popen ") { for i in 1..num; Pygments.highlight(code, :lexer => 'python'); end }
19
- x.report("pygments popen (process already started) ") { for i in 1..num; Pygments.highlight(code, :lexer => 'python'); end }
20
- x.report("pygments popen (process already started 2) ") { for i in 1..num; Pygments.highlight(code, :lexer => 'python'); end }
20
+ x.report('pygments popen ') { (1..num).each { |_i|; Pygments.highlight(code, lexer: 'python'); } }
21
+ x.report('pygments popen (process already started) ') { (1..num).each { |_i|; Pygments.highlight(code, lexer: 'python'); } }
22
+ x.report('pygments popen (process already started 2) ') { (1..num).each { |_i|; Pygments.highlight(code, lexer: 'python'); } }
21
23
  end
22
-
data/cache-lexers.rb CHANGED
@@ -1,8 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require File.join(File.dirname(__FILE__), '/lib/pygments.rb')
2
4
 
3
5
  # Simple marshalling
4
6
  serialized_lexers = Marshal.dump(Pygments.lexers!)
5
7
 
6
8
  # Write to a file
7
- File.open("lexers", 'wb') { |file| file.write(serialized_lexers) }
8
-
9
+ File.open('lexers', 'wb') { |file| file.write(serialized_lexers) }
data/lexers CHANGED
Binary file
@@ -1,5 +1,5 @@
1
- # coding: utf-8
2
1
  # frozen_string_literal: true
2
+
3
3
  module Pygments
4
4
  class Lexer < Struct.new(:name, :aliases, :filenames, :mimetypes)
5
5
  @lexers = []
@@ -34,13 +34,13 @@ module Pygments
34
34
  m[1].scan(/./).each do |s|
35
35
  extnames << extname.sub(m[0], s)
36
36
  end
37
- elsif extname != ""
37
+ elsif extname != ''
38
38
  extnames << extname
39
39
  end
40
40
 
41
41
  extnames.each do |the_extname|
42
42
  @extname_index[the_extname] = lexer
43
- @index[the_extname.downcase.sub(/^\./, "")] ||= lexer
43
+ @index[the_extname.downcase.sub(/^\./, '')] ||= lexer
44
44
  end
45
45
  end
46
46
 
@@ -142,8 +142,8 @@ module Pygments
142
142
  Pygments.highlight(text, options)
143
143
  end
144
144
 
145
- alias_method :==, :equal?
146
- alias_method :eql?, :equal?
145
+ alias == equal?
146
+ alias eql? equal?
147
147
  end
148
148
 
149
149
  lexers.values.each { |h| Lexer.create(h) }