pygments.rb 2.4.0 → 3.0.0

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