pygments.rb 1.2.1 → 2.2.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 (386) hide show
  1. checksums.yaml +5 -5
  2. data/.github/dependabot.yml +13 -0
  3. data/.github/workflows/ci.yml +40 -0
  4. data/.github/workflows/release.yml +24 -0
  5. data/.gitignore +4 -6
  6. data/.rubocop.yml +16 -0
  7. data/CHANGELOG.adoc +137 -0
  8. data/Gemfile +3 -1
  9. data/LICENSE +1 -1
  10. data/README.adoc +159 -0
  11. data/Rakefile +8 -32
  12. data/bench.rb +14 -8
  13. data/lib/pygments.rb +16 -14
  14. data/lib/pygments/lexer.rb +87 -65
  15. data/lib/pygments/mentos.py +23 -110
  16. data/lib/pygments/popen.rb +188 -284
  17. data/lib/pygments/version.rb +2 -2
  18. data/pygments.rb.gemspec +20 -13
  19. data/test/test_pygments.rb +50 -110
  20. data/vendor/pygments-main/{AUTHORS → Pygments-2.8.1.dist-info/AUTHORS} +26 -3
  21. data/vendor/pygments-main/Pygments-2.8.1.dist-info/INSTALLER +1 -0
  22. data/vendor/pygments-main/{LICENSE → Pygments-2.8.1.dist-info/LICENSE} +1 -1
  23. data/vendor/pygments-main/Pygments-2.8.1.dist-info/METADATA +48 -0
  24. data/vendor/pygments-main/Pygments-2.8.1.dist-info/RECORD +494 -0
  25. data/vendor/pygments-main/Pygments-2.8.1.dist-info/REQUESTED +0 -0
  26. data/vendor/pygments-main/Pygments-2.8.1.dist-info/WHEEL +5 -0
  27. data/vendor/pygments-main/Pygments-2.8.1.dist-info/entry_points.txt +3 -0
  28. data/vendor/pygments-main/Pygments-2.8.1.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 -12
  31. data/vendor/pygments-main/pygments/__main__.py +17 -0
  32. data/vendor/pygments-main/pygments/cmdline.py +213 -184
  33. data/vendor/pygments-main/pygments/console.py +6 -10
  34. data/vendor/pygments-main/pygments/filter.py +4 -7
  35. data/vendor/pygments-main/pygments/filters/__init__.py +609 -22
  36. data/vendor/pygments-main/pygments/formatter.py +4 -5
  37. data/vendor/pygments-main/pygments/formatters/__init__.py +10 -10
  38. data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -4
  39. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -2
  40. data/vendor/pygments-main/pygments/formatters/html.py +242 -139
  41. data/vendor/pygments-main/pygments/formatters/img.py +91 -50
  42. data/vendor/pygments-main/pygments/formatters/irc.py +39 -40
  43. data/vendor/pygments-main/pygments/formatters/latex.py +62 -33
  44. data/vendor/pygments-main/pygments/formatters/other.py +18 -17
  45. data/vendor/pygments-main/pygments/formatters/rtf.py +29 -30
  46. data/vendor/pygments-main/pygments/formatters/svg.py +40 -5
  47. data/vendor/pygments-main/pygments/formatters/terminal.py +25 -32
  48. data/vendor/pygments-main/pygments/formatters/terminal256.py +45 -14
  49. data/vendor/pygments-main/pygments/lexer.py +47 -44
  50. data/vendor/pygments-main/pygments/lexers/__init__.py +341 -0
  51. data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +1644 -0
  52. data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +231 -0
  53. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +75 -0
  54. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1724 -0
  55. data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +5326 -0
  56. data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +292 -0
  57. data/vendor/pygments-main/pygments/lexers/_mapping.py +554 -0
  58. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1171 -0
  59. data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +1281 -0
  60. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +2600 -0
  61. data/vendor/pygments-main/pygments/lexers/_php_builtins.py +4752 -0
  62. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +677 -0
  63. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +3093 -0
  64. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1160 -0
  65. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +557 -0
  66. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +457 -0
  67. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1003 -0
  68. data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +112 -0
  69. data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +279 -0
  70. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1938 -0
  71. data/vendor/pygments-main/pygments/lexers/actionscript.py +244 -0
  72. data/vendor/pygments-main/pygments/lexers/agile.py +23 -0
  73. data/vendor/pygments-main/pygments/lexers/algebra.py +239 -0
  74. data/vendor/pygments-main/pygments/lexers/ambient.py +75 -0
  75. data/vendor/pygments-main/pygments/lexers/amdgpu.py +48 -0
  76. data/vendor/pygments-main/pygments/lexers/ampl.py +86 -0
  77. data/vendor/pygments-main/pygments/lexers/apl.py +100 -0
  78. data/vendor/pygments-main/pygments/lexers/archetype.py +317 -0
  79. data/vendor/pygments-main/pygments/lexers/arrow.py +116 -0
  80. data/vendor/pygments-main/pygments/lexers/asm.py +1004 -0
  81. data/vendor/pygments-main/pygments/lexers/automation.py +379 -0
  82. data/vendor/pygments-main/pygments/lexers/bare.py +103 -0
  83. data/vendor/pygments-main/pygments/lexers/basic.py +661 -0
  84. data/vendor/pygments-main/pygments/lexers/bibtex.py +159 -0
  85. data/vendor/pygments-main/pygments/lexers/boa.py +101 -0
  86. data/vendor/pygments-main/pygments/lexers/business.py +626 -0
  87. data/vendor/pygments-main/pygments/lexers/c_cpp.py +342 -0
  88. data/vendor/pygments-main/pygments/lexers/c_like.py +565 -0
  89. data/vendor/pygments-main/pygments/lexers/capnproto.py +77 -0
  90. data/vendor/pygments-main/pygments/lexers/cddl.py +190 -0
  91. data/vendor/pygments-main/pygments/lexers/chapel.py +111 -0
  92. data/vendor/pygments-main/pygments/lexers/clean.py +178 -0
  93. data/vendor/pygments-main/pygments/lexers/compiled.py +33 -0
  94. data/vendor/pygments-main/pygments/lexers/configs.py +985 -0
  95. data/vendor/pygments-main/pygments/lexers/console.py +113 -0
  96. data/vendor/pygments-main/pygments/lexers/crystal.py +366 -0
  97. data/vendor/pygments-main/pygments/lexers/csound.py +466 -0
  98. data/vendor/pygments-main/pygments/lexers/css.py +694 -0
  99. data/vendor/pygments-main/pygments/lexers/d.py +255 -0
  100. data/vendor/pygments-main/pygments/lexers/dalvik.py +124 -0
  101. data/vendor/pygments-main/pygments/lexers/data.py +697 -0
  102. data/vendor/pygments-main/pygments/lexers/devicetree.py +108 -0
  103. data/vendor/pygments-main/pygments/lexers/diff.py +164 -0
  104. data/vendor/pygments-main/pygments/lexers/dotnet.py +706 -0
  105. data/vendor/pygments-main/pygments/lexers/dsls.py +959 -0
  106. data/vendor/pygments-main/pygments/lexers/dylan.py +286 -0
  107. data/vendor/pygments-main/pygments/lexers/ecl.py +137 -0
  108. data/vendor/pygments-main/pygments/lexers/eiffel.py +64 -0
  109. data/vendor/pygments-main/pygments/lexers/elm.py +120 -0
  110. data/vendor/pygments-main/pygments/lexers/email.py +150 -0
  111. data/vendor/pygments-main/pygments/lexers/erlang.py +529 -0
  112. data/vendor/pygments-main/pygments/lexers/esoteric.py +303 -0
  113. data/vendor/pygments-main/pygments/lexers/ezhil.py +76 -0
  114. data/vendor/pygments-main/pygments/lexers/factor.py +343 -0
  115. data/vendor/pygments-main/pygments/lexers/fantom.py +249 -0
  116. data/vendor/pygments-main/pygments/lexers/felix.py +272 -0
  117. data/vendor/pygments-main/pygments/lexers/floscript.py +82 -0
  118. data/vendor/pygments-main/pygments/lexers/forth.py +177 -0
  119. data/vendor/pygments-main/pygments/lexers/fortran.py +208 -0
  120. data/vendor/pygments-main/pygments/lexers/foxpro.py +427 -0
  121. data/vendor/pygments-main/pygments/lexers/freefem.py +897 -0
  122. data/vendor/pygments-main/pygments/lexers/functional.py +20 -0
  123. data/vendor/pygments-main/pygments/lexers/futhark.py +110 -0
  124. data/vendor/pygments-main/pygments/lexers/gdscript.py +345 -0
  125. data/vendor/pygments-main/pygments/lexers/go.py +100 -0
  126. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +269 -0
  127. data/vendor/pygments-main/pygments/lexers/graph.py +84 -0
  128. data/vendor/pygments-main/pygments/lexers/graphics.py +799 -0
  129. data/vendor/pygments-main/pygments/lexers/graphviz.py +57 -0
  130. data/vendor/pygments-main/pygments/lexers/haskell.py +869 -0
  131. data/vendor/pygments-main/pygments/lexers/haxe.py +935 -0
  132. data/vendor/pygments-main/pygments/lexers/hdl.py +468 -0
  133. data/vendor/pygments-main/pygments/lexers/hexdump.py +102 -0
  134. data/vendor/pygments-main/pygments/lexers/html.py +613 -0
  135. data/vendor/pygments-main/pygments/lexers/idl.py +280 -0
  136. data/vendor/pygments-main/pygments/lexers/igor.py +419 -0
  137. data/vendor/pygments-main/pygments/lexers/inferno.py +95 -0
  138. data/vendor/pygments-main/pygments/lexers/installers.py +321 -0
  139. data/vendor/pygments-main/pygments/lexers/int_fiction.py +1367 -0
  140. data/vendor/pygments-main/pygments/lexers/iolang.py +62 -0
  141. data/vendor/pygments-main/pygments/lexers/j.py +145 -0
  142. data/vendor/pygments-main/pygments/lexers/javascript.py +1536 -0
  143. data/vendor/pygments-main/pygments/lexers/julia.py +330 -0
  144. data/vendor/pygments-main/pygments/lexers/jvm.py +1739 -0
  145. data/vendor/pygments-main/pygments/lexers/lisp.py +2698 -0
  146. data/vendor/pygments-main/pygments/lexers/make.py +205 -0
  147. data/vendor/pygments-main/pygments/lexers/markup.py +762 -0
  148. data/vendor/pygments-main/pygments/lexers/math.py +20 -0
  149. data/vendor/pygments-main/pygments/lexers/matlab.py +3280 -0
  150. data/vendor/pygments-main/pygments/lexers/mime.py +225 -0
  151. data/vendor/pygments-main/pygments/lexers/ml.py +957 -0
  152. data/vendor/pygments-main/pygments/lexers/modeling.py +365 -0
  153. data/vendor/pygments-main/pygments/lexers/modula2.py +1579 -0
  154. data/vendor/pygments-main/pygments/lexers/monte.py +203 -0
  155. data/vendor/pygments-main/pygments/lexers/mosel.py +447 -0
  156. data/vendor/pygments-main/pygments/lexers/ncl.py +893 -0
  157. data/vendor/pygments-main/pygments/lexers/nimrod.py +158 -0
  158. data/vendor/pygments-main/pygments/lexers/nit.py +63 -0
  159. data/vendor/pygments-main/pygments/lexers/nix.py +135 -0
  160. data/vendor/pygments-main/pygments/lexers/oberon.py +120 -0
  161. data/vendor/pygments-main/pygments/lexers/objective.py +503 -0
  162. data/vendor/pygments-main/pygments/lexers/ooc.py +84 -0
  163. data/vendor/pygments-main/pygments/lexers/other.py +40 -0
  164. data/vendor/pygments-main/pygments/lexers/parasail.py +78 -0
  165. data/vendor/pygments-main/pygments/lexers/parsers.py +799 -0
  166. data/vendor/pygments-main/pygments/lexers/pascal.py +643 -0
  167. data/vendor/pygments-main/pygments/lexers/pawn.py +202 -0
  168. data/vendor/pygments-main/pygments/lexers/perl.py +731 -0
  169. data/vendor/pygments-main/pygments/lexers/php.py +320 -0
  170. data/vendor/pygments-main/pygments/lexers/pointless.py +70 -0
  171. data/vendor/pygments-main/pygments/lexers/pony.py +93 -0
  172. data/vendor/pygments-main/pygments/lexers/praat.py +301 -0
  173. data/vendor/pygments-main/pygments/lexers/prolog.py +305 -0
  174. data/vendor/pygments-main/pygments/lexers/promql.py +182 -0
  175. data/vendor/pygments-main/pygments/lexers/python.py +1158 -0
  176. data/vendor/pygments-main/pygments/lexers/qvt.py +151 -0
  177. data/vendor/pygments-main/pygments/lexers/r.py +190 -0
  178. data/vendor/pygments-main/pygments/lexers/rdf.py +462 -0
  179. data/vendor/pygments-main/pygments/lexers/rebol.py +430 -0
  180. data/vendor/pygments-main/pygments/lexers/resource.py +84 -0
  181. data/vendor/pygments-main/pygments/lexers/ride.py +138 -0
  182. data/vendor/pygments-main/pygments/lexers/rnc.py +66 -0
  183. data/vendor/pygments-main/pygments/lexers/roboconf.py +81 -0
  184. data/vendor/pygments-main/pygments/lexers/robotframework.py +551 -0
  185. data/vendor/pygments-main/pygments/lexers/ruby.py +523 -0
  186. data/vendor/pygments-main/pygments/lexers/rust.py +223 -0
  187. data/vendor/pygments-main/pygments/lexers/sas.py +227 -0
  188. data/vendor/pygments-main/pygments/lexers/scdoc.py +82 -0
  189. data/vendor/pygments-main/pygments/lexers/scripting.py +1283 -0
  190. data/vendor/pygments-main/pygments/lexers/sgf.py +60 -0
  191. data/vendor/pygments-main/pygments/lexers/shell.py +909 -0
  192. data/vendor/pygments-main/pygments/lexers/sieve.py +68 -0
  193. data/vendor/pygments-main/pygments/lexers/slash.py +184 -0
  194. data/vendor/pygments-main/pygments/lexers/smalltalk.py +194 -0
  195. data/vendor/pygments-main/pygments/lexers/smv.py +78 -0
  196. data/vendor/pygments-main/pygments/lexers/snobol.py +82 -0
  197. data/vendor/pygments-main/pygments/lexers/solidity.py +91 -0
  198. data/vendor/pygments-main/pygments/lexers/special.py +106 -0
  199. data/vendor/pygments-main/pygments/lexers/sql.py +832 -0
  200. data/vendor/pygments-main/pygments/lexers/stata.py +170 -0
  201. data/vendor/pygments-main/pygments/lexers/supercollider.py +94 -0
  202. data/vendor/pygments-main/pygments/lexers/tcl.py +144 -0
  203. data/vendor/pygments-main/pygments/lexers/templates.py +2263 -0
  204. data/vendor/pygments-main/pygments/lexers/teraterm.py +334 -0
  205. data/vendor/pygments-main/pygments/lexers/testing.py +206 -0
  206. data/vendor/pygments-main/pygments/lexers/text.py +25 -0
  207. data/vendor/pygments-main/pygments/lexers/textedit.py +168 -0
  208. data/vendor/pygments-main/pygments/lexers/textfmts.py +429 -0
  209. data/vendor/pygments-main/pygments/lexers/theorem.py +476 -0
  210. data/vendor/pygments-main/pygments/lexers/tnt.py +262 -0
  211. data/vendor/pygments-main/pygments/lexers/trafficscript.py +53 -0
  212. data/vendor/pygments-main/pygments/lexers/typoscript.py +218 -0
  213. data/vendor/pygments-main/pygments/lexers/unicon.py +411 -0
  214. data/vendor/pygments-main/pygments/lexers/urbi.py +145 -0
  215. data/vendor/pygments-main/pygments/lexers/usd.py +89 -0
  216. data/vendor/pygments-main/pygments/lexers/varnish.py +189 -0
  217. data/vendor/pygments-main/pygments/lexers/verification.py +113 -0
  218. data/vendor/pygments-main/pygments/lexers/web.py +23 -0
  219. data/vendor/pygments-main/pygments/lexers/webidl.py +298 -0
  220. data/vendor/pygments-main/pygments/lexers/webmisc.py +991 -0
  221. data/vendor/pygments-main/pygments/lexers/whiley.py +115 -0
  222. data/vendor/pygments-main/pygments/lexers/x10.py +68 -0
  223. data/vendor/pygments-main/pygments/lexers/xorg.py +36 -0
  224. data/vendor/pygments-main/pygments/lexers/yang.py +103 -0
  225. data/vendor/pygments-main/pygments/lexers/zig.py +123 -0
  226. data/vendor/pygments-main/pygments/modeline.py +1 -2
  227. data/vendor/pygments-main/pygments/plugin.py +4 -3
  228. data/vendor/pygments-main/pygments/regexopt.py +1 -2
  229. data/vendor/pygments-main/pygments/scanner.py +2 -3
  230. data/vendor/pygments-main/pygments/sphinxext.py +2 -5
  231. data/vendor/pygments-main/pygments/style.py +61 -25
  232. data/vendor/pygments-main/pygments/styles/__init__.py +12 -5
  233. data/vendor/pygments-main/pygments/styles/abap.py +1 -2
  234. data/vendor/pygments-main/pygments/styles/algol.py +1 -2
  235. data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -2
  236. data/vendor/pygments-main/pygments/styles/arduino.py +2 -3
  237. data/vendor/pygments-main/pygments/styles/autumn.py +1 -2
  238. data/vendor/pygments-main/pygments/styles/borland.py +1 -2
  239. data/vendor/pygments-main/pygments/styles/bw.py +1 -2
  240. data/vendor/pygments-main/pygments/styles/colorful.py +1 -2
  241. data/vendor/pygments-main/pygments/styles/default.py +1 -2
  242. data/vendor/pygments-main/pygments/styles/emacs.py +1 -2
  243. data/vendor/pygments-main/pygments/styles/friendly.py +1 -2
  244. data/vendor/pygments-main/pygments/styles/fruity.py +1 -2
  245. data/vendor/pygments-main/pygments/styles/igor.py +1 -2
  246. data/vendor/pygments-main/pygments/styles/inkpot.py +66 -0
  247. data/vendor/pygments-main/pygments/styles/lovelace.py +1 -2
  248. data/vendor/pygments-main/pygments/styles/manni.py +1 -2
  249. data/vendor/pygments-main/pygments/styles/material.py +118 -0
  250. data/vendor/pygments-main/pygments/styles/monokai.py +4 -4
  251. data/vendor/pygments-main/pygments/styles/murphy.py +1 -2
  252. data/vendor/pygments-main/pygments/styles/native.py +1 -2
  253. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -2
  254. data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -2
  255. data/vendor/pygments-main/pygments/styles/pastie.py +1 -2
  256. data/vendor/pygments-main/pygments/styles/perldoc.py +1 -2
  257. data/vendor/pygments-main/pygments/styles/rainbow_dash.py +1 -2
  258. data/vendor/pygments-main/pygments/styles/rrt.py +1 -2
  259. data/vendor/pygments-main/pygments/styles/sas.py +1 -2
  260. data/vendor/pygments-main/pygments/styles/solarized.py +136 -0
  261. data/vendor/pygments-main/pygments/styles/stata_dark.py +40 -0
  262. data/vendor/pygments-main/pygments/styles/{stata.py → stata_light.py} +14 -16
  263. data/vendor/pygments-main/pygments/styles/tango.py +1 -2
  264. data/vendor/pygments-main/pygments/styles/trac.py +1 -2
  265. data/vendor/pygments-main/pygments/styles/vim.py +1 -2
  266. data/vendor/pygments-main/pygments/styles/vs.py +1 -2
  267. data/vendor/pygments-main/pygments/styles/xcode.py +1 -2
  268. data/vendor/pygments-main/pygments/styles/zenburn.py +80 -0
  269. data/vendor/pygments-main/pygments/token.py +1 -2
  270. data/vendor/pygments-main/pygments/unistring.py +47 -109
  271. data/vendor/pygments-main/pygments/util.py +16 -96
  272. metadata +81 -139
  273. data/CHANGELOG.md +0 -111
  274. data/README.md +0 -121
  275. data/cache-lexers.rb +0 -8
  276. data/circle.yml +0 -20
  277. data/test/test_data.c +0 -2581
  278. data/test/test_data.py +0 -514
  279. data/test/test_data_generated +0 -2582
  280. data/vendor/custom_lexers/github.py +0 -565
  281. data/vendor/pygments-main/CHANGES +0 -1186
  282. data/vendor/pygments-main/MANIFEST.in +0 -6
  283. data/vendor/pygments-main/Makefile +0 -65
  284. data/vendor/pygments-main/README.rst +0 -39
  285. data/vendor/pygments-main/REVISION +0 -1
  286. data/vendor/pygments-main/TODO +0 -12
  287. data/vendor/pygments-main/doc/Makefile +0 -153
  288. data/vendor/pygments-main/doc/_static/favicon.ico +0 -0
  289. data/vendor/pygments-main/doc/_static/logo_new.png +0 -0
  290. data/vendor/pygments-main/doc/_static/logo_only.png +0 -0
  291. data/vendor/pygments-main/doc/_templates/docssidebar.html +0 -3
  292. data/vendor/pygments-main/doc/_templates/indexsidebar.html +0 -25
  293. data/vendor/pygments-main/doc/_themes/pygments14/layout.html +0 -98
  294. data/vendor/pygments-main/doc/_themes/pygments14/static/bodybg.png +0 -0
  295. data/vendor/pygments-main/doc/_themes/pygments14/static/docbg.png +0 -0
  296. data/vendor/pygments-main/doc/_themes/pygments14/static/listitem.png +0 -0
  297. data/vendor/pygments-main/doc/_themes/pygments14/static/logo.png +0 -0
  298. data/vendor/pygments-main/doc/_themes/pygments14/static/pocoo.png +0 -0
  299. data/vendor/pygments-main/doc/_themes/pygments14/static/pygments14.css_t +0 -401
  300. data/vendor/pygments-main/doc/_themes/pygments14/theme.conf +0 -15
  301. data/vendor/pygments-main/doc/conf.py +0 -241
  302. data/vendor/pygments-main/doc/docs/api.rst +0 -354
  303. data/vendor/pygments-main/doc/docs/authors.rst +0 -4
  304. data/vendor/pygments-main/doc/docs/changelog.rst +0 -1
  305. data/vendor/pygments-main/doc/docs/cmdline.rst +0 -166
  306. data/vendor/pygments-main/doc/docs/filterdevelopment.rst +0 -71
  307. data/vendor/pygments-main/doc/docs/filters.rst +0 -41
  308. data/vendor/pygments-main/doc/docs/formatterdevelopment.rst +0 -169
  309. data/vendor/pygments-main/doc/docs/formatters.rst +0 -48
  310. data/vendor/pygments-main/doc/docs/index.rst +0 -66
  311. data/vendor/pygments-main/doc/docs/integrate.rst +0 -40
  312. data/vendor/pygments-main/doc/docs/java.rst +0 -70
  313. data/vendor/pygments-main/doc/docs/lexerdevelopment.rst +0 -728
  314. data/vendor/pygments-main/doc/docs/lexers.rst +0 -69
  315. data/vendor/pygments-main/doc/docs/moinmoin.rst +0 -39
  316. data/vendor/pygments-main/doc/docs/plugins.rst +0 -93
  317. data/vendor/pygments-main/doc/docs/quickstart.rst +0 -205
  318. data/vendor/pygments-main/doc/docs/rstdirective.rst +0 -22
  319. data/vendor/pygments-main/doc/docs/styles.rst +0 -201
  320. data/vendor/pygments-main/doc/docs/tokens.rst +0 -372
  321. data/vendor/pygments-main/doc/docs/unicode.rst +0 -58
  322. data/vendor/pygments-main/doc/download.rst +0 -41
  323. data/vendor/pygments-main/doc/faq.rst +0 -139
  324. data/vendor/pygments-main/doc/index.rst +0 -54
  325. data/vendor/pygments-main/doc/languages.rst +0 -154
  326. data/vendor/pygments-main/doc/make.bat +0 -190
  327. data/vendor/pygments-main/doc/pygmentize.1 +0 -94
  328. data/vendor/pygments-main/external/autopygmentize +0 -101
  329. data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +0 -162
  330. data/vendor/pygments-main/external/markdown-processor.py +0 -67
  331. data/vendor/pygments-main/external/moin-parser.py +0 -112
  332. data/vendor/pygments-main/external/pygments.bashcomp +0 -38
  333. data/vendor/pygments-main/external/rst-directive.py +0 -82
  334. data/vendor/pygments-main/pygmentize +0 -8
  335. data/vendor/pygments-main/requirements.txt +0 -5
  336. data/vendor/pygments-main/scripts/check_sources.py +0 -211
  337. data/vendor/pygments-main/scripts/debug_lexer.py +0 -246
  338. data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +0 -33
  339. data/vendor/pygments-main/scripts/epydoc.css +0 -280
  340. data/vendor/pygments-main/scripts/get_vimkw.py +0 -74
  341. data/vendor/pygments-main/scripts/pylintrc +0 -301
  342. data/vendor/pygments-main/scripts/vim2pygments.py +0 -935
  343. data/vendor/pygments-main/setup.cfg +0 -10
  344. data/vendor/pygments-main/setup.py +0 -77
  345. data/vendor/pygments-main/tox.ini +0 -7
  346. data/vendor/simplejson/.gitignore +0 -10
  347. data/vendor/simplejson/.travis.yml +0 -5
  348. data/vendor/simplejson/CHANGES.txt +0 -291
  349. data/vendor/simplejson/LICENSE.txt +0 -19
  350. data/vendor/simplejson/MANIFEST.in +0 -5
  351. data/vendor/simplejson/README.rst +0 -19
  352. data/vendor/simplejson/conf.py +0 -179
  353. data/vendor/simplejson/index.rst +0 -628
  354. data/vendor/simplejson/scripts/make_docs.py +0 -18
  355. data/vendor/simplejson/setup.py +0 -104
  356. data/vendor/simplejson/simplejson/__init__.py +0 -510
  357. data/vendor/simplejson/simplejson/_speedups.c +0 -2745
  358. data/vendor/simplejson/simplejson/decoder.py +0 -425
  359. data/vendor/simplejson/simplejson/encoder.py +0 -567
  360. data/vendor/simplejson/simplejson/ordered_dict.py +0 -119
  361. data/vendor/simplejson/simplejson/scanner.py +0 -77
  362. data/vendor/simplejson/simplejson/tests/__init__.py +0 -67
  363. data/vendor/simplejson/simplejson/tests/test_bigint_as_string.py +0 -55
  364. data/vendor/simplejson/simplejson/tests/test_check_circular.py +0 -30
  365. data/vendor/simplejson/simplejson/tests/test_decimal.py +0 -66
  366. data/vendor/simplejson/simplejson/tests/test_decode.py +0 -83
  367. data/vendor/simplejson/simplejson/tests/test_default.py +0 -9
  368. data/vendor/simplejson/simplejson/tests/test_dump.py +0 -67
  369. data/vendor/simplejson/simplejson/tests/test_encode_basestring_ascii.py +0 -46
  370. data/vendor/simplejson/simplejson/tests/test_encode_for_html.py +0 -32
  371. data/vendor/simplejson/simplejson/tests/test_errors.py +0 -34
  372. data/vendor/simplejson/simplejson/tests/test_fail.py +0 -91
  373. data/vendor/simplejson/simplejson/tests/test_float.py +0 -19
  374. data/vendor/simplejson/simplejson/tests/test_indent.py +0 -86
  375. data/vendor/simplejson/simplejson/tests/test_item_sort_key.py +0 -20
  376. data/vendor/simplejson/simplejson/tests/test_namedtuple.py +0 -121
  377. data/vendor/simplejson/simplejson/tests/test_pass1.py +0 -76
  378. data/vendor/simplejson/simplejson/tests/test_pass2.py +0 -14
  379. data/vendor/simplejson/simplejson/tests/test_pass3.py +0 -20
  380. data/vendor/simplejson/simplejson/tests/test_recursion.py +0 -67
  381. data/vendor/simplejson/simplejson/tests/test_scanstring.py +0 -117
  382. data/vendor/simplejson/simplejson/tests/test_separators.py +0 -42
  383. data/vendor/simplejson/simplejson/tests/test_speedups.py +0 -20
  384. data/vendor/simplejson/simplejson/tests/test_tuple.py +0 -49
  385. data/vendor/simplejson/simplejson/tests/test_unicode.py +0 -109
  386. 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.2.0'
5
5
  end
data/pygments.rb.gemspec CHANGED
@@ -1,25 +1,32 @@
1
- require File.expand_path('../lib/pygments/version', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'lib/pygments/version'
2
4
 
3
5
  Gem::Specification.new do |s|
4
6
  s.name = 'pygments.rb'
5
7
  s.version = Pygments::VERSION
6
8
 
7
9
  s.summary = 'pygments wrapper for ruby'
8
- s.description = 'pygments.rb exposes the pygments syntax highlighter to Ruby'
10
+ s.description = 'pygments.rb is a Ruby wrapper for Pygments syntax highlighter'
11
+ s.license = 'MIT'
12
+ s.homepage = 'https://github.com/pygments/pygments.rb'
9
13
 
10
- s.homepage = 'https://github.com/tmm1/pygments.rb'
11
- s.has_rdoc = false
14
+ s.authors = ['Aman Gupta', 'Ted Nyman', 'Marat Radchenko']
15
+ s.email = ['marat@slonopotamus.org']
12
16
 
13
- s.authors = ['Aman Gupta', 'Ted Nyman']
14
- s.email = ['aman@tmm1.net']
15
- s.license = 'MIT'
17
+ s.metadata = {
18
+ 'homepage_uri' => s.homepage,
19
+ 'bug_tracker_uri' => s.homepage + '/issues',
20
+ 'changelog_uri' => s.homepage + '/blob/master/CHANGELOG.adoc',
21
+ 'documentation_uri' => 'https://www.rubydoc.info/gems/' + s.name,
22
+ 'source_code_uri' => s.homepage
23
+ }
16
24
 
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'
25
+ s.required_ruby_version = '>= 2.3.0'
20
26
 
21
- # s.extensions = ['ext/extconf.rb']
22
- s.require_paths = ['lib']
27
+ s.add_development_dependency 'rake', '~> 13.0.0'
28
+ s.add_development_dependency 'rubocop', '~> 0.81.0'
29
+ s.add_development_dependency 'test-unit', '~> 3.4.0'
23
30
 
24
- s.files = `git ls-files`.split("\n").select { |f| !File.symlink?(f) } + ['lexers']
31
+ s.files = `git ls-files -z`.split("\0").reject { |f| File.symlink?(f) }
25
32
  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
@@ -12,7 +10,9 @@ PE = Pygments.engine
12
10
  class PygmentsHighlightTest < Test::Unit::TestCase
13
11
  RUBY_CODE = "#!/usr/bin/ruby\nputs 'foo'"
14
12
  RUBY_CODE_TRAILING_NEWLINE = "#!/usr/bin/ruby\nputs 'foo'\n"
15
- REDIS_CODE = File.read(File.join(File.dirname(__FILE__), '..', '/test/test_data.c'))
13
+ TEST_CODE = File.read(
14
+ File.join(__dir__, '..', 'lib', 'pygments', 'mentos.py')
15
+ )
16
16
 
17
17
  def test_highlight_defaults_to_html
18
18
  code = P.highlight(RUBY_CODE)
@@ -23,78 +23,69 @@ class PygmentsHighlightTest < Test::Unit::TestCase
23
23
  def test_full_html_highlight
24
24
  code = P.highlight(RUBY_CODE)
25
25
  assert_match '<span class="ch">#!/usr/bin/ruby</span>', code
26
- assert_equal "<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>", code
27
- end
28
-
29
- def test_full_table_highlight
30
- code = P.highlight(RUBY_CODE, :options => {:linenos => true})
31
- assert_match '<span class="ch">#!/usr/bin/ruby</span>', code
32
- 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
26
+ assert_equal %(<div class="highlight"><pre><span></span><span class="ch">#!/usr/bin/ruby</span>
27
+ <span class="nb">puts</span> <span class="s1">&#39;foo&#39;</span>
28
+ </pre></div>), code
33
29
  end
34
30
 
35
31
  def test_highlight_works_with_larger_files
36
- code = P.highlight(REDIS_CODE)
37
- assert_match 'used_memory_peak_human', code
38
- assert_equal 458511, code.bytesize.to_i
32
+ code = P.highlight(TEST_CODE)
33
+ assert_match 'Main loop, waiting for inputs on stdin', code
39
34
  end
40
35
 
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
36
+ def test_raises_exception_on_timeout
37
+ assert_raise MentosError.new('Timeout on a mentos highlight call') do
38
+ # Assume highlighting a large file will take more than 1 millisecond
39
+ P.highlight(TEST_CODE * 10, timeout: 0.001)
40
+ end
45
41
  end
46
42
 
47
43
  def test_highlight_works_with_null_bytes
48
- code = P.highlight("\0hello", :lexer => 'rb')
49
- assert_match "hello", code
44
+ code = P.highlight("\0hello", lexer: 'rb')
45
+ assert_match 'hello', code
50
46
  end
51
47
 
52
48
  def test_highlight_works_on_utf8
53
- code = P.highlight('# ø', :lexer => 'rb', :options => {:encoding => 'utf-8'})
54
- assert_match "# ø", code
49
+ code = P.highlight('# ø', lexer: 'rb', options: { encoding: 'utf-8' })
50
+ assert_match '# ø', code
55
51
  end
56
52
 
57
53
  def test_highlight_works_on_utf8_automatically
58
- code = P.highlight('# ø', :lexer => 'rb')
59
- assert_match "# ø", code
54
+ code = P.highlight('# ø', lexer: 'rb')
55
+ assert_match '# ø', code
60
56
  end
61
57
 
62
58
  def test_highlight_works_on_utf8_all_chars_automatically
63
- code = P.highlight('def foo: # ø', :lexer => 'py')
59
+ code = P.highlight('def foo: # ø', lexer: 'py')
64
60
 
65
- assert_equal "<div class=\"highlight\"><pre><span></sp", code[0,38]
61
+ assert_equal '<div class="highlight"><pre><span></sp', code[0, 38]
66
62
  end
67
63
 
68
64
  def test_highlight_works_with_multiple_utf8
69
- code = P.highlight('# ø ø ø', :lexer => 'rb', :options => {:encoding => 'utf-8'})
70
- assert_match "# ø ø ø", code
65
+ code = P.highlight('# ø ø ø', lexer: 'rb', options: { encoding: 'utf-8' })
66
+ assert_match '# ø ø ø', code
71
67
  end
72
68
 
73
69
  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
70
+ code = P.highlight("#!/usr/bin/ruby\nputs 'ø..ø'\n", lexer: 'rb')
71
+ assert_match 'ø..ø', code
76
72
  end
77
73
 
78
74
  def test_highlight_formatter_bbcode
79
- code = P.highlight(RUBY_CODE, :formatter => 'bbcode')
75
+ code = P.highlight(RUBY_CODE, formatter: 'bbcode')
80
76
  assert_match 'color=#408080][i]#!/usr/bin/ruby[/i]', code
81
77
  end
82
78
 
83
79
  def test_highlight_formatter_terminal
84
- code = P.highlight(RUBY_CODE, :formatter => 'terminal')
80
+ code = P.highlight(RUBY_CODE, formatter: 'terminal')
85
81
  assert_match '39;49;00m', code
86
82
  end
87
83
 
88
84
  def test_highlight_options
89
- code = P.highlight(RUBY_CODE, :options => {:full => true, :title => 'test'})
85
+ code = P.highlight(RUBY_CODE, options: { full: true, title: 'test' })
90
86
  assert_match '<title>test</title>', code
91
87
  end
92
88
 
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
89
  def test_highlight_works_with_trailing_newline
99
90
  code = P.highlight(RUBY_CODE_TRAILING_NEWLINE)
100
91
  assert_match '<span class="ch">#!/usr/bin/ruby</span>', code
@@ -111,66 +102,18 @@ class PygmentsHighlightTest < Test::Unit::TestCase
111
102
  end
112
103
 
113
104
  def test_highlight_still_works_with_invalid_code
114
- code = P.highlight("importr python; wat?", :lexer => 'py')
115
- assert_match ">importr</span>", code
105
+ code = P.highlight('importr python; wat?', lexer: 'py')
106
+ assert_match '>importr</span>', code
116
107
  end
117
108
 
118
109
  def test_highlight_on_multi_threads
110
+ omit 'We do not actually support multithreading'
111
+
119
112
  10.times.map do
120
113
  Thread.new do
121
114
  test_full_html_highlight
122
115
  end
123
- end.each do |thread|
124
- thread.join
125
- end
126
- end
127
-
128
- end
129
-
130
- # Philosophically, I'm not the biggest fan of testing private
131
- # methods, but given the relative delicacy of validity checking
132
- # over the pipe I think it's necessary and informative.
133
- class PygmentsValidityTest < Test::Unit::TestCase
134
- 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
137
- end
138
-
139
- def test_add_ids_on_empty_string
140
- res = PE.send(:add_ids, "", "ABCDEFGH")
141
- assert_equal "ABCDEFGH ABCDEFGH", res
142
- end
143
-
144
- def test_add_ids_with_unicode_data
145
- res = PE.send(:add_ids, "# ø ø ø", "ABCDEFGH")
146
- assert_equal "ABCDEFGH # ø ø ø ABCDEFGH", res
147
- end
148
-
149
- 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
116
+ end.each(&:join)
174
117
  end
175
118
  end
176
119
 
@@ -178,23 +121,23 @@ class PygmentsLexerTest < Test::Unit::TestCase
178
121
  RUBY_CODE = "#!/usr/bin/ruby\nputs 'foo'"
179
122
 
180
123
  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')
124
+ assert_equal 'rb', P.lexer_name_for(mimetype: 'text/x-ruby')
125
+ assert_equal 'json', P.lexer_name_for(mimetype: 'application/json')
183
126
  end
184
127
 
185
128
  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')
129
+ assert_equal 'rb', P.lexer_name_for(filename: 'test.rb')
130
+ assert_equal 'scala', P.lexer_name_for(filename: 'test.scala')
188
131
  end
189
132
 
190
133
  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')
134
+ assert_equal 'rb', P.lexer_name_for(lexer: 'ruby')
135
+ assert_equal 'python', P.lexer_name_for(lexer: 'python')
136
+ assert_equal 'c', P.lexer_name_for(lexer: 'c')
194
137
  end
195
138
 
196
139
  def test_lexer_by_filename_and_content
197
- assert_equal 'rb', P.lexer_name_for(RUBY_CODE, :filename => 'test.rb')
140
+ assert_equal 'rb', P.lexer_name_for(RUBY_CODE, filename: 'test.rb')
198
141
  end
199
142
 
200
143
  def test_lexer_by_content
@@ -203,7 +146,7 @@ class PygmentsLexerTest < Test::Unit::TestCase
203
146
 
204
147
  def test_lexer_by_nothing
205
148
  assert_raise MentosError do
206
- P.lexer_name_for(:invalid => true)
149
+ P.lexer_name_for(invalid: true)
207
150
  end
208
151
  end
209
152
  end
@@ -240,14 +183,13 @@ class PygmentsLexerClassTest < Test::Unit::TestCase
240
183
  assert_equal P::Lexer['Java'], P::Lexer.find_by_extname('.java')
241
184
  end
242
185
 
243
- def test_find_lexer_by_mimetype
186
+ def test_find_lexer_by_mimetype
244
187
  assert_equal P::Lexer['Ruby'], P::Lexer.find_by_mimetype('text/x-ruby')
245
188
  assert_equal P::Lexer['JSON'], P::Lexer.find_by_mimetype('application/json')
246
189
  assert_equal P::Lexer['Python'], P::Lexer.find_by_mimetype('text/x-python')
247
- end
190
+ end
248
191
  end
249
192
 
250
-
251
193
  class PygmentsCssTest < Test::Unit::TestCase
252
194
  include Pygments
253
195
 
@@ -260,11 +202,11 @@ class PygmentsCssTest < Test::Unit::TestCase
260
202
  end
261
203
 
262
204
  def test_css_options
263
- assert_match(/^\.codeerr \{/, P.css(:classprefix => 'code'))
205
+ assert_match(/^\.codeerr \{/, P.css(classprefix: 'code'))
264
206
  end
265
207
 
266
208
  def test_css_prefix_and_options
267
- assert_match(/^\.mycode \.codeerr \{/, P.css('.mycode', :classprefix => 'code'))
209
+ assert_match(/^\.mycode \.codeerr \{/, P.css('.mycode', classprefix: 'code'))
268
210
  end
269
211
 
270
212
  def test_css_default
@@ -272,7 +214,7 @@ class PygmentsCssTest < Test::Unit::TestCase
272
214
  end
273
215
 
274
216
  def test_css_colorful
275
- assert_match '.c { color: #888888 }', P.css(:style => 'colorful')
217
+ assert_match '.c { color: #888888 }', P.css(style: 'colorful')
276
218
  end
277
219
  end
278
220
 
@@ -287,15 +229,13 @@ class PygmentsConfigTest < Test::Unit::TestCase
287
229
 
288
230
  def test_lexers
289
231
  list = P.lexers
290
- assert list.has_key?('Ruby')
232
+ assert list.key?('Ruby')
291
233
  assert list['Ruby'][:aliases].include?('duby')
292
234
  end
293
235
 
294
236
  def test_formatters
295
237
  list = P.formatters
296
- assert list.has_key?('Html')
238
+ assert list.key?('Html')
297
239
  assert list['Html'][:aliases].include?('html')
298
240
  end
299
241
  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,31 @@ 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
81
+ * Hubert Gruniaux -- C and C++ lexer improvements
74
82
  * Olivier Guibe -- Asymptote lexer
75
- * Jordi Gutiérrez Hermoso -- Octave lexer
83
+ * Phil Hagelberg -- Fennel lexer
76
84
  * Florian Hahn -- Boogie lexer
77
85
  * Martin Harriman -- SNOBOL lexer
78
86
  * Matthew Harrison -- SVG formatter
@@ -81,7 +89,9 @@ Other contributors, listed alphabetically, are:
81
89
  * Aslak Hellesøy -- Gherkin lexer
82
90
  * Greg Hendershott -- Racket lexer
83
91
  * Justin Hendrick -- ParaSail lexer
92
+ * Jordi Gutiérrez Hermoso -- Octave lexer
84
93
  * David Hess, Fish Software, Inc. -- Objective-J lexer
94
+ * Ken Hilton -- Typographic Number Theory and Arrow lexers
85
95
  * Varun Hiremath -- Debian control lexer
86
96
  * Rob Hoelz -- Perl 6 lexer
87
97
  * Doug Hogan -- Mscgen lexer
@@ -98,6 +108,7 @@ Other contributors, listed alphabetically, are:
98
108
  * Dennis Kaarsemaker -- sources.list lexer
99
109
  * Dmitri Kabak -- Inferno Limbo lexer
100
110
  * Igor Kalnitsky -- vhdl lexer
111
+ * Colin Kennedy - USD lexer
101
112
  * Alexander Kit -- MaskJS lexer
102
113
  * Pekka Klärck -- Robot Framework lexer
103
114
  * Gerwin Klein -- Isabelle lexer
@@ -129,6 +140,7 @@ Other contributors, listed alphabetically, are:
129
140
  * Stephen McKamey -- Duel/JBST lexer
130
141
  * Brian McKenna -- F# lexer
131
142
  * Charles McLaughlin -- Puppet lexer
143
+ * Kurt McKee -- Tera Term macro lexer, PostgreSQL updates, MySQL overhaul
132
144
  * Lukas Meuser -- BBCode formatter, Lua lexer
133
145
  * Cat Miller -- Pig lexer
134
146
  * Paul Miller -- LiveScript lexer
@@ -145,6 +157,7 @@ Other contributors, listed alphabetically, are:
145
157
  * Nam T. Nguyen -- Monokai style
146
158
  * Jesper Noehr -- HTML formatter "anchorlinenos"
147
159
  * Mike Nolta -- Julia lexer
160
+ * Avery Nortonsmith -- Pointless lexer
148
161
  * Jonas Obrist -- BBCode lexer
149
162
  * Edward O'Callaghan -- Cryptol lexer
150
163
  * David Oliva -- Rebol lexer
@@ -157,9 +170,12 @@ Other contributors, listed alphabetically, are:
157
170
  * Clément Prévost -- UrbiScript lexer
158
171
  * Tanner Prynn -- cmdline -x option and loading lexers from files
159
172
  * Oleh Prypin -- Crystal lexer (based on Ruby lexer)
173
+ * Xidorn Quan -- Web IDL lexer
160
174
  * Elias Rabel -- Fortran fixed form lexer
161
175
  * raichoo -- Idris lexer
176
+ * Daniel Ramirez -- GDScript lexer
162
177
  * Kashif Rasul -- CUDA lexer
178
+ * Nathan Reed -- HLSL lexer
163
179
  * Justin Reidy -- MXML lexer
164
180
  * Norman Richards -- JSON lexer
165
181
  * Corey Richardson -- Rust lexer updates
@@ -173,10 +189,12 @@ Other contributors, listed alphabetically, are:
173
189
  * Stou Sandalski -- NumPy, FORTRAN, tcsh and XSLT lexers
174
190
  * Matteo Sasso -- Common Lisp lexer
175
191
  * Joe Schafer -- Ada lexer
192
+ * Max Schillinger -- TiddlyWiki5 lexer
176
193
  * Ken Schutte -- Matlab lexers
177
194
  * René Schwaiger -- Rainbow Dash style
178
195
  * Sebastian Schweizer -- Whiley lexer
179
196
  * Tassilo Schweyer -- Io, MOOCode lexers
197
+ * Pablo Seminario -- PromQL lexer
180
198
  * Ted Shaw -- AutoIt lexer
181
199
  * Joerg Sieker -- ABAP lexer
182
200
  * Robert Simmons -- Standard ML lexer
@@ -185,7 +203,7 @@ Other contributors, listed alphabetically, are:
185
203
  * Alexander Smishlajev -- Visual FoxPro lexer
186
204
  * Steve Spigarelli -- XQuery lexer
187
205
  * Jerome St-Louis -- eC lexer
188
- * Camil Staps -- Clean and NuSMV lexers
206
+ * Camil Staps -- Clean and NuSMV lexers; Solarized style
189
207
  * James Strachan -- Kotlin lexer
190
208
  * Tom Stuart -- Treetop lexer
191
209
  * Colin Sullivan -- SuperCollider lexer
@@ -216,5 +234,10 @@ Other contributors, listed alphabetically, are:
216
234
  * Alex Zimin -- Nemerle lexer
217
235
  * Rob Zimmerman -- Kal lexer
218
236
  * Vincent Zurczak -- Roboconf lexer
237
+ * Hubert Gruniaux -- C and C++ lexer improvements
238
+ * Thomas Symalla -- AMDGPU Lexer
239
+ * 15b3 -- Image Formatter improvements
240
+ * Fabian Neumann -- CDDL lexer
241
+ * Thomas Duboucher -- CDDL lexer
219
242
 
220
243
  Many thanks for all contributions!