pygments.rb 2.4.0 → 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 (349) 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 +12 -0
  7. data/README.adoc +2 -2
  8. data/lib/pygments/popen.rb +2 -2
  9. data/lib/pygments/version.rb +1 -1
  10. data/pygments.rb.gemspec +3 -3
  11. data/vendor/pygments-main/bin/pygmentize +1 -1
  12. data/vendor/pygments-main/pygments/__init__.py +2 -2
  13. data/vendor/pygments-main/pygments/__main__.py +1 -1
  14. data/vendor/pygments-main/pygments/cmdline.py +12 -12
  15. data/vendor/pygments-main/pygments/console.py +5 -5
  16. data/vendor/pygments-main/pygments/filter.py +2 -3
  17. data/vendor/pygments-main/pygments/filters/__init__.py +4 -4
  18. data/vendor/pygments-main/pygments/formatter.py +6 -1
  19. data/vendor/pygments-main/pygments/formatters/__init__.py +7 -8
  20. data/vendor/pygments-main/pygments/formatters/_mapping.py +0 -0
  21. data/vendor/pygments-main/pygments/formatters/bbcode.py +2 -2
  22. data/vendor/pygments-main/pygments/formatters/groff.py +3 -3
  23. data/vendor/pygments-main/pygments/formatters/html.py +38 -40
  24. data/vendor/pygments-main/pygments/formatters/img.py +51 -11
  25. data/vendor/pygments-main/pygments/formatters/irc.py +1 -1
  26. data/vendor/pygments-main/pygments/formatters/latex.py +24 -27
  27. data/vendor/pygments-main/pygments/formatters/other.py +3 -4
  28. data/vendor/pygments-main/pygments/formatters/pangomarkup.py +2 -2
  29. data/vendor/pygments-main/pygments/formatters/rtf.py +228 -25
  30. data/vendor/pygments-main/pygments/formatters/svg.py +17 -20
  31. data/vendor/pygments-main/pygments/formatters/terminal.py +1 -1
  32. data/vendor/pygments-main/pygments/formatters/terminal256.py +1 -1
  33. data/vendor/pygments-main/pygments/lexer.py +51 -33
  34. data/vendor/pygments-main/pygments/lexers/__init__.py +12 -12
  35. data/vendor/pygments-main/pygments/lexers/_ada_builtins.py +1 -1
  36. data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +1 -1
  37. data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +1 -1
  38. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +2 -2
  39. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1 -1
  40. data/vendor/pygments-main/pygments/lexers/_css_builtins.py +1 -1
  41. data/vendor/pygments-main/pygments/lexers/_julia_builtins.py +1 -1
  42. data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +1 -1
  43. data/vendor/pygments-main/pygments/lexers/_lilypond_builtins.py +1 -1
  44. data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +5 -5
  45. data/vendor/pygments-main/pygments/lexers/_luau_builtins.py +62 -0
  46. data/vendor/pygments-main/pygments/lexers/_mapping.py +41 -11
  47. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1 -1
  48. data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +3 -3
  49. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +1 -1
  50. data/vendor/pygments-main/pygments/lexers/_php_builtins.py +3 -3
  51. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +5 -5
  52. data/vendor/pygments-main/pygments/lexers/_qlik_builtins.py +1 -1
  53. data/vendor/pygments-main/pygments/lexers/_scheme_builtins.py +1 -1
  54. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +4 -4
  55. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +3 -3
  56. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +1 -1
  57. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +1 -1
  58. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -1
  59. data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +1 -1
  60. data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +1 -1
  61. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -1
  62. data/vendor/pygments-main/pygments/lexers/actionscript.py +6 -8
  63. data/vendor/pygments-main/pygments/lexers/ada.py +3 -3
  64. data/vendor/pygments-main/pygments/lexers/agile.py +3 -1
  65. data/vendor/pygments-main/pygments/lexers/algebra.py +9 -13
  66. data/vendor/pygments-main/pygments/lexers/ambient.py +2 -3
  67. data/vendor/pygments-main/pygments/lexers/amdgpu.py +3 -3
  68. data/vendor/pygments-main/pygments/lexers/ampl.py +2 -3
  69. data/vendor/pygments-main/pygments/lexers/apdlexer.py +4 -3
  70. data/vendor/pygments-main/pygments/lexers/apl.py +2 -3
  71. data/vendor/pygments-main/pygments/lexers/archetype.py +8 -12
  72. data/vendor/pygments-main/pygments/lexers/arrow.py +2 -3
  73. data/vendor/pygments-main/pygments/lexers/arturo.py +2 -3
  74. data/vendor/pygments-main/pygments/lexers/asc.py +4 -4
  75. data/vendor/pygments-main/pygments/lexers/asm.py +28 -15
  76. data/vendor/pygments-main/pygments/lexers/asn1.py +178 -0
  77. data/vendor/pygments-main/pygments/lexers/automation.py +6 -8
  78. data/vendor/pygments-main/pygments/lexers/bare.py +2 -3
  79. data/vendor/pygments-main/pygments/lexers/basic.py +48 -57
  80. data/vendor/pygments-main/pygments/lexers/bdd.py +3 -4
  81. data/vendor/pygments-main/pygments/lexers/berry.py +4 -4
  82. data/vendor/pygments-main/pygments/lexers/bibtex.py +5 -5
  83. data/vendor/pygments-main/pygments/lexers/blueprint.py +173 -0
  84. data/vendor/pygments-main/pygments/lexers/boa.py +4 -4
  85. data/vendor/pygments-main/pygments/lexers/bqn.py +109 -0
  86. data/vendor/pygments-main/pygments/lexers/business.py +21 -22
  87. data/vendor/pygments-main/pygments/lexers/c_cpp.py +9 -4
  88. data/vendor/pygments-main/pygments/lexers/c_like.py +99 -27
  89. data/vendor/pygments-main/pygments/lexers/capnproto.py +2 -3
  90. data/vendor/pygments-main/pygments/lexers/carbon.py +10 -11
  91. data/vendor/pygments-main/pygments/lexers/cddl.py +8 -9
  92. data/vendor/pygments-main/pygments/lexers/chapel.py +2 -3
  93. data/vendor/pygments-main/pygments/lexers/clean.py +2 -1
  94. data/vendor/pygments-main/pygments/lexers/comal.py +2 -1
  95. data/vendor/pygments-main/pygments/lexers/compiled.py +2 -1
  96. data/vendor/pygments-main/pygments/lexers/configs.py +342 -108
  97. data/vendor/pygments-main/pygments/lexers/console.py +5 -5
  98. data/vendor/pygments-main/pygments/lexers/cplint.py +2 -3
  99. data/vendor/pygments-main/pygments/lexers/crystal.py +4 -5
  100. data/vendor/pygments-main/pygments/lexers/csound.py +6 -8
  101. data/vendor/pygments-main/pygments/lexers/css.py +5 -5
  102. data/vendor/pygments-main/pygments/lexers/d.py +4 -3
  103. data/vendor/pygments-main/pygments/lexers/dalvik.py +2 -3
  104. data/vendor/pygments-main/pygments/lexers/data.py +8 -12
  105. data/vendor/pygments-main/pygments/lexers/dax.py +2 -3
  106. data/vendor/pygments-main/pygments/lexers/devicetree.py +2 -3
  107. data/vendor/pygments-main/pygments/lexers/diff.py +7 -6
  108. data/vendor/pygments-main/pygments/lexers/dns.py +109 -0
  109. data/vendor/pygments-main/pygments/lexers/dotnet.py +19 -14
  110. data/vendor/pygments-main/pygments/lexers/dsls.py +24 -35
  111. data/vendor/pygments-main/pygments/lexers/dylan.py +8 -16
  112. data/vendor/pygments-main/pygments/lexers/ecl.py +2 -3
  113. data/vendor/pygments-main/pygments/lexers/eiffel.py +3 -4
  114. data/vendor/pygments-main/pygments/lexers/elm.py +3 -4
  115. data/vendor/pygments-main/pygments/lexers/elpi.py +28 -21
  116. data/vendor/pygments-main/pygments/lexers/email.py +3 -3
  117. data/vendor/pygments-main/pygments/lexers/erlang.py +22 -24
  118. data/vendor/pygments-main/pygments/lexers/esoteric.py +11 -12
  119. data/vendor/pygments-main/pygments/lexers/ezhil.py +2 -3
  120. data/vendor/pygments-main/pygments/lexers/factor.py +2 -3
  121. data/vendor/pygments-main/pygments/lexers/fantom.py +3 -3
  122. data/vendor/pygments-main/pygments/lexers/felix.py +9 -10
  123. data/vendor/pygments-main/pygments/lexers/fift.py +2 -1
  124. data/vendor/pygments-main/pygments/lexers/floscript.py +2 -3
  125. data/vendor/pygments-main/pygments/lexers/forth.py +2 -3
  126. data/vendor/pygments-main/pygments/lexers/fortran.py +6 -7
  127. data/vendor/pygments-main/pygments/lexers/foxpro.py +3 -3
  128. data/vendor/pygments-main/pygments/lexers/freefem.py +2 -3
  129. data/vendor/pygments-main/pygments/lexers/func.py +3 -1
  130. data/vendor/pygments-main/pygments/lexers/functional.py +2 -1
  131. data/vendor/pygments-main/pygments/lexers/futhark.py +6 -7
  132. data/vendor/pygments-main/pygments/lexers/gcodelexer.py +3 -3
  133. data/vendor/pygments-main/pygments/lexers/gdscript.py +2 -1
  134. data/vendor/pygments-main/pygments/lexers/go.py +3 -4
  135. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +6 -9
  136. data/vendor/pygments-main/pygments/lexers/graph.py +12 -9
  137. data/vendor/pygments-main/pygments/lexers/graphics.py +13 -17
  138. data/vendor/pygments-main/pygments/lexers/graphql.py +176 -0
  139. data/vendor/pygments-main/pygments/lexers/graphviz.py +2 -3
  140. data/vendor/pygments-main/pygments/lexers/gsql.py +2 -3
  141. data/vendor/pygments-main/pygments/lexers/haskell.py +27 -32
  142. data/vendor/pygments-main/pygments/lexers/haxe.py +3 -5
  143. data/vendor/pygments-main/pygments/lexers/hdl.py +8 -7
  144. data/vendor/pygments-main/pygments/lexers/hexdump.py +3 -3
  145. data/vendor/pygments-main/pygments/lexers/html.py +34 -13
  146. data/vendor/pygments-main/pygments/lexers/idl.py +2 -3
  147. data/vendor/pygments-main/pygments/lexers/igor.py +305 -290
  148. data/vendor/pygments-main/pygments/lexers/inferno.py +2 -3
  149. data/vendor/pygments-main/pygments/lexers/installers.py +7 -9
  150. data/vendor/pygments-main/pygments/lexers/int_fiction.py +150 -162
  151. data/vendor/pygments-main/pygments/lexers/iolang.py +2 -3
  152. data/vendor/pygments-main/pygments/lexers/j.py +2 -3
  153. data/vendor/pygments-main/pygments/lexers/javascript.py +18 -19
  154. data/vendor/pygments-main/pygments/lexers/jmespath.py +2 -1
  155. data/vendor/pygments-main/pygments/lexers/jslt.py +2 -3
  156. data/vendor/pygments-main/pygments/lexers/jsonnet.py +4 -3
  157. data/vendor/pygments-main/pygments/lexers/jsx.py +75 -0
  158. data/vendor/pygments-main/pygments/lexers/julia.py +4 -5
  159. data/vendor/pygments-main/pygments/lexers/jvm.py +98 -116
  160. data/vendor/pygments-main/pygments/lexers/kuin.py +2 -3
  161. data/vendor/pygments-main/pygments/lexers/kusto.py +93 -0
  162. data/vendor/pygments-main/pygments/lexers/ldap.py +155 -0
  163. data/vendor/pygments-main/pygments/lexers/lean.py +241 -0
  164. data/vendor/pygments-main/pygments/lexers/lilypond.py +2 -3
  165. data/vendor/pygments-main/pygments/lexers/lisp.py +373 -65
  166. data/vendor/pygments-main/pygments/lexers/macaulay2.py +53 -4
  167. data/vendor/pygments-main/pygments/lexers/make.py +7 -5
  168. data/vendor/pygments-main/pygments/lexers/markup.py +242 -91
  169. data/vendor/pygments-main/pygments/lexers/math.py +2 -1
  170. data/vendor/pygments-main/pygments/lexers/matlab.py +10 -12
  171. data/vendor/pygments-main/pygments/lexers/maxima.py +2 -3
  172. data/vendor/pygments-main/pygments/lexers/meson.py +2 -3
  173. data/vendor/pygments-main/pygments/lexers/mime.py +4 -4
  174. data/vendor/pygments-main/pygments/lexers/minecraft.py +24 -27
  175. data/vendor/pygments-main/pygments/lexers/mips.py +3 -1
  176. data/vendor/pygments-main/pygments/lexers/ml.py +59 -61
  177. data/vendor/pygments-main/pygments/lexers/modeling.py +19 -22
  178. data/vendor/pygments-main/pygments/lexers/modula2.py +2 -3
  179. data/vendor/pygments-main/pygments/lexers/mojo.py +704 -0
  180. data/vendor/pygments-main/pygments/lexers/monte.py +2 -3
  181. data/vendor/pygments-main/pygments/lexers/mosel.py +3 -3
  182. data/vendor/pygments-main/pygments/lexers/ncl.py +4 -3
  183. data/vendor/pygments-main/pygments/lexers/nimrod.py +7 -8
  184. data/vendor/pygments-main/pygments/lexers/nit.py +2 -3
  185. data/vendor/pygments-main/pygments/lexers/nix.py +40 -31
  186. data/vendor/pygments-main/pygments/lexers/oberon.py +3 -3
  187. data/vendor/pygments-main/pygments/lexers/objective.py +14 -6
  188. data/vendor/pygments-main/pygments/lexers/ooc.py +2 -3
  189. data/vendor/pygments-main/pygments/lexers/openscad.py +96 -0
  190. data/vendor/pygments-main/pygments/lexers/other.py +2 -1
  191. data/vendor/pygments-main/pygments/lexers/parasail.py +2 -3
  192. data/vendor/pygments-main/pygments/lexers/parsers.py +41 -44
  193. data/vendor/pygments-main/pygments/lexers/pascal.py +6 -3
  194. data/vendor/pygments-main/pygments/lexers/pawn.py +5 -5
  195. data/vendor/pygments-main/pygments/lexers/perl.py +3 -3
  196. data/vendor/pygments-main/pygments/lexers/phix.py +2 -3
  197. data/vendor/pygments-main/pygments/lexers/php.py +4 -5
  198. data/vendor/pygments-main/pygments/lexers/pointless.py +2 -3
  199. data/vendor/pygments-main/pygments/lexers/pony.py +3 -3
  200. data/vendor/pygments-main/pygments/lexers/praat.py +2 -3
  201. data/vendor/pygments-main/pygments/lexers/procfile.py +2 -3
  202. data/vendor/pygments-main/pygments/lexers/prolog.py +23 -9
  203. data/vendor/pygments-main/pygments/lexers/promql.py +2 -1
  204. data/vendor/pygments-main/pygments/lexers/prql.py +251 -0
  205. data/vendor/pygments-main/pygments/lexers/ptx.py +119 -0
  206. data/vendor/pygments-main/pygments/lexers/python.py +24 -24
  207. data/vendor/pygments-main/pygments/lexers/q.py +5 -6
  208. data/vendor/pygments-main/pygments/lexers/qlik.py +3 -3
  209. data/vendor/pygments-main/pygments/lexers/qvt.py +5 -3
  210. data/vendor/pygments-main/pygments/lexers/r.py +8 -6
  211. data/vendor/pygments-main/pygments/lexers/rdf.py +19 -13
  212. data/vendor/pygments-main/pygments/lexers/rebol.py +7 -7
  213. data/vendor/pygments-main/pygments/lexers/resource.py +5 -6
  214. data/vendor/pygments-main/pygments/lexers/ride.py +4 -5
  215. data/vendor/pygments-main/pygments/lexers/rita.py +2 -3
  216. data/vendor/pygments-main/pygments/lexers/rnc.py +2 -3
  217. data/vendor/pygments-main/pygments/lexers/roboconf.py +5 -5
  218. data/vendor/pygments-main/pygments/lexers/robotframework.py +2 -3
  219. data/vendor/pygments-main/pygments/lexers/ruby.py +8 -13
  220. data/vendor/pygments-main/pygments/lexers/rust.py +9 -10
  221. data/vendor/pygments-main/pygments/lexers/sas.py +3 -3
  222. data/vendor/pygments-main/pygments/lexers/savi.py +131 -130
  223. data/vendor/pygments-main/pygments/lexers/scdoc.py +13 -7
  224. data/vendor/pygments-main/pygments/lexers/scripting.py +354 -42
  225. data/vendor/pygments-main/pygments/lexers/sgf.py +2 -3
  226. data/vendor/pygments-main/pygments/lexers/shell.py +107 -129
  227. data/vendor/pygments-main/pygments/lexers/sieve.py +3 -3
  228. data/vendor/pygments-main/pygments/lexers/slash.py +4 -5
  229. data/vendor/pygments-main/pygments/lexers/smalltalk.py +3 -5
  230. data/vendor/pygments-main/pygments/lexers/smithy.py +2 -3
  231. data/vendor/pygments-main/pygments/lexers/smv.py +3 -3
  232. data/vendor/pygments-main/pygments/lexers/snobol.py +3 -3
  233. data/vendor/pygments-main/pygments/lexers/solidity.py +3 -3
  234. data/vendor/pygments-main/pygments/lexers/soong.py +78 -0
  235. data/vendor/pygments-main/pygments/lexers/sophia.py +3 -4
  236. data/vendor/pygments-main/pygments/lexers/special.py +8 -3
  237. data/vendor/pygments-main/pygments/lexers/spice.py +15 -16
  238. data/vendor/pygments-main/pygments/lexers/sql.py +24 -18
  239. data/vendor/pygments-main/pygments/lexers/srcinfo.py +3 -3
  240. data/vendor/pygments-main/pygments/lexers/stata.py +2 -3
  241. data/vendor/pygments-main/pygments/lexers/supercollider.py +2 -3
  242. data/vendor/pygments-main/pygments/lexers/tact.py +303 -0
  243. data/vendor/pygments-main/pygments/lexers/tal.py +13 -10
  244. data/vendor/pygments-main/pygments/lexers/tcl.py +2 -3
  245. data/vendor/pygments-main/pygments/lexers/teal.py +2 -3
  246. data/vendor/pygments-main/pygments/lexers/templates.py +131 -72
  247. data/vendor/pygments-main/pygments/lexers/teraterm.py +2 -3
  248. data/vendor/pygments-main/pygments/lexers/testing.py +4 -5
  249. data/vendor/pygments-main/pygments/lexers/text.py +2 -1
  250. data/vendor/pygments-main/pygments/lexers/textedit.py +9 -6
  251. data/vendor/pygments-main/pygments/lexers/textfmts.py +20 -15
  252. data/vendor/pygments-main/pygments/lexers/theorem.py +41 -115
  253. data/vendor/pygments-main/pygments/lexers/thingsdb.py +50 -26
  254. data/vendor/pygments-main/pygments/lexers/tlb.py +3 -1
  255. data/vendor/pygments-main/pygments/lexers/tls.py +54 -0
  256. data/vendor/pygments-main/pygments/lexers/tnt.py +2 -3
  257. data/vendor/pygments-main/pygments/lexers/trafficscript.py +3 -3
  258. data/vendor/pygments-main/pygments/lexers/typoscript.py +6 -7
  259. data/vendor/pygments-main/pygments/lexers/typst.py +104 -0
  260. data/vendor/pygments-main/pygments/lexers/ul4.py +47 -5
  261. data/vendor/pygments-main/pygments/lexers/unicon.py +9 -7
  262. data/vendor/pygments-main/pygments/lexers/urbi.py +3 -3
  263. data/vendor/pygments-main/pygments/lexers/usd.py +6 -11
  264. data/vendor/pygments-main/pygments/lexers/varnish.py +5 -5
  265. data/vendor/pygments-main/pygments/lexers/verification.py +4 -5
  266. data/vendor/pygments-main/pygments/lexers/verifpal.py +65 -0
  267. data/vendor/pygments-main/pygments/lexers/vip.py +150 -0
  268. data/vendor/pygments-main/pygments/lexers/vyper.py +140 -0
  269. data/vendor/pygments-main/pygments/lexers/web.py +2 -1
  270. data/vendor/pygments-main/pygments/lexers/webassembly.py +2 -3
  271. data/vendor/pygments-main/pygments/lexers/webidl.py +2 -3
  272. data/vendor/pygments-main/pygments/lexers/webmisc.py +11 -15
  273. data/vendor/pygments-main/pygments/lexers/wgsl.py +6 -7
  274. data/vendor/pygments-main/pygments/lexers/whiley.py +2 -3
  275. data/vendor/pygments-main/pygments/lexers/wowtoc.py +3 -3
  276. data/vendor/pygments-main/pygments/lexers/wren.py +3 -4
  277. data/vendor/pygments-main/pygments/lexers/x10.py +6 -7
  278. data/vendor/pygments-main/pygments/lexers/xorg.py +2 -1
  279. data/vendor/pygments-main/pygments/lexers/yang.py +2 -3
  280. data/vendor/pygments-main/pygments/lexers/yara.py +69 -0
  281. data/vendor/pygments-main/pygments/lexers/zig.py +2 -1
  282. data/vendor/pygments-main/pygments/modeline.py +4 -4
  283. data/vendor/pygments-main/pygments/plugin.py +3 -19
  284. data/vendor/pygments-main/pygments/regexopt.py +1 -1
  285. data/vendor/pygments-main/pygments/scanner.py +1 -1
  286. data/vendor/pygments-main/pygments/sphinxext.py +38 -8
  287. data/vendor/pygments-main/pygments/style.py +8 -2
  288. data/vendor/pygments-main/pygments/styles/__init__.py +17 -59
  289. data/vendor/pygments-main/pygments/styles/_mapping.py +54 -0
  290. data/vendor/pygments-main/pygments/styles/abap.py +5 -1
  291. data/vendor/pygments-main/pygments/styles/algol.py +5 -1
  292. data/vendor/pygments-main/pygments/styles/algol_nu.py +5 -1
  293. data/vendor/pygments-main/pygments/styles/arduino.py +76 -72
  294. data/vendor/pygments-main/pygments/styles/autumn.py +6 -1
  295. data/vendor/pygments-main/pygments/styles/borland.py +6 -1
  296. data/vendor/pygments-main/pygments/styles/bw.py +6 -1
  297. data/vendor/pygments-main/pygments/styles/coffee.py +80 -0
  298. data/vendor/pygments-main/pygments/styles/colorful.py +6 -1
  299. data/vendor/pygments-main/pygments/styles/default.py +6 -1
  300. data/vendor/pygments-main/pygments/styles/dracula.py +68 -80
  301. data/vendor/pygments-main/pygments/styles/emacs.py +6 -1
  302. data/vendor/pygments-main/pygments/styles/friendly.py +6 -1
  303. data/vendor/pygments-main/pygments/styles/friendly_grayscale.py +6 -1
  304. data/vendor/pygments-main/pygments/styles/fruity.py +7 -1
  305. data/vendor/pygments-main/pygments/styles/gh_dark.py +7 -1
  306. data/vendor/pygments-main/pygments/styles/gruvbox.py +10 -1
  307. data/vendor/pygments-main/pygments/styles/igor.py +6 -1
  308. data/vendor/pygments-main/pygments/styles/inkpot.py +7 -2
  309. data/vendor/pygments-main/pygments/styles/lightbulb.py +110 -0
  310. data/vendor/pygments-main/pygments/styles/lilypond.py +8 -2
  311. data/vendor/pygments-main/pygments/styles/lovelace.py +16 -10
  312. data/vendor/pygments-main/pygments/styles/manni.py +7 -2
  313. data/vendor/pygments-main/pygments/styles/material.py +21 -14
  314. data/vendor/pygments-main/pygments/styles/monokai.py +16 -10
  315. data/vendor/pygments-main/pygments/styles/murphy.py +7 -2
  316. data/vendor/pygments-main/pygments/styles/native.py +10 -5
  317. data/vendor/pygments-main/pygments/styles/nord.py +9 -3
  318. data/vendor/pygments-main/pygments/styles/onedark.py +6 -2
  319. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +7 -2
  320. data/vendor/pygments-main/pygments/styles/paraiso_light.py +7 -2
  321. data/vendor/pygments-main/pygments/styles/pastie.py +7 -1
  322. data/vendor/pygments-main/pygments/styles/perldoc.py +7 -1
  323. data/vendor/pygments-main/pygments/styles/rainbow_dash.py +26 -19
  324. data/vendor/pygments-main/pygments/styles/rrt.py +8 -2
  325. data/vendor/pygments-main/pygments/styles/sas.py +6 -1
  326. data/vendor/pygments-main/pygments/styles/solarized.py +9 -1
  327. data/vendor/pygments-main/pygments/styles/staroffice.py +6 -1
  328. data/vendor/pygments-main/pygments/styles/stata_dark.py +6 -2
  329. data/vendor/pygments-main/pygments/styles/stata_light.py +6 -1
  330. data/vendor/pygments-main/pygments/styles/tango.py +7 -3
  331. data/vendor/pygments-main/pygments/styles/trac.py +7 -1
  332. data/vendor/pygments-main/pygments/styles/vim.py +7 -1
  333. data/vendor/pygments-main/pygments/styles/vs.py +7 -2
  334. data/vendor/pygments-main/pygments/styles/xcode.py +6 -1
  335. data/vendor/pygments-main/pygments/styles/zenburn.py +6 -1
  336. data/vendor/pygments-main/pygments/token.py +2 -1
  337. data/vendor/pygments-main/pygments/unistring.py +5 -5
  338. data/vendor/pygments-main/pygments/util.py +13 -19
  339. data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/METADATA +14 -13
  340. data/vendor/pygments-main/pygments-2.18.0.dist-info/RECORD +663 -0
  341. data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/WHEEL +1 -2
  342. data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info/licenses}/AUTHORS +13 -0
  343. metadata +41 -17
  344. data/vendor/pygments-main/Pygments-2.15.1.dist-info/RECORD +0 -614
  345. data/vendor/pygments-main/Pygments-2.15.1.dist-info/top_level.txt +0 -1
  346. /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/INSTALLER +0 -0
  347. /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/REQUESTED +0 -0
  348. /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/entry_points.txt +0 -0
  349. /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
  Lexer for the Q programming language.
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -17,14 +17,14 @@ __all__ = ["KLexer", "QLexer"]
17
17
 
18
18
  class KLexer(RegexLexer):
19
19
  """
20
- For `K <https://code.kx.com/>`_ source code.
21
-
22
- .. versionadded:: 2.12
20
+ For K source code.
23
21
  """
24
22
 
25
23
  name = "K"
26
24
  aliases = ["k"]
27
25
  filenames = ["*.k"]
26
+ url = "https://code.kx.com"
27
+ version_added = '2.12'
28
28
 
29
29
  tokens = {
30
30
  "whitespace": [
@@ -152,13 +152,12 @@ class KLexer(RegexLexer):
152
152
  class QLexer(KLexer):
153
153
  """
154
154
  For `Q <https://code.kx.com/>`_ source code.
155
-
156
- .. versionadded:: 2.12
157
155
  """
158
156
 
159
157
  name = "Q"
160
158
  aliases = ["q"]
161
159
  filenames = ["*.q"]
160
+ version_added = '2.12'
162
161
 
163
162
  tokens = {
164
163
  "root": [
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for the qlik scripting language
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -22,13 +22,13 @@ __all__ = ["QlikLexer"]
22
22
  class QlikLexer(RegexLexer):
23
23
  """
24
24
  Lexer for qlik code, including .qvs files
25
-
26
- .. versionadded:: 2.12
27
25
  """
28
26
 
29
27
  name = "Qlik"
30
28
  aliases = ["qlik", "qlikview", "qliksense", "qlikscript"]
31
29
  filenames = ["*.qvs", "*.qvw"]
30
+ url = "https://qlik.com"
31
+ version_added = '2.12'
32
32
 
33
33
  flags = re.IGNORECASE
34
34
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for QVT Operational language.
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -18,11 +18,11 @@ __all__ = ['QVToLexer']
18
18
 
19
19
  class QVToLexer(RegexLexer):
20
20
  """
21
- For the `QVT Operational Mapping language <http://www.omg.org/spec/QVT/1.1/>`_.
21
+ For the QVT Operational Mapping language.
22
22
 
23
23
  Reference for implementing this: «Meta Object Facility (MOF) 2.0
24
24
  Query/View/Transformation Specification», Version 1.1 - January 2011
25
- (http://www.omg.org/spec/QVT/1.1/), see §8.4, «Concrete Syntax» in
25
+ (https://www.omg.org/spec/QVT/1.1/), see §8.4, «Concrete Syntax» in
26
26
  particular.
27
27
 
28
28
  Notable tokens assignments:
@@ -41,6 +41,8 @@ class QVToLexer(RegexLexer):
41
41
  name = 'QVTO'
42
42
  aliases = ['qvto', 'qvt']
43
43
  filenames = ['*.qvto']
44
+ url = 'https://www.omg.org/spec/QVT/1.1'
45
+ version_added = ''
44
46
 
45
47
  tokens = {
46
48
  'root': [
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the R/S 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
 
@@ -28,6 +28,8 @@ class RConsoleLexer(Lexer):
28
28
  name = 'RConsole'
29
29
  aliases = ['rconsole', 'rout']
30
30
  filenames = ['*.Rout']
31
+ url = 'https://www.r-project.org'
32
+ version_added = ''
31
33
 
32
34
  def get_tokens_unprocessed(self, text):
33
35
  slexer = SLexer(**self.options)
@@ -67,8 +69,6 @@ class RConsoleLexer(Lexer):
67
69
  class SLexer(RegexLexer):
68
70
  """
69
71
  For S, S-plus, and R source code.
70
-
71
- .. versionadded:: 0.10
72
72
  """
73
73
 
74
74
  name = 'S'
@@ -76,6 +76,8 @@ class SLexer(RegexLexer):
76
76
  filenames = ['*.S', '*.R', '.Rhistory', '.Rprofile', '.Renviron']
77
77
  mimetypes = ['text/S-plus', 'text/S', 'text/x-r-source', 'text/x-r',
78
78
  'text/x-R', 'text/x-r-history', 'text/x-r-profile']
79
+ url = 'https://www.r-project.org'
80
+ version_added = '0.10'
79
81
 
80
82
  valid_name = r'`[^`\\]*(?:\\.[^`\\]*)*`|(?:[a-zA-Z]|\.[A-Za-z_.])[\w.]*|\.'
81
83
  tokens = {
@@ -126,7 +128,7 @@ class SLexer(RegexLexer):
126
128
  ],
127
129
  'root': [
128
130
  # calls:
129
- (r'(%s)\s*(?=\()' % valid_name, Name.Function),
131
+ (rf'({valid_name})\s*(?=\()', Name.Function),
130
132
  include('statements'),
131
133
  # blocks:
132
134
  (r'\{|\}', Punctuation),
@@ -159,13 +161,13 @@ class RdLexer(RegexLexer):
159
161
  than the macros. A description of Rd syntax is found in `Writing R
160
162
  Extensions <http://cran.r-project.org/doc/manuals/R-exts.html>`_
161
163
  and `Parsing Rd files <http://developer.r-project.org/parseRd.pdf>`_.
162
-
163
- .. versionadded:: 1.6
164
164
  """
165
165
  name = 'Rd'
166
166
  aliases = ['rd']
167
167
  filenames = ['*.Rd']
168
168
  mimetypes = ['text/x-r-doc']
169
+ url = 'http://cran.r-project.org/doc/manuals/R-exts.html'
170
+ version_added = '1.6'
169
171
 
170
172
  # To account for verbatim / LaTeX-like / and R-like areas
171
173
  # would require parsing.
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for semantic web and RDF query languages and markup.
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
 
@@ -19,14 +19,14 @@ __all__ = ['SparqlLexer', 'TurtleLexer', 'ShExCLexer']
19
19
 
20
20
  class SparqlLexer(RegexLexer):
21
21
  """
22
- Lexer for `SPARQL <https://www.w3.org/TR/sparql11-query/>`_ query language.
23
-
24
- .. versionadded:: 2.0
22
+ Lexer for SPARQL query language.
25
23
  """
26
24
  name = 'SPARQL'
27
25
  aliases = ['sparql']
28
26
  filenames = ['*.rq', '*.sparql']
29
27
  mimetypes = ['application/sparql-query']
28
+ url = 'https://www.w3.org/TR/sparql11-query'
29
+ version_added = '2.0'
30
30
 
31
31
  # character group definitions ::
32
32
 
@@ -177,14 +177,14 @@ class SparqlLexer(RegexLexer):
177
177
 
178
178
  class TurtleLexer(RegexLexer):
179
179
  """
180
- Lexer for `Turtle <http://www.w3.org/TR/turtle/>`_ data language.
181
-
182
- .. versionadded:: 2.1
180
+ Lexer for Turtle data language.
183
181
  """
184
182
  name = 'Turtle'
185
183
  aliases = ['turtle']
186
184
  filenames = ['*.ttl']
187
185
  mimetypes = ['text/turtle', 'application/x-turtle']
186
+ url = 'https://www.w3.org/TR/turtle'
187
+ version_added = '2.1'
188
188
 
189
189
  # character group definitions ::
190
190
  PN_CHARS_BASE_GRP = ('a-zA-Z'
@@ -243,10 +243,10 @@ class TurtleLexer(RegexLexer):
243
243
  (r'\s+', Text),
244
244
 
245
245
  # Base / prefix
246
- (r'(@base|BASE)(\s+)%(IRIREF)s(\s*)(\.?)' % patterns,
246
+ (r'(@base|BASE)(\s+){IRIREF}(\s*)(\.?)'.format(**patterns),
247
247
  bygroups(Keyword, Whitespace, Name.Variable, Whitespace,
248
248
  Punctuation)),
249
- (r'(@prefix|PREFIX)(\s+)%(PNAME_NS)s(\s+)%(IRIREF)s(\s*)(\.?)' % patterns,
249
+ (r'(@prefix|PREFIX)(\s+){PNAME_NS}(\s+){IRIREF}(\s*)(\.?)'.format(**patterns),
250
250
  bygroups(Keyword, Whitespace, Name.Namespace, Whitespace,
251
251
  Name.Variable, Whitespace, Punctuation)),
252
252
 
@@ -254,12 +254,16 @@ class TurtleLexer(RegexLexer):
254
254
  (r'(?<=\s)a(?=\s)', Keyword.Type),
255
255
 
256
256
  # IRIREF
257
- (r'%(IRIREF)s' % patterns, Name.Variable),
257
+ (r'{IRIREF}'.format(**patterns), Name.Variable),
258
258
 
259
259
  # PrefixedName
260
260
  (r'(' + PN_PREFIX + r')?(\:)(' + PN_LOCAL + r')?',
261
261
  bygroups(Name.Namespace, Punctuation, Name.Tag)),
262
262
 
263
+ # BlankNodeLabel
264
+ (r'(_)(:)([' + PN_CHARS_U_GRP + r'0-9]([' + PN_CHARS_GRP + r'.]*' + PN_CHARS + ')?)',
265
+ bygroups(Name.Namespace, Punctuation, Name.Tag)),
266
+
263
267
  # Comment
264
268
  (r'#[^\n]+', Comment),
265
269
 
@@ -301,7 +305,7 @@ class TurtleLexer(RegexLexer):
301
305
  (r'(@)([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)',
302
306
  bygroups(Operator, Generic.Emph), '#pop:2'),
303
307
 
304
- (r'(\^\^)%(IRIREF)s' % patterns, bygroups(Operator, Generic.Emph), '#pop:2'),
308
+ (r'(\^\^){IRIREF}'.format(**patterns), bygroups(Operator, Generic.Emph), '#pop:2'),
305
309
 
306
310
  default('#pop:2'),
307
311
 
@@ -312,18 +316,20 @@ class TurtleLexer(RegexLexer):
312
316
  # but each has a recognizable and distinct syntax.
313
317
  def analyse_text(text):
314
318
  for t in ('@base ', 'BASE ', '@prefix ', 'PREFIX '):
315
- if re.search(r'^\s*%s' % t, text):
319
+ if re.search(rf'^\s*{t}', text):
316
320
  return 0.80
317
321
 
318
322
 
319
323
  class ShExCLexer(RegexLexer):
320
324
  """
321
- Lexer for `ShExC <https://shex.io/shex-semantics/#shexc>`_ shape expressions language syntax.
325
+ Lexer for ShExC shape expressions language syntax.
322
326
  """
323
327
  name = 'ShExC'
324
328
  aliases = ['shexc', 'shex']
325
329
  filenames = ['*.shex']
326
330
  mimetypes = ['text/shex']
331
+ url = 'https://shex.io/shex-semantics/#shexc'
332
+ version_added = ''
327
333
 
328
334
  # character group definitions ::
329
335
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the REBOL 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
 
@@ -19,14 +19,14 @@ __all__ = ['RebolLexer', 'RedLexer']
19
19
 
20
20
  class RebolLexer(RegexLexer):
21
21
  """
22
- A `REBOL <http://www.rebol.com/>`_ lexer.
23
-
24
- .. versionadded:: 1.1
22
+ A REBOL lexer.
25
23
  """
26
24
  name = 'REBOL'
27
25
  aliases = ['rebol']
28
26
  filenames = ['*.r', '*.r3', '*.reb']
29
27
  mimetypes = ['text/x-rebol']
28
+ url = 'http://www.rebol.com'
29
+ version_added = '1.1'
30
30
 
31
31
  flags = re.IGNORECASE | re.MULTILINE
32
32
 
@@ -240,14 +240,14 @@ class RebolLexer(RegexLexer):
240
240
 
241
241
  class RedLexer(RegexLexer):
242
242
  """
243
- A `Red-language <http://www.red-lang.org/>`_ lexer.
244
-
245
- .. versionadded:: 2.0
243
+ A Red-language lexer.
246
244
  """
247
245
  name = 'Red'
248
246
  aliases = ['red', 'red/system']
249
247
  filenames = ['*.red', '*.reds']
250
248
  mimetypes = ['text/x-red', 'text/x-red-system']
249
+ url = 'https://www.red-lang.org'
250
+ version_added = '2.0'
251
251
 
252
252
  flags = re.IGNORECASE | re.MULTILINE
253
253
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for resource definition files.
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -18,14 +18,13 @@ __all__ = ['ResourceLexer']
18
18
 
19
19
 
20
20
  class ResourceLexer(RegexLexer):
21
- """Lexer for `ICU Resource bundles
22
- <http://userguide.icu-project.org/locale/resources>`_.
23
-
24
- .. versionadded:: 2.0
21
+ """Lexer for ICU Resource bundles.
25
22
  """
26
23
  name = 'ResourceBundle'
27
24
  aliases = ['resourcebundle', 'resource']
28
25
  filenames = []
26
+ url = 'https://unicode-org.github.io/icu/userguide/locale/resources.html'
27
+ version_added = '2.0'
29
28
 
30
29
  _types = (':table', ':array', ':string', ':bin', ':import', ':intvector',
31
30
  ':int', ':alias')
@@ -37,7 +36,7 @@ class ResourceLexer(RegexLexer):
37
36
  (r'"', String, 'string'),
38
37
  (r'-?\d+', Number.Integer),
39
38
  (r'[,{}]', Operator),
40
- (r'([^\s{:]+)(\s*)(%s?)' % '|'.join(_types),
39
+ (r'([^\s{{:]+)(\s*)({}?)'.format('|'.join(_types)),
41
40
  bygroups(Name, Text, Keyword)),
42
41
  (r'\s+', Text),
43
42
  (words(_types), Keyword),
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for the Ride programming language.
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -17,16 +17,15 @@ __all__ = ['RideLexer']
17
17
 
18
18
  class RideLexer(RegexLexer):
19
19
  """
20
- For `Ride <https://docs.wavesplatform.com/en/ride/about-ride.html>`_
21
- source code.
22
-
23
- .. versionadded:: 2.6
20
+ For Ride source code.
24
21
  """
25
22
 
26
23
  name = 'Ride'
27
24
  aliases = ['ride']
28
25
  filenames = ['*.ride']
29
26
  mimetypes = ['text/x-ride']
27
+ url = 'https://docs.waves.tech/en/ride'
28
+ version_added = '2.6'
30
29
 
31
30
  validName = r'[a-zA-Z_][a-zA-Z0-9_\']*'
32
31
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for RITA language
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -18,14 +18,13 @@ __all__ = ['RitaLexer']
18
18
  class RitaLexer(RegexLexer):
19
19
  """
20
20
  Lexer for RITA.
21
-
22
- .. versionadded:: 2.11
23
21
  """
24
22
  name = 'Rita'
25
23
  url = 'https://github.com/zaibacu/rita-dsl'
26
24
  filenames = ['*.rita']
27
25
  aliases = ['rita']
28
26
  mimetypes = ['text/rita']
27
+ version_added = '2.11'
29
28
 
30
29
  tokens = {
31
30
  'root': [
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for Relax-NG Compact syntax
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -18,14 +18,13 @@ __all__ = ['RNCCompactLexer']
18
18
  class RNCCompactLexer(RegexLexer):
19
19
  """
20
20
  For RelaxNG-compact syntax.
21
-
22
- .. versionadded:: 2.2
23
21
  """
24
22
 
25
23
  name = 'Relax-NG Compact'
26
24
  url = 'http://relaxng.org'
27
25
  aliases = ['rng-compact', 'rnc']
28
26
  filenames = ['*.rnc']
27
+ version_added = '2.2'
29
28
 
30
29
  tokens = {
31
30
  'root': [
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for Roboconf DSL.
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
 
@@ -17,12 +17,12 @@ __all__ = ['RoboconfGraphLexer', 'RoboconfInstancesLexer']
17
17
  class RoboconfGraphLexer(RegexLexer):
18
18
  """
19
19
  Lexer for Roboconf graph files.
20
-
21
- .. versionadded:: 2.1
22
20
  """
23
21
  name = 'Roboconf Graph'
24
22
  aliases = ['roboconf-graph']
25
23
  filenames = ['*.graph']
24
+ url = 'https://roboconf.github.io/en/user-guide/graph-definition.html'
25
+ version_added = '2.1'
26
26
 
27
27
  flags = re.IGNORECASE | re.MULTILINE
28
28
  tokens = {
@@ -52,12 +52,12 @@ class RoboconfGraphLexer(RegexLexer):
52
52
  class RoboconfInstancesLexer(RegexLexer):
53
53
  """
54
54
  Lexer for Roboconf instances files.
55
-
56
- .. versionadded:: 2.1
57
55
  """
58
56
  name = 'Roboconf Instances'
59
57
  aliases = ['roboconf-instances']
60
58
  filenames = ['*.instances']
59
+ url = 'https://roboconf.github.io'
60
+ version_added = '2.1'
61
61
 
62
62
  flags = re.IGNORECASE | re.MULTILINE
63
63
  tokens = {
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for Robot Framework.
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
 
@@ -57,14 +57,13 @@ class RobotFrameworkLexer(Lexer):
57
57
  For Robot Framework test data.
58
58
 
59
59
  Supports both space and pipe separated plain text formats.
60
-
61
- .. versionadded:: 1.6
62
60
  """
63
61
  name = 'RobotFramework'
64
62
  url = 'http://robotframework.org'
65
63
  aliases = ['robotframework']
66
64
  filenames = ['*.robot', '*.resource']
67
65
  mimetypes = ['text/x-robotframework']
66
+ version_added = '1.6'
68
67
 
69
68
  def __init__(self, **options):
70
69
  options['tabsize'] = 2
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for Ruby 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
 
@@ -36,6 +36,7 @@ class RubyLexer(ExtendedRegexLexer):
36
36
  filenames = ['*.rb', '*.rbw', 'Rakefile', '*.rake', '*.gemspec',
37
37
  '*.rbx', '*.duby', 'Gemfile', 'Vagrantfile']
38
38
  mimetypes = ['text/x-ruby', 'application/x-ruby']
39
+ version_added = ''
39
40
 
40
41
  flags = re.DOTALL | re.MULTILINE
41
42
 
@@ -124,7 +125,7 @@ class RubyLexer(ExtendedRegexLexer):
124
125
  ('backtick', String.Backtick, '`'):
125
126
  states['simple-'+name] = [
126
127
  include('string-intp-escaped'),
127
- (r'[^\\%s#]+' % end, ttype),
128
+ (rf'[^\\{end}#]+', ttype),
128
129
  (r'[\\#]', ttype),
129
130
  (end, ttype, '#pop'),
130
131
  ]
@@ -394,19 +395,14 @@ class RubyLexer(ExtendedRegexLexer):
394
395
 
395
396
  class RubyConsoleLexer(Lexer):
396
397
  """
397
- For Ruby interactive console (**irb**) output like:
398
-
399
- .. sourcecode:: rbcon
400
-
401
- irb(main):001:0> a = 1
402
- => 1
403
- irb(main):002:0> puts a
404
- 1
405
- => nil
398
+ For Ruby interactive console (**irb**) output.
406
399
  """
407
400
  name = 'Ruby irb session'
408
401
  aliases = ['rbcon', 'irb']
409
402
  mimetypes = ['text/x-ruby-shellsession']
403
+ url = 'https://www.ruby-lang.org'
404
+ version_added = ''
405
+ _example = 'rbcon/console'
410
406
 
411
407
  _prompt_re = re.compile(r'irb\([a-zA-Z_]\w*\):\d{3}:\d+[>*"\'] '
412
408
  r'|>> |\?> ')
@@ -443,14 +439,13 @@ class FancyLexer(RegexLexer):
443
439
  Fancy is a self-hosted, pure object-oriented, dynamic,
444
440
  class-based, concurrent general-purpose programming language
445
441
  running on Rubinius, the Ruby VM.
446
-
447
- .. versionadded:: 1.5
448
442
  """
449
443
  name = 'Fancy'
450
444
  url = 'https://github.com/bakkdoor/fancy'
451
445
  filenames = ['*.fy', '*.fancypack']
452
446
  aliases = ['fancy', 'fy']
453
447
  mimetypes = ['text/x-fancysrc']
448
+ version_added = '1.5'
454
449
 
455
450
  tokens = {
456
451
  # copied from PerlLexer:
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the Rust language.
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -18,14 +18,13 @@ __all__ = ['RustLexer']
18
18
  class RustLexer(RegexLexer):
19
19
  """
20
20
  Lexer for the Rust programming language (version 1.47).
21
-
22
- .. versionadded:: 1.6
23
21
  """
24
22
  name = 'Rust'
25
23
  url = 'https://www.rust-lang.org/'
26
24
  filenames = ['*.rs', '*.rs.in']
27
25
  aliases = ['rust', 'rs']
28
26
  mimetypes = ['text/rust', 'text/x-rust']
27
+ version_added = '1.6'
29
28
 
30
29
  keyword_types = (words((
31
30
  'u8', 'u16', 'u32', 'u64', 'u128', 'i8', 'i16', 'i32', 'i64', 'i128',
@@ -99,16 +98,16 @@ class RustLexer(RegexLexer):
99
98
  (r'let\b', Keyword.Declaration),
100
99
  (r'fn\b', Keyword, 'funcname'),
101
100
  (r'(struct|enum|type|union)\b', Keyword, 'typename'),
102
- (r'(default)(\s+)(type|fn)\b', bygroups(Keyword, Text, Keyword)),
101
+ (r'(default)(\s+)(type|fn)\b', bygroups(Keyword, Whitespace, Keyword)),
103
102
  keyword_types,
104
103
  (r'[sS]elf\b', Name.Builtin.Pseudo),
105
104
  # Prelude (taken from Rust's src/libstd/prelude.rs)
106
105
  builtin_funcs_types,
107
106
  builtin_macros,
108
107
  # Path separators, so types don't catch them.
109
- (r'::\b', Text),
108
+ (r'::\b', Punctuation),
110
109
  # Types in positions.
111
- (r'(?::|->)', Text, 'typename'),
110
+ (r'(?::|->)', Punctuation, 'typename'),
112
111
  # Labels
113
112
  (r'(break|continue)(\b\s*)(\'[A-Za-z_]\w*)?',
114
113
  bygroups(Keyword, Text.Whitespace, Name.Label)),
@@ -157,7 +156,7 @@ class RustLexer(RegexLexer):
157
156
  # Misc
158
157
  # Lone hashes: not used in Rust syntax, but allowed in macro
159
158
  # arguments, most famously for quote::quote!()
160
- (r'#', Text),
159
+ (r'#', Punctuation),
161
160
  ],
162
161
  'comment': [
163
162
  (r'[^*/]+', Comment.Multiline),
@@ -172,17 +171,17 @@ class RustLexer(RegexLexer):
172
171
  (r'[*/]', String.Doc),
173
172
  ],
174
173
  'modname': [
175
- (r'\s+', Text),
174
+ (r'\s+', Whitespace),
176
175
  (r'[a-zA-Z_]\w*', Name.Namespace, '#pop'),
177
176
  default('#pop'),
178
177
  ],
179
178
  'funcname': [
180
- (r'\s+', Text),
179
+ (r'\s+', Whitespace),
181
180
  (r'[a-zA-Z_]\w*', Name.Function, '#pop'),
182
181
  default('#pop'),
183
182
  ],
184
183
  'typename': [
185
- (r'\s+', Text),
184
+ (r'\s+', Whitespace),
186
185
  (r'&', Keyword.Pseudo),
187
186
  (r"'", Operator, 'lifetime'),
188
187
  builtin_funcs_types,
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for SAS.
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
 
@@ -19,8 +19,6 @@ __all__ = ['SASLexer']
19
19
  class SASLexer(RegexLexer):
20
20
  """
21
21
  For SAS files.
22
-
23
- .. versionadded:: 2.2
24
22
  """
25
23
  # Syntax from syntax/sas.vim by James Kidd <james.kidd@covance.com>
26
24
 
@@ -28,6 +26,8 @@ class SASLexer(RegexLexer):
28
26
  aliases = ['sas']
29
27
  filenames = ['*.SAS', '*.sas']
30
28
  mimetypes = ['text/x-sas', 'text/sas', 'application/x-sas']
29
+ url = 'https://en.wikipedia.org/wiki/SAS_(software)'
30
+ version_added = '2.2'
31
31
  flags = re.IGNORECASE | re.MULTILINE
32
32
 
33
33
  builtins_macros = (