pygments.rb 2.4.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +8 -8
  3. data/.github/workflows/release.yml +5 -5
  4. data/.gitignore +2 -0
  5. data/.rubocop.yml +1 -1
  6. data/CHANGELOG.adoc +9 -1
  7. data/README.adoc +2 -2
  8. data/lib/pygments/version.rb +1 -1
  9. data/pygments.rb.gemspec +2 -2
  10. data/vendor/pygments-main/bin/pygmentize +1 -1
  11. data/vendor/pygments-main/pygments/__init__.py +2 -2
  12. data/vendor/pygments-main/pygments/__main__.py +1 -1
  13. data/vendor/pygments-main/pygments/cmdline.py +12 -12
  14. data/vendor/pygments-main/pygments/console.py +5 -5
  15. data/vendor/pygments-main/pygments/filter.py +2 -3
  16. data/vendor/pygments-main/pygments/filters/__init__.py +4 -4
  17. data/vendor/pygments-main/pygments/formatter.py +6 -1
  18. data/vendor/pygments-main/pygments/formatters/__init__.py +7 -8
  19. data/vendor/pygments-main/pygments/formatters/_mapping.py +0 -0
  20. data/vendor/pygments-main/pygments/formatters/bbcode.py +2 -2
  21. data/vendor/pygments-main/pygments/formatters/groff.py +3 -3
  22. data/vendor/pygments-main/pygments/formatters/html.py +38 -40
  23. data/vendor/pygments-main/pygments/formatters/img.py +51 -11
  24. data/vendor/pygments-main/pygments/formatters/irc.py +1 -1
  25. data/vendor/pygments-main/pygments/formatters/latex.py +24 -27
  26. data/vendor/pygments-main/pygments/formatters/other.py +3 -4
  27. data/vendor/pygments-main/pygments/formatters/pangomarkup.py +2 -2
  28. data/vendor/pygments-main/pygments/formatters/rtf.py +228 -25
  29. data/vendor/pygments-main/pygments/formatters/svg.py +17 -20
  30. data/vendor/pygments-main/pygments/formatters/terminal.py +1 -1
  31. data/vendor/pygments-main/pygments/formatters/terminal256.py +1 -1
  32. data/vendor/pygments-main/pygments/lexer.py +51 -33
  33. data/vendor/pygments-main/pygments/lexers/__init__.py +12 -12
  34. data/vendor/pygments-main/pygments/lexers/_ada_builtins.py +1 -1
  35. data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +1 -1
  36. data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +1 -1
  37. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +2 -2
  38. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1 -1
  39. data/vendor/pygments-main/pygments/lexers/_css_builtins.py +1 -1
  40. data/vendor/pygments-main/pygments/lexers/_julia_builtins.py +1 -1
  41. data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +1 -1
  42. data/vendor/pygments-main/pygments/lexers/_lilypond_builtins.py +1 -1
  43. data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +5 -5
  44. data/vendor/pygments-main/pygments/lexers/_luau_builtins.py +62 -0
  45. data/vendor/pygments-main/pygments/lexers/_mapping.py +41 -11
  46. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1 -1
  47. data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +3 -3
  48. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +1 -1
  49. data/vendor/pygments-main/pygments/lexers/_php_builtins.py +3 -3
  50. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +5 -5
  51. data/vendor/pygments-main/pygments/lexers/_qlik_builtins.py +1 -1
  52. data/vendor/pygments-main/pygments/lexers/_scheme_builtins.py +1 -1
  53. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +4 -4
  54. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +3 -3
  55. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +1 -1
  56. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +1 -1
  57. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -1
  58. data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +1 -1
  59. data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +1 -1
  60. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -1
  61. data/vendor/pygments-main/pygments/lexers/actionscript.py +6 -8
  62. data/vendor/pygments-main/pygments/lexers/ada.py +3 -3
  63. data/vendor/pygments-main/pygments/lexers/agile.py +3 -1
  64. data/vendor/pygments-main/pygments/lexers/algebra.py +9 -13
  65. data/vendor/pygments-main/pygments/lexers/ambient.py +2 -3
  66. data/vendor/pygments-main/pygments/lexers/amdgpu.py +3 -3
  67. data/vendor/pygments-main/pygments/lexers/ampl.py +2 -3
  68. data/vendor/pygments-main/pygments/lexers/apdlexer.py +4 -3
  69. data/vendor/pygments-main/pygments/lexers/apl.py +2 -3
  70. data/vendor/pygments-main/pygments/lexers/archetype.py +8 -12
  71. data/vendor/pygments-main/pygments/lexers/arrow.py +2 -3
  72. data/vendor/pygments-main/pygments/lexers/arturo.py +2 -3
  73. data/vendor/pygments-main/pygments/lexers/asc.py +4 -4
  74. data/vendor/pygments-main/pygments/lexers/asm.py +28 -15
  75. data/vendor/pygments-main/pygments/lexers/asn1.py +178 -0
  76. data/vendor/pygments-main/pygments/lexers/automation.py +6 -8
  77. data/vendor/pygments-main/pygments/lexers/bare.py +2 -3
  78. data/vendor/pygments-main/pygments/lexers/basic.py +48 -57
  79. data/vendor/pygments-main/pygments/lexers/bdd.py +3 -4
  80. data/vendor/pygments-main/pygments/lexers/berry.py +4 -4
  81. data/vendor/pygments-main/pygments/lexers/bibtex.py +5 -5
  82. data/vendor/pygments-main/pygments/lexers/blueprint.py +173 -0
  83. data/vendor/pygments-main/pygments/lexers/boa.py +4 -4
  84. data/vendor/pygments-main/pygments/lexers/bqn.py +109 -0
  85. data/vendor/pygments-main/pygments/lexers/business.py +21 -22
  86. data/vendor/pygments-main/pygments/lexers/c_cpp.py +9 -4
  87. data/vendor/pygments-main/pygments/lexers/c_like.py +99 -27
  88. data/vendor/pygments-main/pygments/lexers/capnproto.py +2 -3
  89. data/vendor/pygments-main/pygments/lexers/carbon.py +10 -11
  90. data/vendor/pygments-main/pygments/lexers/cddl.py +8 -9
  91. data/vendor/pygments-main/pygments/lexers/chapel.py +2 -3
  92. data/vendor/pygments-main/pygments/lexers/clean.py +2 -1
  93. data/vendor/pygments-main/pygments/lexers/comal.py +2 -1
  94. data/vendor/pygments-main/pygments/lexers/compiled.py +2 -1
  95. data/vendor/pygments-main/pygments/lexers/configs.py +342 -108
  96. data/vendor/pygments-main/pygments/lexers/console.py +5 -5
  97. data/vendor/pygments-main/pygments/lexers/cplint.py +2 -3
  98. data/vendor/pygments-main/pygments/lexers/crystal.py +4 -5
  99. data/vendor/pygments-main/pygments/lexers/csound.py +6 -8
  100. data/vendor/pygments-main/pygments/lexers/css.py +5 -5
  101. data/vendor/pygments-main/pygments/lexers/d.py +4 -3
  102. data/vendor/pygments-main/pygments/lexers/dalvik.py +2 -3
  103. data/vendor/pygments-main/pygments/lexers/data.py +8 -12
  104. data/vendor/pygments-main/pygments/lexers/dax.py +2 -3
  105. data/vendor/pygments-main/pygments/lexers/devicetree.py +2 -3
  106. data/vendor/pygments-main/pygments/lexers/diff.py +7 -6
  107. data/vendor/pygments-main/pygments/lexers/dns.py +109 -0
  108. data/vendor/pygments-main/pygments/lexers/dotnet.py +19 -14
  109. data/vendor/pygments-main/pygments/lexers/dsls.py +24 -35
  110. data/vendor/pygments-main/pygments/lexers/dylan.py +8 -16
  111. data/vendor/pygments-main/pygments/lexers/ecl.py +2 -3
  112. data/vendor/pygments-main/pygments/lexers/eiffel.py +3 -4
  113. data/vendor/pygments-main/pygments/lexers/elm.py +3 -4
  114. data/vendor/pygments-main/pygments/lexers/elpi.py +28 -21
  115. data/vendor/pygments-main/pygments/lexers/email.py +3 -3
  116. data/vendor/pygments-main/pygments/lexers/erlang.py +22 -24
  117. data/vendor/pygments-main/pygments/lexers/esoteric.py +11 -12
  118. data/vendor/pygments-main/pygments/lexers/ezhil.py +2 -3
  119. data/vendor/pygments-main/pygments/lexers/factor.py +2 -3
  120. data/vendor/pygments-main/pygments/lexers/fantom.py +3 -3
  121. data/vendor/pygments-main/pygments/lexers/felix.py +9 -10
  122. data/vendor/pygments-main/pygments/lexers/fift.py +2 -1
  123. data/vendor/pygments-main/pygments/lexers/floscript.py +2 -3
  124. data/vendor/pygments-main/pygments/lexers/forth.py +2 -3
  125. data/vendor/pygments-main/pygments/lexers/fortran.py +6 -7
  126. data/vendor/pygments-main/pygments/lexers/foxpro.py +3 -3
  127. data/vendor/pygments-main/pygments/lexers/freefem.py +2 -3
  128. data/vendor/pygments-main/pygments/lexers/func.py +3 -1
  129. data/vendor/pygments-main/pygments/lexers/functional.py +2 -1
  130. data/vendor/pygments-main/pygments/lexers/futhark.py +6 -7
  131. data/vendor/pygments-main/pygments/lexers/gcodelexer.py +3 -3
  132. data/vendor/pygments-main/pygments/lexers/gdscript.py +2 -1
  133. data/vendor/pygments-main/pygments/lexers/go.py +3 -4
  134. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +6 -9
  135. data/vendor/pygments-main/pygments/lexers/graph.py +12 -9
  136. data/vendor/pygments-main/pygments/lexers/graphics.py +13 -17
  137. data/vendor/pygments-main/pygments/lexers/graphql.py +176 -0
  138. data/vendor/pygments-main/pygments/lexers/graphviz.py +2 -3
  139. data/vendor/pygments-main/pygments/lexers/gsql.py +2 -3
  140. data/vendor/pygments-main/pygments/lexers/haskell.py +27 -32
  141. data/vendor/pygments-main/pygments/lexers/haxe.py +3 -5
  142. data/vendor/pygments-main/pygments/lexers/hdl.py +8 -7
  143. data/vendor/pygments-main/pygments/lexers/hexdump.py +3 -3
  144. data/vendor/pygments-main/pygments/lexers/html.py +34 -13
  145. data/vendor/pygments-main/pygments/lexers/idl.py +2 -3
  146. data/vendor/pygments-main/pygments/lexers/igor.py +305 -290
  147. data/vendor/pygments-main/pygments/lexers/inferno.py +2 -3
  148. data/vendor/pygments-main/pygments/lexers/installers.py +7 -9
  149. data/vendor/pygments-main/pygments/lexers/int_fiction.py +150 -162
  150. data/vendor/pygments-main/pygments/lexers/iolang.py +2 -3
  151. data/vendor/pygments-main/pygments/lexers/j.py +2 -3
  152. data/vendor/pygments-main/pygments/lexers/javascript.py +18 -19
  153. data/vendor/pygments-main/pygments/lexers/jmespath.py +2 -1
  154. data/vendor/pygments-main/pygments/lexers/jslt.py +2 -3
  155. data/vendor/pygments-main/pygments/lexers/jsonnet.py +4 -3
  156. data/vendor/pygments-main/pygments/lexers/jsx.py +75 -0
  157. data/vendor/pygments-main/pygments/lexers/julia.py +4 -5
  158. data/vendor/pygments-main/pygments/lexers/jvm.py +98 -116
  159. data/vendor/pygments-main/pygments/lexers/kuin.py +2 -3
  160. data/vendor/pygments-main/pygments/lexers/kusto.py +93 -0
  161. data/vendor/pygments-main/pygments/lexers/ldap.py +155 -0
  162. data/vendor/pygments-main/pygments/lexers/lean.py +241 -0
  163. data/vendor/pygments-main/pygments/lexers/lilypond.py +2 -3
  164. data/vendor/pygments-main/pygments/lexers/lisp.py +373 -65
  165. data/vendor/pygments-main/pygments/lexers/macaulay2.py +53 -4
  166. data/vendor/pygments-main/pygments/lexers/make.py +7 -5
  167. data/vendor/pygments-main/pygments/lexers/markup.py +242 -91
  168. data/vendor/pygments-main/pygments/lexers/math.py +2 -1
  169. data/vendor/pygments-main/pygments/lexers/matlab.py +10 -12
  170. data/vendor/pygments-main/pygments/lexers/maxima.py +2 -3
  171. data/vendor/pygments-main/pygments/lexers/meson.py +2 -3
  172. data/vendor/pygments-main/pygments/lexers/mime.py +4 -4
  173. data/vendor/pygments-main/pygments/lexers/minecraft.py +24 -27
  174. data/vendor/pygments-main/pygments/lexers/mips.py +3 -1
  175. data/vendor/pygments-main/pygments/lexers/ml.py +59 -61
  176. data/vendor/pygments-main/pygments/lexers/modeling.py +19 -22
  177. data/vendor/pygments-main/pygments/lexers/modula2.py +2 -3
  178. data/vendor/pygments-main/pygments/lexers/mojo.py +704 -0
  179. data/vendor/pygments-main/pygments/lexers/monte.py +2 -3
  180. data/vendor/pygments-main/pygments/lexers/mosel.py +3 -3
  181. data/vendor/pygments-main/pygments/lexers/ncl.py +4 -3
  182. data/vendor/pygments-main/pygments/lexers/nimrod.py +7 -8
  183. data/vendor/pygments-main/pygments/lexers/nit.py +2 -3
  184. data/vendor/pygments-main/pygments/lexers/nix.py +40 -31
  185. data/vendor/pygments-main/pygments/lexers/oberon.py +3 -3
  186. data/vendor/pygments-main/pygments/lexers/objective.py +14 -6
  187. data/vendor/pygments-main/pygments/lexers/ooc.py +2 -3
  188. data/vendor/pygments-main/pygments/lexers/openscad.py +96 -0
  189. data/vendor/pygments-main/pygments/lexers/other.py +2 -1
  190. data/vendor/pygments-main/pygments/lexers/parasail.py +2 -3
  191. data/vendor/pygments-main/pygments/lexers/parsers.py +41 -44
  192. data/vendor/pygments-main/pygments/lexers/pascal.py +6 -3
  193. data/vendor/pygments-main/pygments/lexers/pawn.py +5 -5
  194. data/vendor/pygments-main/pygments/lexers/perl.py +3 -3
  195. data/vendor/pygments-main/pygments/lexers/phix.py +2 -3
  196. data/vendor/pygments-main/pygments/lexers/php.py +4 -5
  197. data/vendor/pygments-main/pygments/lexers/pointless.py +2 -3
  198. data/vendor/pygments-main/pygments/lexers/pony.py +3 -3
  199. data/vendor/pygments-main/pygments/lexers/praat.py +2 -3
  200. data/vendor/pygments-main/pygments/lexers/procfile.py +2 -3
  201. data/vendor/pygments-main/pygments/lexers/prolog.py +23 -9
  202. data/vendor/pygments-main/pygments/lexers/promql.py +2 -1
  203. data/vendor/pygments-main/pygments/lexers/prql.py +251 -0
  204. data/vendor/pygments-main/pygments/lexers/ptx.py +119 -0
  205. data/vendor/pygments-main/pygments/lexers/python.py +24 -24
  206. data/vendor/pygments-main/pygments/lexers/q.py +5 -6
  207. data/vendor/pygments-main/pygments/lexers/qlik.py +3 -3
  208. data/vendor/pygments-main/pygments/lexers/qvt.py +5 -3
  209. data/vendor/pygments-main/pygments/lexers/r.py +8 -6
  210. data/vendor/pygments-main/pygments/lexers/rdf.py +19 -13
  211. data/vendor/pygments-main/pygments/lexers/rebol.py +7 -7
  212. data/vendor/pygments-main/pygments/lexers/resource.py +5 -6
  213. data/vendor/pygments-main/pygments/lexers/ride.py +4 -5
  214. data/vendor/pygments-main/pygments/lexers/rita.py +2 -3
  215. data/vendor/pygments-main/pygments/lexers/rnc.py +2 -3
  216. data/vendor/pygments-main/pygments/lexers/roboconf.py +5 -5
  217. data/vendor/pygments-main/pygments/lexers/robotframework.py +2 -3
  218. data/vendor/pygments-main/pygments/lexers/ruby.py +8 -13
  219. data/vendor/pygments-main/pygments/lexers/rust.py +9 -10
  220. data/vendor/pygments-main/pygments/lexers/sas.py +3 -3
  221. data/vendor/pygments-main/pygments/lexers/savi.py +131 -130
  222. data/vendor/pygments-main/pygments/lexers/scdoc.py +13 -7
  223. data/vendor/pygments-main/pygments/lexers/scripting.py +354 -42
  224. data/vendor/pygments-main/pygments/lexers/sgf.py +2 -3
  225. data/vendor/pygments-main/pygments/lexers/shell.py +107 -129
  226. data/vendor/pygments-main/pygments/lexers/sieve.py +3 -3
  227. data/vendor/pygments-main/pygments/lexers/slash.py +4 -5
  228. data/vendor/pygments-main/pygments/lexers/smalltalk.py +3 -5
  229. data/vendor/pygments-main/pygments/lexers/smithy.py +2 -3
  230. data/vendor/pygments-main/pygments/lexers/smv.py +3 -3
  231. data/vendor/pygments-main/pygments/lexers/snobol.py +3 -3
  232. data/vendor/pygments-main/pygments/lexers/solidity.py +3 -3
  233. data/vendor/pygments-main/pygments/lexers/soong.py +78 -0
  234. data/vendor/pygments-main/pygments/lexers/sophia.py +3 -4
  235. data/vendor/pygments-main/pygments/lexers/special.py +8 -3
  236. data/vendor/pygments-main/pygments/lexers/spice.py +15 -16
  237. data/vendor/pygments-main/pygments/lexers/sql.py +24 -18
  238. data/vendor/pygments-main/pygments/lexers/srcinfo.py +3 -3
  239. data/vendor/pygments-main/pygments/lexers/stata.py +2 -3
  240. data/vendor/pygments-main/pygments/lexers/supercollider.py +2 -3
  241. data/vendor/pygments-main/pygments/lexers/tact.py +303 -0
  242. data/vendor/pygments-main/pygments/lexers/tal.py +13 -10
  243. data/vendor/pygments-main/pygments/lexers/tcl.py +2 -3
  244. data/vendor/pygments-main/pygments/lexers/teal.py +2 -3
  245. data/vendor/pygments-main/pygments/lexers/templates.py +131 -72
  246. data/vendor/pygments-main/pygments/lexers/teraterm.py +2 -3
  247. data/vendor/pygments-main/pygments/lexers/testing.py +4 -5
  248. data/vendor/pygments-main/pygments/lexers/text.py +2 -1
  249. data/vendor/pygments-main/pygments/lexers/textedit.py +9 -6
  250. data/vendor/pygments-main/pygments/lexers/textfmts.py +20 -15
  251. data/vendor/pygments-main/pygments/lexers/theorem.py +41 -115
  252. data/vendor/pygments-main/pygments/lexers/thingsdb.py +50 -26
  253. data/vendor/pygments-main/pygments/lexers/tlb.py +3 -1
  254. data/vendor/pygments-main/pygments/lexers/tls.py +54 -0
  255. data/vendor/pygments-main/pygments/lexers/tnt.py +2 -3
  256. data/vendor/pygments-main/pygments/lexers/trafficscript.py +3 -3
  257. data/vendor/pygments-main/pygments/lexers/typoscript.py +6 -7
  258. data/vendor/pygments-main/pygments/lexers/typst.py +104 -0
  259. data/vendor/pygments-main/pygments/lexers/ul4.py +47 -5
  260. data/vendor/pygments-main/pygments/lexers/unicon.py +9 -7
  261. data/vendor/pygments-main/pygments/lexers/urbi.py +3 -3
  262. data/vendor/pygments-main/pygments/lexers/usd.py +6 -11
  263. data/vendor/pygments-main/pygments/lexers/varnish.py +5 -5
  264. data/vendor/pygments-main/pygments/lexers/verification.py +4 -5
  265. data/vendor/pygments-main/pygments/lexers/verifpal.py +65 -0
  266. data/vendor/pygments-main/pygments/lexers/vip.py +150 -0
  267. data/vendor/pygments-main/pygments/lexers/vyper.py +140 -0
  268. data/vendor/pygments-main/pygments/lexers/web.py +2 -1
  269. data/vendor/pygments-main/pygments/lexers/webassembly.py +2 -3
  270. data/vendor/pygments-main/pygments/lexers/webidl.py +2 -3
  271. data/vendor/pygments-main/pygments/lexers/webmisc.py +11 -15
  272. data/vendor/pygments-main/pygments/lexers/wgsl.py +6 -7
  273. data/vendor/pygments-main/pygments/lexers/whiley.py +2 -3
  274. data/vendor/pygments-main/pygments/lexers/wowtoc.py +3 -3
  275. data/vendor/pygments-main/pygments/lexers/wren.py +3 -4
  276. data/vendor/pygments-main/pygments/lexers/x10.py +6 -7
  277. data/vendor/pygments-main/pygments/lexers/xorg.py +2 -1
  278. data/vendor/pygments-main/pygments/lexers/yang.py +2 -3
  279. data/vendor/pygments-main/pygments/lexers/yara.py +69 -0
  280. data/vendor/pygments-main/pygments/lexers/zig.py +2 -1
  281. data/vendor/pygments-main/pygments/modeline.py +4 -4
  282. data/vendor/pygments-main/pygments/plugin.py +3 -19
  283. data/vendor/pygments-main/pygments/regexopt.py +1 -1
  284. data/vendor/pygments-main/pygments/scanner.py +1 -1
  285. data/vendor/pygments-main/pygments/sphinxext.py +38 -8
  286. data/vendor/pygments-main/pygments/style.py +8 -2
  287. data/vendor/pygments-main/pygments/styles/__init__.py +17 -59
  288. data/vendor/pygments-main/pygments/styles/_mapping.py +54 -0
  289. data/vendor/pygments-main/pygments/styles/abap.py +5 -1
  290. data/vendor/pygments-main/pygments/styles/algol.py +5 -1
  291. data/vendor/pygments-main/pygments/styles/algol_nu.py +5 -1
  292. data/vendor/pygments-main/pygments/styles/arduino.py +76 -72
  293. data/vendor/pygments-main/pygments/styles/autumn.py +6 -1
  294. data/vendor/pygments-main/pygments/styles/borland.py +6 -1
  295. data/vendor/pygments-main/pygments/styles/bw.py +6 -1
  296. data/vendor/pygments-main/pygments/styles/coffee.py +80 -0
  297. data/vendor/pygments-main/pygments/styles/colorful.py +6 -1
  298. data/vendor/pygments-main/pygments/styles/default.py +6 -1
  299. data/vendor/pygments-main/pygments/styles/dracula.py +68 -80
  300. data/vendor/pygments-main/pygments/styles/emacs.py +6 -1
  301. data/vendor/pygments-main/pygments/styles/friendly.py +6 -1
  302. data/vendor/pygments-main/pygments/styles/friendly_grayscale.py +6 -1
  303. data/vendor/pygments-main/pygments/styles/fruity.py +7 -1
  304. data/vendor/pygments-main/pygments/styles/gh_dark.py +7 -1
  305. data/vendor/pygments-main/pygments/styles/gruvbox.py +10 -1
  306. data/vendor/pygments-main/pygments/styles/igor.py +6 -1
  307. data/vendor/pygments-main/pygments/styles/inkpot.py +7 -2
  308. data/vendor/pygments-main/pygments/styles/lightbulb.py +110 -0
  309. data/vendor/pygments-main/pygments/styles/lilypond.py +8 -2
  310. data/vendor/pygments-main/pygments/styles/lovelace.py +16 -10
  311. data/vendor/pygments-main/pygments/styles/manni.py +7 -2
  312. data/vendor/pygments-main/pygments/styles/material.py +21 -14
  313. data/vendor/pygments-main/pygments/styles/monokai.py +16 -10
  314. data/vendor/pygments-main/pygments/styles/murphy.py +7 -2
  315. data/vendor/pygments-main/pygments/styles/native.py +10 -5
  316. data/vendor/pygments-main/pygments/styles/nord.py +9 -3
  317. data/vendor/pygments-main/pygments/styles/onedark.py +6 -2
  318. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +7 -2
  319. data/vendor/pygments-main/pygments/styles/paraiso_light.py +7 -2
  320. data/vendor/pygments-main/pygments/styles/pastie.py +7 -1
  321. data/vendor/pygments-main/pygments/styles/perldoc.py +7 -1
  322. data/vendor/pygments-main/pygments/styles/rainbow_dash.py +26 -19
  323. data/vendor/pygments-main/pygments/styles/rrt.py +8 -2
  324. data/vendor/pygments-main/pygments/styles/sas.py +6 -1
  325. data/vendor/pygments-main/pygments/styles/solarized.py +9 -1
  326. data/vendor/pygments-main/pygments/styles/staroffice.py +6 -1
  327. data/vendor/pygments-main/pygments/styles/stata_dark.py +6 -2
  328. data/vendor/pygments-main/pygments/styles/stata_light.py +6 -1
  329. data/vendor/pygments-main/pygments/styles/tango.py +7 -3
  330. data/vendor/pygments-main/pygments/styles/trac.py +7 -1
  331. data/vendor/pygments-main/pygments/styles/vim.py +7 -1
  332. data/vendor/pygments-main/pygments/styles/vs.py +7 -2
  333. data/vendor/pygments-main/pygments/styles/xcode.py +6 -1
  334. data/vendor/pygments-main/pygments/styles/zenburn.py +6 -1
  335. data/vendor/pygments-main/pygments/token.py +2 -1
  336. data/vendor/pygments-main/pygments/unistring.py +5 -5
  337. data/vendor/pygments-main/pygments/util.py +13 -19
  338. data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/METADATA +14 -13
  339. data/vendor/pygments-main/pygments-2.18.0.dist-info/RECORD +663 -0
  340. data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/WHEEL +1 -2
  341. data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info/licenses}/AUTHORS +13 -0
  342. metadata +39 -15
  343. data/vendor/pygments-main/Pygments-2.15.1.dist-info/RECORD +0 -614
  344. data/vendor/pygments-main/Pygments-2.15.1.dist-info/top_level.txt +0 -1
  345. /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/INSTALLER +0 -0
  346. /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/REQUESTED +0 -0
  347. /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/entry_points.txt +0 -0
  348. /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info/licenses}/LICENSE +0 -0
@@ -4,7 +4,7 @@
4
4
 
5
5
  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, \