pygments.rb 2.4.1 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
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 = []