pygments.rb 3.0.0 → 5.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 (360) 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/.rubocop.yml +1 -2
  5. data/CHANGELOG.adoc +13 -1
  6. data/README.adoc +3 -3
  7. data/Rakefile +1 -1
  8. data/bench.rb +3 -3
  9. data/lib/pygments/version.rb +1 -1
  10. data/pygments.rb.gemspec +6 -4
  11. data/test/test_pygments.rb +0 -4
  12. data/vendor/pygments-main/bin/pygmentize +1 -1
  13. data/vendor/pygments-main/pygments/__init__.py +2 -2
  14. data/vendor/pygments-main/pygments/__main__.py +1 -1
  15. data/vendor/pygments-main/pygments/cmdline.py +2 -2
  16. data/vendor/pygments-main/pygments/console.py +1 -1
  17. data/vendor/pygments-main/pygments/filter.py +1 -1
  18. data/vendor/pygments-main/pygments/filters/__init__.py +10 -8
  19. data/vendor/pygments-main/pygments/formatter.py +1 -1
  20. data/vendor/pygments-main/pygments/formatters/__init__.py +1 -1
  21. data/vendor/pygments-main/pygments/formatters/_mapping.py +0 -0
  22. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
  23. data/vendor/pygments-main/pygments/formatters/groff.py +1 -1
  24. data/vendor/pygments-main/pygments/formatters/html.py +20 -10
  25. data/vendor/pygments-main/pygments/formatters/img.py +3 -2
  26. data/vendor/pygments-main/pygments/formatters/irc.py +1 -2
  27. data/vendor/pygments-main/pygments/formatters/latex.py +1 -1
  28. data/vendor/pygments-main/pygments/formatters/other.py +1 -1
  29. data/vendor/pygments-main/pygments/formatters/pangomarkup.py +1 -1
  30. data/vendor/pygments-main/pygments/formatters/rtf.py +1 -1
  31. data/vendor/pygments-main/pygments/formatters/svg.py +1 -1
  32. data/vendor/pygments-main/pygments/formatters/terminal.py +1 -1
  33. data/vendor/pygments-main/pygments/formatters/terminal256.py +6 -6
  34. data/vendor/pygments-main/pygments/lexer.py +7 -5
  35. data/vendor/pygments-main/pygments/lexers/__init__.py +1 -1
  36. data/vendor/pygments-main/pygments/lexers/_ada_builtins.py +1 -1
  37. data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +1 -1
  38. data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +1 -1
  39. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +1 -1
  40. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1 -1
  41. data/vendor/pygments-main/pygments/lexers/_css_builtins.py +1 -1
  42. data/vendor/pygments-main/pygments/lexers/_googlesql_builtins.py +918 -0
  43. data/vendor/pygments-main/pygments/lexers/_julia_builtins.py +1 -1
  44. data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +1 -1
  45. data/vendor/pygments-main/pygments/lexers/_lilypond_builtins.py +404 -152
  46. data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +1 -1
  47. data/vendor/pygments-main/pygments/lexers/_luau_builtins.py +1 -1
  48. data/vendor/pygments-main/pygments/lexers/_mapping.py +24 -10
  49. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1 -1
  50. data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +52 -3
  51. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +1 -1
  52. data/vendor/pygments-main/pygments/lexers/_php_builtins.py +7 -4
  53. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +1 -1
  54. data/vendor/pygments-main/pygments/lexers/_qlik_builtins.py +1 -1
  55. data/vendor/pygments-main/pygments/lexers/_scheme_builtins.py +1 -1
  56. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +1 -1
  57. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1 -1
  58. data/vendor/pygments-main/pygments/lexers/_sql_builtins.py +106 -0
  59. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +126 -13
  60. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +1 -1
  61. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -1
  62. data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +1 -1
  63. data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +1 -1
  64. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -1
  65. data/vendor/pygments-main/pygments/lexers/actionscript.py +3 -3
  66. data/vendor/pygments-main/pygments/lexers/ada.py +1 -1
  67. data/vendor/pygments-main/pygments/lexers/agile.py +1 -1
  68. data/vendor/pygments-main/pygments/lexers/algebra.py +8 -6
  69. data/vendor/pygments-main/pygments/lexers/ambient.py +1 -1
  70. data/vendor/pygments-main/pygments/lexers/amdgpu.py +1 -1
  71. data/vendor/pygments-main/pygments/lexers/ampl.py +1 -1
  72. data/vendor/pygments-main/pygments/lexers/apdlexer.py +1 -1
  73. data/vendor/pygments-main/pygments/lexers/apl.py +1 -1
  74. data/vendor/pygments-main/pygments/lexers/archetype.py +4 -4
  75. data/vendor/pygments-main/pygments/lexers/arrow.py +1 -1
  76. data/vendor/pygments-main/pygments/lexers/arturo.py +1 -1
  77. data/vendor/pygments-main/pygments/lexers/asc.py +1 -1
  78. data/vendor/pygments-main/pygments/lexers/asm.py +29 -21
  79. data/vendor/pygments-main/pygments/lexers/asn1.py +3 -3
  80. data/vendor/pygments-main/pygments/lexers/automation.py +1 -1
  81. data/vendor/pygments-main/pygments/lexers/bare.py +1 -1
  82. data/vendor/pygments-main/pygments/lexers/basic.py +1 -1
  83. data/vendor/pygments-main/pygments/lexers/bdd.py +1 -1
  84. data/vendor/pygments-main/pygments/lexers/berry.py +1 -1
  85. data/vendor/pygments-main/pygments/lexers/bibtex.py +1 -1
  86. data/vendor/pygments-main/pygments/lexers/blueprint.py +1 -1
  87. data/vendor/pygments-main/pygments/lexers/boa.py +1 -1
  88. data/vendor/pygments-main/pygments/lexers/bqn.py +18 -15
  89. data/vendor/pygments-main/pygments/lexers/business.py +1 -1
  90. data/vendor/pygments-main/pygments/lexers/c_cpp.py +18 -17
  91. data/vendor/pygments-main/pygments/lexers/c_like.py +1 -1
  92. data/vendor/pygments-main/pygments/lexers/capnproto.py +1 -1
  93. data/vendor/pygments-main/pygments/lexers/carbon.py +1 -1
  94. data/vendor/pygments-main/pygments/lexers/cddl.py +1 -1
  95. data/vendor/pygments-main/pygments/lexers/chapel.py +1 -1
  96. data/vendor/pygments-main/pygments/lexers/clean.py +1 -1
  97. data/vendor/pygments-main/pygments/lexers/codeql.py +80 -0
  98. data/vendor/pygments-main/pygments/lexers/comal.py +1 -1
  99. data/vendor/pygments-main/pygments/lexers/compiled.py +1 -1
  100. data/vendor/pygments-main/pygments/lexers/configs.py +17 -8
  101. data/vendor/pygments-main/pygments/lexers/console.py +1 -1
  102. data/vendor/pygments-main/pygments/lexers/cplint.py +1 -1
  103. data/vendor/pygments-main/pygments/lexers/crystal.py +1 -1
  104. data/vendor/pygments-main/pygments/lexers/csound.py +1 -1
  105. data/vendor/pygments-main/pygments/lexers/css.py +32 -2
  106. data/vendor/pygments-main/pygments/lexers/d.py +1 -1
  107. data/vendor/pygments-main/pygments/lexers/dalvik.py +1 -1
  108. data/vendor/pygments-main/pygments/lexers/data.py +2 -2
  109. data/vendor/pygments-main/pygments/lexers/dax.py +1 -1
  110. data/vendor/pygments-main/pygments/lexers/devicetree.py +17 -5
  111. data/vendor/pygments-main/pygments/lexers/diff.py +1 -1
  112. data/vendor/pygments-main/pygments/lexers/dns.py +1 -1
  113. data/vendor/pygments-main/pygments/lexers/dotnet.py +40 -13
  114. data/vendor/pygments-main/pygments/lexers/dsls.py +2 -2
  115. data/vendor/pygments-main/pygments/lexers/dylan.py +3 -3
  116. data/vendor/pygments-main/pygments/lexers/ecl.py +1 -1
  117. data/vendor/pygments-main/pygments/lexers/eiffel.py +1 -1
  118. data/vendor/pygments-main/pygments/lexers/elm.py +1 -1
  119. data/vendor/pygments-main/pygments/lexers/elpi.py +55 -26
  120. data/vendor/pygments-main/pygments/lexers/email.py +1 -1
  121. data/vendor/pygments-main/pygments/lexers/erlang.py +1 -1
  122. data/vendor/pygments-main/pygments/lexers/esoteric.py +1 -1
  123. data/vendor/pygments-main/pygments/lexers/ezhil.py +1 -1
  124. data/vendor/pygments-main/pygments/lexers/factor.py +1 -1
  125. data/vendor/pygments-main/pygments/lexers/fantom.py +1 -1
  126. data/vendor/pygments-main/pygments/lexers/felix.py +1 -1
  127. data/vendor/pygments-main/pygments/lexers/fift.py +1 -1
  128. data/vendor/pygments-main/pygments/lexers/floscript.py +1 -1
  129. data/vendor/pygments-main/pygments/lexers/forth.py +1 -1
  130. data/vendor/pygments-main/pygments/lexers/fortran.py +1 -1
  131. data/vendor/pygments-main/pygments/lexers/foxpro.py +1 -1
  132. data/vendor/pygments-main/pygments/lexers/freefem.py +1 -1
  133. data/vendor/pygments-main/pygments/lexers/func.py +1 -1
  134. data/vendor/pygments-main/pygments/lexers/functional.py +2 -2
  135. data/vendor/pygments-main/pygments/lexers/futhark.py +1 -1
  136. data/vendor/pygments-main/pygments/lexers/gcodelexer.py +1 -1
  137. data/vendor/pygments-main/pygments/lexers/gdscript.py +1 -1
  138. data/vendor/pygments-main/pygments/lexers/gleam.py +74 -0
  139. data/vendor/pygments-main/pygments/lexers/go.py +1 -1
  140. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +1 -1
  141. data/vendor/pygments-main/pygments/lexers/graph.py +1 -1
  142. data/vendor/pygments-main/pygments/lexers/graphics.py +1 -1
  143. data/vendor/pygments-main/pygments/lexers/graphql.py +1 -1
  144. data/vendor/pygments-main/pygments/lexers/graphviz.py +1 -1
  145. data/vendor/pygments-main/pygments/lexers/gsql.py +1 -1
  146. data/vendor/pygments-main/pygments/lexers/hare.py +73 -0
  147. data/vendor/pygments-main/pygments/lexers/haskell.py +5 -4
  148. data/vendor/pygments-main/pygments/lexers/haxe.py +9 -3
  149. data/vendor/pygments-main/pygments/lexers/hdl.py +1 -1
  150. data/vendor/pygments-main/pygments/lexers/hexdump.py +1 -1
  151. data/vendor/pygments-main/pygments/lexers/html.py +48 -4
  152. data/vendor/pygments-main/pygments/lexers/idl.py +1 -1
  153. data/vendor/pygments-main/pygments/lexers/igor.py +2 -2
  154. data/vendor/pygments-main/pygments/lexers/inferno.py +1 -1
  155. data/vendor/pygments-main/pygments/lexers/installers.py +53 -26
  156. data/vendor/pygments-main/pygments/lexers/int_fiction.py +1 -1
  157. data/vendor/pygments-main/pygments/lexers/iolang.py +1 -1
  158. data/vendor/pygments-main/pygments/lexers/j.py +1 -1
  159. data/vendor/pygments-main/pygments/lexers/javascript.py +5 -1
  160. data/vendor/pygments-main/pygments/lexers/jmespath.py +1 -1
  161. data/vendor/pygments-main/pygments/lexers/jslt.py +1 -1
  162. data/vendor/pygments-main/pygments/lexers/json5.py +83 -0
  163. data/vendor/pygments-main/pygments/lexers/jsonnet.py +1 -1
  164. data/vendor/pygments-main/pygments/lexers/jsx.py +64 -39
  165. data/vendor/pygments-main/pygments/lexers/julia.py +2 -1
  166. data/vendor/pygments-main/pygments/lexers/jvm.py +11 -6
  167. data/vendor/pygments-main/pygments/lexers/kuin.py +1 -1
  168. data/vendor/pygments-main/pygments/lexers/kusto.py +1 -1
  169. data/vendor/pygments-main/pygments/lexers/ldap.py +1 -1
  170. data/vendor/pygments-main/pygments/lexers/lean.py +3 -3
  171. data/vendor/pygments-main/pygments/lexers/lilypond.py +1 -1
  172. data/vendor/pygments-main/pygments/lexers/lisp.py +18 -12
  173. data/vendor/pygments-main/pygments/lexers/macaulay2.py +169 -110
  174. data/vendor/pygments-main/pygments/lexers/make.py +1 -1
  175. data/vendor/pygments-main/pygments/lexers/maple.py +291 -0
  176. data/vendor/pygments-main/pygments/lexers/markup.py +11 -6
  177. data/vendor/pygments-main/pygments/lexers/math.py +1 -1
  178. data/vendor/pygments-main/pygments/lexers/matlab.py +5 -4
  179. data/vendor/pygments-main/pygments/lexers/maxima.py +1 -1
  180. data/vendor/pygments-main/pygments/lexers/meson.py +3 -3
  181. data/vendor/pygments-main/pygments/lexers/mime.py +1 -1
  182. data/vendor/pygments-main/pygments/lexers/minecraft.py +3 -2
  183. data/vendor/pygments-main/pygments/lexers/mips.py +1 -1
  184. data/vendor/pygments-main/pygments/lexers/ml.py +1 -1
  185. data/vendor/pygments-main/pygments/lexers/modeling.py +3 -1
  186. data/vendor/pygments-main/pygments/lexers/modula2.py +1 -1
  187. data/vendor/pygments-main/pygments/lexers/mojo.py +7 -4
  188. data/vendor/pygments-main/pygments/lexers/monte.py +1 -1
  189. data/vendor/pygments-main/pygments/lexers/mosel.py +1 -1
  190. data/vendor/pygments-main/pygments/lexers/ncl.py +1 -1
  191. data/vendor/pygments-main/pygments/lexers/nimrod.py +1 -1
  192. data/vendor/pygments-main/pygments/lexers/nit.py +1 -1
  193. data/vendor/pygments-main/pygments/lexers/nix.py +1 -1
  194. data/vendor/pygments-main/pygments/lexers/numbair.py +63 -0
  195. data/vendor/pygments-main/pygments/lexers/oberon.py +2 -2
  196. data/vendor/pygments-main/pygments/lexers/objective.py +12 -12
  197. data/vendor/pygments-main/pygments/lexers/ooc.py +3 -3
  198. data/vendor/pygments-main/pygments/lexers/openscad.py +1 -1
  199. data/vendor/pygments-main/pygments/lexers/other.py +1 -1
  200. data/vendor/pygments-main/pygments/lexers/parasail.py +1 -1
  201. data/vendor/pygments-main/pygments/lexers/parsers.py +5 -5
  202. data/vendor/pygments-main/pygments/lexers/pascal.py +1 -1
  203. data/vendor/pygments-main/pygments/lexers/pawn.py +1 -1
  204. data/vendor/pygments-main/pygments/lexers/pddl.py +82 -0
  205. data/vendor/pygments-main/pygments/lexers/perl.py +1 -1
  206. data/vendor/pygments-main/pygments/lexers/phix.py +1 -1
  207. data/vendor/pygments-main/pygments/lexers/php.py +6 -5
  208. data/vendor/pygments-main/pygments/lexers/pointless.py +1 -1
  209. data/vendor/pygments-main/pygments/lexers/pony.py +1 -1
  210. data/vendor/pygments-main/pygments/lexers/praat.py +1 -1
  211. data/vendor/pygments-main/pygments/lexers/procfile.py +1 -1
  212. data/vendor/pygments-main/pygments/lexers/prolog.py +1 -1
  213. data/vendor/pygments-main/pygments/lexers/promql.py +1 -1
  214. data/vendor/pygments-main/pygments/lexers/prql.py +1 -1
  215. data/vendor/pygments-main/pygments/lexers/ptx.py +1 -1
  216. data/vendor/pygments-main/pygments/lexers/python.py +58 -52
  217. data/vendor/pygments-main/pygments/lexers/q.py +1 -1
  218. data/vendor/pygments-main/pygments/lexers/qlik.py +1 -1
  219. data/vendor/pygments-main/pygments/lexers/qvt.py +1 -1
  220. data/vendor/pygments-main/pygments/lexers/r.py +8 -4
  221. data/vendor/pygments-main/pygments/lexers/rdf.py +4 -4
  222. data/vendor/pygments-main/pygments/lexers/rebol.py +1 -1
  223. data/vendor/pygments-main/pygments/lexers/rego.py +57 -0
  224. data/vendor/pygments-main/pygments/lexers/rell.py +68 -0
  225. data/vendor/pygments-main/pygments/lexers/resource.py +1 -1
  226. data/vendor/pygments-main/pygments/lexers/ride.py +1 -1
  227. data/vendor/pygments-main/pygments/lexers/rita.py +1 -1
  228. data/vendor/pygments-main/pygments/lexers/rnc.py +1 -1
  229. data/vendor/pygments-main/pygments/lexers/roboconf.py +1 -1
  230. data/vendor/pygments-main/pygments/lexers/robotframework.py +1 -1
  231. data/vendor/pygments-main/pygments/lexers/ruby.py +1 -1
  232. data/vendor/pygments-main/pygments/lexers/rust.py +1 -1
  233. data/vendor/pygments-main/pygments/lexers/sas.py +1 -1
  234. data/vendor/pygments-main/pygments/lexers/savi.py +1 -1
  235. data/vendor/pygments-main/pygments/lexers/scdoc.py +1 -1
  236. data/vendor/pygments-main/pygments/lexers/scripting.py +65 -25
  237. data/vendor/pygments-main/pygments/lexers/sgf.py +1 -1
  238. data/vendor/pygments-main/pygments/lexers/shell.py +5 -1
  239. data/vendor/pygments-main/pygments/lexers/sieve.py +1 -1
  240. data/vendor/pygments-main/pygments/lexers/slash.py +1 -1
  241. data/vendor/pygments-main/pygments/lexers/smalltalk.py +1 -1
  242. data/vendor/pygments-main/pygments/lexers/smithy.py +1 -1
  243. data/vendor/pygments-main/pygments/lexers/smv.py +1 -1
  244. data/vendor/pygments-main/pygments/lexers/snobol.py +1 -1
  245. data/vendor/pygments-main/pygments/lexers/solidity.py +1 -1
  246. data/vendor/pygments-main/pygments/lexers/soong.py +1 -1
  247. data/vendor/pygments-main/pygments/lexers/sophia.py +1 -1
  248. data/vendor/pygments-main/pygments/lexers/special.py +2 -1
  249. data/vendor/pygments-main/pygments/lexers/spice.py +2 -2
  250. data/vendor/pygments-main/pygments/lexers/sql.py +205 -127
  251. data/vendor/pygments-main/pygments/lexers/srcinfo.py +1 -1
  252. data/vendor/pygments-main/pygments/lexers/stata.py +1 -1
  253. data/vendor/pygments-main/pygments/lexers/supercollider.py +1 -1
  254. data/vendor/pygments-main/pygments/lexers/tablegen.py +177 -0
  255. data/vendor/pygments-main/pygments/lexers/tact.py +1 -1
  256. data/vendor/pygments-main/pygments/lexers/tal.py +1 -1
  257. data/vendor/pygments-main/pygments/lexers/tcl.py +1 -1
  258. data/vendor/pygments-main/pygments/lexers/teal.py +1 -1
  259. data/vendor/pygments-main/pygments/lexers/templates.py +3 -3
  260. data/vendor/pygments-main/pygments/lexers/teraterm.py +11 -1
  261. data/vendor/pygments-main/pygments/lexers/testing.py +1 -1
  262. data/vendor/pygments-main/pygments/lexers/text.py +2 -2
  263. data/vendor/pygments-main/pygments/lexers/textedit.py +1 -1
  264. data/vendor/pygments-main/pygments/lexers/textfmts.py +1 -1
  265. data/vendor/pygments-main/pygments/lexers/theorem.py +8 -8
  266. data/vendor/pygments-main/pygments/lexers/thingsdb.py +8 -5
  267. data/vendor/pygments-main/pygments/lexers/tlb.py +1 -1
  268. data/vendor/pygments-main/pygments/lexers/tls.py +1 -1
  269. data/vendor/pygments-main/pygments/lexers/tnt.py +1 -1
  270. data/vendor/pygments-main/pygments/lexers/trafficscript.py +1 -1
  271. data/vendor/pygments-main/pygments/lexers/typoscript.py +1 -1
  272. data/vendor/pygments-main/pygments/lexers/typst.py +82 -26
  273. data/vendor/pygments-main/pygments/lexers/ul4.py +1 -1
  274. data/vendor/pygments-main/pygments/lexers/unicon.py +1 -1
  275. data/vendor/pygments-main/pygments/lexers/urbi.py +1 -1
  276. data/vendor/pygments-main/pygments/lexers/usd.py +1 -1
  277. data/vendor/pygments-main/pygments/lexers/varnish.py +1 -1
  278. data/vendor/pygments-main/pygments/lexers/verification.py +1 -1
  279. data/vendor/pygments-main/pygments/lexers/verifpal.py +1 -1
  280. data/vendor/pygments-main/pygments/lexers/vip.py +1 -1
  281. data/vendor/pygments-main/pygments/lexers/vyper.py +2 -2
  282. data/vendor/pygments-main/pygments/lexers/web.py +1 -1
  283. data/vendor/pygments-main/pygments/lexers/webassembly.py +1 -1
  284. data/vendor/pygments-main/pygments/lexers/webidl.py +1 -1
  285. data/vendor/pygments-main/pygments/lexers/webmisc.py +1 -1
  286. data/vendor/pygments-main/pygments/lexers/wgsl.py +1 -1
  287. data/vendor/pygments-main/pygments/lexers/whiley.py +1 -1
  288. data/vendor/pygments-main/pygments/lexers/wowtoc.py +1 -1
  289. data/vendor/pygments-main/pygments/lexers/wren.py +1 -1
  290. data/vendor/pygments-main/pygments/lexers/x10.py +1 -1
  291. data/vendor/pygments-main/pygments/lexers/xorg.py +1 -1
  292. data/vendor/pygments-main/pygments/lexers/yang.py +1 -1
  293. data/vendor/pygments-main/pygments/lexers/yara.py +1 -1
  294. data/vendor/pygments-main/pygments/lexers/zig.py +2 -2
  295. data/vendor/pygments-main/pygments/modeline.py +1 -1
  296. data/vendor/pygments-main/pygments/plugin.py +3 -1
  297. data/vendor/pygments-main/pygments/regexopt.py +13 -2
  298. data/vendor/pygments-main/pygments/scanner.py +1 -1
  299. data/vendor/pygments-main/pygments/sphinxext.py +1 -1
  300. data/vendor/pygments-main/pygments/style.py +1 -1
  301. data/vendor/pygments-main/pygments/styles/__init__.py +1 -1
  302. data/vendor/pygments-main/pygments/styles/abap.py +1 -1
  303. data/vendor/pygments-main/pygments/styles/algol.py +1 -1
  304. data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -1
  305. data/vendor/pygments-main/pygments/styles/arduino.py +1 -1
  306. data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
  307. data/vendor/pygments-main/pygments/styles/borland.py +1 -1
  308. data/vendor/pygments-main/pygments/styles/bw.py +1 -1
  309. data/vendor/pygments-main/pygments/styles/coffee.py +1 -1
  310. data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
  311. data/vendor/pygments-main/pygments/styles/default.py +1 -1
  312. data/vendor/pygments-main/pygments/styles/dracula.py +1 -1
  313. data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
  314. data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
  315. data/vendor/pygments-main/pygments/styles/friendly_grayscale.py +1 -1
  316. data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
  317. data/vendor/pygments-main/pygments/styles/gh_dark.py +1 -1
  318. data/vendor/pygments-main/pygments/styles/gruvbox.py +1 -1
  319. data/vendor/pygments-main/pygments/styles/igor.py +1 -1
  320. data/vendor/pygments-main/pygments/styles/inkpot.py +1 -1
  321. data/vendor/pygments-main/pygments/styles/lightbulb.py +1 -1
  322. data/vendor/pygments-main/pygments/styles/lilypond.py +1 -1
  323. data/vendor/pygments-main/pygments/styles/lovelace.py +1 -1
  324. data/vendor/pygments-main/pygments/styles/manni.py +1 -1
  325. data/vendor/pygments-main/pygments/styles/material.py +1 -1
  326. data/vendor/pygments-main/pygments/styles/monokai.py +1 -1
  327. data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
  328. data/vendor/pygments-main/pygments/styles/native.py +1 -1
  329. data/vendor/pygments-main/pygments/styles/nord.py +1 -1
  330. data/vendor/pygments-main/pygments/styles/onedark.py +13 -3
  331. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -1
  332. data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -1
  333. data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
  334. data/vendor/pygments-main/pygments/styles/perldoc.py +1 -1
  335. data/vendor/pygments-main/pygments/styles/rainbow_dash.py +1 -1
  336. data/vendor/pygments-main/pygments/styles/rrt.py +18 -3
  337. data/vendor/pygments-main/pygments/styles/sas.py +1 -1
  338. data/vendor/pygments-main/pygments/styles/solarized.py +1 -1
  339. data/vendor/pygments-main/pygments/styles/staroffice.py +1 -1
  340. data/vendor/pygments-main/pygments/styles/stata_dark.py +1 -1
  341. data/vendor/pygments-main/pygments/styles/stata_light.py +1 -1
  342. data/vendor/pygments-main/pygments/styles/tango.py +1 -1
  343. data/vendor/pygments-main/pygments/styles/trac.py +1 -1
  344. data/vendor/pygments-main/pygments/styles/vim.py +1 -1
  345. data/vendor/pygments-main/pygments/styles/vs.py +1 -1
  346. data/vendor/pygments-main/pygments/styles/xcode.py +1 -1
  347. data/vendor/pygments-main/pygments/styles/zenburn.py +1 -1
  348. data/vendor/pygments-main/pygments/token.py +1 -1
  349. data/vendor/pygments-main/pygments/unistring.py +1 -1
  350. data/vendor/pygments-main/pygments/util.py +2 -2
  351. data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.20.0.dist-info}/METADATA +7 -7
  352. data/vendor/pygments-main/pygments-2.20.0.dist-info/RECORD +687 -0
  353. data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.20.0.dist-info}/WHEEL +1 -1
  354. data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.20.0.dist-info}/licenses/AUTHORS +9 -0
  355. metadata +44 -21
  356. data/vendor/pygments-main/pygments-2.18.0.dist-info/RECORD +0 -663
  357. /data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.20.0.dist-info}/INSTALLER +0 -0
  358. /data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.20.0.dist-info}/REQUESTED +0 -0
  359. /data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.20.0.dist-info}/entry_points.txt +0 -0
  360. /data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.20.0.dist-info}/licenses/LICENSE +0 -0
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for installer/packager DSLs and formats.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -14,7 +14,8 @@ from pygments.lexer import RegexLexer, include, bygroups, using, this, default
14
14
  from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
15
15
  Punctuation, Generic, Number, Whitespace
16
16
 
17
- __all__ = ['NSISLexer', 'RPMSpecLexer', 'SourcesListLexer',
17
+ __all__ = ['NSISLexer', 'RPMSpecLexer',
18
+ 'DebianSourcesLexer', 'SourcesListLexer',
18
19
  'DebianControlLexer']
19
20
 
20
21
 
@@ -217,6 +218,30 @@ class RPMSpecLexer(RegexLexer):
217
218
  }
218
219
 
219
220
 
221
+ class DebianSourcesLexer(RegexLexer):
222
+ """
223
+ Lexer that highlights debian.sources files.
224
+ """
225
+
226
+ name = 'Debian Sources file'
227
+ aliases = ['debian.sources']
228
+ filenames = ['*.sources']
229
+ version_added = '2.19'
230
+ url = 'https://manpages.debian.org/bookworm/apt/sources.list.5.en.html#THE_DEB_AND_DEB-SRC_TYPES:_GENERAL_FORMAT'
231
+
232
+ tokens = {
233
+ 'root': [
234
+ (r'^(Signed-By)(:)(\s*)', bygroups(Keyword, Punctuation, Whitespace), 'signed-by'),
235
+ (r'^([a-zA-Z\-0-9\.]*?)(:)(\s*)(.*?)$',
236
+ bygroups(Keyword, Punctuation, Whitespace, String)),
237
+ ],
238
+ 'signed-by': [
239
+ (r' -----END PGP PUBLIC KEY BLOCK-----\n', Text, '#pop'),
240
+ (r'.+\n', Text),
241
+ ],
242
+ }
243
+
244
+
220
245
  class SourcesListLexer(RegexLexer):
221
246
  """
222
247
  Lexer that highlights debian sources.list files.
@@ -278,25 +303,26 @@ class DebianControlLexer(RegexLexer):
278
303
  tokens = {
279
304
  'root': [
280
305
  (r'^(Description)', Keyword, 'description'),
281
- (r'^(Maintainer|Uploaders)(:\s*)', bygroups(Keyword, Text),
306
+ (r'^(Maintainer|Uploaders|Changed-By)(:)(\s*)',
307
+ bygroups(Keyword, Punctuation, Whitespace),
282
308
  'maintainer'),
283
- (r'^((?:Build-|Pre-)?Depends(?:-Indep|-Arch)?)(:\s*)',
284
- bygroups(Keyword, Text), 'depends'),
285
- (r'^(Recommends|Suggests|Enhances)(:\s*)', bygroups(Keyword, Text),
286
- 'depends'),
287
- (r'^((?:Python-)?Version)(:\s*)(\S+)$',
288
- bygroups(Keyword, Text, Number)),
289
- (r'^((?:Installed-)?Size)(:\s*)(\S+)$',
290
- bygroups(Keyword, Text, Number)),
291
- (r'^(MD5Sum|SHA1|SHA256)(:\s*)(\S+)$',
292
- bygroups(Keyword, Text, Number)),
293
- (r'^([a-zA-Z\-0-9\.]*?)(:\s*)(.*?)$',
294
- bygroups(Keyword, Whitespace, String)),
309
+ (r'^((?:Build-|Pre-)?Depends(?:-Indep|-Arch)?)(:)(\s*)',
310
+ bygroups(Keyword, Punctuation, Whitespace), 'package_list'),
311
+ (r'^(Recommends|Suggests|Enhances|Breaks|Replaces|Provides|Conflicts)(:)(\s*)',
312
+ bygroups(Keyword, Punctuation, Whitespace), 'package_list'),
313
+ (r'^((?:Python-)?Version)(:)(\s*)(\S+)$',
314
+ bygroups(Keyword, Punctuation, Whitespace, Number)),
315
+ (r'^((?:Installed-)?Size)(:)(\s*)(\S+)$',
316
+ bygroups(Keyword, Punctuation, Whitespace, Number)),
317
+ (r'^(MD5Sum|SHA1|SHA256)(:)(\s*)(\S+)$',
318
+ bygroups(Keyword, Punctuation, Whitespace, Number)),
319
+ (r'^([a-zA-Z\-0-9\.]*?)(:)(\s*)(.*?)$',
320
+ bygroups(Keyword, Punctuation, Whitespace, String)),
295
321
  ],
296
322
  'maintainer': [
297
323
  (r'<[^>]+>$', Generic.Strong, '#pop'),
298
324
  (r'<[^>]+>', Generic.Strong),
299
- (r',\n?', Text),
325
+ (r',\n?', Whitespace),
300
326
  (r'[^,<]+$', Text, '#pop'),
301
327
  (r'[^,<]+', Text),
302
328
  ],
@@ -307,19 +333,20 @@ class DebianControlLexer(RegexLexer):
307
333
  (r' .*\n', Text),
308
334
  default('#pop'),
309
335
  ],
310
- 'depends': [
311
- (r'(\$)(\{)(\w+\s*:\s*\w+)(\})',
312
- bygroups(Operator, Text, Name.Entity, Text)),
313
- (r'\(', Text, 'depend_vers'),
336
+ 'package_list': [
337
+ (r'(\$)(\{)(\w+)(\s*)(:)(\s*)(\w+)(\})',
338
+ bygroups(Operator, Punctuation, Name.Entity, Whitespace,
339
+ Punctuation, Whitespace, Text, Punctuation)),
340
+ (r'\(', Punctuation, 'package_list_vers'),
314
341
  (r'\|', Operator),
315
- (r',\n', Text),
316
- (r'\n', Text, '#pop'),
342
+ (r'\n\s', Whitespace),
343
+ (r'\n', Whitespace, '#pop'),
317
344
  (r'[,\s]', Text),
318
345
  (r'[+.a-zA-Z0-9-]+', Name.Function),
319
- (r'\[.*?\]', Name.Entity),
346
+ (r'(\[)(!?)(.*?)(\])', bygroups(Punctuation, Operator, Name.Entity, Punctuation)),
320
347
  ],
321
- 'depend_vers': [
322
- (r'\)', Text, '#pop'),
323
- (r'([><=]+)(\s*)([^)]+)', bygroups(Operator, Text, Number)),
348
+ 'package_list_vers': [
349
+ (r'\)', Punctuation, '#pop'),
350
+ (r'([><=]+)(\s*)([^)]+)', bygroups(Operator, Whitespace, Number)),
324
351
  ]
325
352
  }
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for interactive fiction languages.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the Io language.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for the J programming language.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for JavaScript and related languages.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -119,6 +119,8 @@ class JavascriptLexer(RegexLexer):
119
119
  (r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
120
120
  (r"'(\\\\|\\[^\\]|[^'\\])*'", String.Single),
121
121
  (r'`', String.Backtick, 'interp'),
122
+ # private identifier
123
+ (r'#[a-zA-Z_]\w*', Name),
122
124
  ],
123
125
  'interp': [
124
126
  (r'`', String.Backtick, '#pop'),
@@ -168,6 +170,8 @@ class TypeScriptLexer(JavascriptLexer):
168
170
  # Match stuff like: Decorators
169
171
  (r'@' + JS_IDENT, Keyword.Declaration),
170
172
  inherit,
173
+ # private identifier
174
+ (r'#[a-zA-Z_]\w*', Name),
171
175
  ],
172
176
  }
173
177
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the JMESPath language
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the JSLT language
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -0,0 +1,83 @@
1
+ """
2
+ pygments.lexers.json5
3
+ ~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for Json5 file format.
6
+
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import include, RegexLexer, words
12
+ from pygments.token import Comment, Keyword, Name, Number, Punctuation, \
13
+ String, Whitespace
14
+
15
+ __all__ = ['Json5Lexer']
16
+
17
+
18
+ def string_rules(quote_mark):
19
+ return [
20
+ (rf"[^{quote_mark}\\]+", String),
21
+ (r"\\.", String.Escape),
22
+ (r"\\", Punctuation),
23
+ (quote_mark, String, '#pop'),
24
+ ]
25
+
26
+
27
+ def quoted_field_name(quote_mark):
28
+ return [
29
+ (rf'([^{quote_mark}\\]|\\.)*{quote_mark}',
30
+ Name.Variable, ('#pop', 'object_value'))
31
+ ]
32
+
33
+
34
+ class Json5Lexer(RegexLexer):
35
+ """Lexer for JSON5 data structures."""
36
+
37
+ name = 'JSON5'
38
+ aliases = ['json5']
39
+ filenames = ['*.json5']
40
+ url = "https://json5.org"
41
+ version_added = '2.19'
42
+ tokens = {
43
+ '_comments': [
44
+ (r'(//|#).*\n', Comment.Single),
45
+ (r'/\*\*([^/]|/(?!\*))*\*/', String.Doc),
46
+ (r'/\*([^/]|/(?!\*))*\*/', Comment),
47
+ ],
48
+ 'root': [
49
+ include('_comments'),
50
+ (r"'", String, 'singlestring'),
51
+ (r'"', String, 'doublestring'),
52
+ (r'[+-]?0[xX][0-9a-fA-F]+', Number.Hex),
53
+ (r'[+-.]?[0-9]+[.]?[0-9]?([eE][-]?[0-9]+)?', Number.Float),
54
+ (r'\{', Punctuation, 'object'),
55
+ (r'\[', Punctuation, 'array'),
56
+ (words(['false', 'Infinity', '+Infinity', '-Infinity', 'NaN',
57
+ 'null', 'true',], suffix=r'\b'), Keyword),
58
+ (r'\s+', Whitespace),
59
+ (r':', Punctuation),
60
+ ],
61
+ 'singlestring': string_rules("'"),
62
+ 'doublestring': string_rules('"'),
63
+ 'array': [
64
+ (r',', Punctuation),
65
+ (r'\]', Punctuation, '#pop'),
66
+ include('root'),
67
+ ],
68
+ 'object': [
69
+ (r'\s+', Whitespace),
70
+ (r'\}', Punctuation, '#pop'),
71
+ (r'\b([^:]+)', Name.Variable, 'object_value'),
72
+ (r'"', Name.Variable, 'double_field_name'),
73
+ (r"'", Name.Variable, 'single_field_name'),
74
+ include('_comments'),
75
+ ],
76
+ 'double_field_name': quoted_field_name('"'),
77
+ 'single_field_name': quoted_field_name("'"),
78
+ 'object_value': [
79
+ (r',', Punctuation, '#pop'),
80
+ (r'\}', Punctuation, '#pop:2'),
81
+ include('root'),
82
+ ],
83
+ }
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for Jsonnet data templating language.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -2,20 +2,58 @@
2
2
  pygments.lexers.jsx
3
3
  ~~~~~~~~~~~~~~~~~~~
4
4
 
5
- Lexers for JSX (React).
5
+ Lexers for JSX (React) and TSX (TypeScript flavor).
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
11
11
  import re
12
12
 
13
13
  from pygments.lexer import bygroups, default, include, inherit
14
- from pygments.lexers.javascript import JavascriptLexer
14
+ from pygments.lexers.javascript import JavascriptLexer, TypeScriptLexer
15
15
  from pygments.token import Name, Operator, Punctuation, String, Text, \
16
16
  Whitespace
17
17
 
18
- __all__ = ['JsxLexer']
18
+ __all__ = ['JsxLexer', 'TsxLexer']
19
+
20
+ _JSX_RULES = {
21
+ "jsx": [
22
+ (r"</?>", Punctuation), # JSXFragment <>|</>
23
+ (r"(<)(\w+)(\.?)", bygroups(Punctuation, Name.Tag, Punctuation), "tag"),
24
+ (
25
+ r"(</)(\w+)(>)",
26
+ bygroups(Punctuation, Name.Tag, Punctuation),
27
+ ),
28
+ (
29
+ r"(</)(\w+)",
30
+ bygroups(Punctuation, Name.Tag),
31
+ "fragment",
32
+ ), # Same for React.Context
33
+ ],
34
+ "tag": [
35
+ (r"\s+", Whitespace),
36
+ (r"([\w-]+)(\s*)(=)(\s*)", bygroups(Name.Attribute, Whitespace, Operator, Whitespace), "attr"),
37
+ (r"[{}]+", Punctuation),
38
+ (r"[\w\.]+", Name.Attribute),
39
+ (r"(/?)(\s*)(>)", bygroups(Punctuation, Text, Punctuation), "#pop"),
40
+ ],
41
+ "fragment": [
42
+ (r"(.)(\w+)", bygroups(Punctuation, Name.Attribute)),
43
+ (r"(>)", bygroups(Punctuation), "#pop"),
44
+ ],
45
+ "attr": [
46
+ (r"\{", Punctuation, "expression"),
47
+ (r'".*?"', String, "#pop"),
48
+ (r"'.*?'", String, "#pop"),
49
+ default("#pop"),
50
+ ],
51
+ "expression": [
52
+ (r"\{", Punctuation, "#push"),
53
+ (r"\}", Punctuation, "#pop"),
54
+ include("root"),
55
+ ],
56
+ }
19
57
 
20
58
 
21
59
  class JsxLexer(JavascriptLexer):
@@ -37,39 +75,26 @@ class JsxLexer(JavascriptLexer):
37
75
  include("jsx"),
38
76
  inherit,
39
77
  ],
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"),
78
+ **_JSX_RULES}
79
+
80
+
81
+ class TsxLexer(TypeScriptLexer):
82
+ """For TypeScript with embedded JSX
83
+ """
84
+
85
+ name = "TSX"
86
+ aliases = ["tsx"]
87
+ filenames = ["*.tsx"]
88
+ mimetypes = ["text/typescript-tsx"]
89
+ url = "https://www.typescriptlang.org/docs/handbook/jsx.html"
90
+ version_added = '2.19'
91
+
92
+ flags = re.MULTILINE | re.DOTALL
93
+
94
+ # Use same tokens as `TypescriptLexer`, but with tags and attributes support
95
+ tokens = {
96
+ "root": [
97
+ include("jsx"),
98
+ inherit,
74
99
  ],
75
- }
100
+ **_JSX_RULES}
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the Julia language.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -251,6 +251,7 @@ class JuliaConsoleLexer(Lexer):
251
251
  aliases = ['jlcon', 'julia-repl']
252
252
  url = 'https://julialang.org/'
253
253
  version_added = '1.6'
254
+ _example = "jlcon/console"
254
255
 
255
256
  def get_tokens_unprocessed(self, text):
256
257
  jllexer = JuliaLexer(**self.options)
@@ -4,7 +4,7 @@
4
4
 
5
5
  Pygments lexers for JVM languages.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -50,21 +50,22 @@ class JavaLexer(RegexLexer):
50
50
  r'if|goto|instanceof|new|return|switch|this|throw|try|while)\b',
51
51
  Keyword),
52
52
  # method names
53
- (r'((?:(?:[^\W\d]|\$)[\w.\[\]$<>]*\s+)+?)' # return arguments
53
+ (r'((?:(?:[^\W\d]|\$)[\w.\[\]$<>?]*\s+)+?)' # return arguments
54
54
  r'((?:[^\W\d]|\$)[\w$]*)' # method name
55
55
  r'(\s*)(\()', # signature start
56
56
  bygroups(using(this), Name.Function, Whitespace, Punctuation)),
57
57
  (r'@[^\W\d][\w.]*', Name.Decorator),
58
- (r'(abstract|const|enum|extends|final|implements|native|private|'
59
- r'protected|public|sealed|static|strictfp|super|synchronized|throws|'
60
- r'transient|volatile|yield)\b', Keyword.Declaration),
58
+ (r'(abstract|const|enum|exports|extends|final|implements|native|non-sealed|'
59
+ r'open|opens|permits|private|protected|provides|public|requires|sealed|static|strictfp|'
60
+ r'super|synchronized|throws|to|transient|transitive|uses|volatile|with|yield)\b', Keyword.Declaration),
61
61
  (r'(boolean|byte|char|double|float|int|long|short|void)\b',
62
62
  Keyword.Type),
63
63
  (r'(package)(\s+)', bygroups(Keyword.Namespace, Whitespace), 'import'),
64
64
  (r'(true|false|null)\b', Keyword.Constant),
65
65
  (r'(class|interface)\b', Keyword.Declaration, 'class'),
66
+ (r'(module)\b', Keyword.Declaration, 'module'),
66
67
  (r'(var)(\s+)', bygroups(Keyword.Declaration, Whitespace), 'var'),
67
- (r'(import(?:\s+static)?)(\s+)', bygroups(Keyword.Namespace, Whitespace),
68
+ (r'(import(?:\s+(?:static|module))?)(\s+)', bygroups(Keyword.Namespace, Whitespace),
68
69
  'import'),
69
70
  (r'"""\n', String, 'multiline_string'),
70
71
  (r'"', String, 'string'),
@@ -95,6 +96,10 @@ class JavaLexer(RegexLexer):
95
96
  (r'\s+', Text),
96
97
  (r'([^\W\d]|\$)[\w$]*', Name.Class, '#pop')
97
98
  ],
99
+ 'module': [
100
+ (r'\s+', Text),
101
+ (r'([^\W\d]|\$)[\w$]*', Name.Class, '#pop')
102
+ ],
98
103
  'var': [
99
104
  (r'([^\W\d]|\$)[\w$]*', Name, '#pop')
100
105
  ],
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the Kuin language.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for Kusto Query Language (KQL).
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Pygments lexers for LDAP.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the Lean theorem prover.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -136,7 +136,7 @@ class Lean4Lexer(RegexLexer):
136
136
  """
137
137
  For the Lean 4 theorem prover.
138
138
  """
139
-
139
+
140
140
  name = 'Lean4'
141
141
  url = 'https://github.com/leanprover/lean4'
142
142
  aliases = ['lean4']
@@ -186,7 +186,7 @@ class Lean4Lexer(RegexLexer):
186
186
  )
187
187
 
188
188
  punctuation = ('(', ')', ':', '{', '}', '[', ']', '⦃', '⦄',
189
- ':=', ',')
189
+ ':=', ',', ']\'', ']?', ']!')
190
190
 
191
191
  tokens = {
192
192
  'expression': [
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for LilyPond.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for Lispy languages.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -441,7 +441,7 @@ class CommonLispLexer(RegexLexer):
441
441
  (r'(#s)(\()', bygroups(Literal.Other, Punctuation), 'body'),
442
442
 
443
443
  # path
444
- (r'#p?"(\\.|[^"])*"', Literal.Other),
444
+ (r'#p?"(\\.|[^"\\])*"', Literal.Other),
445
445
 
446
446
  # reference
447
447
  (r'#\d+=', Operator),
@@ -2756,19 +2756,22 @@ class FennelLexer(RegexLexer):
2756
2756
  name = 'Fennel'
2757
2757
  url = 'https://fennel-lang.org'
2758
2758
  aliases = ['fennel', 'fnl']
2759
- filenames = ['*.fnl']
2759
+ filenames = ['*.fnl', '*.fnlm']
2760
+ mimetypes = ['text/x-fennel']
2760
2761
  version_added = '2.3'
2761
2762
 
2762
- # this list is current as of Fennel version 0.10.0.
2763
+ # this list is current as of Fennel version 1.5.3
2763
2764
  special_forms = (
2764
- '#', '%', '*', '+', '-', '->', '->>', '-?>', '-?>>', '.', '..',
2765
- '/', '//', ':', '<', '<=', '=', '>', '>=', '?.', '^', 'accumulate',
2766
- 'and', 'band', 'bnot', 'bor', 'bxor', 'collect', 'comment', 'do', 'doc',
2767
- 'doto', 'each', 'eval-compiler', 'for', 'hashfn', 'icollect', 'if',
2768
- 'import-macros', 'include', 'length', 'let', 'lshift', 'lua',
2769
- 'macrodebug', 'match', 'not', 'not=', 'or', 'partial', 'pick-args',
2770
- 'pick-values', 'quote', 'require-macros', 'rshift', 'set',
2771
- 'set-forcibly!', 'tset', 'values', 'when', 'while', 'with-open', '~='
2765
+ '#', '%', '*', '+', '-', '->', '->>', '-?>', '-?>>', '.', '..', '/',
2766
+ '//', ':', '<', '<=', '=', '>', '>=', '?.', '^', 'accumulate', 'and',
2767
+ 'assert-repl', 'band', 'bnot', 'bor', 'bxor', 'case', 'case-try',
2768
+ 'collect', 'comment', 'do', 'doto', 'each', 'eval-compiler',
2769
+ 'faccumulate', 'fcollect', 'for', 'hashfn', 'icollect',
2770
+ 'if', 'import-macros', 'include', 'length', 'let',
2771
+ 'lshift', 'lua', 'macrodebug', 'match', 'match-try',
2772
+ 'not', 'not=', 'or', 'partial', 'pick-args', 'pick-values', 'quote',
2773
+ 'require-macros', 'rshift', 'set', 'set-forcibly!', 'tail!', 'tset',
2774
+ 'unquote', 'values', 'when', 'while', 'with-open', '~='
2772
2775
  )
2773
2776
 
2774
2777
  declarations = (
@@ -2826,6 +2829,9 @@ class FennelLexer(RegexLexer):
2826
2829
 
2827
2830
  # the # symbol is shorthand for a lambda function
2828
2831
  (r'#', Punctuation),
2832
+
2833
+ # backtick is used for quoting macros
2834
+ (r'`', Punctuation),
2829
2835
  ]
2830
2836
  }
2831
2837