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 Prolog and Prolog-like 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
 
@@ -25,6 +25,8 @@ class PrologLexer(RegexLexer):
25
25
  aliases = ['prolog']
26
26
  filenames = ['*.ecl', '*.prolog', '*.pro', '*.pl']
27
27
  mimetypes = ['text/x-prolog']
28
+ url = 'https://en.wikipedia.org/wiki/Prolog'
29
+ version_added = ''
28
30
 
29
31
  tokens = {
30
32
  'root': [
@@ -78,14 +80,17 @@ class PrologLexer(RegexLexer):
78
80
  }
79
81
 
80
82
  def analyse_text(text):
81
- return ':-' in text
83
+ """Competes with IDL and Visual Prolog on *.pro"""
84
+ if ':-' in text:
85
+ # Visual Prolog also uses :-
86
+ return 0.5
87
+ else:
88
+ return 0
82
89
 
83
90
 
84
91
  class LogtalkLexer(RegexLexer):
85
92
  """
86
93
  For Logtalk source code.
87
-
88
- .. versionadded:: 0.10
89
94
  """
90
95
 
91
96
  name = 'Logtalk'
@@ -93,6 +98,7 @@ class LogtalkLexer(RegexLexer):
93
98
  aliases = ['logtalk']
94
99
  filenames = ['*.lgt', '*.logtalk']
95
100
  mimetypes = ['text/x-logtalk']
101
+ version_added = '0.10'
96
102
 
97
103
  tokens = {
98
104
  'root': [
@@ -143,7 +149,7 @@ class LogtalkLexer(RegexLexer):
143
149
  # Control constructs
144
150
  (r'(ca(ll|tch)|throw)(?=[(])', Keyword),
145
151
  (r'(fa(il|lse)|true|(instantiation|system)_error)\b', Keyword),
146
- (r'(type|domain|existence|permission|representation|evaluation|resource|syntax)_error(?=[(])', Keyword),
152
+ (r'(uninstantiation|type|domain|existence|permission|representation|evaluation|resource|syntax)_error(?=[(])', Keyword),
147
153
  # All solutions
148
154
  (r'((bag|set)of|f(ind|or)all)(?=[(])', Keyword),
149
155
  # Multi-threading predicates
@@ -224,13 +230,13 @@ class LogtalkLexer(RegexLexer):
224
230
  (r'[?@]', Operator),
225
231
  # Existential quantifier
226
232
  (r'\^', Operator),
227
- # Strings
228
- (r'"(\\\\|\\[^\\]|[^"\\])*"', String),
229
233
  # Punctuation
230
234
  (r'[()\[\],.|]', Text),
231
235
  # Atoms
232
236
  (r"[a-z][a-zA-Z0-9_]*", Text),
233
237
  (r"'", String, 'quoted_atom'),
238
+ # Double-quoted terms
239
+ (r'"', String, 'double_quoted_term'),
234
240
  ],
235
241
 
236
242
  'quoted_atom': [
@@ -241,6 +247,14 @@ class LogtalkLexer(RegexLexer):
241
247
  (r'\\', String),
242
248
  ],
243
249
 
250
+ 'double_quoted_term': [
251
+ (r'""', String),
252
+ (r'"', String, '#pop'),
253
+ (r'\\([\\abfnrtv"\']|(x[a-fA-F0-9]+|[0-7]+)\\)', String.Escape),
254
+ (r'[^\\"\n]+', String),
255
+ (r'\\', String),
256
+ ],
257
+
244
258
  'directive': [
245
259
  # Conditional compilation directives
246
260
  (r'(el)?if(?=[(])', Keyword, 'root'),
@@ -274,8 +288,8 @@ class LogtalkLexer(RegexLexer):
274
288
  # Atoms
275
289
  (r"[a-z][a-zA-Z0-9_]*", Text),
276
290
  (r"'", String, 'quoted_atom'),
277
- # Strings
278
- (r'"(\\\\|\\[^\\]|[^"\\])*"', String),
291
+ # Double-quoted terms
292
+ (r'"', String, 'double_quoted_term'),
279
293
  # End of entity-opening directive
280
294
  (r'([)]\.)', Text, 'root'),
281
295
  # Scope operator
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for Prometheus Query 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
 
@@ -29,6 +29,7 @@ class PromQLLexer(RegexLexer):
29
29
  url = 'https://prometheus.io/docs/prometheus/latest/querying/basics/'
30
30
  aliases = ["promql"]
31
31
  filenames = ["*.promql"]
32
+ version_added = ''
32
33
 
33
34
  base_keywords = (
34
35
  words(
@@ -0,0 +1,251 @@
1
+ """
2
+ pygments.lexers.prql
3
+ ~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for the PRQL query language.
6
+
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import RegexLexer, combined, words, include, bygroups
12
+ from pygments.token import Comment, Literal, Keyword, Name, Number, Operator, \
13
+ Punctuation, String, Text, Whitespace
14
+
15
+ __all__ = ['PrqlLexer']
16
+
17
+
18
+ class PrqlLexer(RegexLexer):
19
+ """
20
+ For PRQL source code.
21
+
22
+ grammar: https://github.com/PRQL/prql/tree/main/grammars
23
+ """
24
+
25
+ name = 'PRQL'
26
+ url = 'https://prql-lang.org/'
27
+ aliases = ['prql']
28
+ filenames = ['*.prql']
29
+ mimetypes = ['application/prql', 'application/x-prql']
30
+ version_added = '2.17'
31
+
32
+ builtinTypes = words((
33
+ "bool",
34
+ "int",
35
+ "int8", "int16", "int32", "int64", "int128",
36
+ "float",
37
+ "text",
38
+ "set"), suffix=r'\b')
39
+
40
+ def innerstring_rules(ttype):
41
+ return [
42
+ # the new style '{}'.format(...) string formatting
43
+ (r'\{'
44
+ r'((\w+)((\.\w+)|(\[[^\]]+\]))*)?' # field name
45
+ r'(\:(.?[<>=\^])?[-+ ]?#?0?(\d+)?,?(\.\d+)?[E-GXb-gnosx%]?)?'
46
+ r'\}', String.Interpol),
47
+
48
+ (r'[^\\\'"%{\n]+', ttype),
49
+ (r'[\'"\\]', ttype),
50
+ (r'%|(\{{1,2})', ttype)
51
+ ]
52
+
53
+ def fstring_rules(ttype):
54
+ return [
55
+ (r'\}', String.Interpol),
56
+ (r'\{', String.Interpol, 'expr-inside-fstring'),
57
+ (r'[^\\\'"{}\n]+', ttype),
58
+ (r'[\'"\\]', ttype),
59
+ ]
60
+
61
+ tokens = {
62
+ 'root': [
63
+
64
+ # Comments
65
+ (r'#!.*', String.Doc),
66
+ (r'#.*', Comment.Single),
67
+
68
+ # Whitespace
69
+ (r'\s+', Whitespace),
70
+
71
+ # Modules
72
+ (r'^(\s*)(module)(\s*)',
73
+ bygroups(Whitespace, Keyword.Namespace, Whitespace),
74
+ 'imports'),
75
+
76
+ (builtinTypes, Keyword.Type),
77
+
78
+ # Main
79
+ (r'^prql ', Keyword.Reserved),
80
+
81
+ ('let', Keyword.Declaration),
82
+
83
+ include('keywords'),
84
+ include('expr'),
85
+
86
+ # Transforms
87
+ (r'^[A-Za-z_][a-zA-Z0-9_]*', Keyword),
88
+ ],
89
+ 'expr': [
90
+ # non-raw f-strings
91
+ ('(f)(""")', bygroups(String.Affix, String.Double),
92
+ combined('fstringescape', 'tdqf')),
93
+ ("(f)(''')", bygroups(String.Affix, String.Single),
94
+ combined('fstringescape', 'tsqf')),
95
+ ('(f)(")', bygroups(String.Affix, String.Double),
96
+ combined('fstringescape', 'dqf')),
97
+ ("(f)(')", bygroups(String.Affix, String.Single),
98
+ combined('fstringescape', 'sqf')),
99
+
100
+ # non-raw s-strings
101
+ ('(s)(""")', bygroups(String.Affix, String.Double),
102
+ combined('stringescape', 'tdqf')),
103
+ ("(s)(''')", bygroups(String.Affix, String.Single),
104
+ combined('stringescape', 'tsqf')),
105
+ ('(s)(")', bygroups(String.Affix, String.Double),
106
+ combined('stringescape', 'dqf')),
107
+ ("(s)(')", bygroups(String.Affix, String.Single),
108
+ combined('stringescape', 'sqf')),
109
+
110
+ # raw strings
111
+ ('(?i)(r)(""")',
112
+ bygroups(String.Affix, String.Double), 'tdqs'),
113
+ ("(?i)(r)(''')",
114
+ bygroups(String.Affix, String.Single), 'tsqs'),
115
+ ('(?i)(r)(")',
116
+ bygroups(String.Affix, String.Double), 'dqs'),
117
+ ("(?i)(r)(')",
118
+ bygroups(String.Affix, String.Single), 'sqs'),
119
+
120
+ # non-raw strings
121
+ ('"""', String.Double, combined('stringescape', 'tdqs')),
122
+ ("'''", String.Single, combined('stringescape', 'tsqs')),
123
+ ('"', String.Double, combined('stringescape', 'dqs')),
124
+ ("'", String.Single, combined('stringescape', 'sqs')),
125
+
126
+ # Time and dates
127
+ (r'@\d{4}-\d{2}-\d{2}T\d{2}(:\d{2})?(:\d{2})?(\.\d{1,6})?(Z|[+-]\d{1,2}(:\d{1,2})?)?', Literal.Date),
128
+ (r'@\d{4}-\d{2}-\d{2}', Literal.Date),
129
+ (r'@\d{2}(:\d{2})?(:\d{2})?(\.\d{1,6})?(Z|[+-]\d{1,2}(:\d{1,2})?)?', Literal.Date),
130
+
131
+ (r'[^\S\n]+', Text),
132
+ include('numbers'),
133
+ (r'->|=>|==|!=|>=|<=|~=|&&|\|\||\?\?|\/\/', Operator),
134
+ (r'[-~+/*%=<>&^|.@]', Operator),
135
+ (r'[]{}:(),;[]', Punctuation),
136
+ include('functions'),
137
+
138
+ # Variable Names
139
+ (r'[A-Za-z_][a-zA-Z0-9_]*', Name.Variable),
140
+ ],
141
+ 'numbers': [
142
+ (r'(\d(?:_?\d)*\.(?:\d(?:_?\d)*)?|(?:\d(?:_?\d)*)?\.\d(?:_?\d)*)'
143
+ r'([eE][+-]?\d(?:_?\d)*)?', Number.Float),
144
+ (r'\d(?:_?\d)*[eE][+-]?\d(?:_?\d)*j?', Number.Float),
145
+ (r'0[oO](?:_?[0-7])+', Number.Oct),
146
+ (r'0[bB](?:_?[01])+', Number.Bin),
147
+ (r'0[xX](?:_?[a-fA-F0-9])+', Number.Hex),
148
+ (r'\d(?:_?\d)*', Number.Integer),
149
+ ],
150
+ 'fstringescape': [
151
+ include('stringescape'),
152
+ ],
153
+ 'bytesescape': [
154
+ (r'\\([\\bfnrt"\']|\n|x[a-fA-F0-9]{2}|[0-7]{1,3})', String.Escape)
155
+ ],
156
+ 'stringescape': [
157
+ (r'\\(N\{.*?\}|u\{[a-fA-F0-9]{1,6}\})', String.Escape),
158
+ include('bytesescape')
159
+ ],
160
+ 'fstrings-single': fstring_rules(String.Single),
161
+ 'fstrings-double': fstring_rules(String.Double),
162
+ 'strings-single': innerstring_rules(String.Single),
163
+ 'strings-double': innerstring_rules(String.Double),
164
+ 'dqf': [
165
+ (r'"', String.Double, '#pop'),
166
+ (r'\\\\|\\"|\\\n', String.Escape), # included here for raw strings
167
+ include('fstrings-double')
168
+ ],
169
+ 'sqf': [
170
+ (r"'", String.Single, '#pop'),
171
+ (r"\\\\|\\'|\\\n", String.Escape), # included here for raw strings
172
+ include('fstrings-single')
173
+ ],
174
+ 'dqs': [
175
+ (r'"', String.Double, '#pop'),
176
+ (r'\\\\|\\"|\\\n', String.Escape), # included here for raw strings
177
+ include('strings-double')
178
+ ],
179
+ 'sqs': [
180
+ (r"'", String.Single, '#pop'),
181
+ (r"\\\\|\\'|\\\n", String.Escape), # included here for raw strings
182
+ include('strings-single')
183
+ ],
184
+ 'tdqf': [
185
+ (r'"""', String.Double, '#pop'),
186
+ include('fstrings-double'),
187
+ (r'\n', String.Double)
188
+ ],
189
+ 'tsqf': [
190
+ (r"'''", String.Single, '#pop'),
191
+ include('fstrings-single'),
192
+ (r'\n', String.Single)
193
+ ],
194
+ 'tdqs': [
195
+ (r'"""', String.Double, '#pop'),
196
+ include('strings-double'),
197
+ (r'\n', String.Double)
198
+ ],
199
+ 'tsqs': [
200
+ (r"'''", String.Single, '#pop'),
201
+ include('strings-single'),
202
+ (r'\n', String.Single)
203
+ ],
204
+
205
+ 'expr-inside-fstring': [
206
+ (r'[{([]', Punctuation, 'expr-inside-fstring-inner'),
207
+ # without format specifier
208
+ (r'(=\s*)?' # debug (https://bugs.python.org/issue36817)
209
+ r'\}', String.Interpol, '#pop'),
210
+ # with format specifier
211
+ # we'll catch the remaining '}' in the outer scope
212
+ (r'(=\s*)?' # debug (https://bugs.python.org/issue36817)
213
+ r':', String.Interpol, '#pop'),
214
+ (r'\s+', Whitespace), # allow new lines
215
+ include('expr'),
216
+ ],
217
+ 'expr-inside-fstring-inner': [
218
+ (r'[{([]', Punctuation, 'expr-inside-fstring-inner'),
219
+ (r'[])}]', Punctuation, '#pop'),
220
+ (r'\s+', Whitespace), # allow new lines
221
+ include('expr'),
222
+ ],
223
+ 'keywords': [
224
+ (words((
225
+ 'into', 'case', 'type', 'module', 'internal',
226
+ ), suffix=r'\b'),
227
+ Keyword),
228
+ (words(('true', 'false', 'null'), suffix=r'\b'), Keyword.Constant),
229
+ ],
230
+ 'functions': [
231
+ (words((
232
+ "min", "max", "sum", "average", "stddev", "every", "any",
233
+ "concat_array", "count", "lag", "lead", "first", "last",
234
+ "rank", "rank_dense", "row_number", "round", "as", "in",
235
+ "tuple_every", "tuple_map", "tuple_zip", "_eq", "_is_null",
236
+ "from_text", "lower", "upper", "read_parquet", "read_csv"),
237
+ suffix=r'\b'),
238
+ Name.Function),
239
+ ],
240
+
241
+ 'comment': [
242
+ (r'-(?!\})', Comment.Multiline),
243
+ (r'\{-', Comment.Multiline, 'comment'),
244
+ (r'[^-}]', Comment.Multiline),
245
+ (r'-\}', Comment.Multiline, '#pop'),
246
+ ],
247
+
248
+ 'imports': [
249
+ (r'\w+(\.\w+)*', Name.Class, '#pop'),
250
+ ],
251
+ }
@@ -0,0 +1,119 @@
1
+ """
2
+ pygments.lexers.ptx
3
+ ~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for other PTX language.
6
+
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import RegexLexer, include, words
12
+ from pygments.token import Comment, Keyword, Name, String, Number, \
13
+ Punctuation, Whitespace, Operator
14
+
15
+ __all__ = ["PtxLexer"]
16
+
17
+
18
+ class PtxLexer(RegexLexer):
19
+ """
20
+ For NVIDIA `PTX <https://docs.nvidia.com/cuda/parallel-thread-execution/>`_
21
+ source.
22
+ """
23
+ name = 'PTX'
24
+ url = "https://docs.nvidia.com/cuda/parallel-thread-execution/"
25
+ filenames = ['*.ptx']
26
+ aliases = ['ptx']
27
+ mimetypes = ['text/x-ptx']
28
+ version_added = '2.16'
29
+
30
+ #: optional Comment or Whitespace
31
+ string = r'"[^"]*?"'
32
+ followsym = r'[a-zA-Z0-9_$]'
33
+ identifier = r'([-a-zA-Z$._][\w\-$.]*|' + string + ')'
34
+ block_label = r'(' + identifier + r'|(\d+))'
35
+
36
+ tokens = {
37
+ 'root': [
38
+ include('whitespace'),
39
+
40
+ (block_label + r'\s*:', Name.Label),
41
+
42
+ include('keyword'),
43
+
44
+ (r'%' + identifier, Name.Variable),
45
+ (r'%\d+', Name.Variable.Anonymous),
46
+ (r'c?' + string, String),
47
+ (identifier, Name.Variable),
48
+ (r';', Punctuation),
49
+ (r'[*+-/]', Operator),
50
+
51
+ (r'0[xX][a-fA-F0-9]+', Number),
52
+ (r'-?\d+(?:[.]\d+)?(?:[eE][-+]?\d+(?:[.]\d+)?)?', Number),
53
+
54
+ (r'[=<>{}\[\]()*.,!]|x\b', Punctuation)
55
+
56
+ ],
57
+ 'whitespace': [
58
+ (r'(\n|\s+)+', Whitespace),
59
+ (r'//.*?\n', Comment)
60
+ ],
61
+
62
+ 'keyword': [
63
+ # Instruction keywords
64
+ (words((
65
+ 'abs', 'discard', 'min', 'shf', 'vadd',
66
+ 'activemask', 'div', 'mma', 'shfl', 'vadd2',
67
+ 'add', 'dp2a', 'mov', 'shl', 'vadd4',
68
+ 'addc', 'dp4a', 'movmatrix', 'shr', 'vavrg2',
69
+ 'alloca', 'elect', 'mul', 'sin', 'vavrg4',
70
+ 'and', 'ex2', 'mul24', 'slct', 'vmad',
71
+ 'applypriority', 'exit', 'multimem', 'sqrt', 'vmax',
72
+ 'atom', 'fence', 'nanosleep', 'st', 'vmax2',
73
+ 'bar', 'fma', 'neg', 'stackrestore', 'vmax4',
74
+ 'barrier', 'fns', 'not', 'stacksave', 'vmin',
75
+ 'bfe', 'getctarank', 'or', 'stmatrix', 'vmin2',
76
+ 'bfi', 'griddepcontrol', 'pmevent', 'sub', 'vmin4',
77
+ 'bfind', 'isspacep', 'popc', 'subc', 'vote',
78
+ 'bmsk', 'istypep', 'prefetch', 'suld', 'vset',
79
+ 'bra', 'ld', 'prefetchu', 'suq', 'vset2',
80
+ 'brev', 'ldmatrix', 'prmt', 'sured', 'vset4',
81
+ 'brkpt', 'ldu', 'rcp', 'sust', 'vshl',
82
+ 'brx', 'lg2', 'red', 'szext', 'vshr',
83
+ 'call', 'lop3', 'redux', 'tanh', 'vsub',
84
+ 'clz', 'mad', 'rem', 'testp', 'vsub2',
85
+ 'cnot', 'mad24', 'ret', 'tex', 'vsub4',
86
+ 'copysign', 'madc', 'rsqrt', 'tld4', 'wgmma',
87
+ 'cos', 'mapa', 'sad', 'trap', 'wmma',
88
+ 'cp', 'match', 'selp', 'txq', 'xor',
89
+ 'createpolicy', 'max', 'set', 'vabsdiff', 'cvt',
90
+ 'mbarrier', 'setmaxnreg', 'vabsdiff2', 'cvta',
91
+ 'membar', 'setp', 'vabsdiff4')), Keyword),
92
+ # State Spaces and Suffixes
93
+ (words((
94
+ 'reg', '.sreg', '.const', '.global',
95
+ '.local', '.param', '.shared', '.tex',
96
+ '.wide', '.loc'
97
+ )), Keyword.Pseudo),
98
+ # PTX Directives
99
+ (words((
100
+ '.address_size', '.explicitcluster', '.maxnreg', '.section',
101
+ '.alias', '.extern', '.maxntid', '.shared',
102
+ '.align', '.file', '.minnctapersm', '.sreg',
103
+ '.branchtargets', '.func', '.noreturn', '.target',
104
+ '.callprototype', '.global', '.param', '.tex',
105
+ '.calltargets', '.loc', '.pragma', '.version',
106
+ '.common', '.local', '.reg', '.visible',
107
+ '.const', '.maxclusterrank', '.reqnctapercluster', '.weak',
108
+ '.entry', '.maxnctapersm', '.reqntid')), Keyword.Reserved),
109
+ # Fundamental Types
110
+ (words((
111
+ '.s8', '.s16', '.s32', '.s64',
112
+ '.u8', '.u16', '.u32', '.u64',
113
+ '.f16', '.f16x2', '.f32', '.f64',
114
+ '.b8', '.b16', '.b32', '.b64',
115
+ '.pred'
116
+ )), Keyword.Type)
117
+ ],
118
+
119
+ }
@@ -4,15 +4,14 @@
4
4
 
5
5
  Lexers for Python 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
 
11
- import re
12
11
  import keyword
13
12
 
14
- from pygments.lexer import DelegatingLexer, Lexer, RegexLexer, include, \
15
- bygroups, using, default, words, combined, do_insertions, this, line_re
13
+ from pygments.lexer import DelegatingLexer, RegexLexer, include, \
14
+ bygroups, using, default, words, combined, this
16
15
  from pygments.util import get_bool_opt, shebang_matches
17
16
  from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
18
17
  Number, Punctuation, Generic, Other, Error, Whitespace
@@ -27,16 +26,14 @@ class PythonLexer(RegexLexer):
27
26
  """
28
27
  For Python source code (version 3.x).
29
28
 
30
- .. versionadded:: 0.10
31
-
32
29
  .. versionchanged:: 2.5
33
30
  This is now the default ``PythonLexer``. It is still available as the
34
31
  alias ``Python3Lexer``.
35
32
  """
36
33
 
37
34
  name = 'Python'
38
- url = 'http://www.python.org'
39
- aliases = ['python', 'py', 'sage', 'python3', 'py3']
35
+ url = 'https://www.python.org'
36
+ aliases = ['python', 'py', 'sage', 'python3', 'py3', 'bazel', 'starlark']
40
37
  filenames = [
41
38
  '*.py',
42
39
  '*.pyw',
@@ -61,8 +58,9 @@ class PythonLexer(RegexLexer):
61
58
  ]
62
59
  mimetypes = ['text/x-python', 'application/x-python',
63
60
  'text/x-python3', 'application/x-python3']
61
+ version_added = '0.10'
64
62
 
65
- uni_name = "[%s][%s]*" % (uni.xid_start, uni.xid_continue)
63
+ uni_name = f"[{uni.xid_start}][{uni.xid_continue}]*"
66
64
 
67
65
  def innerstring_rules(ttype):
68
66
  return [
@@ -224,7 +222,8 @@ class PythonLexer(RegexLexer):
224
222
  r'(match|case)\b' # a possible keyword
225
223
  r'(?![ \t]*(?:' # not followed by...
226
224
  r'[:,;=^&|@~)\]}]|(?:' + # characters and keywords that mean this isn't
227
- r'|'.join(keyword.kwlist) + r')\b))', # pattern matching
225
+ # pattern matching (but None/True/False is ok)
226
+ r'|'.join(k for k in keyword.kwlist if k[0].islower()) + r')\b))',
228
227
  bygroups(Text, Keyword), 'soft-keywords-inner'),
229
228
  ],
230
229
  'soft-keywords-inner': [
@@ -425,10 +424,11 @@ class Python2Lexer(RegexLexer):
425
424
  """
426
425
 
427
426
  name = 'Python 2.x'
428
- url = 'http://www.python.org'
427
+ url = 'https://www.python.org'
429
428
  aliases = ['python2', 'py2']
430
429
  filenames = [] # now taken over by PythonLexer (3.x)
431
430
  mimetypes = ['text/x-python2', 'application/x-python2']
431
+ version_added = ''
432
432
 
433
433
  def innerstring_rules(ttype):
434
434
  return [
@@ -637,7 +637,7 @@ class Python2Lexer(RegexLexer):
637
637
 
638
638
  class _PythonConsoleLexerBase(RegexLexer):
639
639
  name = 'Python console session'
640
- aliases = ['pycon']
640
+ aliases = ['pycon', 'python-console']
641
641
  mimetypes = ['text/x-python-doctest']
642
642
 
643
643
  """Auxiliary lexer for `PythonConsoleLexer`.
@@ -696,8 +696,10 @@ class PythonConsoleLexer(DelegatingLexer):
696
696
  """
697
697
 
698
698
  name = 'Python console session'
699
- aliases = ['pycon']
699
+ aliases = ['pycon', 'python-console']
700
700
  mimetypes = ['text/x-python-doctest']
701
+ url = 'https://python.org'
702
+ version_added = ''
701
703
 
702
704
  def __init__(self, **options):
703
705
  python3 = get_bool_opt(options, 'python3', True)
@@ -721,8 +723,6 @@ class PythonTracebackLexer(RegexLexer):
721
723
  """
722
724
  For Python 3.x tracebacks, with support for chained exceptions.
723
725
 
724
- .. versionadded:: 1.0
725
-
726
726
  .. versionchanged:: 2.5
727
727
  This is now the default ``PythonTracebackLexer``. It is still available
728
728
  as the alias ``Python3TracebackLexer``.
@@ -732,6 +732,8 @@ class PythonTracebackLexer(RegexLexer):
732
732
  aliases = ['pytb', 'py3tb']
733
733
  filenames = ['*.pytb', '*.py3tb']
734
734
  mimetypes = ['text/x-python-traceback', 'text/x-python3-traceback']
735
+ url = 'https://python.org'
736
+ version_added = '1.0'
735
737
 
736
738
  tokens = {
737
739
  'root': [
@@ -778,8 +780,6 @@ class Python2TracebackLexer(RegexLexer):
778
780
  """
779
781
  For Python tracebacks.
780
782
 
781
- .. versionadded:: 0.7
782
-
783
783
  .. versionchanged:: 2.5
784
784
  This class has been renamed from ``PythonTracebackLexer``.
785
785
  ``PythonTracebackLexer`` now refers to the Python 3 variant.
@@ -789,6 +789,8 @@ class Python2TracebackLexer(RegexLexer):
789
789
  aliases = ['py2tb']
790
790
  filenames = ['*.py2tb']
791
791
  mimetypes = ['text/x-python2-traceback']
792
+ url = 'https://python.org'
793
+ version_added = '0.7'
792
794
 
793
795
  tokens = {
794
796
  'root': [
@@ -825,15 +827,14 @@ class Python2TracebackLexer(RegexLexer):
825
827
  class CythonLexer(RegexLexer):
826
828
  """
827
829
  For Pyrex and Cython source code.
828
-
829
- .. versionadded:: 1.1
830
830
  """
831
831
 
832
832
  name = 'Cython'
833
- url = 'http://cython.org'
833
+ url = 'https://cython.org'
834
834
  aliases = ['cython', 'pyx', 'pyrex']
835
835
  filenames = ['*.pyx', '*.pxd', '*.pxi']
836
836
  mimetypes = ['text/x-cython', 'application/x-cython']
837
+ version_added = '1.1'
837
838
 
838
839
  tokens = {
839
840
  'root': [
@@ -1007,13 +1008,13 @@ class DgLexer(RegexLexer):
1007
1008
  Lexer for dg,
1008
1009
  a functional and object-oriented programming language
1009
1010
  running on the CPython 3 VM.
1010
-
1011
- .. versionadded:: 1.6
1012
1011
  """
1013
1012
  name = 'dg'
1014
1013
  aliases = ['dg']
1015
1014
  filenames = ['*.dg']
1016
1015
  mimetypes = ['text/x-dg']
1016
+ url = 'http://pyos.github.io/dg'
1017
+ version_added = '1.6'
1017
1018
 
1018
1019
  tokens = {
1019
1020
  'root': [
@@ -1104,13 +1105,12 @@ class DgLexer(RegexLexer):
1104
1105
  class NumPyLexer(PythonLexer):
1105
1106
  """
1106
1107
  A Python lexer recognizing Numerical Python builtins.
1107
-
1108
- .. versionadded:: 0.10
1109
1108
  """
1110
1109
 
1111
1110
  name = 'NumPy'
1112
1111
  url = 'https://numpy.org/'
1113
1112
  aliases = ['numpy']
1113
+ version_added = '0.10'
1114
1114
 
1115
1115
  # override the mimetypes to not inherit them from python
1116
1116
  mimetypes = []