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 the AMPL 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 ANSYS Parametric Design 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 APL.
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
 
@@ -9,7 +9,7 @@
9
9
  Contributed by Thomas Beale <https://github.com/wolandscat>,
10
10
  <https://bitbucket.org/thomas_beale>.
11
11
 
12
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
12
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
13
13
  :license: BSD, see LICENSE for details.
14
14
  """
15
15
 
@@ -35,8 +35,8 @@ class AtomsLexer(RegexLexer):
35
35
  (r'([ \t]*)(--.*)$', bygroups(Whitespace, Comment)),
36
36
  ],
37
37
  'archetype_id': [
38
- (r'([ \t]*)(([a-zA-Z]\w+(\.[a-zA-Z]\w+)*::)?[a-zA-Z]\w+(-[a-zA-Z]\w+){2}'
39
- r'\.\w+[\w-]*\.v\d+(\.\d+){,2}((-[a-z]+)(\.\d+)?)?)',
38
+ (r'([ \t]*)(([a-zA-Z]\w{1,100}(\.[a-zA-Z]\w{1,100})*::)?[a-zA-Z]\w{1,100}(-[a-zA-Z]\w{1,100}){2}'
39
+ r'\.\w{1,100}[\w-]*\.v\d+(\.\d+){,2}((-[a-z]+)(\.\d+)?)?)',
40
40
  bygroups(Whitespace, Name.Decorator)),
41
41
  ],
42
42
  'date_constraints': [
@@ -293,7 +293,7 @@ class AdlLexer(AtomsLexer):
293
293
  # numbers and version ids
294
294
  (r'\d+(\.\d+)*', Literal),
295
295
  # Guids
296
- (r'(\d|[a-fA-F])+(-(\d|[a-fA-F])+){3,}', Literal),
296
+ (r'[0-9a-fA-F]{1,36}(-[0-9a-fA-F]{1,36}){3,}', Literal),
297
297
  (r'\w+', Name.Class),
298
298
  (r'"', String, 'string'),
299
299
  (r'=', Operator),
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for Arrow.
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 Arturo 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 various ASCII armored files.
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
  import re
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for assembly 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
 
@@ -390,14 +390,21 @@ class LlvmLexer(RegexLexer):
390
390
  (r'!\d+', Name.Variable.Anonymous),
391
391
  (r'c?' + string, String),
392
392
 
393
- (r'0[xX][a-fA-F0-9]+', Number),
393
+ (r'0[xX][KLMHR]?[a-fA-F0-9]+', Number),
394
394
  (r'-?\d+(?:[.]\d+)?(?:[eE][-+]?\d+(?:[.]\d+)?)?', Number),
395
395
 
396
396
  (r'[=<>{}\[\]()*.,!]|x\b', Punctuation)
397
397
  ],
398
398
  'whitespace': [
399
399
  (r'(\n|\s+)+', Whitespace),
400
- (r';.*?\n', Comment)
400
+ (r';.*?\n', Comment),
401
+ (r'/\*', Comment, 'c-comment'),
402
+ ],
403
+ 'c-comment': [
404
+ (r'[^*]+', Comment),
405
+ (r'\*/', Comment, '#pop'),
406
+ # Consume lone asterisks as non-comment-ending content.
407
+ (r'\*', Comment),
401
408
  ],
402
409
  'keyword': [
403
410
  # Regular keywords
@@ -465,24 +472,25 @@ class LlvmLexer(RegexLexer):
465
472
  'singleImpl', 'singleImplName', 'sitofp', 'sizeM1',
466
473
  'sizeM1BitWidth', 'sle', 'slt', 'source_filename',
467
474
  'speculatable', 'speculative_load_hardening', 'spir_func',
468
- 'spir_kernel', 'srem', 'sret', 'ssp', 'sspreq', 'sspstrong',
469
- 'store', 'strictfp', 'sub', 'summaries', 'summary', 'swiftcc',
470
- 'swifterror', 'swiftself', 'switch', 'syncscope', 'tail',
471
- 'tailcc', 'target', 'thread_local', 'to', 'token', 'triple',
472
- 'true', 'trunc', 'type', 'typeCheckedLoadConstVCalls',
473
- 'typeCheckedLoadVCalls', 'typeid', 'typeidCompatibleVTable',
474
- 'typeIdInfo', 'typeTestAssumeConstVCalls',
475
- 'typeTestAssumeVCalls', 'typeTestRes', 'typeTests', 'udiv',
476
- 'ueq', 'uge', 'ugt', 'uitofp', 'ule', 'ult', 'umax', 'umin',
477
- 'undef', 'une', 'uniformRetVal', 'uniqueRetVal', 'unknown',
478
- 'unnamed_addr', 'uno', 'unordered', 'unreachable', 'unsat',
479
- 'unwind', 'urem', 'uselistorder', 'uselistorder_bb', 'uwtable',
480
- 'va_arg', 'varFlags', 'variable', 'vcall_visibility',
481
- 'vFuncId', 'virtFunc', 'virtualConstProp', 'void', 'volatile',
482
- 'vscale', 'vTableFuncs', 'weak', 'weak_odr', 'webkit_jscc',
483
- 'win64cc', 'within', 'wpdRes', 'wpdResolutions', 'writeonly',
484
- 'x', 'x86_64_sysvcc', 'x86_fastcallcc', 'x86_intrcc',
485
- 'x86_mmx', 'x86_regcallcc', 'x86_stdcallcc', 'x86_thiscallcc',
475
+ 'spir_kernel', 'splat', 'srem', 'sret', 'ssp', 'sspreq',
476
+ 'sspstrong', 'store', 'strictfp', 'sub', 'summaries',
477
+ 'summary', 'swiftcc', 'swifterror', 'swiftself', 'switch',
478
+ 'syncscope', 'tail', 'tailcc', 'target', 'thread_local', 'to',
479
+ 'token', 'triple', 'true', 'trunc', 'type',
480
+ 'typeCheckedLoadConstVCalls', 'typeCheckedLoadVCalls',
481
+ 'typeid', 'typeidCompatibleVTable', 'typeIdInfo',
482
+ 'typeTestAssumeConstVCalls', 'typeTestAssumeVCalls',
483
+ 'typeTestRes', 'typeTests', 'udiv', 'ueq', 'uge', 'ugt',
484
+ 'uitofp', 'ule', 'ult', 'umax', 'umin', 'undef', 'une',
485
+ 'uniformRetVal', 'uniqueRetVal', 'unknown', 'unnamed_addr',
486
+ 'uno', 'unordered', 'unreachable', 'unsat', 'unwind', 'urem',
487
+ 'uselistorder', 'uselistorder_bb', 'uwtable', 'va_arg',
488
+ 'varFlags', 'variable', 'vcall_visibility', 'vFuncId',
489
+ 'virtFunc', 'virtualConstProp', 'void', 'volatile', 'vscale',
490
+ 'vTableFuncs', 'weak', 'weak_odr', 'webkit_jscc', 'win64cc',
491
+ 'within', 'wpdRes', 'wpdResolutions', 'writeonly', 'x',
492
+ 'x86_64_sysvcc', 'x86_fastcallcc', 'x86_intrcc', 'x86_mmx',
493
+ 'x86_regcallcc', 'x86_stdcallcc', 'x86_thiscallcc',
486
494
  'x86_vectorcallcc', 'xchg', 'xor', 'zeroext',
487
495
  'zeroinitializer', 'zext', 'immarg', 'willreturn'),
488
496
  suffix=r'\b'), Keyword),
@@ -4,7 +4,7 @@
4
4
 
5
5
  Pygments lexers for ASN.1.
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 Asn1Lexer(RegexLexer):
136
136
  (r'--.*$', Comment.Single),
137
137
  (r'/\*', Comment.Multiline, 'comment'),
138
138
  # Numbers:
139
- (r'\d+\.\d*([eE][-+]?\d+)?', Number.Float),
139
+ (r'\d+\.\d+([eE][-+]?\d+)?', Number.Float),
140
140
  (r'\d+', Number.Integer),
141
141
  # Identifier:
142
142
  (r"&?[a-z][-a-zA-Z0-9]*[a-zA-Z0-9]\b", Name.Variable),
@@ -155,7 +155,7 @@ class Asn1Lexer(RegexLexer):
155
155
  # Type identifier:
156
156
  (r"&?[A-Z][-a-zA-Z0-9]*[a-zA-Z0-9]\b", Name.Type),
157
157
  # Operators:
158
- (r"(::=|\.\.\.|\.\.|\[\[|\]\]|\||\^)", Operator),
158
+ (r"(::=|\.\.\.|\.\.|\[\[|\]\]|\||\^|-)", Operator),
159
159
  # Punctuation:
160
160
  (r"(\.|,|\{|\}|\(|\)|\[|\])", Punctuation),
161
161
  # String:
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for automation scripting 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
  Lexer for the BARE schema.
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 BASIC like languages (other than VB.net).
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 BDD(Behavior-driven development).
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 Berry.
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 BibTeX bibliography data and styles
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 Blueprint UI markup 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 Boa 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 BQN.
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
 
@@ -26,6 +26,10 @@ class BQNLexer(RegexLexer):
26
26
  mimetypes = []
27
27
  version_added = '2.16'
28
28
 
29
+ # An inter_word_char. Necessary because \w matches all alphanumeric
30
+ # Unicode characters, including ones (e.g., 𝕊) that BQN treats special.
31
+ _iwc = r'((?=[^𝕎𝕏𝔽𝔾𝕊𝕨𝕩𝕗𝕘𝕤𝕣])\w)'
32
+
29
33
  tokens = {
30
34
  'root': [
31
35
  # Whitespace
@@ -57,34 +61,35 @@ class BQNLexer(RegexLexer):
57
61
  # ===================
58
62
  # Since this token type is important in BQN, it is not included in
59
63
  # the punctuation token type but rather in the following one
60
- (r'[\(\)]', String.Regex),
64
+ (r'[\(\)]', String.Regex),
61
65
  #
62
66
  # Numbers
63
67
  # =======
64
68
  # Includes the numeric literals and the Nothing character
65
- (r'¯?([0-9]+\.?[0-9]+|[0-9]+)([Ee][¯]?[0-9]+)?|¯|∞|π|·', Number),
69
+ (r'¯?[0-9](([0-9]|_)*\.?([0-9]|_)+|([0-9]|_)*)([Ee][¯]?([0-9]|_)+)?|¯|∞|π|·', Number),
66
70
  #
67
71
  # Variables
68
72
  # =========
69
- (r'\b[a-z]\w*\b', Name.Variable),
70
- #
71
- # 1-Modifiers
72
- # ===========
73
- (r'[˙˜˘¨⌜⁼´˝`𝕣]', Name.Attribute),
74
- (r'\b_[a-zA-Z0-9]+\b', Name.Attribute),
73
+ (r'[a-z]' + _iwc + r'*', Name.Variable),
75
74
  #
76
75
  # 2-Modifiers
77
76
  # ===========
77
+ # Needs to come before the 1-modifiers due to _𝕣 and _𝕣_
78
78
  (r'[∘○⊸⟜⌾⊘◶⎉⚇⍟⎊]', Name.Property),
79
- (r'\b_[a-zA-Z0-9]+_\b', Name.Property),
79
+ (r'_(𝕣|[a-zA-Z0-9]+)_', Name.Property),
80
+ #
81
+ # 1-Modifiers
82
+ # ===========
83
+ (r'[˙˜˘¨⌜⁼´˝`𝕣]', Name.Attribute),
84
+ (r'_(𝕣|[a-zA-Z0-9]+)', Name.Attribute),
80
85
  #
81
86
  # Functions
82
87
  # =========
83
88
  # The monadic or dyadic function primitives and function
84
89
  # operands and arguments, along with function self-reference
85
- (r'[+\-×÷\*√⌊⌈∧∨¬|≤<>≥=≠≡≢⊣⊢⥊∾≍⋈↑↓↕«»⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!𝕎𝕏𝔽𝔾𝕊]',
90
+ (r'[+\-×÷\⋆√⌊⌈∧∨¬|≤<>≥=≠≡≢⊣⊢⥊∾≍⋈↑↓↕«»⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!𝕎𝕏𝔽𝔾𝕊]',
86
91
  Operator),
87
- (r'[A-Z]\w*|•\w+\b', Operator),
92
+ (r'[A-Z]' + _iwc + r'*|•' + _iwc + r'+', Operator),
88
93
  #
89
94
  # Constant
90
95
  # ========
@@ -102,8 +107,6 @@ class BQNLexer(RegexLexer):
102
107
  # ================
103
108
  (r'[;:?𝕨𝕩𝕗𝕘𝕤]', Name.Entity),
104
109
  #
105
-
110
+
106
111
  ],
107
112
  }
108
-
109
-
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for "business-oriented" 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 C/C++ 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
 
@@ -36,7 +36,7 @@ class CFamilyLexer(RegexLexer):
36
36
  # This includes decimal separators matching.
37
37
  _decpart = r'\d(\'?\d)*'
38
38
  # Integer literal suffix (e.g. 'ull' or 'll').
39
- _intsuffix = r'(([uU][lL]{0,2})|[lL]{1,2}[uU]?)?'
39
+ _intsuffix = r'(([uU]?[zZ])|([zZ][uU])|([uU][lL]{0,2})|([lL]{1,2}[uU]?))?'
40
40
 
41
41
  # Identifier regex with C and C++ Universal Character Name (UCN) support.
42
42
  _ident = r'(?!\d)(?:[\w$]|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8})+'
@@ -100,7 +100,7 @@ class CFamilyLexer(RegexLexer):
100
100
  (r'(-)?' + _decpart + _intsuffix, Number.Integer),
101
101
  (r'[~!%^&*+=|?:<>/-]', Operator),
102
102
  (r'[()\[\],.]', Punctuation),
103
- (r'(true|false|NULL)\b', Name.Builtin),
103
+ (r'(true|false|NULL|nullptr)\b', Name.Builtin),
104
104
  (_ident, Name)
105
105
  ],
106
106
  'types': [
@@ -113,11 +113,11 @@ class CFamilyLexer(RegexLexer):
113
113
  'keywords': [
114
114
  (r'(struct|union)(\s+)', bygroups(Keyword, Whitespace), 'classname'),
115
115
  (r'case\b', Keyword, 'case-value'),
116
- (words(('asm', 'auto', 'break', 'const', 'continue', 'default',
117
- 'do', 'else', 'enum', 'extern', 'for', 'goto', 'if',
118
- 'register', 'restricted', 'return', 'sizeof', 'struct',
119
- 'static', 'switch', 'typedef', 'volatile', 'while', 'union',
120
- 'thread_local', 'alignas', 'alignof', 'static_assert', '_Pragma'),
116
+ (words(('asm', 'auto', 'break', 'const', 'constexpr', 'continue', 'default',
117
+ 'do', 'else', 'enum', 'extern', 'for', 'goto', 'if', 'register',
118
+ 'restricted', 'return', 'sizeof', 'struct', 'static', 'switch',
119
+ 'typedef', 'typeof', 'typeof_unqual', 'volatile', 'while', 'union',
120
+ 'thread_local', 'alignas', 'alignof', 'static_assert', '_Pragma', 'fortran'),
121
121
  suffix=r'\b'), Keyword),
122
122
  (words(('inline', '_inline', '__inline', 'naked', 'restrict',
123
123
  'thread'), suffix=r'\b'), Keyword.Reserved),
@@ -128,7 +128,7 @@ class CFamilyLexer(RegexLexer):
128
128
  'asm', 'based', 'except', 'stdcall', 'cdecl',
129
129
  'fastcall', 'declspec', 'finally', 'try',
130
130
  'leave', 'w64', 'unaligned', 'raise', 'noop',
131
- 'identifier', 'forceinline', 'assume'),
131
+ 'identifier', 'forceinline', 'assume', 'null'),
132
132
  prefix=r'__', suffix=r'\b'), Keyword.Reserved)
133
133
  ],
134
134
  'root': [
@@ -301,13 +301,13 @@ class CLexer(CFamilyLexer):
301
301
  tokens = {
302
302
  'keywords': [
303
303
  (words((
304
- '_Alignas', '_Alignof', '_Noreturn', '_Generic', '_Thread_local',
305
- '_Static_assert', '_Imaginary', 'noreturn', 'imaginary', 'complex'),
304
+ '_Alignas', '_Alignof', '_Noreturn', '_Countof', '_Generic', '_Thread_local',
305
+ '_Static_assert', '_Imaginary', 'countof', 'noreturn', 'imaginary', 'complex'),
306
306
  suffix=r'\b'), Keyword),
307
307
  inherit
308
308
  ],
309
309
  'types': [
310
- (words(('_Bool', '_Complex', '_Atomic'), suffix=r'\b'), Keyword.Type),
310
+ (words(('_Bool', '_Complex', '_Atomic', '_Decimal32', '_Decimal64', '_Decimal128'), suffix=r'\b'), Keyword.Type),
311
311
  inherit
312
312
  ]
313
313
  }
@@ -347,7 +347,8 @@ class CppLexer(CFamilyLexer):
347
347
  aliases = ['cpp', 'c++']
348
348
  filenames = ['*.cpp', '*.hpp', '*.c++', '*.h++',
349
349
  '*.cc', '*.hh', '*.cxx', '*.hxx',
350
- '*.C', '*.H', '*.cp', '*.CPP', '*.tpp']
350
+ '*.C', '*.H', '*.cp', '*.CPP', '*.tpp',
351
+ '*.cppm', '*.ixx', '*.mxx']
351
352
  mimetypes = ['text/x-c++hdr', 'text/x-c++src']
352
353
  version_added = ''
353
354
  priority = 0.1
@@ -363,8 +364,8 @@ class CppLexer(CFamilyLexer):
363
364
  'root': [
364
365
  inherit,
365
366
  # C++ Microsoft-isms
366
- (words(('virtual_inheritance', 'uuidof', 'super', 'single_inheritance',
367
- 'multiple_inheritance', 'interface', 'event'),
367
+ (words(('virtual_inheritance', 'uuidof', 'super', 'extends', 'single_inheritance',
368
+ 'multiple_inheritance', 'interface', 'implements', 'event', 'finally', 'null'),
368
369
  prefix=r'__', suffix=r'\b'), Keyword.Reserved),
369
370
  # Offload C++ extensions, http://offload.codeplay.com/
370
371
  (r'__(offload|blockingoffload|outer)\b', Keyword.Pseudo),
@@ -385,11 +386,11 @@ class CppLexer(CFamilyLexer):
385
386
  'export', 'friend', 'mutable', 'new', 'operator',
386
387
  'private', 'protected', 'public', 'reinterpret_cast', 'class',
387
388
  '__restrict', 'static_cast', 'template', 'this', 'throw', 'throws',
388
- 'try', 'typeid', 'using', 'virtual', 'constexpr', 'nullptr', 'concept',
389
+ 'try', 'typeid', 'using', 'virtual', 'concept',
389
390
  'decltype', 'noexcept', 'override', 'final', 'constinit', 'consteval',
390
391
  'co_await', 'co_return', 'co_yield', 'requires', 'import', 'module',
391
392
  'typename', 'and', 'and_eq', 'bitand', 'bitor', 'compl', 'not',
392
- 'not_eq', 'or', 'or_eq', 'xor', 'xor_eq'),
393
+ 'not_eq', 'or', 'or_eq', 'xor', 'xor_eq', 'contract_assert', 'pre', 'post'),
393
394
  suffix=r'\b'), Keyword),
394
395
  (r'namespace\b', Keyword, 'namespace'),
395
396
  (r'(enum)(\s+)', bygroups(Keyword, Whitespace), 'enumname'),
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for other C-like 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 Cap'n Proto schema 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 Carbon 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
  import re
@@ -8,7 +8,7 @@
8
8
  More information:
9
9
  https://datatracker.ietf.org/doc/rfc8610/
10
10
 
11
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
11
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
12
12
  :license: BSD, see LICENSE for details.
13
13
  """
14
14
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for the Chapel 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 Clean 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,80 @@
1
+ """
2
+ pygments.lexers.codeql
3
+ ~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for CodeQL query language.
6
+
7
+ The grammar is originating from:
8
+ https://github.com/github/vscode-codeql/blob/main/syntaxes/README.md
9
+
10
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
11
+ :license: BSD, see LICENSE for details.
12
+ """
13
+
14
+ __all__ = ['CodeQLLexer']
15
+
16
+ import re
17
+
18
+ from pygments.lexer import RegexLexer, words
19
+ from pygments.token import Comment, Operator, Keyword, Name, String, \
20
+ Number, Punctuation, Whitespace
21
+
22
+ class CodeQLLexer(RegexLexer):
23
+ name = 'CodeQL'
24
+ aliases = ['codeql', 'ql']
25
+ filenames = ['*.ql', '*.qll']
26
+ mimetypes = []
27
+ url = 'https://github.com/github/codeql'
28
+ version_added = '2.19'
29
+
30
+ flags = re.MULTILINE | re.UNICODE
31
+
32
+ tokens = {
33
+ 'root': [
34
+ # Whitespace and comments
35
+ (r'\s+', Whitespace),
36
+ (r'//.*?\n', Comment.Single),
37
+ (r'/\*', Comment.Multiline, 'multiline-comments'),
38
+
39
+ # Keywords
40
+ (words((
41
+ 'module', 'import', 'class', 'extends', 'implements',
42
+ 'predicate', 'select', 'where', 'from', 'as', 'and', 'or', 'not',
43
+ 'in', 'if', 'then', 'else', 'exists', 'forall', 'instanceof',
44
+ 'private', 'predicate', 'abstract', 'cached', 'external',
45
+ 'final', 'library', 'override', 'query'
46
+ ), suffix=r'\b'), Keyword.Builtin),
47
+
48
+ # Special Keywords
49
+ (words(('this'), # class related keywords
50
+ prefix=r'\b', suffix=r'\b\??:?'), Name.Builtin.Pseudo),
51
+
52
+ # Types
53
+ (words((
54
+ 'boolean', 'date', 'float', 'int', 'string'
55
+ ), suffix=r'\b'), Keyword.Type),
56
+
57
+ # Literals
58
+ (r'"(\\\\|\\[^\\]|[^"\\])*"', String),
59
+ (r'[0-9]+\.[0-9]+', Number.Float),
60
+ (r'[0-9]+', Number.Integer),
61
+
62
+ # Operators
63
+ (r'<=|>=|<|>|=|!=|\+|-|\*|/', Operator),
64
+
65
+ # Punctuation
66
+ (r'[.,;:\[\]{}()]+', Punctuation),
67
+
68
+ # Identifiers
69
+ (r'@[a-zA-Z_]\w*', Name.Variable), # Variables with @ prefix
70
+ (r'[A-Z][a-zA-Z0-9_]*', Name.Class), # Types and classes
71
+ (r'[a-z][a-zA-Z0-9_]*', Name.Variable), # Variables and predicates
72
+ ],
73
+ 'multiline-comments': [
74
+ (r'[^*/]+', Comment.Multiline),
75
+ (r'/\*', Comment.Multiline, '#push'),
76
+ (r'\*/', Comment.Multiline, '#pop'),
77
+ (r'[*/]', Comment.Multiline),
78
+ ],
79
+
80
+ }
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for COMAL-80.
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
  Just export lexer classes previously contained in this module.
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