pygments.rb 2.4.1 → 3.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 (348) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +8 -8
  3. data/.github/workflows/release.yml +5 -5
  4. data/.gitignore +2 -0
  5. data/.rubocop.yml +1 -1
  6. data/CHANGELOG.adoc +9 -1
  7. data/README.adoc +2 -2
  8. data/lib/pygments/version.rb +1 -1
  9. data/pygments.rb.gemspec +2 -2
  10. data/vendor/pygments-main/bin/pygmentize +1 -1
  11. data/vendor/pygments-main/pygments/__init__.py +2 -2
  12. data/vendor/pygments-main/pygments/__main__.py +1 -1
  13. data/vendor/pygments-main/pygments/cmdline.py +12 -12
  14. data/vendor/pygments-main/pygments/console.py +5 -5
  15. data/vendor/pygments-main/pygments/filter.py +2 -3
  16. data/vendor/pygments-main/pygments/filters/__init__.py +4 -4
  17. data/vendor/pygments-main/pygments/formatter.py +6 -1
  18. data/vendor/pygments-main/pygments/formatters/__init__.py +7 -8
  19. data/vendor/pygments-main/pygments/formatters/_mapping.py +0 -0
  20. data/vendor/pygments-main/pygments/formatters/bbcode.py +2 -2
  21. data/vendor/pygments-main/pygments/formatters/groff.py +3 -3
  22. data/vendor/pygments-main/pygments/formatters/html.py +38 -40
  23. data/vendor/pygments-main/pygments/formatters/img.py +51 -11
  24. data/vendor/pygments-main/pygments/formatters/irc.py +1 -1
  25. data/vendor/pygments-main/pygments/formatters/latex.py +24 -27
  26. data/vendor/pygments-main/pygments/formatters/other.py +3 -4
  27. data/vendor/pygments-main/pygments/formatters/pangomarkup.py +2 -2
  28. data/vendor/pygments-main/pygments/formatters/rtf.py +228 -25
  29. data/vendor/pygments-main/pygments/formatters/svg.py +17 -20
  30. data/vendor/pygments-main/pygments/formatters/terminal.py +1 -1
  31. data/vendor/pygments-main/pygments/formatters/terminal256.py +1 -1
  32. data/vendor/pygments-main/pygments/lexer.py +51 -33
  33. data/vendor/pygments-main/pygments/lexers/__init__.py +12 -12
  34. data/vendor/pygments-main/pygments/lexers/_ada_builtins.py +1 -1
  35. data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +1 -1
  36. data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +1 -1
  37. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +2 -2
  38. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1 -1
  39. data/vendor/pygments-main/pygments/lexers/_css_builtins.py +1 -1
  40. data/vendor/pygments-main/pygments/lexers/_julia_builtins.py +1 -1
  41. data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +1 -1
  42. data/vendor/pygments-main/pygments/lexers/_lilypond_builtins.py +1 -1
  43. data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +5 -5
  44. data/vendor/pygments-main/pygments/lexers/_luau_builtins.py +62 -0
  45. data/vendor/pygments-main/pygments/lexers/_mapping.py +41 -11
  46. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1 -1
  47. data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +3 -3
  48. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +1 -1
  49. data/vendor/pygments-main/pygments/lexers/_php_builtins.py +3 -3
  50. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +5 -5
  51. data/vendor/pygments-main/pygments/lexers/_qlik_builtins.py +1 -1
  52. data/vendor/pygments-main/pygments/lexers/_scheme_builtins.py +1 -1
  53. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +4 -4
  54. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +3 -3
  55. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +1 -1
  56. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +1 -1
  57. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -1
  58. data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +1 -1
  59. data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +1 -1
  60. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -1
  61. data/vendor/pygments-main/pygments/lexers/actionscript.py +6 -8
  62. data/vendor/pygments-main/pygments/lexers/ada.py +3 -3
  63. data/vendor/pygments-main/pygments/lexers/agile.py +3 -1
  64. data/vendor/pygments-main/pygments/lexers/algebra.py +9 -13
  65. data/vendor/pygments-main/pygments/lexers/ambient.py +2 -3
  66. data/vendor/pygments-main/pygments/lexers/amdgpu.py +3 -3
  67. data/vendor/pygments-main/pygments/lexers/ampl.py +2 -3
  68. data/vendor/pygments-main/pygments/lexers/apdlexer.py +4 -3
  69. data/vendor/pygments-main/pygments/lexers/apl.py +2 -3
  70. data/vendor/pygments-main/pygments/lexers/archetype.py +8 -12
  71. data/vendor/pygments-main/pygments/lexers/arrow.py +2 -3
  72. data/vendor/pygments-main/pygments/lexers/arturo.py +2 -3
  73. data/vendor/pygments-main/pygments/lexers/asc.py +4 -4
  74. data/vendor/pygments-main/pygments/lexers/asm.py +28 -15
  75. data/vendor/pygments-main/pygments/lexers/asn1.py +178 -0
  76. data/vendor/pygments-main/pygments/lexers/automation.py +6 -8
  77. data/vendor/pygments-main/pygments/lexers/bare.py +2 -3
  78. data/vendor/pygments-main/pygments/lexers/basic.py +48 -57
  79. data/vendor/pygments-main/pygments/lexers/bdd.py +3 -4
  80. data/vendor/pygments-main/pygments/lexers/berry.py +4 -4
  81. data/vendor/pygments-main/pygments/lexers/bibtex.py +5 -5
  82. data/vendor/pygments-main/pygments/lexers/blueprint.py +173 -0
  83. data/vendor/pygments-main/pygments/lexers/boa.py +4 -4
  84. data/vendor/pygments-main/pygments/lexers/bqn.py +109 -0
  85. data/vendor/pygments-main/pygments/lexers/business.py +21 -22
  86. data/vendor/pygments-main/pygments/lexers/c_cpp.py +9 -4
  87. data/vendor/pygments-main/pygments/lexers/c_like.py +99 -27
  88. data/vendor/pygments-main/pygments/lexers/capnproto.py +2 -3
  89. data/vendor/pygments-main/pygments/lexers/carbon.py +10 -11
  90. data/vendor/pygments-main/pygments/lexers/cddl.py +8 -9
  91. data/vendor/pygments-main/pygments/lexers/chapel.py +2 -3
  92. data/vendor/pygments-main/pygments/lexers/clean.py +2 -1
  93. data/vendor/pygments-main/pygments/lexers/comal.py +2 -1
  94. data/vendor/pygments-main/pygments/lexers/compiled.py +2 -1
  95. data/vendor/pygments-main/pygments/lexers/configs.py +342 -108
  96. data/vendor/pygments-main/pygments/lexers/console.py +5 -5
  97. data/vendor/pygments-main/pygments/lexers/cplint.py +2 -3
  98. data/vendor/pygments-main/pygments/lexers/crystal.py +4 -5
  99. data/vendor/pygments-main/pygments/lexers/csound.py +6 -8
  100. data/vendor/pygments-main/pygments/lexers/css.py +5 -5
  101. data/vendor/pygments-main/pygments/lexers/d.py +4 -3
  102. data/vendor/pygments-main/pygments/lexers/dalvik.py +2 -3
  103. data/vendor/pygments-main/pygments/lexers/data.py +8 -12
  104. data/vendor/pygments-main/pygments/lexers/dax.py +2 -3
  105. data/vendor/pygments-main/pygments/lexers/devicetree.py +2 -3
  106. data/vendor/pygments-main/pygments/lexers/diff.py +7 -6
  107. data/vendor/pygments-main/pygments/lexers/dns.py +109 -0
  108. data/vendor/pygments-main/pygments/lexers/dotnet.py +19 -14
  109. data/vendor/pygments-main/pygments/lexers/dsls.py +24 -35
  110. data/vendor/pygments-main/pygments/lexers/dylan.py +8 -16
  111. data/vendor/pygments-main/pygments/lexers/ecl.py +2 -3
  112. data/vendor/pygments-main/pygments/lexers/eiffel.py +3 -4
  113. data/vendor/pygments-main/pygments/lexers/elm.py +3 -4
  114. data/vendor/pygments-main/pygments/lexers/elpi.py +28 -21
  115. data/vendor/pygments-main/pygments/lexers/email.py +3 -3
  116. data/vendor/pygments-main/pygments/lexers/erlang.py +22 -24
  117. data/vendor/pygments-main/pygments/lexers/esoteric.py +11 -12
  118. data/vendor/pygments-main/pygments/lexers/ezhil.py +2 -3
  119. data/vendor/pygments-main/pygments/lexers/factor.py +2 -3
  120. data/vendor/pygments-main/pygments/lexers/fantom.py +3 -3
  121. data/vendor/pygments-main/pygments/lexers/felix.py +9 -10
  122. data/vendor/pygments-main/pygments/lexers/fift.py +2 -1
  123. data/vendor/pygments-main/pygments/lexers/floscript.py +2 -3
  124. data/vendor/pygments-main/pygments/lexers/forth.py +2 -3
  125. data/vendor/pygments-main/pygments/lexers/fortran.py +6 -7
  126. data/vendor/pygments-main/pygments/lexers/foxpro.py +3 -3
  127. data/vendor/pygments-main/pygments/lexers/freefem.py +2 -3
  128. data/vendor/pygments-main/pygments/lexers/func.py +3 -1
  129. data/vendor/pygments-main/pygments/lexers/functional.py +2 -1
  130. data/vendor/pygments-main/pygments/lexers/futhark.py +6 -7
  131. data/vendor/pygments-main/pygments/lexers/gcodelexer.py +3 -3
  132. data/vendor/pygments-main/pygments/lexers/gdscript.py +2 -1
  133. data/vendor/pygments-main/pygments/lexers/go.py +3 -4
  134. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +6 -9
  135. data/vendor/pygments-main/pygments/lexers/graph.py +12 -9
  136. data/vendor/pygments-main/pygments/lexers/graphics.py +13 -17
  137. data/vendor/pygments-main/pygments/lexers/graphql.py +176 -0
  138. data/vendor/pygments-main/pygments/lexers/graphviz.py +2 -3
  139. data/vendor/pygments-main/pygments/lexers/gsql.py +2 -3
  140. data/vendor/pygments-main/pygments/lexers/haskell.py +27 -32
  141. data/vendor/pygments-main/pygments/lexers/haxe.py +3 -5
  142. data/vendor/pygments-main/pygments/lexers/hdl.py +8 -7
  143. data/vendor/pygments-main/pygments/lexers/hexdump.py +3 -3
  144. data/vendor/pygments-main/pygments/lexers/html.py +34 -13
  145. data/vendor/pygments-main/pygments/lexers/idl.py +2 -3
  146. data/vendor/pygments-main/pygments/lexers/igor.py +305 -290
  147. data/vendor/pygments-main/pygments/lexers/inferno.py +2 -3
  148. data/vendor/pygments-main/pygments/lexers/installers.py +7 -9
  149. data/vendor/pygments-main/pygments/lexers/int_fiction.py +150 -162
  150. data/vendor/pygments-main/pygments/lexers/iolang.py +2 -3
  151. data/vendor/pygments-main/pygments/lexers/j.py +2 -3
  152. data/vendor/pygments-main/pygments/lexers/javascript.py +18 -19
  153. data/vendor/pygments-main/pygments/lexers/jmespath.py +2 -1
  154. data/vendor/pygments-main/pygments/lexers/jslt.py +2 -3
  155. data/vendor/pygments-main/pygments/lexers/jsonnet.py +4 -3
  156. data/vendor/pygments-main/pygments/lexers/jsx.py +75 -0
  157. data/vendor/pygments-main/pygments/lexers/julia.py +4 -5
  158. data/vendor/pygments-main/pygments/lexers/jvm.py +98 -116
  159. data/vendor/pygments-main/pygments/lexers/kuin.py +2 -3
  160. data/vendor/pygments-main/pygments/lexers/kusto.py +93 -0
  161. data/vendor/pygments-main/pygments/lexers/ldap.py +155 -0
  162. data/vendor/pygments-main/pygments/lexers/lean.py +241 -0
  163. data/vendor/pygments-main/pygments/lexers/lilypond.py +2 -3
  164. data/vendor/pygments-main/pygments/lexers/lisp.py +373 -65
  165. data/vendor/pygments-main/pygments/lexers/macaulay2.py +53 -4
  166. data/vendor/pygments-main/pygments/lexers/make.py +7 -5
  167. data/vendor/pygments-main/pygments/lexers/markup.py +242 -91
  168. data/vendor/pygments-main/pygments/lexers/math.py +2 -1
  169. data/vendor/pygments-main/pygments/lexers/matlab.py +10 -12
  170. data/vendor/pygments-main/pygments/lexers/maxima.py +2 -3
  171. data/vendor/pygments-main/pygments/lexers/meson.py +2 -3
  172. data/vendor/pygments-main/pygments/lexers/mime.py +4 -4
  173. data/vendor/pygments-main/pygments/lexers/minecraft.py +24 -27
  174. data/vendor/pygments-main/pygments/lexers/mips.py +3 -1
  175. data/vendor/pygments-main/pygments/lexers/ml.py +59 -61
  176. data/vendor/pygments-main/pygments/lexers/modeling.py +19 -22
  177. data/vendor/pygments-main/pygments/lexers/modula2.py +2 -3
  178. data/vendor/pygments-main/pygments/lexers/mojo.py +704 -0
  179. data/vendor/pygments-main/pygments/lexers/monte.py +2 -3
  180. data/vendor/pygments-main/pygments/lexers/mosel.py +3 -3
  181. data/vendor/pygments-main/pygments/lexers/ncl.py +4 -3
  182. data/vendor/pygments-main/pygments/lexers/nimrod.py +7 -8
  183. data/vendor/pygments-main/pygments/lexers/nit.py +2 -3
  184. data/vendor/pygments-main/pygments/lexers/nix.py +40 -31
  185. data/vendor/pygments-main/pygments/lexers/oberon.py +3 -3
  186. data/vendor/pygments-main/pygments/lexers/objective.py +14 -6
  187. data/vendor/pygments-main/pygments/lexers/ooc.py +2 -3
  188. data/vendor/pygments-main/pygments/lexers/openscad.py +96 -0
  189. data/vendor/pygments-main/pygments/lexers/other.py +2 -1
  190. data/vendor/pygments-main/pygments/lexers/parasail.py +2 -3
  191. data/vendor/pygments-main/pygments/lexers/parsers.py +41 -44
  192. data/vendor/pygments-main/pygments/lexers/pascal.py +6 -3
  193. data/vendor/pygments-main/pygments/lexers/pawn.py +5 -5
  194. data/vendor/pygments-main/pygments/lexers/perl.py +3 -3
  195. data/vendor/pygments-main/pygments/lexers/phix.py +2 -3
  196. data/vendor/pygments-main/pygments/lexers/php.py +4 -5
  197. data/vendor/pygments-main/pygments/lexers/pointless.py +2 -3
  198. data/vendor/pygments-main/pygments/lexers/pony.py +3 -3
  199. data/vendor/pygments-main/pygments/lexers/praat.py +2 -3
  200. data/vendor/pygments-main/pygments/lexers/procfile.py +2 -3
  201. data/vendor/pygments-main/pygments/lexers/prolog.py +23 -9
  202. data/vendor/pygments-main/pygments/lexers/promql.py +2 -1
  203. data/vendor/pygments-main/pygments/lexers/prql.py +251 -0
  204. data/vendor/pygments-main/pygments/lexers/ptx.py +119 -0
  205. data/vendor/pygments-main/pygments/lexers/python.py +24 -24
  206. data/vendor/pygments-main/pygments/lexers/q.py +5 -6
  207. data/vendor/pygments-main/pygments/lexers/qlik.py +3 -3
  208. data/vendor/pygments-main/pygments/lexers/qvt.py +5 -3
  209. data/vendor/pygments-main/pygments/lexers/r.py +8 -6
  210. data/vendor/pygments-main/pygments/lexers/rdf.py +19 -13
  211. data/vendor/pygments-main/pygments/lexers/rebol.py +7 -7
  212. data/vendor/pygments-main/pygments/lexers/resource.py +5 -6
  213. data/vendor/pygments-main/pygments/lexers/ride.py +4 -5
  214. data/vendor/pygments-main/pygments/lexers/rita.py +2 -3
  215. data/vendor/pygments-main/pygments/lexers/rnc.py +2 -3
  216. data/vendor/pygments-main/pygments/lexers/roboconf.py +5 -5
  217. data/vendor/pygments-main/pygments/lexers/robotframework.py +2 -3
  218. data/vendor/pygments-main/pygments/lexers/ruby.py +8 -13
  219. data/vendor/pygments-main/pygments/lexers/rust.py +9 -10
  220. data/vendor/pygments-main/pygments/lexers/sas.py +3 -3
  221. data/vendor/pygments-main/pygments/lexers/savi.py +131 -130
  222. data/vendor/pygments-main/pygments/lexers/scdoc.py +13 -7
  223. data/vendor/pygments-main/pygments/lexers/scripting.py +354 -42
  224. data/vendor/pygments-main/pygments/lexers/sgf.py +2 -3
  225. data/vendor/pygments-main/pygments/lexers/shell.py +107 -129
  226. data/vendor/pygments-main/pygments/lexers/sieve.py +3 -3
  227. data/vendor/pygments-main/pygments/lexers/slash.py +4 -5
  228. data/vendor/pygments-main/pygments/lexers/smalltalk.py +3 -5
  229. data/vendor/pygments-main/pygments/lexers/smithy.py +2 -3
  230. data/vendor/pygments-main/pygments/lexers/smv.py +3 -3
  231. data/vendor/pygments-main/pygments/lexers/snobol.py +3 -3
  232. data/vendor/pygments-main/pygments/lexers/solidity.py +3 -3
  233. data/vendor/pygments-main/pygments/lexers/soong.py +78 -0
  234. data/vendor/pygments-main/pygments/lexers/sophia.py +3 -4
  235. data/vendor/pygments-main/pygments/lexers/special.py +8 -3
  236. data/vendor/pygments-main/pygments/lexers/spice.py +15 -16
  237. data/vendor/pygments-main/pygments/lexers/sql.py +24 -18
  238. data/vendor/pygments-main/pygments/lexers/srcinfo.py +3 -3
  239. data/vendor/pygments-main/pygments/lexers/stata.py +2 -3
  240. data/vendor/pygments-main/pygments/lexers/supercollider.py +2 -3
  241. data/vendor/pygments-main/pygments/lexers/tact.py +303 -0
  242. data/vendor/pygments-main/pygments/lexers/tal.py +13 -10
  243. data/vendor/pygments-main/pygments/lexers/tcl.py +2 -3
  244. data/vendor/pygments-main/pygments/lexers/teal.py +2 -3
  245. data/vendor/pygments-main/pygments/lexers/templates.py +131 -72
  246. data/vendor/pygments-main/pygments/lexers/teraterm.py +2 -3
  247. data/vendor/pygments-main/pygments/lexers/testing.py +4 -5
  248. data/vendor/pygments-main/pygments/lexers/text.py +2 -1
  249. data/vendor/pygments-main/pygments/lexers/textedit.py +9 -6
  250. data/vendor/pygments-main/pygments/lexers/textfmts.py +20 -15
  251. data/vendor/pygments-main/pygments/lexers/theorem.py +41 -115
  252. data/vendor/pygments-main/pygments/lexers/thingsdb.py +50 -26
  253. data/vendor/pygments-main/pygments/lexers/tlb.py +3 -1
  254. data/vendor/pygments-main/pygments/lexers/tls.py +54 -0
  255. data/vendor/pygments-main/pygments/lexers/tnt.py +2 -3
  256. data/vendor/pygments-main/pygments/lexers/trafficscript.py +3 -3
  257. data/vendor/pygments-main/pygments/lexers/typoscript.py +6 -7
  258. data/vendor/pygments-main/pygments/lexers/typst.py +104 -0
  259. data/vendor/pygments-main/pygments/lexers/ul4.py +47 -5
  260. data/vendor/pygments-main/pygments/lexers/unicon.py +9 -7
  261. data/vendor/pygments-main/pygments/lexers/urbi.py +3 -3
  262. data/vendor/pygments-main/pygments/lexers/usd.py +6 -11
  263. data/vendor/pygments-main/pygments/lexers/varnish.py +5 -5
  264. data/vendor/pygments-main/pygments/lexers/verification.py +4 -5
  265. data/vendor/pygments-main/pygments/lexers/verifpal.py +65 -0
  266. data/vendor/pygments-main/pygments/lexers/vip.py +150 -0
  267. data/vendor/pygments-main/pygments/lexers/vyper.py +140 -0
  268. data/vendor/pygments-main/pygments/lexers/web.py +2 -1
  269. data/vendor/pygments-main/pygments/lexers/webassembly.py +2 -3
  270. data/vendor/pygments-main/pygments/lexers/webidl.py +2 -3
  271. data/vendor/pygments-main/pygments/lexers/webmisc.py +11 -15
  272. data/vendor/pygments-main/pygments/lexers/wgsl.py +6 -7
  273. data/vendor/pygments-main/pygments/lexers/whiley.py +2 -3
  274. data/vendor/pygments-main/pygments/lexers/wowtoc.py +3 -3
  275. data/vendor/pygments-main/pygments/lexers/wren.py +3 -4
  276. data/vendor/pygments-main/pygments/lexers/x10.py +6 -7
  277. data/vendor/pygments-main/pygments/lexers/xorg.py +2 -1
  278. data/vendor/pygments-main/pygments/lexers/yang.py +2 -3
  279. data/vendor/pygments-main/pygments/lexers/yara.py +69 -0
  280. data/vendor/pygments-main/pygments/lexers/zig.py +2 -1
  281. data/vendor/pygments-main/pygments/modeline.py +4 -4
  282. data/vendor/pygments-main/pygments/plugin.py +3 -19
  283. data/vendor/pygments-main/pygments/regexopt.py +1 -1
  284. data/vendor/pygments-main/pygments/scanner.py +1 -1
  285. data/vendor/pygments-main/pygments/sphinxext.py +38 -8
  286. data/vendor/pygments-main/pygments/style.py +8 -2
  287. data/vendor/pygments-main/pygments/styles/__init__.py +17 -59
  288. data/vendor/pygments-main/pygments/styles/_mapping.py +54 -0
  289. data/vendor/pygments-main/pygments/styles/abap.py +5 -1
  290. data/vendor/pygments-main/pygments/styles/algol.py +5 -1
  291. data/vendor/pygments-main/pygments/styles/algol_nu.py +5 -1
  292. data/vendor/pygments-main/pygments/styles/arduino.py +76 -72
  293. data/vendor/pygments-main/pygments/styles/autumn.py +6 -1
  294. data/vendor/pygments-main/pygments/styles/borland.py +6 -1
  295. data/vendor/pygments-main/pygments/styles/bw.py +6 -1
  296. data/vendor/pygments-main/pygments/styles/coffee.py +80 -0
  297. data/vendor/pygments-main/pygments/styles/colorful.py +6 -1
  298. data/vendor/pygments-main/pygments/styles/default.py +6 -1
  299. data/vendor/pygments-main/pygments/styles/dracula.py +68 -80
  300. data/vendor/pygments-main/pygments/styles/emacs.py +6 -1
  301. data/vendor/pygments-main/pygments/styles/friendly.py +6 -1
  302. data/vendor/pygments-main/pygments/styles/friendly_grayscale.py +6 -1
  303. data/vendor/pygments-main/pygments/styles/fruity.py +7 -1
  304. data/vendor/pygments-main/pygments/styles/gh_dark.py +7 -1
  305. data/vendor/pygments-main/pygments/styles/gruvbox.py +10 -1
  306. data/vendor/pygments-main/pygments/styles/igor.py +6 -1
  307. data/vendor/pygments-main/pygments/styles/inkpot.py +7 -2
  308. data/vendor/pygments-main/pygments/styles/lightbulb.py +110 -0
  309. data/vendor/pygments-main/pygments/styles/lilypond.py +8 -2
  310. data/vendor/pygments-main/pygments/styles/lovelace.py +16 -10
  311. data/vendor/pygments-main/pygments/styles/manni.py +7 -2
  312. data/vendor/pygments-main/pygments/styles/material.py +21 -14
  313. data/vendor/pygments-main/pygments/styles/monokai.py +16 -10
  314. data/vendor/pygments-main/pygments/styles/murphy.py +7 -2
  315. data/vendor/pygments-main/pygments/styles/native.py +10 -5
  316. data/vendor/pygments-main/pygments/styles/nord.py +9 -3
  317. data/vendor/pygments-main/pygments/styles/onedark.py +6 -2
  318. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +7 -2
  319. data/vendor/pygments-main/pygments/styles/paraiso_light.py +7 -2
  320. data/vendor/pygments-main/pygments/styles/pastie.py +7 -1
  321. data/vendor/pygments-main/pygments/styles/perldoc.py +7 -1
  322. data/vendor/pygments-main/pygments/styles/rainbow_dash.py +26 -19
  323. data/vendor/pygments-main/pygments/styles/rrt.py +8 -2
  324. data/vendor/pygments-main/pygments/styles/sas.py +6 -1
  325. data/vendor/pygments-main/pygments/styles/solarized.py +9 -1
  326. data/vendor/pygments-main/pygments/styles/staroffice.py +6 -1
  327. data/vendor/pygments-main/pygments/styles/stata_dark.py +6 -2
  328. data/vendor/pygments-main/pygments/styles/stata_light.py +6 -1
  329. data/vendor/pygments-main/pygments/styles/tango.py +7 -3
  330. data/vendor/pygments-main/pygments/styles/trac.py +7 -1
  331. data/vendor/pygments-main/pygments/styles/vim.py +7 -1
  332. data/vendor/pygments-main/pygments/styles/vs.py +7 -2
  333. data/vendor/pygments-main/pygments/styles/xcode.py +6 -1
  334. data/vendor/pygments-main/pygments/styles/zenburn.py +6 -1
  335. data/vendor/pygments-main/pygments/token.py +2 -1
  336. data/vendor/pygments-main/pygments/unistring.py +5 -5
  337. data/vendor/pygments-main/pygments/util.py +13 -19
  338. data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/METADATA +14 -13
  339. data/vendor/pygments-main/pygments-2.18.0.dist-info/RECORD +663 -0
  340. data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/WHEEL +1 -2
  341. data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info/licenses}/AUTHORS +13 -0
  342. metadata +39 -15
  343. data/vendor/pygments-main/Pygments-2.15.1.dist-info/RECORD +0 -614
  344. data/vendor/pygments-main/Pygments-2.15.1.dist-info/top_level.txt +0 -1
  345. /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/INSTALLER +0 -0
  346. /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/REQUESTED +0 -0
  347. /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/entry_points.txt +0 -0
  348. /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info/licenses}/LICENSE +0 -0
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the Io language.
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -18,14 +18,13 @@ __all__ = ['IoLexer']
18
18
  class IoLexer(RegexLexer):
19
19
  """
20
20
  For Io (a small, prototype-based programming language) source.
21
-
22
- .. versionadded:: 0.10
23
21
  """
24
22
  name = 'Io'
25
23
  url = 'http://iolanguage.com/'
26
24
  filenames = ['*.io']
27
25
  aliases = ['io']
28
26
  mimetypes = ['text/x-iosrc']
27
+ version_added = '0.10'
29
28
  tokens = {
30
29
  'root': [
31
30
  (r'\n', Whitespace),
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for the J programming language.
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -18,8 +18,6 @@ __all__ = ['JLexer']
18
18
  class JLexer(RegexLexer):
19
19
  """
20
20
  For J source code.
21
-
22
- .. versionadded:: 2.1
23
21
  """
24
22
 
25
23
  name = 'J'
@@ -27,6 +25,7 @@ class JLexer(RegexLexer):
27
25
  aliases = ['j']
28
26
  filenames = ['*.ijs']
29
27
  mimetypes = ['text/x-j']
28
+ version_added = '2.1'
30
29
 
31
30
  validName = r'\b[a-zA-Z]\w*'
32
31
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for JavaScript and related languages.
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -41,6 +41,7 @@ class JavascriptLexer(RegexLexer):
41
41
  filenames = ['*.js', '*.jsm', '*.mjs', '*.cjs']
42
42
  mimetypes = ['application/javascript', 'application/x-javascript',
43
43
  'text/x-javascript', 'text/javascript']
44
+ version_added = ''
44
45
 
45
46
  flags = re.DOTALL | re.MULTILINE
46
47
 
@@ -137,8 +138,6 @@ class JavascriptLexer(RegexLexer):
137
138
  class TypeScriptLexer(JavascriptLexer):
138
139
  """
139
140
  For TypeScript source code.
140
-
141
- .. versionadded:: 1.6
142
141
  """
143
142
 
144
143
  name = 'TypeScript'
@@ -146,6 +145,7 @@ class TypeScriptLexer(JavascriptLexer):
146
145
  aliases = ['typescript', 'ts']
147
146
  filenames = ['*.ts']
148
147
  mimetypes = ['application/x-typescript', 'text/x-typescript']
148
+ version_added = '1.6'
149
149
 
150
150
  # Higher priority than the TypoScriptLexer, as TypeScript is far more
151
151
  # common these days
@@ -175,8 +175,6 @@ class TypeScriptLexer(JavascriptLexer):
175
175
  class KalLexer(RegexLexer):
176
176
  """
177
177
  For Kal source code.
178
-
179
- .. versionadded:: 2.0
180
178
  """
181
179
 
182
180
  name = 'Kal'
@@ -184,6 +182,7 @@ class KalLexer(RegexLexer):
184
182
  aliases = ['kal']
185
183
  filenames = ['*.kal']
186
184
  mimetypes = ['text/kal', 'application/kal']
185
+ version_added = '2.0'
187
186
 
188
187
  flags = re.DOTALL
189
188
  tokens = {
@@ -309,8 +308,6 @@ class KalLexer(RegexLexer):
309
308
  class LiveScriptLexer(RegexLexer):
310
309
  """
311
310
  For LiveScript source code.
312
-
313
- .. versionadded:: 1.6
314
311
  """
315
312
 
316
313
  name = 'LiveScript'
@@ -318,6 +315,7 @@ class LiveScriptLexer(RegexLexer):
318
315
  aliases = ['livescript', 'live-script']
319
316
  filenames = ['*.ls']
320
317
  mimetypes = ['text/livescript']
318
+ version_added = '1.6'
321
319
 
322
320
  flags = re.DOTALL
323
321
  tokens = {
@@ -422,8 +420,6 @@ class LiveScriptLexer(RegexLexer):
422
420
  class DartLexer(RegexLexer):
423
421
  """
424
422
  For Dart source code.
425
-
426
- .. versionadded:: 1.5
427
423
  """
428
424
 
429
425
  name = 'Dart'
@@ -431,6 +427,7 @@ class DartLexer(RegexLexer):
431
427
  aliases = ['dart']
432
428
  filenames = ['*.dart']
433
429
  mimetypes = ['text/x-dart']
430
+ version_added = '1.5'
434
431
 
435
432
  flags = re.MULTILINE | re.DOTALL
436
433
 
@@ -537,15 +534,16 @@ class LassoLexer(RegexLexer):
537
534
  `requiredelimiters`
538
535
  If given and ``True``, only highlight code between delimiters as Lasso
539
536
  (default: ``False``).
540
-
541
- .. versionadded:: 1.6
542
537
  """
543
538
 
544
539
  name = 'Lasso'
545
540
  aliases = ['lasso', 'lassoscript']
546
541
  filenames = ['*.lasso', '*.lasso[89]']
542
+ version_added = '1.6'
547
543
  alias_filenames = ['*.incl', '*.inc', '*.las']
548
544
  mimetypes = ['text/x-lasso']
545
+ url = 'https://www.lassosoft.com'
546
+
549
547
  flags = re.IGNORECASE | re.DOTALL | re.MULTILINE
550
548
 
551
549
  tokens = {
@@ -790,14 +788,14 @@ class LassoLexer(RegexLexer):
790
788
  class ObjectiveJLexer(RegexLexer):
791
789
  """
792
790
  For Objective-J source code with preprocessor directives.
793
-
794
- .. versionadded:: 1.3
795
791
  """
796
792
 
797
793
  name = 'Objective-J'
798
794
  aliases = ['objective-j', 'objectivej', 'obj-j', 'objj']
799
795
  filenames = ['*.j']
800
796
  mimetypes = ['text/x-objective-j']
797
+ url = 'https://www.cappuccino.dev/learn/objective-j.html'
798
+ version_added = '1.3'
801
799
 
802
800
  #: optional Comment or Whitespace
803
801
  _ws = r'(?:\s|//[^\n]*\n|/[*](?:[^*]|[*][^/])*[*]/)*'
@@ -1013,8 +1011,6 @@ class ObjectiveJLexer(RegexLexer):
1013
1011
  class CoffeeScriptLexer(RegexLexer):
1014
1012
  """
1015
1013
  For CoffeeScript source code.
1016
-
1017
- .. versionadded:: 1.3
1018
1014
  """
1019
1015
 
1020
1016
  name = 'CoffeeScript'
@@ -1022,6 +1018,7 @@ class CoffeeScriptLexer(RegexLexer):
1022
1018
  aliases = ['coffeescript', 'coffee-script', 'coffee']
1023
1019
  filenames = ['*.coffee']
1024
1020
  mimetypes = ['text/coffeescript']
1021
+ version_added = '1.3'
1025
1022
 
1026
1023
  _operator_re = (
1027
1024
  r'\+\+|~|&&|\band\b|\bor\b|\bis\b|\bisnt\b|\bnot\b|\?|:|'
@@ -1127,14 +1124,13 @@ class CoffeeScriptLexer(RegexLexer):
1127
1124
  class MaskLexer(RegexLexer):
1128
1125
  """
1129
1126
  For Mask markup.
1130
-
1131
- .. versionadded:: 2.0
1132
1127
  """
1133
1128
  name = 'Mask'
1134
1129
  url = 'https://github.com/atmajs/MaskJS'
1135
1130
  aliases = ['mask']
1136
1131
  filenames = ['*.mask']
1137
1132
  mimetypes = ['text/x-mask']
1133
+ version_added = '2.0'
1138
1134
 
1139
1135
  flags = re.MULTILINE | re.IGNORECASE | re.DOTALL
1140
1136
  tokens = {
@@ -1255,6 +1251,8 @@ class EarlGreyLexer(RegexLexer):
1255
1251
  aliases = ['earl-grey', 'earlgrey', 'eg']
1256
1252
  filenames = ['*.eg']
1257
1253
  mimetypes = ['text/x-earl-grey']
1254
+ url = 'https://github.com/breuleux/earl-grey'
1255
+ version_added = ''
1258
1256
 
1259
1257
  tokens = {
1260
1258
  'root': [
@@ -1461,8 +1459,6 @@ class EarlGreyLexer(RegexLexer):
1461
1459
  class JuttleLexer(RegexLexer):
1462
1460
  """
1463
1461
  For Juttle source code.
1464
-
1465
- .. versionadded:: 2.2
1466
1462
  """
1467
1463
 
1468
1464
  name = 'Juttle'
@@ -1471,6 +1467,7 @@ class JuttleLexer(RegexLexer):
1471
1467
  filenames = ['*.juttle']
1472
1468
  mimetypes = ['application/juttle', 'application/x-juttle',
1473
1469
  'text/x-juttle', 'text/juttle']
1470
+ version_added = '2.2'
1474
1471
 
1475
1472
  flags = re.DOTALL | re.MULTILINE
1476
1473
 
@@ -1548,6 +1545,8 @@ class NodeConsoleLexer(Lexer):
1548
1545
  name = 'Node.js REPL console session'
1549
1546
  aliases = ['nodejsrepl', ]
1550
1547
  mimetypes = ['text/x-nodejsrepl', ]
1548
+ url = 'https://nodejs.org'
1549
+ version_added = ''
1551
1550
 
1552
1551
  def get_tokens_unprocessed(self, text):
1553
1552
  jslexer = JavascriptLexer(**self.options)
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the JMESPath language
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -23,6 +23,7 @@ class JMESPathLexer(RegexLexer):
23
23
  url = 'https://jmespath.org'
24
24
  filenames = ['*.jp']
25
25
  aliases = ['jmespath', 'jp']
26
+ version_added = ''
26
27
 
27
28
  tokens = {
28
29
  'string': [
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the JSLT language
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -22,14 +22,13 @@ _WORD_END = r'(?=[^0-9A-Z_a-z-])'
22
22
  class JSLTLexer(RegexLexer):
23
23
  """
24
24
  For JSLT source.
25
-
26
- .. versionadded:: 2.10
27
25
  """
28
26
  name = 'JSLT'
29
27
  url = 'https://github.com/schibsted/jslt'
30
28
  filenames = ['*.jslt']
31
29
  aliases = ['jslt']
32
30
  mimetypes = ['text/x-jslt']
31
+ version_added = '2.10'
33
32
 
34
33
  tokens = {
35
34
  'root': [
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for Jsonnet data templating language.
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -20,7 +20,7 @@ jsonnet_function_token = jsonnet_token + r'(?=\()'
20
20
 
21
21
  def string_rules(quote_mark):
22
22
  return [
23
- (r"[^{}\\]".format(quote_mark), String),
23
+ (rf"[^{quote_mark}\\]", String),
24
24
  (r"\\.", String.Escape),
25
25
  (quote_mark, String, '#pop'),
26
26
  ]
@@ -28,7 +28,7 @@ def string_rules(quote_mark):
28
28
 
29
29
  def quoted_field_name(quote_mark):
30
30
  return [
31
- (r'([^{quote}\\]|\\.)*{quote}'.format(quote=quote_mark),
31
+ (rf'([^{quote_mark}\\]|\\.)*{quote_mark}',
32
32
  Name.Variable, 'field_separator')
33
33
  ]
34
34
 
@@ -40,6 +40,7 @@ class JsonnetLexer(RegexLexer):
40
40
  aliases = ['jsonnet']
41
41
  filenames = ['*.jsonnet', '*.libsonnet']
42
42
  url = "https://jsonnet.org"
43
+ version_added = ''
43
44
  tokens = {
44
45
  # Not used by itself
45
46
  '_comments': [
@@ -0,0 +1,75 @@
1
+ """
2
+ pygments.lexers.jsx
3
+ ~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for JSX (React).
6
+
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.lexer import bygroups, default, include, inherit
14
+ from pygments.lexers.javascript import JavascriptLexer
15
+ from pygments.token import Name, Operator, Punctuation, String, Text, \
16
+ Whitespace
17
+
18
+ __all__ = ['JsxLexer']
19
+
20
+
21
+ class JsxLexer(JavascriptLexer):
22
+ """For JavaScript Syntax Extension (JSX).
23
+ """
24
+
25
+ name = "JSX"
26
+ aliases = ["jsx", "react"]
27
+ filenames = ["*.jsx", "*.react"]
28
+ mimetypes = ["text/jsx", "text/typescript-jsx"]
29
+ url = "https://facebook.github.io/jsx/"
30
+ version_added = '2.17'
31
+
32
+ flags = re.MULTILINE | re.DOTALL
33
+
34
+ # Use same tokens as `JavascriptLexer`, but with tags and attributes support
35
+ tokens = {
36
+ "root": [
37
+ include("jsx"),
38
+ inherit,
39
+ ],
40
+ "jsx": [
41
+ (r"</?>", Punctuation), # JSXFragment <>|</>
42
+ (r"(<)(\w+)(\.?)", bygroups(Punctuation, Name.Tag, Punctuation), "tag"),
43
+ (
44
+ r"(</)(\w+)(>)",
45
+ bygroups(Punctuation, Name.Tag, Punctuation),
46
+ ),
47
+ (
48
+ r"(</)(\w+)",
49
+ bygroups(Punctuation, Name.Tag),
50
+ "fragment",
51
+ ), # Same for React.Context
52
+ ],
53
+ "tag": [
54
+ (r"\s+", Whitespace),
55
+ (r"([\w-]+)(\s*)(=)(\s*)", bygroups(Name.Attribute, Whitespace, Operator, Whitespace), "attr"),
56
+ (r"[{}]+", Punctuation),
57
+ (r"[\w\.]+", Name.Attribute),
58
+ (r"(/?)(\s*)(>)", bygroups(Punctuation, Text, Punctuation), "#pop"),
59
+ ],
60
+ "fragment": [
61
+ (r"(.)(\w+)", bygroups(Punctuation, Name.Attribute)),
62
+ (r"(>)", bygroups(Punctuation), "#pop"),
63
+ ],
64
+ "attr": [
65
+ (r"\{", Punctuation, "expression"),
66
+ (r'".*?"', String, "#pop"),
67
+ (r"'.*?'", String, "#pop"),
68
+ default("#pop"),
69
+ ],
70
+ "expression": [
71
+ (r"\{", Punctuation, "#push"),
72
+ (r"\}", Punctuation, "#pop"),
73
+ include("root"),
74
+ ],
75
+ }
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the Julia language.
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -27,8 +27,6 @@ operator_suffixes = r'[²³¹ʰʲʳʷʸˡˢˣᴬᴮᴰᴱᴳᴴᴵᴶᴷᴸᴹ
27
27
  class JuliaLexer(RegexLexer):
28
28
  """
29
29
  For Julia source code.
30
-
31
- .. versionadded:: 1.6
32
30
  """
33
31
 
34
32
  name = 'Julia'
@@ -36,6 +34,7 @@ class JuliaLexer(RegexLexer):
36
34
  aliases = ['julia', 'jl']
37
35
  filenames = ['*.jl']
38
36
  mimetypes = ['text/x-julia', 'application/x-julia']
37
+ version_added = '1.6'
39
38
 
40
39
  tokens = {
41
40
  'root': [
@@ -247,11 +246,11 @@ class JuliaLexer(RegexLexer):
247
246
  class JuliaConsoleLexer(Lexer):
248
247
  """
249
248
  For Julia console sessions. Modeled after MatlabSessionLexer.
250
-
251
- .. versionadded:: 1.6
252
249
  """
253
250
  name = 'Julia console'
254
251
  aliases = ['jlcon', 'julia-repl']
252
+ url = 'https://julialang.org/'
253
+ version_added = '1.6'
255
254
 
256
255
  def get_tokens_unprocessed(self, text):
257
256
  jllexer = JuliaLexer(**self.options)