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
  Lexer for the raw E-mail.
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
 
@@ -119,14 +119,14 @@ class EmailLexer(DelegatingLexer):
119
119
  `highlight-X-header`
120
120
  Highlight the fields of ``X-`` user-defined email header. (default:
121
121
  ``False``).
122
-
123
- .. versionadded:: 2.5
124
122
  """
125
123
 
126
124
  name = "E-mail"
127
125
  aliases = ["email", "eml"]
128
126
  filenames = ["*.eml"]
129
127
  mimetypes = ["message/rfc822"]
128
+ url = "https://en.wikipedia.org/wiki/Email#Message_format"
129
+ version_added = '2.5'
130
130
 
131
131
  def __init__(self, **options):
132
132
  super().__init__(EmailHeaderLexer, MIMELexer, Comment, **options)
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for Erlang.
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,8 +22,6 @@ __all__ = ['ErlangLexer', 'ErlangShellLexer', 'ElixirConsoleLexer',
22
22
  class ErlangLexer(RegexLexer):
23
23
  """
24
24
  For the Erlang functional programming language.
25
-
26
- .. versionadded:: 0.9
27
25
  """
28
26
 
29
27
  name = 'Erlang'
@@ -31,6 +29,7 @@ class ErlangLexer(RegexLexer):
31
29
  aliases = ['erlang']
32
30
  filenames = ['*.erl', '*.hrl', '*.es', '*.escript']
33
31
  mimetypes = ['text/x-erlang']
32
+ version_added = '0.9'
34
33
 
35
34
  keywords = (
36
35
  'after', 'begin', 'case', 'catch', 'cond', 'end', 'fun', 'if',
@@ -150,13 +149,13 @@ class ErlangLexer(RegexLexer):
150
149
  class ErlangShellLexer(Lexer):
151
150
  """
152
151
  Shell sessions in erl (for Erlang code).
153
-
154
- .. versionadded:: 1.1
155
152
  """
156
153
  name = 'Erlang erl session'
157
154
  aliases = ['erl']
158
155
  filenames = ['*.erl-sh']
159
156
  mimetypes = ['text/x-erl-shellsession']
157
+ url = 'https://www.erlang.org/'
158
+ version_added = '1.1'
160
159
 
161
160
  _prompt_re = re.compile(r'(?:\([\w@_.]+\))?\d+>(?=\s|\Z)')
162
161
 
@@ -191,10 +190,10 @@ class ErlangShellLexer(Lexer):
191
190
  def gen_elixir_string_rules(name, symbol, token):
192
191
  states = {}
193
192
  states['string_' + name] = [
194
- (r'[^#%s\\]+' % (symbol,), token),
193
+ (rf'[^#{symbol}\\]+', token),
195
194
  include('escapes'),
196
195
  (r'\\.', token),
197
- (r'(%s)' % (symbol,), bygroups(token), "#pop"),
196
+ (rf'({symbol})', bygroups(token), "#pop"),
198
197
  include('interpol')
199
198
  ]
200
199
  return states
@@ -203,32 +202,31 @@ def gen_elixir_string_rules(name, symbol, token):
203
202
  def gen_elixir_sigstr_rules(term, term_class, token, interpol=True):
204
203
  if interpol:
205
204
  return [
206
- (r'[^#%s\\]+' % (term_class,), token),
205
+ (rf'[^#{term_class}\\]+', token),
207
206
  include('escapes'),
208
207
  (r'\\.', token),
209
- (r'%s[a-zA-Z]*' % (term,), token, '#pop'),
208
+ (rf'{term}[a-zA-Z]*', token, '#pop'),
210
209
  include('interpol')
211
210
  ]
212
211
  else:
213
212
  return [
214
- (r'[^%s\\]+' % (term_class,), token),
213
+ (rf'[^{term_class}\\]+', token),
215
214
  (r'\\.', token),
216
- (r'%s[a-zA-Z]*' % (term,), token, '#pop'),
215
+ (rf'{term}[a-zA-Z]*', token, '#pop'),
217
216
  ]
218
217
 
219
218
 
220
219
  class ElixirLexer(RegexLexer):
221
220
  """
222
221
  For the Elixir language.
223
-
224
- .. versionadded:: 1.5
225
222
  """
226
223
 
227
224
  name = 'Elixir'
228
- url = 'http://elixir-lang.org'
225
+ url = 'https://elixir-lang.org'
229
226
  aliases = ['elixir', 'ex', 'exs']
230
227
  filenames = ['*.ex', '*.eex', '*.exs', '*.leex']
231
228
  mimetypes = ['text/x-elixir']
229
+ version_added = '1.5'
232
230
 
233
231
  KEYWORD = ('fn', 'do', 'end', 'after', 'else', 'rescue', 'catch')
234
232
  KEYWORD_OPERATOR = ('not', 'and', 'or', 'when', 'in')
@@ -303,9 +301,9 @@ class ElixirLexer(RegexLexer):
303
301
 
304
302
  for term, name in triquotes:
305
303
  states['sigils'] += [
306
- (r'(~[a-z])(%s)' % (term,), bygroups(token, String.Heredoc),
304
+ (rf'(~[a-z])({term})', bygroups(token, String.Heredoc),
307
305
  (name + '-end', name + '-intp')),
308
- (r'(~[A-Z])(%s)' % (term,), bygroups(token, String.Heredoc),
306
+ (rf'(~[A-Z])({term})', bygroups(token, String.Heredoc),
309
307
  (name + '-end', name + '-no-intp')),
310
308
  ]
311
309
 
@@ -337,12 +335,12 @@ class ElixirLexer(RegexLexer):
337
335
  op3_re = "|".join(re.escape(s) for s in OPERATORS3)
338
336
  op2_re = "|".join(re.escape(s) for s in OPERATORS2)
339
337
  op1_re = "|".join(re.escape(s) for s in OPERATORS1)
340
- ops_re = r'(?:%s|%s|%s)' % (op3_re, op2_re, op1_re)
338
+ ops_re = rf'(?:{op3_re}|{op2_re}|{op1_re})'
341
339
  punctuation_re = "|".join(re.escape(s) for s in PUNCTUATION)
342
340
  alnum = r'\w'
343
- name_re = r'(?:\.\.\.|[a-z_]%s*[!?]?)' % alnum
344
- modname_re = r'[A-Z]%(alnum)s*(?:\.[A-Z]%(alnum)s*)*' % {'alnum': alnum}
345
- complex_name_re = r'(?:%s|%s|%s)' % (name_re, modname_re, ops_re)
341
+ name_re = rf'(?:\.\.\.|[a-z_]{alnum}*[!?]?)'
342
+ modname_re = rf'[A-Z]{alnum}*(?:\.[A-Z]{alnum}*)*'
343
+ complex_name_re = rf'(?:{name_re}|{modname_re}|{ops_re})'
346
344
  special_atom_re = r'(?:\.\.\.|<<>>|%\{\}|%|\{\})'
347
345
 
348
346
  long_hex_char_re = r'(\\x\{)([\da-fA-F]+)(\})'
@@ -375,7 +373,7 @@ class ElixirLexer(RegexLexer):
375
373
  (r":'", String.Symbol, 'string_single_atom'),
376
374
 
377
375
  # [keywords: ...]
378
- (r'(%s|%s)(:)(?=\s|\n)' % (special_atom_re, complex_name_re),
376
+ (rf'({special_atom_re}|{complex_name_re})(:)(?=\s|\n)',
379
377
  bygroups(String.Symbol, Punctuation)),
380
378
 
381
379
  # @attributes
@@ -383,7 +381,7 @@ class ElixirLexer(RegexLexer):
383
381
 
384
382
  # identifiers
385
383
  (name_re, Name),
386
- (r'(%%?)(%s)' % (modname_re,), bygroups(Punctuation, Name.Class)),
384
+ (rf'(%?)({modname_re})', bygroups(Punctuation, Name.Class)),
387
385
 
388
386
  # operators and punctuation
389
387
  (op3_re, Operator),
@@ -484,13 +482,13 @@ class ElixirConsoleLexer(Lexer):
484
482
  [1,2,3]
485
483
  iex> length [head | tail]
486
484
  3
487
-
488
- .. versionadded:: 1.5
489
485
  """
490
486
 
491
487
  name = 'Elixir iex session'
492
488
  aliases = ['iex']
493
489
  mimetypes = ['text/x-elixir-shellsession']
490
+ url = 'https://elixir-lang.org'
491
+ version_added = '1.5'
494
492
 
495
493
  _prompt_re = re.compile(r'(iex|\.{3})((?:\([\w@_.]+\))?\d+|\(\d+\))?> ')
496
494
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for esoteric 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
 
@@ -26,6 +26,7 @@ class BrainfuckLexer(RegexLexer):
26
26
  aliases = ['brainfuck', 'bf']
27
27
  filenames = ['*.bf', '*.b']
28
28
  mimetypes = ['application/x-brainfuck']
29
+ version_added = ''
29
30
 
30
31
  tokens = {
31
32
  'common': [
@@ -76,14 +77,13 @@ class BrainfuckLexer(RegexLexer):
76
77
  class BefungeLexer(RegexLexer):
77
78
  """
78
79
  Lexer for the esoteric Befunge language.
79
-
80
- .. versionadded:: 0.7
81
80
  """
82
81
  name = 'Befunge'
83
82
  url = 'http://en.wikipedia.org/wiki/Befunge'
84
83
  aliases = ['befunge']
85
84
  filenames = ['*.befunge']
86
85
  mimetypes = ['application/x-befunge']
86
+ version_added = '0.7'
87
87
 
88
88
  tokens = {
89
89
  'root': [
@@ -106,18 +106,17 @@ class BefungeLexer(RegexLexer):
106
106
  class CAmkESLexer(RegexLexer):
107
107
  """
108
108
  Basic lexer for the input language for the CAmkES component platform.
109
-
110
- .. versionadded:: 2.1
111
109
  """
112
110
  name = 'CAmkES'
113
111
  url = 'https://sel4.systems/CAmkES/'
114
112
  aliases = ['camkes', 'idl4']
115
113
  filenames = ['*.camkes', '*.idl4']
114
+ version_added = '2.1'
116
115
 
117
116
  tokens = {
118
117
  'root': [
119
118
  # C pre-processor directive
120
- (r'^(\s*)(#.*)(\n)', bygroups(Whitespace, Comment.Preproc,
119
+ (r'^(\s*)(#.*)(\n)', bygroups(Whitespace, Comment.Preproc,
121
120
  Whitespace)),
122
121
 
123
122
  # Whitespace, comments
@@ -181,13 +180,12 @@ class CapDLLexer(RegexLexer):
181
180
  shadow type names, but these instances are currently incorrectly
182
181
  highlighted as types. Supporting this would need a stateful lexer that is
183
182
  considered unnecessarily complex for now.
184
-
185
- .. versionadded:: 2.2
186
183
  """
187
184
  name = 'CapDL'
188
185
  url = 'https://ssrg.nicta.com.au/publications/nictaabstracts/Kuz_KLW_10.abstract.pml'
189
186
  aliases = ['capdl']
190
187
  filenames = ['*.cdl']
188
+ version_added = '2.2'
191
189
 
192
190
  tokens = {
193
191
  'root': [
@@ -235,12 +233,12 @@ class RedcodeLexer(RegexLexer):
235
233
  """
236
234
  A simple Redcode lexer based on ICWS'94.
237
235
  Contributed by Adam Blinkinsop <blinks@acm.org>.
238
-
239
- .. versionadded:: 0.8
240
236
  """
241
237
  name = 'Redcode'
242
238
  aliases = ['redcode']
243
239
  filenames = ['*.cw']
240
+ url = 'https://en.wikipedia.org/wiki/Core_War'
241
+ version_added = '0.8'
244
242
 
245
243
  opcodes = ('DAT', 'MOV', 'ADD', 'SUB', 'MUL', 'DIV', 'MOD',
246
244
  'JMP', 'JMZ', 'JMN', 'DJN', 'CMP', 'SLT', 'SPL',
@@ -254,8 +252,8 @@ class RedcodeLexer(RegexLexer):
254
252
  (r';.*$', Comment.Single),
255
253
  # Lexemes:
256
254
  # Identifiers
257
- (r'\b(%s)\b' % '|'.join(opcodes), Name.Function),
258
- (r'\b(%s)\b' % '|'.join(modifiers), Name.Decorator),
255
+ (r'\b({})\b'.format('|'.join(opcodes)), Name.Function),
256
+ (r'\b({})\b'.format('|'.join(modifiers)), Name.Decorator),
259
257
  (r'[A-Za-z_]\w+', Name),
260
258
  # Operators
261
259
  (r'[-+*/%]', Operator),
@@ -276,6 +274,7 @@ class AheuiLexer(RegexLexer):
276
274
  url = 'http://aheui.github.io/'
277
275
  aliases = ['aheui']
278
276
  filenames = ['*.aheui']
277
+ version_added = ''
279
278
 
280
279
  tokens = {
281
280
  'root': [
@@ -4,7 +4,7 @@
4
4
 
5
5
  Pygments lexers for Ezhil 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
 
@@ -20,14 +20,13 @@ __all__ = ['EzhilLexer']
20
20
  class EzhilLexer(RegexLexer):
21
21
  """
22
22
  Lexer for Ezhil, a Tamil script-based programming language.
23
-
24
- .. versionadded:: 2.1
25
23
  """
26
24
  name = 'Ezhil'
27
25
  url = 'http://ezhillang.org'
28
26
  aliases = ['ezhil']
29
27
  filenames = ['*.n']
30
28
  mimetypes = ['text/x-ezhil']
29
+ version_added = '2.1'
31
30
  # Refer to tamil.utf8.tamil_letters from open-tamil for a stricter version of this.
32
31
  # This much simpler version is close enough, and includes combining marks.
33
32
  _TALETTERS = '[a-zA-Z_]|[\u0b80-\u0bff]'
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the Factor 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__ = ['FactorLexer']
18
18
  class FactorLexer(RegexLexer):
19
19
  """
20
20
  Lexer for the Factor language.
21
-
22
- .. versionadded:: 1.4
23
21
  """
24
22
  name = 'Factor'
25
23
  url = 'http://factorcode.org'
26
24
  aliases = ['factor']
27
25
  filenames = ['*.factor']
28
26
  mimetypes = ['text/x-factor']
27
+ version_added = '1.4'
29
28
 
30
29
  builtin_kernel = words((
31
30
  '-rot', '2bi', '2bi@', '2bi*', '2curry', '2dip', '2drop', '2dup', '2keep', '2nip',
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for the Fantom 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
 
@@ -21,13 +21,13 @@ __all__ = ['FantomLexer']
21
21
  class FantomLexer(RegexLexer):
22
22
  """
23
23
  For Fantom source code.
24
-
25
- .. versionadded:: 1.5
26
24
  """
27
25
  name = 'Fantom'
28
26
  aliases = ['fan']
29
27
  filenames = ['*.fan']
30
28
  mimetypes = ['application/x-fantom']
29
+ url = 'https://www.fantom.org'
30
+ version_added = '1.5'
31
31
 
32
32
  # often used regexes
33
33
  def s(str):
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for the Felix 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
 
@@ -19,8 +19,6 @@ __all__ = ['FelixLexer']
19
19
  class FelixLexer(RegexLexer):
20
20
  """
21
21
  For Felix source code.
22
-
23
- .. versionadded:: 1.2
24
22
  """
25
23
 
26
24
  name = 'Felix'
@@ -28,6 +26,7 @@ class FelixLexer(RegexLexer):
28
26
  aliases = ['felix', 'flx']
29
27
  filenames = ['*.flx', '*.flxh']
30
28
  mimetypes = ['text/x-felix']
29
+ version_added = '1.2'
31
30
 
32
31
  preproc = (
33
32
  'elif', 'else', 'endif', 'if', 'ifdef', 'ifndef',
@@ -128,13 +127,13 @@ class FelixLexer(RegexLexer):
128
127
 
129
128
  # IntegerLiteral
130
129
  # -- Binary
131
- (r'0[Bb][01_]+%s' % decimal_suffixes, Number.Bin),
130
+ (rf'0[Bb][01_]+{decimal_suffixes}', Number.Bin),
132
131
  # -- Octal
133
- (r'0[0-7_]+%s' % decimal_suffixes, Number.Oct),
132
+ (rf'0[0-7_]+{decimal_suffixes}', Number.Oct),
134
133
  # -- Hexadecimal
135
- (r'0[xX][0-9a-fA-F_]+%s' % decimal_suffixes, Number.Hex),
134
+ (rf'0[xX][0-9a-fA-F_]+{decimal_suffixes}', Number.Hex),
136
135
  # -- Decimal
137
- (r'(0|[1-9][0-9_]*)%s' % decimal_suffixes, Number.Integer),
136
+ (rf'(0|[1-9][0-9_]*){decimal_suffixes}', Number.Integer),
138
137
 
139
138
  # Strings
140
139
  ('([rR][cC]?|[cC][rR])"""', String, 'tdqs'),
@@ -153,8 +152,8 @@ class FelixLexer(RegexLexer):
153
152
  (r'[a-zA-Z_]\w*:>', Name.Label),
154
153
 
155
154
  # Identifiers
156
- (r'(%s)\b' % '|'.join(name_builtins), Name.Builtin),
157
- (r'(%s)\b' % '|'.join(name_pseudo), Name.Builtin.Pseudo),
155
+ (r'({})\b'.format('|'.join(name_builtins)), Name.Builtin),
156
+ (r'({})\b'.format('|'.join(name_pseudo)), Name.Builtin.Pseudo),
158
157
  (r'[a-zA-Z_]\w*', Name),
159
158
  ],
160
159
  'whitespace': [
@@ -169,7 +168,7 @@ class FelixLexer(RegexLexer):
169
168
  (r'#', Comment.Preproc, 'macro'),
170
169
  ],
171
170
  'operators': [
172
- (r'(%s)\b' % '|'.join(operator_words), Operator.Word),
171
+ (r'({})\b'.format('|'.join(operator_words)), Operator.Word),
173
172
  (r'!=|==|<<|>>|\|\||&&|[-~+/*%=<>&^|.$]', Operator),
174
173
  ],
175
174
  'comment': [
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for fift.
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
 
@@ -23,6 +23,7 @@ class FiftLexer(RegexLexer):
23
23
  aliases = ['fift', 'fif']
24
24
  filenames = ['*.fif']
25
25
  url = 'https://ton-blockchain.github.io/docs/fiftbase.pdf'
26
+ version_added = ''
26
27
 
27
28
  tokens = {
28
29
  'root': [
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for FloScript
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__ = ['FloScriptLexer']
18
18
  class FloScriptLexer(RegexLexer):
19
19
  """
20
20
  For FloScript configuration language source code.
21
-
22
- .. versionadded:: 2.4
23
21
  """
24
22
 
25
23
  name = 'FloScript'
26
24
  url = 'https://github.com/ioflo/ioflo'
27
25
  aliases = ['floscript', 'flo']
28
26
  filenames = ['*.flo']
27
+ version_added = '2.4'
29
28
 
30
29
  def innerstring_rules(ttype):
31
30
  return [
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for the Forth 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
 
@@ -21,14 +21,13 @@ __all__ = ['ForthLexer']
21
21
  class ForthLexer(RegexLexer):
22
22
  """
23
23
  Lexer for Forth files.
24
-
25
- .. versionadded:: 2.2
26
24
  """
27
25
  name = 'Forth'
28
26
  url = 'https://www.forth.com/forth/'
29
27
  aliases = ['forth']
30
28
  filenames = ['*.frt', '*.fs']
31
29
  mimetypes = ['application/x-forth']
30
+ version_added = '2.2'
32
31
 
33
32
  flags = re.IGNORECASE | re.MULTILINE
34
33
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for Fortran 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
 
@@ -20,14 +20,13 @@ __all__ = ['FortranLexer', 'FortranFixedLexer']
20
20
  class FortranLexer(RegexLexer):
21
21
  """
22
22
  Lexer for FORTRAN 90 code.
23
-
24
- .. versionadded:: 0.10
25
23
  """
26
24
  name = 'Fortran'
27
25
  url = 'https://fortran-lang.org/'
28
26
  aliases = ['fortran', 'f90']
29
27
  filenames = ['*.f03', '*.f90', '*.F03', '*.F90']
30
28
  mimetypes = ['text/x-fortran']
29
+ version_added = '0.10'
31
30
  flags = re.IGNORECASE | re.MULTILINE
32
31
 
33
32
  # Data Types: INTEGER, REAL, COMPLEX, LOGICAL, CHARACTER and DOUBLE PRECISION
@@ -59,8 +58,8 @@ class FortranLexer(RegexLexer):
59
58
  'BLOCK', 'BLOCKDATA', 'BYTE', 'CALL', 'CASE', 'CLASS', 'CLOSE',
60
59
  'CODIMENSION', 'COMMON', 'CONTIGUOUS', 'CONTAINS',
61
60
  'CONTINUE', 'CRITICAL', 'CYCLE', 'DATA', 'DEALLOCATE', 'DECODE',
62
- 'DEFERRED', 'DIMENSION', 'DO', 'ELEMENTAL', 'ELSE', 'ENCODE', 'END',
63
- 'ENDASSOCIATE', 'ENDBLOCK', 'ENDDO', 'ENDENUM', 'ENDFORALL',
61
+ 'DEFERRED', 'DIMENSION', 'DO', 'ELEMENTAL', 'ELSE', 'ELSEIF', 'ENCODE',
62
+ 'END', 'ENDASSOCIATE', 'ENDBLOCK', 'ENDDO', 'ENDENUM', 'ENDFORALL',
64
63
  'ENDFUNCTION', 'ENDIF', 'ENDINTERFACE', 'ENDMODULE', 'ENDPROGRAM',
65
64
  'ENDSELECT', 'ENDSUBMODULE', 'ENDSUBROUTINE', 'ENDTYPE', 'ENDWHERE',
66
65
  'ENTRY', 'ENUM', 'ENUMERATOR', 'EQUIVALENCE', 'ERROR STOP', 'EXIT',
@@ -173,12 +172,12 @@ class FortranLexer(RegexLexer):
173
172
  class FortranFixedLexer(RegexLexer):
174
173
  """
175
174
  Lexer for fixed format Fortran.
176
-
177
- .. versionadded:: 2.1
178
175
  """
179
176
  name = 'FortranFixed'
180
177
  aliases = ['fortranfixed']
181
178
  filenames = ['*.f', '*.F']
179
+ url = 'https://fortran-lang.org/'
180
+ version_added = '2.1'
182
181
 
183
182
  flags = re.IGNORECASE
184
183
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Simple lexer for Microsoft Visual FoxPro source code.
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,14 +22,14 @@ class FoxProLexer(RegexLexer):
22
22
 
23
23
  FoxPro syntax allows to shorten all keywords and function names
24
24
  to 4 characters. Shortened forms are not recognized by this lexer.
25
-
26
- .. versionadded:: 1.6
27
25
  """
28
26
 
29
27
  name = 'FoxPro'
30
28
  aliases = ['foxpro', 'vfp', 'clipper', 'xbase']
31
29
  filenames = ['*.PRG', '*.prg']
30
+ version_added = '1.6'
32
31
  mimetype = []
32
+ url = 'https://learn.microsoft.com/en-us/previous-versions/visualstudio/foxpro'
33
33
 
34
34
  flags = re.IGNORECASE | re.MULTILINE
35
35
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for FreeFem++ 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
 
@@ -21,8 +21,6 @@ class FreeFemLexer(CppLexer):
21
21
 
22
22
  This is an extension of the CppLexer, as the FreeFem Language is a superset
23
23
  of C++.
24
-
25
- .. versionadded:: 2.4
26
24
  """
27
25
 
28
26
  name = 'Freefem'
@@ -30,6 +28,7 @@ class FreeFemLexer(CppLexer):
30
28
  aliases = ['freefem']
31
29
  filenames = ['*.edp']
32
30
  mimetypes = ['text/x-freefem']
31
+ version_added = '2.4'
33
32
 
34
33
  # Language operators
35
34
  operators = {'+', '-', '*', '.*', '/', './', '%', '^', '^-1', ':', '\''}
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for FunC.
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
 
@@ -23,6 +23,8 @@ class FuncLexer(RegexLexer):
23
23
  name = 'FunC'
24
24
  aliases = ['func', 'fc']
25
25
  filenames = ['*.fc', '*.func']
26
+ url = 'https://docs.ton.org/develop/func/overview'
27
+ version_added = ''
26
28
 
27
29
  # 1. Does not start from "
28
30
  # 2. Can start from ` and end with `, containing any character
@@ -4,10 +4,11 @@
4
4
 
5
5
  Just export lexer classes previously contained in this module.
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
+ # ruff: noqa: F401
11
12
  from pygments.lexers.lisp import SchemeLexer, CommonLispLexer, RacketLexer, \
12
13
  NewLispLexer, ShenLexer
13
14
  from pygments.lexers.haskell import HaskellLexer, LiterateHaskellLexer, \