pygments.rb 1.1.2 → 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 (383) 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 -5
  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 +13 -19
  11. data/bench.rb +8 -7
  12. data/cache-lexers.rb +3 -2
  13. data/lexers +0 -0
  14. data/lib/pygments.rb +10 -11
  15. data/lib/pygments/lexer.rb +5 -5
  16. data/lib/pygments/mentos.py +23 -110
  17. data/lib/pygments/popen.rb +148 -229
  18. data/lib/pygments/version.rb +2 -2
  19. data/pygments.rb.gemspec +12 -11
  20. data/test/test_pygments.rb +46 -104
  21. data/vendor/pygments-main/{AUTHORS → Pygments-2.7.3.dist-info/AUTHORS} +23 -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 +94 -41
  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 +42 -6
  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 +102 -38
  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 +62 -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 +8 -1
  57. data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +2 -4
  58. data/vendor/pygments-main/pygments/lexers/_mapping.py +79 -33
  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 +445 -70
  81. data/vendor/pygments-main/pygments/lexers/automation.py +3 -3
  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 +13 -9
  85. data/vendor/pygments-main/pygments/lexers/boa.py +102 -0
  86. data/vendor/pygments-main/pygments/lexers/business.py +69 -36
  87. data/vendor/pygments-main/pygments/lexers/c_cpp.py +137 -45
  88. data/vendor/pygments-main/pygments/lexers/c_like.py +68 -43
  89. data/vendor/pygments-main/pygments/lexers/capnproto.py +20 -21
  90. data/vendor/pygments-main/pygments/lexers/chapel.py +25 -14
  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 +188 -37
  94. data/vendor/pygments-main/pygments/lexers/console.py +1 -1
  95. data/vendor/pygments-main/pygments/lexers/crystal.py +31 -23
  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 +147 -65
  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 +54 -25
  112. data/vendor/pygments-main/pygments/lexers/ezhil.py +24 -15
  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 +63 -6
  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 +52 -22
  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 +18 -12
  131. data/vendor/pygments-main/pygments/lexers/html.py +31 -19
  132. data/vendor/pygments-main/pygments/lexers/idl.py +20 -9
  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 +100 -66
  140. data/vendor/pygments-main/pygments/lexers/julia.py +46 -48
  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 +4 -3
  152. data/vendor/pygments-main/pygments/lexers/mosel.py +448 -0
  153. data/vendor/pygments-main/pygments/lexers/ncl.py +85 -244
  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 +23 -23
  164. data/vendor/pygments-main/pygments/lexers/pawn.py +30 -24
  165. data/vendor/pygments-main/pygments/lexers/perl.py +276 -160
  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 -226
  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 +86 -71
  184. data/vendor/pygments-main/pygments/lexers/sas.py +7 -7
  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 +175 -51
  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 +30 -26
  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 -42
  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 +144 -132
  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 +8 -14
  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 +5 -5
  214. data/vendor/pygments-main/pygments/lexers/verification.py +15 -12
  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 +50 -38
  218. data/vendor/pygments-main/pygments/lexers/whiley.py +11 -12
  219. data/vendor/pygments-main/pygments/lexers/x10.py +1 -1
  220. data/vendor/pygments-main/pygments/lexers/xorg.py +37 -0
  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 +6 -5
  224. data/vendor/pygments-main/pygments/plugin.py +14 -18
  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 +13 -5
  230. data/vendor/pygments-main/pygments/styles/abap.py +29 -0
  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 +89 -0
  254. data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
  255. data/vendor/pygments-main/pygments/styles/sas.py +3 -0
  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_light.py +39 -0
  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 +19 -95
  267. metadata +71 -137
  268. data/CHANGELOG.md +0 -98
  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 -1163
  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 -331
  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 -149
  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 -689
  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 -84
  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/pygments/styles/stata.py +0 -37
  331. data/vendor/pygments-main/requirements.txt +0 -5
  332. data/vendor/pygments-main/scripts/check_sources.py +0 -211
  333. data/vendor/pygments-main/scripts/debug_lexer.py +0 -246
  334. data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +0 -33
  335. data/vendor/pygments-main/scripts/epydoc.css +0 -280
  336. data/vendor/pygments-main/scripts/find_error.py +0 -1
  337. data/vendor/pygments-main/scripts/get_vimkw.py +0 -74
  338. data/vendor/pygments-main/scripts/pylintrc +0 -301
  339. data/vendor/pygments-main/scripts/vim2pygments.py +0 -935
  340. data/vendor/pygments-main/setup.cfg +0 -10
  341. data/vendor/pygments-main/setup.py +0 -77
  342. data/vendor/pygments-main/tox.ini +0 -7
  343. data/vendor/simplejson/.gitignore +0 -10
  344. data/vendor/simplejson/.travis.yml +0 -5
  345. data/vendor/simplejson/CHANGES.txt +0 -291
  346. data/vendor/simplejson/LICENSE.txt +0 -19
  347. data/vendor/simplejson/MANIFEST.in +0 -5
  348. data/vendor/simplejson/README.rst +0 -19
  349. data/vendor/simplejson/conf.py +0 -179
  350. data/vendor/simplejson/index.rst +0 -628
  351. data/vendor/simplejson/scripts/make_docs.py +0 -18
  352. data/vendor/simplejson/setup.py +0 -104
  353. data/vendor/simplejson/simplejson/__init__.py +0 -510
  354. data/vendor/simplejson/simplejson/_speedups.c +0 -2745
  355. data/vendor/simplejson/simplejson/decoder.py +0 -425
  356. data/vendor/simplejson/simplejson/encoder.py +0 -567
  357. data/vendor/simplejson/simplejson/ordered_dict.py +0 -119
  358. data/vendor/simplejson/simplejson/scanner.py +0 -77
  359. data/vendor/simplejson/simplejson/tests/__init__.py +0 -67
  360. data/vendor/simplejson/simplejson/tests/test_bigint_as_string.py +0 -55
  361. data/vendor/simplejson/simplejson/tests/test_check_circular.py +0 -30
  362. data/vendor/simplejson/simplejson/tests/test_decimal.py +0 -66
  363. data/vendor/simplejson/simplejson/tests/test_decode.py +0 -83
  364. data/vendor/simplejson/simplejson/tests/test_default.py +0 -9
  365. data/vendor/simplejson/simplejson/tests/test_dump.py +0 -67
  366. data/vendor/simplejson/simplejson/tests/test_encode_basestring_ascii.py +0 -46
  367. data/vendor/simplejson/simplejson/tests/test_encode_for_html.py +0 -32
  368. data/vendor/simplejson/simplejson/tests/test_errors.py +0 -34
  369. data/vendor/simplejson/simplejson/tests/test_fail.py +0 -91
  370. data/vendor/simplejson/simplejson/tests/test_float.py +0 -19
  371. data/vendor/simplejson/simplejson/tests/test_indent.py +0 -86
  372. data/vendor/simplejson/simplejson/tests/test_item_sort_key.py +0 -20
  373. data/vendor/simplejson/simplejson/tests/test_namedtuple.py +0 -121
  374. data/vendor/simplejson/simplejson/tests/test_pass1.py +0 -76
  375. data/vendor/simplejson/simplejson/tests/test_pass2.py +0 -14
  376. data/vendor/simplejson/simplejson/tests/test_pass3.py +0 -20
  377. data/vendor/simplejson/simplejson/tests/test_recursion.py +0 -67
  378. data/vendor/simplejson/simplejson/tests/test_scanstring.py +0 -117
  379. data/vendor/simplejson/simplejson/tests/test_separators.py +0 -42
  380. data/vendor/simplejson/simplejson/tests/test_speedups.py +0 -20
  381. data/vendor/simplejson/simplejson/tests/test_tuple.py +0 -49
  382. data/vendor/simplejson/simplejson/tests/test_unicode.py +0 -109
  383. data/vendor/simplejson/simplejson/tool.py +0 -39
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 8bc5149afa7c5c2d0c10d4c6aff7bc3baa070995
4
- data.tar.gz: 082c9c329d7efa34eeef65e3418cf692651df776
2
+ SHA256:
3
+ metadata.gz: 82a1b6e9549afec22e94b2690983b55a5a3029e986b3d7201c2c6558a2968bc5
4
+ data.tar.gz: 63ac418bfb998653fc4472c1cfd3c8268a006b002754b1759bc11132889f3e2b
5
5
  SHA512:
6
- metadata.gz: 804642de1b753e1f29469248eba2595c2d0bc472336797688cfe73d8c835bc2d1e8da62651d4060feeae95a3cb48694eab67394210a952f6695f7ba41c17d67c
7
- data.tar.gz: 0308d5e79197552f817854ad6827dfe0d8d8a500e34b67afd597381777149b9ae26b54ed86aedec3a68a87a9c948ca3238b7ed465bc35d9a65a3b68cb8355891
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,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
@@ -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,
@@ -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,33 +36,26 @@ 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
 
42
+ task(:test).enhance([:lexers])
43
+ task(:build).enhance([:lexers])
44
+
41
45
  # ==========================================================
42
46
  # Vendor
43
47
  # ==========================================================
44
48
 
45
49
  namespace :vendor do
46
50
  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"]
51
+ sh "pip install --target=#{f.name} pygments"
52
+ sh "git add -- #{f.name}"
51
53
  end
52
54
 
53
55
  task :clobber do
54
56
  rm_rf 'vendor/pygments-main'
55
57
  end
56
58
 
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
- task :update => [:clobber, 'vendor/pygments-main', :load_lexers]
59
+ desc 'update vendor/pygments-main'
60
+ task update: [:clobber, 'vendor/pygments-main']
67
61
  end