pygments.rb 1.2.1 → 2.0.0.rc2

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 (378) 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 +119 -0
  7. data/Gemfile +3 -1
  8. data/LICENSE +1 -1
  9. data/README.adoc +161 -0
  10. data/Rakefile +10 -21
  11. data/bench.rb +8 -7
  12. data/cache-lexers.rb +3 -2
  13. data/lib/pygments.rb +10 -11
  14. data/lib/pygments/lexer.rb +5 -5
  15. data/lib/pygments/mentos.py +23 -66
  16. data/lib/pygments/popen.rb +152 -204
  17. data/lib/pygments/version.rb +2 -2
  18. data/pygments.rb.gemspec +11 -9
  19. data/test/test_pygments.rb +51 -84
  20. data/vendor/pygments-main/{AUTHORS → Pygments-2.7.3.dist-info/AUTHORS} +21 -3
  21. data/vendor/pygments-main/Pygments-2.7.3.dist-info/INSTALLER +1 -0
  22. data/vendor/pygments-main/{LICENSE → Pygments-2.7.3.dist-info/LICENSE} +1 -1
  23. data/vendor/pygments-main/Pygments-2.7.3.dist-info/METADATA +49 -0
  24. data/vendor/pygments-main/Pygments-2.7.3.dist-info/RECORD +482 -0
  25. data/vendor/pygments-main/Pygments-2.7.3.dist-info/REQUESTED +0 -0
  26. data/vendor/pygments-main/Pygments-2.7.3.dist-info/WHEEL +5 -0
  27. data/vendor/pygments-main/Pygments-2.7.3.dist-info/entry_points.txt +3 -0
  28. data/vendor/pygments-main/Pygments-2.7.3.dist-info/top_level.txt +1 -0
  29. data/vendor/pygments-main/bin/pygmentize +8 -0
  30. data/vendor/pygments-main/pygments/__init__.py +6 -11
  31. data/vendor/pygments-main/pygments/__main__.py +18 -0
  32. data/vendor/pygments-main/pygments/cmdline.py +38 -29
  33. data/vendor/pygments-main/pygments/console.py +6 -9
  34. data/vendor/pygments-main/pygments/filter.py +4 -6
  35. data/vendor/pygments-main/pygments/filters/__init__.py +609 -21
  36. data/vendor/pygments-main/pygments/formatter.py +4 -4
  37. data/vendor/pygments-main/pygments/formatters/__init__.py +9 -8
  38. data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -3
  39. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
  40. data/vendor/pygments-main/pygments/formatters/html.py +223 -135
  41. data/vendor/pygments-main/pygments/formatters/img.py +68 -41
  42. data/vendor/pygments-main/pygments/formatters/irc.py +39 -39
  43. data/vendor/pygments-main/pygments/formatters/latex.py +56 -26
  44. data/vendor/pygments-main/pygments/formatters/other.py +12 -8
  45. data/vendor/pygments-main/pygments/formatters/rtf.py +29 -29
  46. data/vendor/pygments-main/pygments/formatters/svg.py +38 -4
  47. data/vendor/pygments-main/pygments/formatters/terminal.py +25 -31
  48. data/vendor/pygments-main/pygments/formatters/terminal256.py +22 -12
  49. data/vendor/pygments-main/pygments/lexer.py +41 -39
  50. data/vendor/pygments-main/pygments/lexers/__init__.py +342 -0
  51. data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +1645 -0
  52. data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +232 -0
  53. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +71 -0
  54. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1725 -0
  55. data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +5327 -0
  56. data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +293 -0
  57. data/vendor/pygments-main/pygments/lexers/_mapping.py +551 -0
  58. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1172 -0
  59. data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +1282 -0
  60. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +2547 -0
  61. data/vendor/pygments-main/pygments/lexers/_php_builtins.py +4753 -0
  62. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +678 -0
  63. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +3094 -0
  64. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1161 -0
  65. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +558 -0
  66. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +421 -0
  67. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1004 -0
  68. data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +113 -0
  69. data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +280 -0
  70. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1939 -0
  71. data/vendor/pygments-main/pygments/lexers/actionscript.py +245 -0
  72. data/vendor/pygments-main/pygments/lexers/agile.py +24 -0
  73. data/vendor/pygments-main/pygments/lexers/algebra.py +240 -0
  74. data/vendor/pygments-main/pygments/lexers/ambient.py +76 -0
  75. data/vendor/pygments-main/pygments/lexers/ampl.py +87 -0
  76. data/vendor/pygments-main/pygments/lexers/apl.py +101 -0
  77. data/vendor/pygments-main/pygments/lexers/archetype.py +318 -0
  78. data/vendor/pygments-main/pygments/lexers/arrow.py +117 -0
  79. data/vendor/pygments-main/pygments/lexers/asm.py +1005 -0
  80. data/vendor/pygments-main/pygments/lexers/automation.py +374 -0
  81. data/vendor/pygments-main/pygments/lexers/bare.py +104 -0
  82. data/vendor/pygments-main/pygments/lexers/basic.py +662 -0
  83. data/vendor/pygments-main/pygments/lexers/bibtex.py +160 -0
  84. data/vendor/pygments-main/pygments/lexers/boa.py +102 -0
  85. data/vendor/pygments-main/pygments/lexers/business.py +627 -0
  86. data/vendor/pygments-main/pygments/lexers/c_cpp.py +344 -0
  87. data/vendor/pygments-main/pygments/lexers/c_like.py +566 -0
  88. data/vendor/pygments-main/pygments/lexers/capnproto.py +78 -0
  89. data/vendor/pygments-main/pygments/lexers/chapel.py +112 -0
  90. data/vendor/pygments-main/pygments/lexers/clean.py +179 -0
  91. data/vendor/pygments-main/pygments/lexers/compiled.py +34 -0
  92. data/vendor/pygments-main/pygments/lexers/configs.py +984 -0
  93. data/vendor/pygments-main/pygments/lexers/console.py +114 -0
  94. data/vendor/pygments-main/pygments/lexers/crystal.py +392 -0
  95. data/vendor/pygments-main/pygments/lexers/csound.py +467 -0
  96. data/vendor/pygments-main/pygments/lexers/css.py +691 -0
  97. data/vendor/pygments-main/pygments/lexers/d.py +256 -0
  98. data/vendor/pygments-main/pygments/lexers/dalvik.py +125 -0
  99. data/vendor/pygments-main/pygments/lexers/data.py +698 -0
  100. data/vendor/pygments-main/pygments/lexers/devicetree.py +109 -0
  101. data/vendor/pygments-main/pygments/lexers/diff.py +165 -0
  102. data/vendor/pygments-main/pygments/lexers/dotnet.py +707 -0
  103. data/vendor/pygments-main/pygments/lexers/dsls.py +960 -0
  104. data/vendor/pygments-main/pygments/lexers/dylan.py +287 -0
  105. data/vendor/pygments-main/pygments/lexers/ecl.py +139 -0
  106. data/vendor/pygments-main/pygments/lexers/eiffel.py +65 -0
  107. data/vendor/pygments-main/pygments/lexers/elm.py +121 -0
  108. data/vendor/pygments-main/pygments/lexers/email.py +151 -0
  109. data/vendor/pygments-main/pygments/lexers/erlang.py +530 -0
  110. data/vendor/pygments-main/pygments/lexers/esoteric.py +304 -0
  111. data/vendor/pygments-main/pygments/lexers/ezhil.py +77 -0
  112. data/vendor/pygments-main/pygments/lexers/factor.py +344 -0
  113. data/vendor/pygments-main/pygments/lexers/fantom.py +250 -0
  114. data/vendor/pygments-main/pygments/lexers/felix.py +273 -0
  115. data/vendor/pygments-main/pygments/lexers/floscript.py +83 -0
  116. data/vendor/pygments-main/pygments/lexers/forth.py +178 -0
  117. data/vendor/pygments-main/pygments/lexers/fortran.py +206 -0
  118. data/vendor/pygments-main/pygments/lexers/foxpro.py +428 -0
  119. data/vendor/pygments-main/pygments/lexers/freefem.py +898 -0
  120. data/vendor/pygments-main/pygments/lexers/functional.py +21 -0
  121. data/vendor/pygments-main/pygments/lexers/gdscript.py +346 -0
  122. data/vendor/pygments-main/pygments/lexers/go.py +101 -0
  123. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +270 -0
  124. data/vendor/pygments-main/pygments/lexers/graph.py +85 -0
  125. data/vendor/pygments-main/pygments/lexers/graphics.py +800 -0
  126. data/vendor/pygments-main/pygments/lexers/haskell.py +870 -0
  127. data/vendor/pygments-main/pygments/lexers/haxe.py +936 -0
  128. data/vendor/pygments-main/pygments/lexers/hdl.py +472 -0
  129. data/vendor/pygments-main/pygments/lexers/hexdump.py +103 -0
  130. data/vendor/pygments-main/pygments/lexers/html.py +614 -0
  131. data/vendor/pygments-main/pygments/lexers/idl.py +281 -0
  132. data/vendor/pygments-main/pygments/lexers/igor.py +420 -0
  133. data/vendor/pygments-main/pygments/lexers/inferno.py +96 -0
  134. data/vendor/pygments-main/pygments/lexers/installers.py +322 -0
  135. data/vendor/pygments-main/pygments/lexers/int_fiction.py +1368 -0
  136. data/vendor/pygments-main/pygments/lexers/iolang.py +63 -0
  137. data/vendor/pygments-main/pygments/lexers/j.py +146 -0
  138. data/vendor/pygments-main/pygments/lexers/javascript.py +1540 -0
  139. data/vendor/pygments-main/pygments/lexers/julia.py +331 -0
  140. data/vendor/pygments-main/pygments/lexers/jvm.py +1673 -0
  141. data/vendor/pygments-main/pygments/lexers/lisp.py +2699 -0
  142. data/vendor/pygments-main/pygments/lexers/make.py +206 -0
  143. data/vendor/pygments-main/pygments/lexers/markup.py +765 -0
  144. data/vendor/pygments-main/pygments/lexers/math.py +21 -0
  145. data/vendor/pygments-main/pygments/lexers/matlab.py +720 -0
  146. data/vendor/pygments-main/pygments/lexers/mime.py +226 -0
  147. data/vendor/pygments-main/pygments/lexers/ml.py +958 -0
  148. data/vendor/pygments-main/pygments/lexers/modeling.py +366 -0
  149. data/vendor/pygments-main/pygments/lexers/modula2.py +1580 -0
  150. data/vendor/pygments-main/pygments/lexers/monte.py +204 -0
  151. data/vendor/pygments-main/pygments/lexers/mosel.py +448 -0
  152. data/vendor/pygments-main/pygments/lexers/ncl.py +894 -0
  153. data/vendor/pygments-main/pygments/lexers/nimrod.py +159 -0
  154. data/vendor/pygments-main/pygments/lexers/nit.py +64 -0
  155. data/vendor/pygments-main/pygments/lexers/nix.py +136 -0
  156. data/vendor/pygments-main/pygments/lexers/oberon.py +121 -0
  157. data/vendor/pygments-main/pygments/lexers/objective.py +504 -0
  158. data/vendor/pygments-main/pygments/lexers/ooc.py +85 -0
  159. data/vendor/pygments-main/pygments/lexers/other.py +41 -0
  160. data/vendor/pygments-main/pygments/lexers/parasail.py +79 -0
  161. data/vendor/pygments-main/pygments/lexers/parsers.py +800 -0
  162. data/vendor/pygments-main/pygments/lexers/pascal.py +644 -0
  163. data/vendor/pygments-main/pygments/lexers/pawn.py +205 -0
  164. data/vendor/pygments-main/pygments/lexers/perl.py +732 -0
  165. data/vendor/pygments-main/pygments/lexers/php.py +321 -0
  166. data/vendor/pygments-main/pygments/lexers/pointless.py +71 -0
  167. data/vendor/pygments-main/pygments/lexers/pony.py +94 -0
  168. data/vendor/pygments-main/pygments/lexers/praat.py +302 -0
  169. data/vendor/pygments-main/pygments/lexers/prolog.py +306 -0
  170. data/vendor/pygments-main/pygments/lexers/promql.py +183 -0
  171. data/vendor/pygments-main/pygments/lexers/python.py +1151 -0
  172. data/vendor/pygments-main/pygments/lexers/qvt.py +152 -0
  173. data/vendor/pygments-main/pygments/lexers/r.py +191 -0
  174. data/vendor/pygments-main/pygments/lexers/rdf.py +463 -0
  175. data/vendor/pygments-main/pygments/lexers/rebol.py +431 -0
  176. data/vendor/pygments-main/pygments/lexers/resource.py +85 -0
  177. data/vendor/pygments-main/pygments/lexers/ride.py +139 -0
  178. data/vendor/pygments-main/pygments/lexers/rnc.py +67 -0
  179. data/vendor/pygments-main/pygments/lexers/roboconf.py +82 -0
  180. data/vendor/pygments-main/pygments/lexers/robotframework.py +552 -0
  181. data/vendor/pygments-main/pygments/lexers/ruby.py +517 -0
  182. data/vendor/pygments-main/pygments/lexers/rust.py +224 -0
  183. data/vendor/pygments-main/pygments/lexers/sas.py +228 -0
  184. data/vendor/pygments-main/pygments/lexers/scdoc.py +83 -0
  185. data/vendor/pygments-main/pygments/lexers/scripting.py +1284 -0
  186. data/vendor/pygments-main/pygments/lexers/sgf.py +61 -0
  187. data/vendor/pygments-main/pygments/lexers/shell.py +914 -0
  188. data/vendor/pygments-main/pygments/lexers/sieve.py +69 -0
  189. data/vendor/pygments-main/pygments/lexers/slash.py +185 -0
  190. data/vendor/pygments-main/pygments/lexers/smalltalk.py +195 -0
  191. data/vendor/pygments-main/pygments/lexers/smv.py +79 -0
  192. data/vendor/pygments-main/pygments/lexers/snobol.py +83 -0
  193. data/vendor/pygments-main/pygments/lexers/solidity.py +92 -0
  194. data/vendor/pygments-main/pygments/lexers/special.py +105 -0
  195. data/vendor/pygments-main/pygments/lexers/sql.py +837 -0
  196. data/vendor/pygments-main/pygments/lexers/stata.py +171 -0
  197. data/vendor/pygments-main/pygments/lexers/supercollider.py +95 -0
  198. data/vendor/pygments-main/pygments/lexers/tcl.py +145 -0
  199. data/vendor/pygments-main/pygments/lexers/templates.py +2264 -0
  200. data/vendor/pygments-main/pygments/lexers/teraterm.py +335 -0
  201. data/vendor/pygments-main/pygments/lexers/testing.py +207 -0
  202. data/vendor/pygments-main/pygments/lexers/text.py +26 -0
  203. data/vendor/pygments-main/pygments/lexers/textedit.py +169 -0
  204. data/vendor/pygments-main/pygments/lexers/textfmts.py +430 -0
  205. data/vendor/pygments-main/pygments/lexers/theorem.py +474 -0
  206. data/vendor/pygments-main/pygments/lexers/tnt.py +263 -0
  207. data/vendor/pygments-main/pygments/lexers/trafficscript.py +54 -0
  208. data/vendor/pygments-main/pygments/lexers/typoscript.py +219 -0
  209. data/vendor/pygments-main/pygments/lexers/unicon.py +412 -0
  210. data/vendor/pygments-main/pygments/lexers/urbi.py +146 -0
  211. data/vendor/pygments-main/pygments/lexers/usd.py +90 -0
  212. data/vendor/pygments-main/pygments/lexers/varnish.py +190 -0
  213. data/vendor/pygments-main/pygments/lexers/verification.py +114 -0
  214. data/vendor/pygments-main/pygments/lexers/web.py +24 -0
  215. data/vendor/pygments-main/pygments/lexers/webidl.py +299 -0
  216. data/vendor/pygments-main/pygments/lexers/webmisc.py +991 -0
  217. data/vendor/pygments-main/pygments/lexers/whiley.py +116 -0
  218. data/vendor/pygments-main/pygments/lexers/x10.py +69 -0
  219. data/vendor/pygments-main/pygments/lexers/xorg.py +37 -0
  220. data/vendor/pygments-main/pygments/lexers/yang.py +104 -0
  221. data/vendor/pygments-main/pygments/lexers/zig.py +124 -0
  222. data/vendor/pygments-main/pygments/modeline.py +1 -1
  223. data/vendor/pygments-main/pygments/plugin.py +4 -2
  224. data/vendor/pygments-main/pygments/regexopt.py +1 -1
  225. data/vendor/pygments-main/pygments/scanner.py +2 -2
  226. data/vendor/pygments-main/pygments/sphinxext.py +2 -4
  227. data/vendor/pygments-main/pygments/style.py +61 -24
  228. data/vendor/pygments-main/pygments/styles/__init__.py +10 -4
  229. data/vendor/pygments-main/pygments/styles/abap.py +1 -1
  230. data/vendor/pygments-main/pygments/styles/algol.py +1 -1
  231. data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -1
  232. data/vendor/pygments-main/pygments/styles/arduino.py +2 -2
  233. data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
  234. data/vendor/pygments-main/pygments/styles/borland.py +1 -1
  235. data/vendor/pygments-main/pygments/styles/bw.py +1 -1
  236. data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
  237. data/vendor/pygments-main/pygments/styles/default.py +1 -1
  238. data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
  239. data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
  240. data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
  241. data/vendor/pygments-main/pygments/styles/igor.py +1 -1
  242. data/vendor/pygments-main/pygments/styles/inkpot.py +67 -0
  243. data/vendor/pygments-main/pygments/styles/lovelace.py +1 -1
  244. data/vendor/pygments-main/pygments/styles/manni.py +1 -1
  245. data/vendor/pygments-main/pygments/styles/monokai.py +4 -3
  246. data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
  247. data/vendor/pygments-main/pygments/styles/native.py +1 -1
  248. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -1
  249. data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -1
  250. data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
  251. data/vendor/pygments-main/pygments/styles/perldoc.py +1 -1
  252. data/vendor/pygments-main/pygments/styles/rainbow_dash.py +1 -1
  253. data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
  254. data/vendor/pygments-main/pygments/styles/sas.py +1 -1
  255. data/vendor/pygments-main/pygments/styles/solarized.py +134 -0
  256. data/vendor/pygments-main/pygments/styles/stata_dark.py +41 -0
  257. data/vendor/pygments-main/pygments/styles/{stata.py → stata_light.py} +14 -15
  258. data/vendor/pygments-main/pygments/styles/tango.py +1 -1
  259. data/vendor/pygments-main/pygments/styles/trac.py +1 -1
  260. data/vendor/pygments-main/pygments/styles/vim.py +1 -1
  261. data/vendor/pygments-main/pygments/styles/vs.py +1 -1
  262. data/vendor/pygments-main/pygments/styles/xcode.py +1 -1
  263. data/vendor/pygments-main/pygments/token.py +1 -1
  264. data/vendor/pygments-main/pygments/unistring.py +47 -108
  265. data/vendor/pygments-main/pygments/util.py +15 -92
  266. metadata +69 -136
  267. data/CHANGELOG.md +0 -111
  268. data/README.md +0 -121
  269. data/circle.yml +0 -20
  270. data/test/test_data.py +0 -514
  271. data/test/test_data_generated +0 -2582
  272. data/vendor/custom_lexers/github.py +0 -565
  273. data/vendor/pygments-main/CHANGES +0 -1186
  274. data/vendor/pygments-main/MANIFEST.in +0 -6
  275. data/vendor/pygments-main/Makefile +0 -65
  276. data/vendor/pygments-main/README.rst +0 -39
  277. data/vendor/pygments-main/REVISION +0 -1
  278. data/vendor/pygments-main/TODO +0 -12
  279. data/vendor/pygments-main/doc/Makefile +0 -153
  280. data/vendor/pygments-main/doc/_static/favicon.ico +0 -0
  281. data/vendor/pygments-main/doc/_static/logo_new.png +0 -0
  282. data/vendor/pygments-main/doc/_static/logo_only.png +0 -0
  283. data/vendor/pygments-main/doc/_templates/docssidebar.html +0 -3
  284. data/vendor/pygments-main/doc/_templates/indexsidebar.html +0 -25
  285. data/vendor/pygments-main/doc/_themes/pygments14/layout.html +0 -98
  286. data/vendor/pygments-main/doc/_themes/pygments14/static/bodybg.png +0 -0
  287. data/vendor/pygments-main/doc/_themes/pygments14/static/docbg.png +0 -0
  288. data/vendor/pygments-main/doc/_themes/pygments14/static/listitem.png +0 -0
  289. data/vendor/pygments-main/doc/_themes/pygments14/static/logo.png +0 -0
  290. data/vendor/pygments-main/doc/_themes/pygments14/static/pocoo.png +0 -0
  291. data/vendor/pygments-main/doc/_themes/pygments14/static/pygments14.css_t +0 -401
  292. data/vendor/pygments-main/doc/_themes/pygments14/theme.conf +0 -15
  293. data/vendor/pygments-main/doc/conf.py +0 -241
  294. data/vendor/pygments-main/doc/docs/api.rst +0 -354
  295. data/vendor/pygments-main/doc/docs/authors.rst +0 -4
  296. data/vendor/pygments-main/doc/docs/changelog.rst +0 -1
  297. data/vendor/pygments-main/doc/docs/cmdline.rst +0 -166
  298. data/vendor/pygments-main/doc/docs/filterdevelopment.rst +0 -71
  299. data/vendor/pygments-main/doc/docs/filters.rst +0 -41
  300. data/vendor/pygments-main/doc/docs/formatterdevelopment.rst +0 -169
  301. data/vendor/pygments-main/doc/docs/formatters.rst +0 -48
  302. data/vendor/pygments-main/doc/docs/index.rst +0 -66
  303. data/vendor/pygments-main/doc/docs/integrate.rst +0 -40
  304. data/vendor/pygments-main/doc/docs/java.rst +0 -70
  305. data/vendor/pygments-main/doc/docs/lexerdevelopment.rst +0 -728
  306. data/vendor/pygments-main/doc/docs/lexers.rst +0 -69
  307. data/vendor/pygments-main/doc/docs/moinmoin.rst +0 -39
  308. data/vendor/pygments-main/doc/docs/plugins.rst +0 -93
  309. data/vendor/pygments-main/doc/docs/quickstart.rst +0 -205
  310. data/vendor/pygments-main/doc/docs/rstdirective.rst +0 -22
  311. data/vendor/pygments-main/doc/docs/styles.rst +0 -201
  312. data/vendor/pygments-main/doc/docs/tokens.rst +0 -372
  313. data/vendor/pygments-main/doc/docs/unicode.rst +0 -58
  314. data/vendor/pygments-main/doc/download.rst +0 -41
  315. data/vendor/pygments-main/doc/faq.rst +0 -139
  316. data/vendor/pygments-main/doc/index.rst +0 -54
  317. data/vendor/pygments-main/doc/languages.rst +0 -154
  318. data/vendor/pygments-main/doc/make.bat +0 -190
  319. data/vendor/pygments-main/doc/pygmentize.1 +0 -94
  320. data/vendor/pygments-main/external/autopygmentize +0 -101
  321. data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +0 -162
  322. data/vendor/pygments-main/external/markdown-processor.py +0 -67
  323. data/vendor/pygments-main/external/moin-parser.py +0 -112
  324. data/vendor/pygments-main/external/pygments.bashcomp +0 -38
  325. data/vendor/pygments-main/external/rst-directive.py +0 -82
  326. data/vendor/pygments-main/pygmentize +0 -8
  327. data/vendor/pygments-main/requirements.txt +0 -5
  328. data/vendor/pygments-main/scripts/check_sources.py +0 -211
  329. data/vendor/pygments-main/scripts/debug_lexer.py +0 -246
  330. data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +0 -33
  331. data/vendor/pygments-main/scripts/epydoc.css +0 -280
  332. data/vendor/pygments-main/scripts/get_vimkw.py +0 -74
  333. data/vendor/pygments-main/scripts/pylintrc +0 -301
  334. data/vendor/pygments-main/scripts/vim2pygments.py +0 -935
  335. data/vendor/pygments-main/setup.cfg +0 -10
  336. data/vendor/pygments-main/setup.py +0 -77
  337. data/vendor/pygments-main/tox.ini +0 -7
  338. data/vendor/simplejson/.gitignore +0 -10
  339. data/vendor/simplejson/.travis.yml +0 -5
  340. data/vendor/simplejson/CHANGES.txt +0 -291
  341. data/vendor/simplejson/LICENSE.txt +0 -19
  342. data/vendor/simplejson/MANIFEST.in +0 -5
  343. data/vendor/simplejson/README.rst +0 -19
  344. data/vendor/simplejson/conf.py +0 -179
  345. data/vendor/simplejson/index.rst +0 -628
  346. data/vendor/simplejson/scripts/make_docs.py +0 -18
  347. data/vendor/simplejson/setup.py +0 -104
  348. data/vendor/simplejson/simplejson/__init__.py +0 -510
  349. data/vendor/simplejson/simplejson/_speedups.c +0 -2745
  350. data/vendor/simplejson/simplejson/decoder.py +0 -425
  351. data/vendor/simplejson/simplejson/encoder.py +0 -567
  352. data/vendor/simplejson/simplejson/ordered_dict.py +0 -119
  353. data/vendor/simplejson/simplejson/scanner.py +0 -77
  354. data/vendor/simplejson/simplejson/tests/__init__.py +0 -67
  355. data/vendor/simplejson/simplejson/tests/test_bigint_as_string.py +0 -55
  356. data/vendor/simplejson/simplejson/tests/test_check_circular.py +0 -30
  357. data/vendor/simplejson/simplejson/tests/test_decimal.py +0 -66
  358. data/vendor/simplejson/simplejson/tests/test_decode.py +0 -83
  359. data/vendor/simplejson/simplejson/tests/test_default.py +0 -9
  360. data/vendor/simplejson/simplejson/tests/test_dump.py +0 -67
  361. data/vendor/simplejson/simplejson/tests/test_encode_basestring_ascii.py +0 -46
  362. data/vendor/simplejson/simplejson/tests/test_encode_for_html.py +0 -32
  363. data/vendor/simplejson/simplejson/tests/test_errors.py +0 -34
  364. data/vendor/simplejson/simplejson/tests/test_fail.py +0 -91
  365. data/vendor/simplejson/simplejson/tests/test_float.py +0 -19
  366. data/vendor/simplejson/simplejson/tests/test_indent.py +0 -86
  367. data/vendor/simplejson/simplejson/tests/test_item_sort_key.py +0 -20
  368. data/vendor/simplejson/simplejson/tests/test_namedtuple.py +0 -121
  369. data/vendor/simplejson/simplejson/tests/test_pass1.py +0 -76
  370. data/vendor/simplejson/simplejson/tests/test_pass2.py +0 -14
  371. data/vendor/simplejson/simplejson/tests/test_pass3.py +0 -20
  372. data/vendor/simplejson/simplejson/tests/test_recursion.py +0 -67
  373. data/vendor/simplejson/simplejson/tests/test_scanstring.py +0 -117
  374. data/vendor/simplejson/simplejson/tests/test_separators.py +0 -42
  375. data/vendor/simplejson/simplejson/tests/test_speedups.py +0 -20
  376. data/vendor/simplejson/simplejson/tests/test_tuple.py +0 -49
  377. data/vendor/simplejson/simplejson/tests/test_unicode.py +0 -109
  378. data/vendor/simplejson/simplejson/tool.py +0 -39
@@ -1,5 +1,5 @@
1
- # coding: utf-8
2
1
  # frozen_string_literal: true
2
+
3
3
  module Pygments
4
- VERSION = '1.2.1'
4
+ VERSION = '2.0.0.rc2'
5
5
  end
@@ -1,4 +1,6 @@
1
- require File.expand_path('../lib/pygments/version', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ require File.expand_path('lib/pygments/version', __dir__)
2
4
 
3
5
  Gem::Specification.new do |s|
4
6
  s.name = 'pygments.rb'
@@ -7,19 +9,19 @@ Gem::Specification.new do |s|
7
9
  s.summary = 'pygments wrapper for ruby'
8
10
  s.description = 'pygments.rb exposes the pygments syntax highlighter to Ruby'
9
11
 
10
- s.homepage = 'https://github.com/tmm1/pygments.rb'
11
- s.has_rdoc = false
12
+ s.homepage = 'https://github.com/pygments/pygments.rb'
13
+ s.required_ruby_version = '>= 2.3.0'
12
14
 
13
- s.authors = ['Aman Gupta', 'Ted Nyman']
14
- s.email = ['aman@tmm1.net']
15
+ s.authors = ['Aman Gupta', 'Ted Nyman', 'Marat Radchenko']
16
+ s.email = ['marat@slonopotamus.org']
15
17
  s.license = 'MIT'
16
18
 
17
- s.add_dependency 'multi_json', '>= 1.0.0'
18
- s.add_development_dependency 'rake-compiler', '~> 0.7.6'
19
- s.add_development_dependency 'test-unit', '~> 3.0.0'
19
+ s.add_development_dependency 'rake-compiler', '~> 1.1.0'
20
+ s.add_development_dependency 'rubocop', '~> 0.81.0'
21
+ s.add_development_dependency 'test-unit', '~> 3.3.0'
20
22
 
21
23
  # s.extensions = ['ext/extconf.rb']
22
24
  s.require_paths = ['lib']
23
25
 
24
- s.files = `git ls-files`.split("\n").select { |f| !File.symlink?(f) } + ['lexers']
26
+ s.files = `git ls-files`.split("\n").reject { |f| File.symlink?(f) } + ['lexers']
25
27
  end
@@ -1,10 +1,8 @@
1
- # coding: utf-8
2
1
  # frozen_string_literal: true
3
2
 
4
3
  require 'test/unit'
5
4
  require File.join(File.dirname(__FILE__), '..', '/lib/pygments.rb')
6
- ENV['mentos-test'] = "yes"
7
-
5
+ ENV['mentos-test'] = 'yes'
8
6
 
9
7
  P = Pygments
10
8
  PE = Pygments.engine
@@ -27,7 +25,7 @@ class PygmentsHighlightTest < Test::Unit::TestCase
27
25
  end
28
26
 
29
27
  def test_full_table_highlight
30
- code = P.highlight(RUBY_CODE, :options => {:linenos => true})
28
+ code = P.highlight(RUBY_CODE, options: { linenos: true })
31
29
  assert_match '<span class="ch">#!/usr/bin/ruby</span>', code
32
30
  assert_equal "<table class=\"highlighttable\"><tr><td class=\"linenos\"><div class=\"linenodiv\"><pre>1\n2</pre></div></td><td class=\"code\"><div class=\"highlight\"><pre><span></span><span class=\"ch\">#!/usr/bin/ruby</span>\n<span class=\"nb\">puts</span> <span class=\"s1\">&#39;foo&#39;</span>\n</pre></div>\n</td></tr></table>", code
33
31
  end
@@ -35,66 +33,61 @@ class PygmentsHighlightTest < Test::Unit::TestCase
35
33
  def test_highlight_works_with_larger_files
36
34
  code = P.highlight(REDIS_CODE)
37
35
  assert_match 'used_memory_peak_human', code
38
- assert_equal 458511, code.bytesize.to_i
39
36
  end
40
37
 
41
- def test_returns_nil_on_timeout
42
- large_code = REDIS_CODE * 300
43
- code = P.highlight(large_code) # a 30 mb highlight request will timeout
44
- assert_equal nil, code
38
+ def test_raises_exception_on_timeout
39
+ assert_raise MentosError.new('Timeout on a mentos highlight call') do
40
+ # Assume highlighting a large file will take more than 1 millisecond
41
+ P.highlight(REDIS_CODE, timeout: 0.001)
42
+ end
45
43
  end
46
44
 
47
45
  def test_highlight_works_with_null_bytes
48
- code = P.highlight("\0hello", :lexer => 'rb')
49
- assert_match "hello", code
46
+ code = P.highlight("\0hello", lexer: 'rb')
47
+ assert_match 'hello', code
50
48
  end
51
49
 
52
50
  def test_highlight_works_on_utf8
53
- code = P.highlight('# ø', :lexer => 'rb', :options => {:encoding => 'utf-8'})
54
- assert_match "# ø", code
51
+ code = P.highlight('# ø', lexer: 'rb', options: { encoding: 'utf-8' })
52
+ assert_match '# ø', code
55
53
  end
56
54
 
57
55
  def test_highlight_works_on_utf8_automatically
58
- code = P.highlight('# ø', :lexer => 'rb')
59
- assert_match "# ø", code
56
+ code = P.highlight('# ø', lexer: 'rb')
57
+ assert_match '# ø', code
60
58
  end
61
59
 
62
60
  def test_highlight_works_on_utf8_all_chars_automatically
63
- code = P.highlight('def foo: # ø', :lexer => 'py')
61
+ code = P.highlight('def foo: # ø', lexer: 'py')
64
62
 
65
- assert_equal "<div class=\"highlight\"><pre><span></sp", code[0,38]
63
+ assert_equal '<div class="highlight"><pre><span></sp', code[0, 38]
66
64
  end
67
65
 
68
66
  def test_highlight_works_with_multiple_utf8
69
- code = P.highlight('# ø ø ø', :lexer => 'rb', :options => {:encoding => 'utf-8'})
70
- assert_match "# ø ø ø", code
67
+ code = P.highlight('# ø ø ø', lexer: 'rb', options: { encoding: 'utf-8' })
68
+ assert_match '# ø ø ø', code
71
69
  end
72
70
 
73
71
  def test_highlight_works_with_multiple_utf8_and_trailing_newline
74
- code = P.highlight("#!/usr/bin/ruby\nputs 'ø..ø'\n", :lexer => 'rb')
75
- assert_match "ø..ø", code
72
+ code = P.highlight("#!/usr/bin/ruby\nputs 'ø..ø'\n", lexer: 'rb')
73
+ assert_match 'ø..ø', code
76
74
  end
77
75
 
78
76
  def test_highlight_formatter_bbcode
79
- code = P.highlight(RUBY_CODE, :formatter => 'bbcode')
77
+ code = P.highlight(RUBY_CODE, formatter: 'bbcode')
80
78
  assert_match 'color=#408080][i]#!/usr/bin/ruby[/i]', code
81
79
  end
82
80
 
83
81
  def test_highlight_formatter_terminal
84
- code = P.highlight(RUBY_CODE, :formatter => 'terminal')
82
+ code = P.highlight(RUBY_CODE, formatter: 'terminal')
85
83
  assert_match '39;49;00m', code
86
84
  end
87
85
 
88
86
  def test_highlight_options
89
- code = P.highlight(RUBY_CODE, :options => {:full => true, :title => 'test'})
87
+ code = P.highlight(RUBY_CODE, options: { full: true, title: 'test' })
90
88
  assert_match '<title>test</title>', code
91
89
  end
92
90
 
93
- def test_highlight_works_with_single_character_input
94
- code = P.highlight("a")
95
- assert_match "a\n</pre>", code
96
- end
97
-
98
91
  def test_highlight_works_with_trailing_newline
99
92
  code = P.highlight(RUBY_CODE_TRAILING_NEWLINE)
100
93
  assert_match '<span class="ch">#!/usr/bin/ruby</span>', code
@@ -111,20 +104,19 @@ class PygmentsHighlightTest < Test::Unit::TestCase
111
104
  end
112
105
 
113
106
  def test_highlight_still_works_with_invalid_code
114
- code = P.highlight("importr python; wat?", :lexer => 'py')
115
- assert_match ">importr</span>", code
107
+ code = P.highlight('importr python; wat?', lexer: 'py')
108
+ assert_match '>importr</span>', code
116
109
  end
117
110
 
118
111
  def test_highlight_on_multi_threads
112
+ omit 'We do not actually support multithreading'
113
+
119
114
  10.times.map do
120
115
  Thread.new do
121
116
  test_full_html_highlight
122
117
  end
123
- end.each do |thread|
124
- thread.join
125
- end
118
+ end.each(&:join)
126
119
  end
127
-
128
120
  end
129
121
 
130
122
  # Philosophically, I'm not the biggest fan of testing private
@@ -132,45 +124,23 @@ end
132
124
  # over the pipe I think it's necessary and informative.
133
125
  class PygmentsValidityTest < Test::Unit::TestCase
134
126
  def test_add_ids_with_padding
135
- res = PE.send(:add_ids, "herp derp baz boo foo", "ABCDEFGH")
136
- assert_equal "ABCDEFGH herp derp baz boo foo ABCDEFGH", res
127
+ res = PE.send(:add_ids, 'herp derp baz boo foo', 'ABCDEFGH')
128
+ assert_equal 'ABCDEFGH herp derp baz boo foo ABCDEFGH', res
137
129
  end
138
130
 
139
131
  def test_add_ids_on_empty_string
140
- res = PE.send(:add_ids, "", "ABCDEFGH")
141
- assert_equal "ABCDEFGH ABCDEFGH", res
132
+ res = PE.send(:add_ids, '', 'ABCDEFGH')
133
+ assert_equal 'ABCDEFGH ABCDEFGH', res
142
134
  end
143
135
 
144
136
  def test_add_ids_with_unicode_data
145
- res = PE.send(:add_ids, "# ø ø ø", "ABCDEFGH")
146
- assert_equal "ABCDEFGH # ø ø ø ABCDEFGH", res
137
+ res = PE.send(:add_ids, '# ø ø ø', 'ABCDEFGH')
138
+ assert_equal 'ABCDEFGH # ø ø ø ABCDEFGH', res
147
139
  end
148
140
 
149
141
  def test_add_ids_with_starting_slashes
150
- res = PE.send(:add_ids, '\\# ø ø ø..//', "ABCDEFGH")
151
- assert_equal "ABCDEFGH \\# ø ø ø..// ABCDEFGH", res
152
- end
153
-
154
- def test_get_fixed_bits_from_header
155
- bits = PE.send(:get_fixed_bits_from_header, '{"herp": "derp"}')
156
- assert_equal "00000000000000000000000000010000", bits
157
- end
158
-
159
- def test_get_fixed_bits_from_header_works_with_large_headers
160
- bits = PE.send(:get_fixed_bits_from_header, '{"herp": "derp"}' * 10000)
161
- assert_equal "00000000000000100111000100000000", bits
162
- end
163
-
164
- def test_size_check
165
- size = "00000000000000000000000000100110"
166
- res = PE.send(:size_check, size)
167
- assert_equal res, true
168
- end
169
-
170
- def test_size_check_bad
171
- size = "some random thing"
172
- res = PE.send(:size_check, size)
173
- assert_equal res, false
142
+ res = PE.send(:add_ids, '\\# ø ø ø..//', 'ABCDEFGH')
143
+ assert_equal 'ABCDEFGH \\# ø ø ø..// ABCDEFGH', res
174
144
  end
175
145
  end
176
146
 
@@ -178,23 +148,23 @@ class PygmentsLexerTest < Test::Unit::TestCase
178
148
  RUBY_CODE = "#!/usr/bin/ruby\nputs 'foo'"
179
149
 
180
150
  def test_lexer_by_mimetype
181
- assert_equal 'rb', P.lexer_name_for(:mimetype => 'text/x-ruby')
182
- assert_equal 'json', P.lexer_name_for(:mimetype => 'application/json')
151
+ assert_equal 'rb', P.lexer_name_for(mimetype: 'text/x-ruby')
152
+ assert_equal 'json', P.lexer_name_for(mimetype: 'application/json')
183
153
  end
184
154
 
185
155
  def test_lexer_by_filename
186
- assert_equal 'rb', P.lexer_name_for(:filename => 'test.rb')
187
- assert_equal 'scala', P.lexer_name_for(:filename => 'test.scala')
156
+ assert_equal 'rb', P.lexer_name_for(filename: 'test.rb')
157
+ assert_equal 'scala', P.lexer_name_for(filename: 'test.scala')
188
158
  end
189
159
 
190
160
  def test_lexer_by_name
191
- assert_equal 'rb', P.lexer_name_for(:lexer => 'ruby')
192
- assert_equal 'python', P.lexer_name_for(:lexer => 'python')
193
- assert_equal 'c', P.lexer_name_for(:lexer => 'c')
161
+ assert_equal 'rb', P.lexer_name_for(lexer: 'ruby')
162
+ assert_equal 'python', P.lexer_name_for(lexer: 'python')
163
+ assert_equal 'c', P.lexer_name_for(lexer: 'c')
194
164
  end
195
165
 
196
166
  def test_lexer_by_filename_and_content
197
- assert_equal 'rb', P.lexer_name_for(RUBY_CODE, :filename => 'test.rb')
167
+ assert_equal 'rb', P.lexer_name_for(RUBY_CODE, filename: 'test.rb')
198
168
  end
199
169
 
200
170
  def test_lexer_by_content
@@ -203,7 +173,7 @@ class PygmentsLexerTest < Test::Unit::TestCase
203
173
 
204
174
  def test_lexer_by_nothing
205
175
  assert_raise MentosError do
206
- P.lexer_name_for(:invalid => true)
176
+ P.lexer_name_for(invalid: true)
207
177
  end
208
178
  end
209
179
  end
@@ -240,14 +210,13 @@ class PygmentsLexerClassTest < Test::Unit::TestCase
240
210
  assert_equal P::Lexer['Java'], P::Lexer.find_by_extname('.java')
241
211
  end
242
212
 
243
- def test_find_lexer_by_mimetype
213
+ def test_find_lexer_by_mimetype
244
214
  assert_equal P::Lexer['Ruby'], P::Lexer.find_by_mimetype('text/x-ruby')
245
215
  assert_equal P::Lexer['JSON'], P::Lexer.find_by_mimetype('application/json')
246
216
  assert_equal P::Lexer['Python'], P::Lexer.find_by_mimetype('text/x-python')
247
- end
217
+ end
248
218
  end
249
219
 
250
-
251
220
  class PygmentsCssTest < Test::Unit::TestCase
252
221
  include Pygments
253
222
 
@@ -260,11 +229,11 @@ class PygmentsCssTest < Test::Unit::TestCase
260
229
  end
261
230
 
262
231
  def test_css_options
263
- assert_match(/^\.codeerr \{/, P.css(:classprefix => 'code'))
232
+ assert_match(/^\.codeerr \{/, P.css(classprefix: 'code'))
264
233
  end
265
234
 
266
235
  def test_css_prefix_and_options
267
- assert_match(/^\.mycode \.codeerr \{/, P.css('.mycode', :classprefix => 'code'))
236
+ assert_match(/^\.mycode \.codeerr \{/, P.css('.mycode', classprefix: 'code'))
268
237
  end
269
238
 
270
239
  def test_css_default
@@ -272,7 +241,7 @@ class PygmentsCssTest < Test::Unit::TestCase
272
241
  end
273
242
 
274
243
  def test_css_colorful
275
- assert_match '.c { color: #888888 }', P.css(:style => 'colorful')
244
+ assert_match '.c { color: #888888 }', P.css(style: 'colorful')
276
245
  end
277
246
  end
278
247
 
@@ -287,15 +256,13 @@ class PygmentsConfigTest < Test::Unit::TestCase
287
256
 
288
257
  def test_lexers
289
258
  list = P.lexers
290
- assert list.has_key?('Ruby')
259
+ assert list.key?('Ruby')
291
260
  assert list['Ruby'][:aliases].include?('duby')
292
261
  end
293
262
 
294
263
  def test_formatters
295
264
  list = P.formatters
296
- assert list.has_key?('Html')
265
+ assert list.key?('Html')
297
266
  assert list['Html'][:aliases].include?('html')
298
267
  end
299
268
  end
300
-
301
-
@@ -7,7 +7,8 @@ Other contributors, listed alphabetically, are:
7
7
 
8
8
  * Sam Aaron -- Ioke lexer
9
9
  * Ali Afshar -- image formatter
10
- * Thomas Aglassinger -- Easytrieve, JCL, Rexx and Transact-SQL lexers
10
+ * Thomas Aglassinger -- Easytrieve, JCL, Rexx, Transact-SQL and VBScript
11
+ lexers
11
12
  * Muthiah Annamalai -- Ezhil lexer
12
13
  * Kumar Appaiah -- Debian control lexer
13
14
  * Andreas Amann -- AppleScript lexer
@@ -31,8 +32,10 @@ Other contributors, listed alphabetically, are:
31
32
  * Sébastien Bigaret -- QVT Operational lexer
32
33
  * Jarrett Billingsley -- MiniD lexer
33
34
  * Adam Blinkinsop -- Haskell, Redcode lexers
35
+ * Stéphane Blondon -- SGF and Sieve lexers
34
36
  * Frits van Bommel -- assembler lexers
35
37
  * Pierre Bourdon -- bugfixes
38
+ * Martijn Braam -- Kernel log lexer, BARE lexer
36
39
  * Matthias Bussonnier -- ANSI style handling for terminal-256 formatter
37
40
  * chebee7i -- Python traceback lexer improvements
38
41
  * Hiram Chirino -- Scaml and Jade lexers
@@ -53,26 +56,30 @@ Other contributors, listed alphabetically, are:
53
56
  * Sven Efftinge -- Xtend lexer
54
57
  * Artem Egorkine -- terminal256 formatter
55
58
  * Matthew Fernandez -- CAmkES lexer
59
+ * Paweł Fertyk -- GDScript lexer, HTML formatter improvements
56
60
  * Michael Ficarra -- CPSA lexer
57
61
  * James H. Fisher -- PostScript lexer
58
62
  * William S. Fulton -- SWIG lexer
59
63
  * Carlos Galdino -- Elixir and Elixir Console lexers
60
64
  * Michael Galloy -- IDL lexer
61
65
  * Naveen Garg -- Autohotkey lexer
66
+ * Simon Garnotel -- FreeFem++ lexer
62
67
  * Laurent Gautier -- R/S lexer
63
68
  * Alex Gaynor -- PyPy log lexer
64
69
  * Richard Gerkin -- Igor Pro lexer
65
70
  * Alain Gilbert -- TypeScript lexer
66
71
  * Alex Gilding -- BlitzBasic lexer
72
+ * GitHub, Inc -- DASM16, Augeas, TOML, and Slash lexers
67
73
  * Bertrand Goetzmann -- Groovy lexer
68
74
  * Krzysiek Goj -- Scala lexer
75
+ * Rostyslav Golda -- FloScript lexer
69
76
  * Andrey Golovizin -- BibTeX lexers
70
77
  * Matt Good -- Genshi, Cheetah lexers
71
78
  * Michał Górny -- vim modeline support
72
79
  * Alex Gosse -- TrafficScript lexer
73
80
  * Patrick Gotthardt -- PHP namespaces support
74
81
  * Olivier Guibe -- Asymptote lexer
75
- * Jordi Gutiérrez Hermoso -- Octave lexer
82
+ * Phil Hagelberg -- Fennel lexer
76
83
  * Florian Hahn -- Boogie lexer
77
84
  * Martin Harriman -- SNOBOL lexer
78
85
  * Matthew Harrison -- SVG formatter
@@ -81,7 +88,9 @@ Other contributors, listed alphabetically, are:
81
88
  * Aslak Hellesøy -- Gherkin lexer
82
89
  * Greg Hendershott -- Racket lexer
83
90
  * Justin Hendrick -- ParaSail lexer
91
+ * Jordi Gutiérrez Hermoso -- Octave lexer
84
92
  * David Hess, Fish Software, Inc. -- Objective-J lexer
93
+ * Ken Hilton -- Typographic Number Theory and Arrow lexers
85
94
  * Varun Hiremath -- Debian control lexer
86
95
  * Rob Hoelz -- Perl 6 lexer
87
96
  * Doug Hogan -- Mscgen lexer
@@ -98,6 +107,7 @@ Other contributors, listed alphabetically, are:
98
107
  * Dennis Kaarsemaker -- sources.list lexer
99
108
  * Dmitri Kabak -- Inferno Limbo lexer
100
109
  * Igor Kalnitsky -- vhdl lexer
110
+ * Colin Kennedy - USD lexer
101
111
  * Alexander Kit -- MaskJS lexer
102
112
  * Pekka Klärck -- Robot Framework lexer
103
113
  * Gerwin Klein -- Isabelle lexer
@@ -129,6 +139,7 @@ Other contributors, listed alphabetically, are:
129
139
  * Stephen McKamey -- Duel/JBST lexer
130
140
  * Brian McKenna -- F# lexer
131
141
  * Charles McLaughlin -- Puppet lexer
142
+ * Kurt McKee -- Tera Term macro lexer, PostgreSQL updates, MySQL overhaul
132
143
  * Lukas Meuser -- BBCode formatter, Lua lexer
133
144
  * Cat Miller -- Pig lexer
134
145
  * Paul Miller -- LiveScript lexer
@@ -145,6 +156,7 @@ Other contributors, listed alphabetically, are:
145
156
  * Nam T. Nguyen -- Monokai style
146
157
  * Jesper Noehr -- HTML formatter "anchorlinenos"
147
158
  * Mike Nolta -- Julia lexer
159
+ * Avery Nortonsmith -- Pointless lexer
148
160
  * Jonas Obrist -- BBCode lexer
149
161
  * Edward O'Callaghan -- Cryptol lexer
150
162
  * David Oliva -- Rebol lexer
@@ -157,9 +169,12 @@ Other contributors, listed alphabetically, are:
157
169
  * Clément Prévost -- UrbiScript lexer
158
170
  * Tanner Prynn -- cmdline -x option and loading lexers from files
159
171
  * Oleh Prypin -- Crystal lexer (based on Ruby lexer)
172
+ * Xidorn Quan -- Web IDL lexer
160
173
  * Elias Rabel -- Fortran fixed form lexer
161
174
  * raichoo -- Idris lexer
175
+ * Daniel Ramirez -- GDScript lexer
162
176
  * Kashif Rasul -- CUDA lexer
177
+ * Nathan Reed -- HLSL lexer
163
178
  * Justin Reidy -- MXML lexer
164
179
  * Norman Richards -- JSON lexer
165
180
  * Corey Richardson -- Rust lexer updates
@@ -173,10 +188,12 @@ Other contributors, listed alphabetically, are:
173
188
  * Stou Sandalski -- NumPy, FORTRAN, tcsh and XSLT lexers
174
189
  * Matteo Sasso -- Common Lisp lexer
175
190
  * Joe Schafer -- Ada lexer
191
+ * Max Schillinger -- TiddlyWiki5 lexer
176
192
  * Ken Schutte -- Matlab lexers
177
193
  * René Schwaiger -- Rainbow Dash style
178
194
  * Sebastian Schweizer -- Whiley lexer
179
195
  * Tassilo Schweyer -- Io, MOOCode lexers
196
+ * Pablo Seminario -- PromQL lexer
180
197
  * Ted Shaw -- AutoIt lexer
181
198
  * Joerg Sieker -- ABAP lexer
182
199
  * Robert Simmons -- Standard ML lexer
@@ -185,7 +202,7 @@ Other contributors, listed alphabetically, are:
185
202
  * Alexander Smishlajev -- Visual FoxPro lexer
186
203
  * Steve Spigarelli -- XQuery lexer
187
204
  * Jerome St-Louis -- eC lexer
188
- * Camil Staps -- Clean and NuSMV lexers
205
+ * Camil Staps -- Clean and NuSMV lexers; Solarized style
189
206
  * James Strachan -- Kotlin lexer
190
207
  * Tom Stuart -- Treetop lexer
191
208
  * Colin Sullivan -- SuperCollider lexer
@@ -216,5 +233,6 @@ Other contributors, listed alphabetically, are:
216
233
  * Alex Zimin -- Nemerle lexer
217
234
  * Rob Zimmerman -- Kal lexer
218
235
  * Vincent Zurczak -- Roboconf lexer
236
+ * Hubert Gruniaux -- C and C++ lexer improvements
219
237
 
220
238
  Many thanks for all contributions!