pygments.rb 2.4.1 → 4.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 (699) 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 -2
  6. data/CHANGELOG.adoc +15 -1
  7. data/README.adoc +2 -2
  8. data/Rakefile +1 -1
  9. data/bench.rb +3 -3
  10. data/lib/pygments/version.rb +1 -1
  11. data/pygments.rb.gemspec +3 -3
  12. data/test/test_pygments.rb +0 -4
  13. data/vendor/pygments-main/bin/pygmentize +1 -1
  14. data/vendor/pygments-main/pygments/__init__.py +2 -2
  15. data/vendor/pygments-main/pygments/__main__.py +1 -1
  16. data/vendor/pygments-main/pygments/__pycache__/__init__.cpython-313.pyc +0 -0
  17. data/vendor/pygments-main/pygments/__pycache__/__main__.cpython-313.pyc +0 -0
  18. data/vendor/pygments-main/pygments/__pycache__/cmdline.cpython-313.pyc +0 -0
  19. data/vendor/pygments-main/pygments/__pycache__/console.cpython-313.pyc +0 -0
  20. data/vendor/pygments-main/pygments/__pycache__/filter.cpython-313.pyc +0 -0
  21. data/vendor/pygments-main/pygments/__pycache__/formatter.cpython-313.pyc +0 -0
  22. data/vendor/pygments-main/pygments/__pycache__/lexer.cpython-313.pyc +0 -0
  23. data/vendor/pygments-main/pygments/__pycache__/modeline.cpython-313.pyc +0 -0
  24. data/vendor/pygments-main/pygments/__pycache__/plugin.cpython-313.pyc +0 -0
  25. data/vendor/pygments-main/pygments/__pycache__/regexopt.cpython-313.pyc +0 -0
  26. data/vendor/pygments-main/pygments/__pycache__/scanner.cpython-313.pyc +0 -0
  27. data/vendor/pygments-main/pygments/__pycache__/sphinxext.cpython-313.pyc +0 -0
  28. data/vendor/pygments-main/pygments/__pycache__/style.cpython-313.pyc +0 -0
  29. data/vendor/pygments-main/pygments/__pycache__/token.cpython-313.pyc +0 -0
  30. data/vendor/pygments-main/pygments/__pycache__/unistring.cpython-313.pyc +0 -0
  31. data/vendor/pygments-main/pygments/__pycache__/util.cpython-313.pyc +0 -0
  32. data/vendor/pygments-main/pygments/cmdline.py +12 -12
  33. data/vendor/pygments-main/pygments/console.py +5 -5
  34. data/vendor/pygments-main/pygments/filter.py +2 -3
  35. data/vendor/pygments-main/pygments/filters/__init__.py +4 -4
  36. data/vendor/pygments-main/pygments/filters/__pycache__/__init__.cpython-313.pyc +0 -0
  37. data/vendor/pygments-main/pygments/formatter.py +6 -1
  38. data/vendor/pygments-main/pygments/formatters/__init__.py +7 -8
  39. data/vendor/pygments-main/pygments/formatters/__pycache__/__init__.cpython-313.pyc +0 -0
  40. data/vendor/pygments-main/pygments/formatters/__pycache__/_mapping.cpython-313.pyc +0 -0
  41. data/vendor/pygments-main/pygments/formatters/__pycache__/bbcode.cpython-313.pyc +0 -0
  42. data/vendor/pygments-main/pygments/formatters/__pycache__/groff.cpython-313.pyc +0 -0
  43. data/vendor/pygments-main/pygments/formatters/__pycache__/html.cpython-313.pyc +0 -0
  44. data/vendor/pygments-main/pygments/formatters/__pycache__/img.cpython-313.pyc +0 -0
  45. data/vendor/pygments-main/pygments/formatters/__pycache__/irc.cpython-313.pyc +0 -0
  46. data/vendor/pygments-main/pygments/formatters/__pycache__/latex.cpython-313.pyc +0 -0
  47. data/vendor/pygments-main/pygments/formatters/__pycache__/other.cpython-313.pyc +0 -0
  48. data/vendor/pygments-main/pygments/formatters/__pycache__/pangomarkup.cpython-313.pyc +0 -0
  49. data/vendor/pygments-main/pygments/formatters/__pycache__/rtf.cpython-313.pyc +0 -0
  50. data/vendor/pygments-main/pygments/formatters/__pycache__/svg.cpython-313.pyc +0 -0
  51. data/vendor/pygments-main/pygments/formatters/__pycache__/terminal.cpython-313.pyc +0 -0
  52. data/vendor/pygments-main/pygments/formatters/__pycache__/terminal256.cpython-313.pyc +0 -0
  53. data/vendor/pygments-main/pygments/formatters/bbcode.py +2 -2
  54. data/vendor/pygments-main/pygments/formatters/groff.py +3 -3
  55. data/vendor/pygments-main/pygments/formatters/html.py +47 -41
  56. data/vendor/pygments-main/pygments/formatters/img.py +53 -12
  57. data/vendor/pygments-main/pygments/formatters/irc.py +1 -1
  58. data/vendor/pygments-main/pygments/formatters/latex.py +24 -27
  59. data/vendor/pygments-main/pygments/formatters/other.py +3 -4
  60. data/vendor/pygments-main/pygments/formatters/pangomarkup.py +2 -2
  61. data/vendor/pygments-main/pygments/formatters/rtf.py +228 -25
  62. data/vendor/pygments-main/pygments/formatters/svg.py +17 -20
  63. data/vendor/pygments-main/pygments/formatters/terminal.py +1 -1
  64. data/vendor/pygments-main/pygments/formatters/terminal256.py +1 -1
  65. data/vendor/pygments-main/pygments/lexer.py +51 -33
  66. data/vendor/pygments-main/pygments/lexers/__init__.py +12 -12
  67. data/vendor/pygments-main/pygments/lexers/__pycache__/__init__.cpython-313.pyc +0 -0
  68. data/vendor/pygments-main/pygments/lexers/__pycache__/_ada_builtins.cpython-313.pyc +0 -0
  69. data/vendor/pygments-main/pygments/lexers/__pycache__/_asy_builtins.cpython-313.pyc +0 -0
  70. data/vendor/pygments-main/pygments/lexers/__pycache__/_cl_builtins.cpython-313.pyc +0 -0
  71. data/vendor/pygments-main/pygments/lexers/__pycache__/_cocoa_builtins.cpython-313.pyc +0 -0
  72. data/vendor/pygments-main/pygments/lexers/__pycache__/_csound_builtins.cpython-313.pyc +0 -0
  73. data/vendor/pygments-main/pygments/lexers/__pycache__/_css_builtins.cpython-313.pyc +0 -0
  74. data/vendor/pygments-main/pygments/lexers/__pycache__/_googlesql_builtins.cpython-313.pyc +0 -0
  75. data/vendor/pygments-main/pygments/lexers/__pycache__/_julia_builtins.cpython-313.pyc +0 -0
  76. data/vendor/pygments-main/pygments/lexers/__pycache__/_lasso_builtins.cpython-313.pyc +0 -0
  77. data/vendor/pygments-main/pygments/lexers/__pycache__/_lilypond_builtins.cpython-313.pyc +0 -0
  78. data/vendor/pygments-main/pygments/lexers/__pycache__/_lua_builtins.cpython-313.pyc +0 -0
  79. data/vendor/pygments-main/pygments/lexers/__pycache__/_luau_builtins.cpython-313.pyc +0 -0
  80. data/vendor/pygments-main/pygments/lexers/__pycache__/_mapping.cpython-313.pyc +0 -0
  81. data/vendor/pygments-main/pygments/lexers/__pycache__/_mql_builtins.cpython-313.pyc +0 -0
  82. data/vendor/pygments-main/pygments/lexers/__pycache__/_mysql_builtins.cpython-313.pyc +0 -0
  83. data/vendor/pygments-main/pygments/lexers/__pycache__/_openedge_builtins.cpython-313.pyc +0 -0
  84. data/vendor/pygments-main/pygments/lexers/__pycache__/_php_builtins.cpython-313.pyc +0 -0
  85. data/vendor/pygments-main/pygments/lexers/__pycache__/_postgres_builtins.cpython-313.pyc +0 -0
  86. data/vendor/pygments-main/pygments/lexers/__pycache__/_qlik_builtins.cpython-313.pyc +0 -0
  87. data/vendor/pygments-main/pygments/lexers/__pycache__/_scheme_builtins.cpython-313.pyc +0 -0
  88. data/vendor/pygments-main/pygments/lexers/__pycache__/_scilab_builtins.cpython-313.pyc +0 -0
  89. data/vendor/pygments-main/pygments/lexers/__pycache__/_sourcemod_builtins.cpython-313.pyc +0 -0
  90. data/vendor/pygments-main/pygments/lexers/__pycache__/_sql_builtins.cpython-313.pyc +0 -0
  91. data/vendor/pygments-main/pygments/lexers/__pycache__/_stan_builtins.cpython-313.pyc +0 -0
  92. data/vendor/pygments-main/pygments/lexers/__pycache__/_stata_builtins.cpython-313.pyc +0 -0
  93. data/vendor/pygments-main/pygments/lexers/__pycache__/_tsql_builtins.cpython-313.pyc +0 -0
  94. data/vendor/pygments-main/pygments/lexers/__pycache__/_usd_builtins.cpython-313.pyc +0 -0
  95. data/vendor/pygments-main/pygments/lexers/__pycache__/_vbscript_builtins.cpython-313.pyc +0 -0
  96. data/vendor/pygments-main/pygments/lexers/__pycache__/_vim_builtins.cpython-313.pyc +0 -0
  97. data/vendor/pygments-main/pygments/lexers/__pycache__/actionscript.cpython-313.pyc +0 -0
  98. data/vendor/pygments-main/pygments/lexers/__pycache__/ada.cpython-313.pyc +0 -0
  99. data/vendor/pygments-main/pygments/lexers/__pycache__/agile.cpython-313.pyc +0 -0
  100. data/vendor/pygments-main/pygments/lexers/__pycache__/algebra.cpython-313.pyc +0 -0
  101. data/vendor/pygments-main/pygments/lexers/__pycache__/ambient.cpython-313.pyc +0 -0
  102. data/vendor/pygments-main/pygments/lexers/__pycache__/amdgpu.cpython-313.pyc +0 -0
  103. data/vendor/pygments-main/pygments/lexers/__pycache__/ampl.cpython-313.pyc +0 -0
  104. data/vendor/pygments-main/pygments/lexers/__pycache__/apdlexer.cpython-313.pyc +0 -0
  105. data/vendor/pygments-main/pygments/lexers/__pycache__/apl.cpython-313.pyc +0 -0
  106. data/vendor/pygments-main/pygments/lexers/__pycache__/archetype.cpython-313.pyc +0 -0
  107. data/vendor/pygments-main/pygments/lexers/__pycache__/arrow.cpython-313.pyc +0 -0
  108. data/vendor/pygments-main/pygments/lexers/__pycache__/arturo.cpython-313.pyc +0 -0
  109. data/vendor/pygments-main/pygments/lexers/__pycache__/asc.cpython-313.pyc +0 -0
  110. data/vendor/pygments-main/pygments/lexers/__pycache__/asm.cpython-313.pyc +0 -0
  111. data/vendor/pygments-main/pygments/lexers/__pycache__/asn1.cpython-313.pyc +0 -0
  112. data/vendor/pygments-main/pygments/lexers/__pycache__/automation.cpython-313.pyc +0 -0
  113. data/vendor/pygments-main/pygments/lexers/__pycache__/bare.cpython-313.pyc +0 -0
  114. data/vendor/pygments-main/pygments/lexers/__pycache__/basic.cpython-313.pyc +0 -0
  115. data/vendor/pygments-main/pygments/lexers/__pycache__/bdd.cpython-313.pyc +0 -0
  116. data/vendor/pygments-main/pygments/lexers/__pycache__/berry.cpython-313.pyc +0 -0
  117. data/vendor/pygments-main/pygments/lexers/__pycache__/bibtex.cpython-313.pyc +0 -0
  118. data/vendor/pygments-main/pygments/lexers/__pycache__/blueprint.cpython-313.pyc +0 -0
  119. data/vendor/pygments-main/pygments/lexers/__pycache__/boa.cpython-313.pyc +0 -0
  120. data/vendor/pygments-main/pygments/lexers/__pycache__/bqn.cpython-313.pyc +0 -0
  121. data/vendor/pygments-main/pygments/lexers/__pycache__/business.cpython-313.pyc +0 -0
  122. data/vendor/pygments-main/pygments/lexers/__pycache__/c_cpp.cpython-313.pyc +0 -0
  123. data/vendor/pygments-main/pygments/lexers/__pycache__/c_like.cpython-313.pyc +0 -0
  124. data/vendor/pygments-main/pygments/lexers/__pycache__/capnproto.cpython-313.pyc +0 -0
  125. data/vendor/pygments-main/pygments/lexers/__pycache__/carbon.cpython-313.pyc +0 -0
  126. data/vendor/pygments-main/pygments/lexers/__pycache__/cddl.cpython-313.pyc +0 -0
  127. data/vendor/pygments-main/pygments/lexers/__pycache__/chapel.cpython-313.pyc +0 -0
  128. data/vendor/pygments-main/pygments/lexers/__pycache__/clean.cpython-313.pyc +0 -0
  129. data/vendor/pygments-main/pygments/lexers/__pycache__/codeql.cpython-313.pyc +0 -0
  130. data/vendor/pygments-main/pygments/lexers/__pycache__/comal.cpython-313.pyc +0 -0
  131. data/vendor/pygments-main/pygments/lexers/__pycache__/compiled.cpython-313.pyc +0 -0
  132. data/vendor/pygments-main/pygments/lexers/__pycache__/configs.cpython-313.pyc +0 -0
  133. data/vendor/pygments-main/pygments/lexers/__pycache__/console.cpython-313.pyc +0 -0
  134. data/vendor/pygments-main/pygments/lexers/__pycache__/cplint.cpython-313.pyc +0 -0
  135. data/vendor/pygments-main/pygments/lexers/__pycache__/crystal.cpython-313.pyc +0 -0
  136. data/vendor/pygments-main/pygments/lexers/__pycache__/csound.cpython-313.pyc +0 -0
  137. data/vendor/pygments-main/pygments/lexers/__pycache__/css.cpython-313.pyc +0 -0
  138. data/vendor/pygments-main/pygments/lexers/__pycache__/d.cpython-313.pyc +0 -0
  139. data/vendor/pygments-main/pygments/lexers/__pycache__/dalvik.cpython-313.pyc +0 -0
  140. data/vendor/pygments-main/pygments/lexers/__pycache__/data.cpython-313.pyc +0 -0
  141. data/vendor/pygments-main/pygments/lexers/__pycache__/dax.cpython-313.pyc +0 -0
  142. data/vendor/pygments-main/pygments/lexers/__pycache__/devicetree.cpython-313.pyc +0 -0
  143. data/vendor/pygments-main/pygments/lexers/__pycache__/diff.cpython-313.pyc +0 -0
  144. data/vendor/pygments-main/pygments/lexers/__pycache__/dns.cpython-313.pyc +0 -0
  145. data/vendor/pygments-main/pygments/lexers/__pycache__/dotnet.cpython-313.pyc +0 -0
  146. data/vendor/pygments-main/pygments/lexers/__pycache__/dsls.cpython-313.pyc +0 -0
  147. data/vendor/pygments-main/pygments/lexers/__pycache__/dylan.cpython-313.pyc +0 -0
  148. data/vendor/pygments-main/pygments/lexers/__pycache__/ecl.cpython-313.pyc +0 -0
  149. data/vendor/pygments-main/pygments/lexers/__pycache__/eiffel.cpython-313.pyc +0 -0
  150. data/vendor/pygments-main/pygments/lexers/__pycache__/elm.cpython-313.pyc +0 -0
  151. data/vendor/pygments-main/pygments/lexers/__pycache__/elpi.cpython-313.pyc +0 -0
  152. data/vendor/pygments-main/pygments/lexers/__pycache__/email.cpython-313.pyc +0 -0
  153. data/vendor/pygments-main/pygments/lexers/__pycache__/erlang.cpython-313.pyc +0 -0
  154. data/vendor/pygments-main/pygments/lexers/__pycache__/esoteric.cpython-313.pyc +0 -0
  155. data/vendor/pygments-main/pygments/lexers/__pycache__/ezhil.cpython-313.pyc +0 -0
  156. data/vendor/pygments-main/pygments/lexers/__pycache__/factor.cpython-313.pyc +0 -0
  157. data/vendor/pygments-main/pygments/lexers/__pycache__/fantom.cpython-313.pyc +0 -0
  158. data/vendor/pygments-main/pygments/lexers/__pycache__/felix.cpython-313.pyc +0 -0
  159. data/vendor/pygments-main/pygments/lexers/__pycache__/fift.cpython-313.pyc +0 -0
  160. data/vendor/pygments-main/pygments/lexers/__pycache__/floscript.cpython-313.pyc +0 -0
  161. data/vendor/pygments-main/pygments/lexers/__pycache__/forth.cpython-313.pyc +0 -0
  162. data/vendor/pygments-main/pygments/lexers/__pycache__/fortran.cpython-313.pyc +0 -0
  163. data/vendor/pygments-main/pygments/lexers/__pycache__/foxpro.cpython-313.pyc +0 -0
  164. data/vendor/pygments-main/pygments/lexers/__pycache__/freefem.cpython-313.pyc +0 -0
  165. data/vendor/pygments-main/pygments/lexers/__pycache__/func.cpython-313.pyc +0 -0
  166. data/vendor/pygments-main/pygments/lexers/__pycache__/functional.cpython-313.pyc +0 -0
  167. data/vendor/pygments-main/pygments/lexers/__pycache__/futhark.cpython-313.pyc +0 -0
  168. data/vendor/pygments-main/pygments/lexers/__pycache__/gcodelexer.cpython-313.pyc +0 -0
  169. data/vendor/pygments-main/pygments/lexers/__pycache__/gdscript.cpython-313.pyc +0 -0
  170. data/vendor/pygments-main/pygments/lexers/__pycache__/gleam.cpython-313.pyc +0 -0
  171. data/vendor/pygments-main/pygments/lexers/__pycache__/go.cpython-313.pyc +0 -0
  172. data/vendor/pygments-main/pygments/lexers/__pycache__/grammar_notation.cpython-313.pyc +0 -0
  173. data/vendor/pygments-main/pygments/lexers/__pycache__/graph.cpython-313.pyc +0 -0
  174. data/vendor/pygments-main/pygments/lexers/__pycache__/graphics.cpython-313.pyc +0 -0
  175. data/vendor/pygments-main/pygments/lexers/__pycache__/graphql.cpython-313.pyc +0 -0
  176. data/vendor/pygments-main/pygments/lexers/__pycache__/graphviz.cpython-313.pyc +0 -0
  177. data/vendor/pygments-main/pygments/lexers/__pycache__/gsql.cpython-313.pyc +0 -0
  178. data/vendor/pygments-main/pygments/lexers/__pycache__/hare.cpython-313.pyc +0 -0
  179. data/vendor/pygments-main/pygments/lexers/__pycache__/haskell.cpython-313.pyc +0 -0
  180. data/vendor/pygments-main/pygments/lexers/__pycache__/haxe.cpython-313.pyc +0 -0
  181. data/vendor/pygments-main/pygments/lexers/__pycache__/hdl.cpython-313.pyc +0 -0
  182. data/vendor/pygments-main/pygments/lexers/__pycache__/hexdump.cpython-313.pyc +0 -0
  183. data/vendor/pygments-main/pygments/lexers/__pycache__/html.cpython-313.pyc +0 -0
  184. data/vendor/pygments-main/pygments/lexers/__pycache__/idl.cpython-313.pyc +0 -0
  185. data/vendor/pygments-main/pygments/lexers/__pycache__/igor.cpython-313.pyc +0 -0
  186. data/vendor/pygments-main/pygments/lexers/__pycache__/inferno.cpython-313.pyc +0 -0
  187. data/vendor/pygments-main/pygments/lexers/__pycache__/installers.cpython-313.pyc +0 -0
  188. data/vendor/pygments-main/pygments/lexers/__pycache__/int_fiction.cpython-313.pyc +0 -0
  189. data/vendor/pygments-main/pygments/lexers/__pycache__/iolang.cpython-313.pyc +0 -0
  190. data/vendor/pygments-main/pygments/lexers/__pycache__/j.cpython-313.pyc +0 -0
  191. data/vendor/pygments-main/pygments/lexers/__pycache__/javascript.cpython-313.pyc +0 -0
  192. data/vendor/pygments-main/pygments/lexers/__pycache__/jmespath.cpython-313.pyc +0 -0
  193. data/vendor/pygments-main/pygments/lexers/__pycache__/jslt.cpython-313.pyc +0 -0
  194. data/vendor/pygments-main/pygments/lexers/__pycache__/json5.cpython-313.pyc +0 -0
  195. data/vendor/pygments-main/pygments/lexers/__pycache__/jsonnet.cpython-313.pyc +0 -0
  196. data/vendor/pygments-main/pygments/lexers/__pycache__/jsx.cpython-313.pyc +0 -0
  197. data/vendor/pygments-main/pygments/lexers/__pycache__/julia.cpython-313.pyc +0 -0
  198. data/vendor/pygments-main/pygments/lexers/__pycache__/jvm.cpython-313.pyc +0 -0
  199. data/vendor/pygments-main/pygments/lexers/__pycache__/kuin.cpython-313.pyc +0 -0
  200. data/vendor/pygments-main/pygments/lexers/__pycache__/kusto.cpython-313.pyc +0 -0
  201. data/vendor/pygments-main/pygments/lexers/__pycache__/ldap.cpython-313.pyc +0 -0
  202. data/vendor/pygments-main/pygments/lexers/__pycache__/lean.cpython-313.pyc +0 -0
  203. data/vendor/pygments-main/pygments/lexers/__pycache__/lilypond.cpython-313.pyc +0 -0
  204. data/vendor/pygments-main/pygments/lexers/__pycache__/lisp.cpython-313.pyc +0 -0
  205. data/vendor/pygments-main/pygments/lexers/__pycache__/macaulay2.cpython-313.pyc +0 -0
  206. data/vendor/pygments-main/pygments/lexers/__pycache__/make.cpython-313.pyc +0 -0
  207. data/vendor/pygments-main/pygments/lexers/__pycache__/maple.cpython-313.pyc +0 -0
  208. data/vendor/pygments-main/pygments/lexers/__pycache__/markup.cpython-313.pyc +0 -0
  209. data/vendor/pygments-main/pygments/lexers/__pycache__/math.cpython-313.pyc +0 -0
  210. data/vendor/pygments-main/pygments/lexers/__pycache__/matlab.cpython-313.pyc +0 -0
  211. data/vendor/pygments-main/pygments/lexers/__pycache__/maxima.cpython-313.pyc +0 -0
  212. data/vendor/pygments-main/pygments/lexers/__pycache__/meson.cpython-313.pyc +0 -0
  213. data/vendor/pygments-main/pygments/lexers/__pycache__/mime.cpython-313.pyc +0 -0
  214. data/vendor/pygments-main/pygments/lexers/__pycache__/minecraft.cpython-313.pyc +0 -0
  215. data/vendor/pygments-main/pygments/lexers/__pycache__/mips.cpython-313.pyc +0 -0
  216. data/vendor/pygments-main/pygments/lexers/__pycache__/ml.cpython-313.pyc +0 -0
  217. data/vendor/pygments-main/pygments/lexers/__pycache__/modeling.cpython-313.pyc +0 -0
  218. data/vendor/pygments-main/pygments/lexers/__pycache__/modula2.cpython-313.pyc +0 -0
  219. data/vendor/pygments-main/pygments/lexers/__pycache__/mojo.cpython-313.pyc +0 -0
  220. data/vendor/pygments-main/pygments/lexers/__pycache__/monte.cpython-313.pyc +0 -0
  221. data/vendor/pygments-main/pygments/lexers/__pycache__/mosel.cpython-313.pyc +0 -0
  222. data/vendor/pygments-main/pygments/lexers/__pycache__/ncl.cpython-313.pyc +0 -0
  223. data/vendor/pygments-main/pygments/lexers/__pycache__/nimrod.cpython-313.pyc +0 -0
  224. data/vendor/pygments-main/pygments/lexers/__pycache__/nit.cpython-313.pyc +0 -0
  225. data/vendor/pygments-main/pygments/lexers/__pycache__/nix.cpython-313.pyc +0 -0
  226. data/vendor/pygments-main/pygments/lexers/__pycache__/numbair.cpython-313.pyc +0 -0
  227. data/vendor/pygments-main/pygments/lexers/__pycache__/oberon.cpython-313.pyc +0 -0
  228. data/vendor/pygments-main/pygments/lexers/__pycache__/objective.cpython-313.pyc +0 -0
  229. data/vendor/pygments-main/pygments/lexers/__pycache__/ooc.cpython-313.pyc +0 -0
  230. data/vendor/pygments-main/pygments/lexers/__pycache__/openscad.cpython-313.pyc +0 -0
  231. data/vendor/pygments-main/pygments/lexers/__pycache__/other.cpython-313.pyc +0 -0
  232. data/vendor/pygments-main/pygments/lexers/__pycache__/parasail.cpython-313.pyc +0 -0
  233. data/vendor/pygments-main/pygments/lexers/__pycache__/parsers.cpython-313.pyc +0 -0
  234. data/vendor/pygments-main/pygments/lexers/__pycache__/pascal.cpython-313.pyc +0 -0
  235. data/vendor/pygments-main/pygments/lexers/__pycache__/pawn.cpython-313.pyc +0 -0
  236. data/vendor/pygments-main/pygments/lexers/__pycache__/pddl.cpython-313.pyc +0 -0
  237. data/vendor/pygments-main/pygments/lexers/__pycache__/perl.cpython-313.pyc +0 -0
  238. data/vendor/pygments-main/pygments/lexers/__pycache__/phix.cpython-313.pyc +0 -0
  239. data/vendor/pygments-main/pygments/lexers/__pycache__/php.cpython-313.pyc +0 -0
  240. data/vendor/pygments-main/pygments/lexers/__pycache__/pointless.cpython-313.pyc +0 -0
  241. data/vendor/pygments-main/pygments/lexers/__pycache__/pony.cpython-313.pyc +0 -0
  242. data/vendor/pygments-main/pygments/lexers/__pycache__/praat.cpython-313.pyc +0 -0
  243. data/vendor/pygments-main/pygments/lexers/__pycache__/procfile.cpython-313.pyc +0 -0
  244. data/vendor/pygments-main/pygments/lexers/__pycache__/prolog.cpython-313.pyc +0 -0
  245. data/vendor/pygments-main/pygments/lexers/__pycache__/promql.cpython-313.pyc +0 -0
  246. data/vendor/pygments-main/pygments/lexers/__pycache__/prql.cpython-313.pyc +0 -0
  247. data/vendor/pygments-main/pygments/lexers/__pycache__/ptx.cpython-313.pyc +0 -0
  248. data/vendor/pygments-main/pygments/lexers/__pycache__/python.cpython-313.pyc +0 -0
  249. data/vendor/pygments-main/pygments/lexers/__pycache__/q.cpython-313.pyc +0 -0
  250. data/vendor/pygments-main/pygments/lexers/__pycache__/qlik.cpython-313.pyc +0 -0
  251. data/vendor/pygments-main/pygments/lexers/__pycache__/qvt.cpython-313.pyc +0 -0
  252. data/vendor/pygments-main/pygments/lexers/__pycache__/r.cpython-313.pyc +0 -0
  253. data/vendor/pygments-main/pygments/lexers/__pycache__/rdf.cpython-313.pyc +0 -0
  254. data/vendor/pygments-main/pygments/lexers/__pycache__/rebol.cpython-313.pyc +0 -0
  255. data/vendor/pygments-main/pygments/lexers/__pycache__/rego.cpython-313.pyc +0 -0
  256. data/vendor/pygments-main/pygments/lexers/__pycache__/resource.cpython-313.pyc +0 -0
  257. data/vendor/pygments-main/pygments/lexers/__pycache__/ride.cpython-313.pyc +0 -0
  258. data/vendor/pygments-main/pygments/lexers/__pycache__/rita.cpython-313.pyc +0 -0
  259. data/vendor/pygments-main/pygments/lexers/__pycache__/rnc.cpython-313.pyc +0 -0
  260. data/vendor/pygments-main/pygments/lexers/__pycache__/roboconf.cpython-313.pyc +0 -0
  261. data/vendor/pygments-main/pygments/lexers/__pycache__/robotframework.cpython-313.pyc +0 -0
  262. data/vendor/pygments-main/pygments/lexers/__pycache__/ruby.cpython-313.pyc +0 -0
  263. data/vendor/pygments-main/pygments/lexers/__pycache__/rust.cpython-313.pyc +0 -0
  264. data/vendor/pygments-main/pygments/lexers/__pycache__/sas.cpython-313.pyc +0 -0
  265. data/vendor/pygments-main/pygments/lexers/__pycache__/savi.cpython-313.pyc +0 -0
  266. data/vendor/pygments-main/pygments/lexers/__pycache__/scdoc.cpython-313.pyc +0 -0
  267. data/vendor/pygments-main/pygments/lexers/__pycache__/scripting.cpython-313.pyc +0 -0
  268. data/vendor/pygments-main/pygments/lexers/__pycache__/sgf.cpython-313.pyc +0 -0
  269. data/vendor/pygments-main/pygments/lexers/__pycache__/shell.cpython-313.pyc +0 -0
  270. data/vendor/pygments-main/pygments/lexers/__pycache__/sieve.cpython-313.pyc +0 -0
  271. data/vendor/pygments-main/pygments/lexers/__pycache__/slash.cpython-313.pyc +0 -0
  272. data/vendor/pygments-main/pygments/lexers/__pycache__/smalltalk.cpython-313.pyc +0 -0
  273. data/vendor/pygments-main/pygments/lexers/__pycache__/smithy.cpython-313.pyc +0 -0
  274. data/vendor/pygments-main/pygments/lexers/__pycache__/smv.cpython-313.pyc +0 -0
  275. data/vendor/pygments-main/pygments/lexers/__pycache__/snobol.cpython-313.pyc +0 -0
  276. data/vendor/pygments-main/pygments/lexers/__pycache__/solidity.cpython-313.pyc +0 -0
  277. data/vendor/pygments-main/pygments/lexers/__pycache__/soong.cpython-313.pyc +0 -0
  278. data/vendor/pygments-main/pygments/lexers/__pycache__/sophia.cpython-313.pyc +0 -0
  279. data/vendor/pygments-main/pygments/lexers/__pycache__/special.cpython-313.pyc +0 -0
  280. data/vendor/pygments-main/pygments/lexers/__pycache__/spice.cpython-313.pyc +0 -0
  281. data/vendor/pygments-main/pygments/lexers/__pycache__/sql.cpython-313.pyc +0 -0
  282. data/vendor/pygments-main/pygments/lexers/__pycache__/srcinfo.cpython-313.pyc +0 -0
  283. data/vendor/pygments-main/pygments/lexers/__pycache__/stata.cpython-313.pyc +0 -0
  284. data/vendor/pygments-main/pygments/lexers/__pycache__/supercollider.cpython-313.pyc +0 -0
  285. data/vendor/pygments-main/pygments/lexers/__pycache__/tablegen.cpython-313.pyc +0 -0
  286. data/vendor/pygments-main/pygments/lexers/__pycache__/tact.cpython-313.pyc +0 -0
  287. data/vendor/pygments-main/pygments/lexers/__pycache__/tal.cpython-313.pyc +0 -0
  288. data/vendor/pygments-main/pygments/lexers/__pycache__/tcl.cpython-313.pyc +0 -0
  289. data/vendor/pygments-main/pygments/lexers/__pycache__/teal.cpython-313.pyc +0 -0
  290. data/vendor/pygments-main/pygments/lexers/__pycache__/templates.cpython-313.pyc +0 -0
  291. data/vendor/pygments-main/pygments/lexers/__pycache__/teraterm.cpython-313.pyc +0 -0
  292. data/vendor/pygments-main/pygments/lexers/__pycache__/testing.cpython-313.pyc +0 -0
  293. data/vendor/pygments-main/pygments/lexers/__pycache__/text.cpython-313.pyc +0 -0
  294. data/vendor/pygments-main/pygments/lexers/__pycache__/textedit.cpython-313.pyc +0 -0
  295. data/vendor/pygments-main/pygments/lexers/__pycache__/textfmts.cpython-313.pyc +0 -0
  296. data/vendor/pygments-main/pygments/lexers/__pycache__/theorem.cpython-313.pyc +0 -0
  297. data/vendor/pygments-main/pygments/lexers/__pycache__/thingsdb.cpython-313.pyc +0 -0
  298. data/vendor/pygments-main/pygments/lexers/__pycache__/tlb.cpython-313.pyc +0 -0
  299. data/vendor/pygments-main/pygments/lexers/__pycache__/tls.cpython-313.pyc +0 -0
  300. data/vendor/pygments-main/pygments/lexers/__pycache__/tnt.cpython-313.pyc +0 -0
  301. data/vendor/pygments-main/pygments/lexers/__pycache__/trafficscript.cpython-313.pyc +0 -0
  302. data/vendor/pygments-main/pygments/lexers/__pycache__/typoscript.cpython-313.pyc +0 -0
  303. data/vendor/pygments-main/pygments/lexers/__pycache__/typst.cpython-313.pyc +0 -0
  304. data/vendor/pygments-main/pygments/lexers/__pycache__/ul4.cpython-313.pyc +0 -0
  305. data/vendor/pygments-main/pygments/lexers/__pycache__/unicon.cpython-313.pyc +0 -0
  306. data/vendor/pygments-main/pygments/lexers/__pycache__/urbi.cpython-313.pyc +0 -0
  307. data/vendor/pygments-main/pygments/lexers/__pycache__/usd.cpython-313.pyc +0 -0
  308. data/vendor/pygments-main/pygments/lexers/__pycache__/varnish.cpython-313.pyc +0 -0
  309. data/vendor/pygments-main/pygments/lexers/__pycache__/verification.cpython-313.pyc +0 -0
  310. data/vendor/pygments-main/pygments/lexers/__pycache__/verifpal.cpython-313.pyc +0 -0
  311. data/vendor/pygments-main/pygments/lexers/__pycache__/vip.cpython-313.pyc +0 -0
  312. data/vendor/pygments-main/pygments/lexers/__pycache__/vyper.cpython-313.pyc +0 -0
  313. data/vendor/pygments-main/pygments/lexers/__pycache__/web.cpython-313.pyc +0 -0
  314. data/vendor/pygments-main/pygments/lexers/__pycache__/webassembly.cpython-313.pyc +0 -0
  315. data/vendor/pygments-main/pygments/lexers/__pycache__/webidl.cpython-313.pyc +0 -0
  316. data/vendor/pygments-main/pygments/lexers/__pycache__/webmisc.cpython-313.pyc +0 -0
  317. data/vendor/pygments-main/pygments/lexers/__pycache__/wgsl.cpython-313.pyc +0 -0
  318. data/vendor/pygments-main/pygments/lexers/__pycache__/whiley.cpython-313.pyc +0 -0
  319. data/vendor/pygments-main/pygments/lexers/__pycache__/wowtoc.cpython-313.pyc +0 -0
  320. data/vendor/pygments-main/pygments/lexers/__pycache__/wren.cpython-313.pyc +0 -0
  321. data/vendor/pygments-main/pygments/lexers/__pycache__/x10.cpython-313.pyc +0 -0
  322. data/vendor/pygments-main/pygments/lexers/__pycache__/xorg.cpython-313.pyc +0 -0
  323. data/vendor/pygments-main/pygments/lexers/__pycache__/yang.cpython-313.pyc +0 -0
  324. data/vendor/pygments-main/pygments/lexers/__pycache__/yara.cpython-313.pyc +0 -0
  325. data/vendor/pygments-main/pygments/lexers/__pycache__/zig.cpython-313.pyc +0 -0
  326. data/vendor/pygments-main/pygments/lexers/_ada_builtins.py +1 -1
  327. data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +1 -1
  328. data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +1 -1
  329. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +2 -2
  330. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1 -1
  331. data/vendor/pygments-main/pygments/lexers/_css_builtins.py +1 -1
  332. data/vendor/pygments-main/pygments/lexers/_googlesql_builtins.py +918 -0
  333. data/vendor/pygments-main/pygments/lexers/_julia_builtins.py +1 -1
  334. data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +1 -1
  335. data/vendor/pygments-main/pygments/lexers/_lilypond_builtins.py +1 -1
  336. data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +5 -5
  337. data/vendor/pygments-main/pygments/lexers/_luau_builtins.py +62 -0
  338. data/vendor/pygments-main/pygments/lexers/_mapping.py +56 -13
  339. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1 -1
  340. data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +3 -3
  341. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +1 -1
  342. data/vendor/pygments-main/pygments/lexers/_php_builtins.py +3 -3
  343. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +5 -5
  344. data/vendor/pygments-main/pygments/lexers/_qlik_builtins.py +1 -1
  345. data/vendor/pygments-main/pygments/lexers/_scheme_builtins.py +1 -1
  346. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +4 -4
  347. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +3 -3
  348. data/vendor/pygments-main/pygments/lexers/_sql_builtins.py +106 -0
  349. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +1 -1
  350. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +1 -1
  351. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -1
  352. data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +1 -1
  353. data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +1 -1
  354. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -1
  355. data/vendor/pygments-main/pygments/lexers/actionscript.py +6 -8
  356. data/vendor/pygments-main/pygments/lexers/ada.py +3 -3
  357. data/vendor/pygments-main/pygments/lexers/agile.py +3 -1
  358. data/vendor/pygments-main/pygments/lexers/algebra.py +10 -13
  359. data/vendor/pygments-main/pygments/lexers/ambient.py +2 -3
  360. data/vendor/pygments-main/pygments/lexers/amdgpu.py +3 -3
  361. data/vendor/pygments-main/pygments/lexers/ampl.py +2 -3
  362. data/vendor/pygments-main/pygments/lexers/apdlexer.py +4 -3
  363. data/vendor/pygments-main/pygments/lexers/apl.py +2 -3
  364. data/vendor/pygments-main/pygments/lexers/archetype.py +8 -12
  365. data/vendor/pygments-main/pygments/lexers/arrow.py +2 -3
  366. data/vendor/pygments-main/pygments/lexers/arturo.py +2 -3
  367. data/vendor/pygments-main/pygments/lexers/asc.py +4 -4
  368. data/vendor/pygments-main/pygments/lexers/asm.py +48 -34
  369. data/vendor/pygments-main/pygments/lexers/asn1.py +178 -0
  370. data/vendor/pygments-main/pygments/lexers/automation.py +6 -8
  371. data/vendor/pygments-main/pygments/lexers/bare.py +2 -3
  372. data/vendor/pygments-main/pygments/lexers/basic.py +48 -57
  373. data/vendor/pygments-main/pygments/lexers/bdd.py +3 -4
  374. data/vendor/pygments-main/pygments/lexers/berry.py +4 -4
  375. data/vendor/pygments-main/pygments/lexers/bibtex.py +5 -5
  376. data/vendor/pygments-main/pygments/lexers/blueprint.py +173 -0
  377. data/vendor/pygments-main/pygments/lexers/boa.py +4 -4
  378. data/vendor/pygments-main/pygments/lexers/bqn.py +112 -0
  379. data/vendor/pygments-main/pygments/lexers/business.py +21 -22
  380. data/vendor/pygments-main/pygments/lexers/c_cpp.py +9 -4
  381. data/vendor/pygments-main/pygments/lexers/c_like.py +99 -27
  382. data/vendor/pygments-main/pygments/lexers/capnproto.py +2 -3
  383. data/vendor/pygments-main/pygments/lexers/carbon.py +10 -11
  384. data/vendor/pygments-main/pygments/lexers/cddl.py +8 -9
  385. data/vendor/pygments-main/pygments/lexers/chapel.py +2 -3
  386. data/vendor/pygments-main/pygments/lexers/clean.py +2 -1
  387. data/vendor/pygments-main/pygments/lexers/codeql.py +80 -0
  388. data/vendor/pygments-main/pygments/lexers/comal.py +2 -1
  389. data/vendor/pygments-main/pygments/lexers/compiled.py +2 -1
  390. data/vendor/pygments-main/pygments/lexers/configs.py +353 -110
  391. data/vendor/pygments-main/pygments/lexers/console.py +5 -5
  392. data/vendor/pygments-main/pygments/lexers/cplint.py +2 -3
  393. data/vendor/pygments-main/pygments/lexers/crystal.py +4 -5
  394. data/vendor/pygments-main/pygments/lexers/csound.py +6 -8
  395. data/vendor/pygments-main/pygments/lexers/css.py +6 -6
  396. data/vendor/pygments-main/pygments/lexers/d.py +4 -3
  397. data/vendor/pygments-main/pygments/lexers/dalvik.py +2 -3
  398. data/vendor/pygments-main/pygments/lexers/data.py +8 -12
  399. data/vendor/pygments-main/pygments/lexers/dax.py +2 -3
  400. data/vendor/pygments-main/pygments/lexers/devicetree.py +2 -3
  401. data/vendor/pygments-main/pygments/lexers/diff.py +7 -6
  402. data/vendor/pygments-main/pygments/lexers/dns.py +109 -0
  403. data/vendor/pygments-main/pygments/lexers/dotnet.py +58 -26
  404. data/vendor/pygments-main/pygments/lexers/dsls.py +24 -35
  405. data/vendor/pygments-main/pygments/lexers/dylan.py +9 -17
  406. data/vendor/pygments-main/pygments/lexers/ecl.py +2 -3
  407. data/vendor/pygments-main/pygments/lexers/eiffel.py +3 -4
  408. data/vendor/pygments-main/pygments/lexers/elm.py +3 -4
  409. data/vendor/pygments-main/pygments/lexers/elpi.py +45 -35
  410. data/vendor/pygments-main/pygments/lexers/email.py +3 -3
  411. data/vendor/pygments-main/pygments/lexers/erlang.py +22 -24
  412. data/vendor/pygments-main/pygments/lexers/esoteric.py +11 -12
  413. data/vendor/pygments-main/pygments/lexers/ezhil.py +2 -3
  414. data/vendor/pygments-main/pygments/lexers/factor.py +2 -3
  415. data/vendor/pygments-main/pygments/lexers/fantom.py +3 -3
  416. data/vendor/pygments-main/pygments/lexers/felix.py +9 -10
  417. data/vendor/pygments-main/pygments/lexers/fift.py +2 -1
  418. data/vendor/pygments-main/pygments/lexers/floscript.py +2 -3
  419. data/vendor/pygments-main/pygments/lexers/forth.py +2 -3
  420. data/vendor/pygments-main/pygments/lexers/fortran.py +6 -7
  421. data/vendor/pygments-main/pygments/lexers/foxpro.py +3 -3
  422. data/vendor/pygments-main/pygments/lexers/freefem.py +2 -3
  423. data/vendor/pygments-main/pygments/lexers/func.py +3 -1
  424. data/vendor/pygments-main/pygments/lexers/functional.py +2 -1
  425. data/vendor/pygments-main/pygments/lexers/futhark.py +6 -7
  426. data/vendor/pygments-main/pygments/lexers/gcodelexer.py +3 -3
  427. data/vendor/pygments-main/pygments/lexers/gdscript.py +2 -1
  428. data/vendor/pygments-main/pygments/lexers/gleam.py +74 -0
  429. data/vendor/pygments-main/pygments/lexers/go.py +3 -4
  430. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +6 -9
  431. data/vendor/pygments-main/pygments/lexers/graph.py +12 -9
  432. data/vendor/pygments-main/pygments/lexers/graphics.py +13 -17
  433. data/vendor/pygments-main/pygments/lexers/graphql.py +176 -0
  434. data/vendor/pygments-main/pygments/lexers/graphviz.py +2 -3
  435. data/vendor/pygments-main/pygments/lexers/gsql.py +2 -3
  436. data/vendor/pygments-main/pygments/lexers/hare.py +73 -0
  437. data/vendor/pygments-main/pygments/lexers/haskell.py +29 -34
  438. data/vendor/pygments-main/pygments/lexers/haxe.py +3 -5
  439. data/vendor/pygments-main/pygments/lexers/hdl.py +8 -7
  440. data/vendor/pygments-main/pygments/lexers/hexdump.py +3 -3
  441. data/vendor/pygments-main/pygments/lexers/html.py +79 -14
  442. data/vendor/pygments-main/pygments/lexers/idl.py +2 -3
  443. data/vendor/pygments-main/pygments/lexers/igor.py +306 -291
  444. data/vendor/pygments-main/pygments/lexers/inferno.py +2 -3
  445. data/vendor/pygments-main/pygments/lexers/installers.py +58 -33
  446. data/vendor/pygments-main/pygments/lexers/int_fiction.py +150 -162
  447. data/vendor/pygments-main/pygments/lexers/iolang.py +2 -3
  448. data/vendor/pygments-main/pygments/lexers/j.py +2 -3
  449. data/vendor/pygments-main/pygments/lexers/javascript.py +22 -19
  450. data/vendor/pygments-main/pygments/lexers/jmespath.py +2 -1
  451. data/vendor/pygments-main/pygments/lexers/jslt.py +2 -3
  452. data/vendor/pygments-main/pygments/lexers/json5.py +83 -0
  453. data/vendor/pygments-main/pygments/lexers/jsonnet.py +4 -3
  454. data/vendor/pygments-main/pygments/lexers/jsx.py +100 -0
  455. data/vendor/pygments-main/pygments/lexers/julia.py +5 -5
  456. data/vendor/pygments-main/pygments/lexers/jvm.py +99 -117
  457. data/vendor/pygments-main/pygments/lexers/kuin.py +2 -3
  458. data/vendor/pygments-main/pygments/lexers/kusto.py +93 -0
  459. data/vendor/pygments-main/pygments/lexers/ldap.py +155 -0
  460. data/vendor/pygments-main/pygments/lexers/lean.py +241 -0
  461. data/vendor/pygments-main/pygments/lexers/lilypond.py +2 -3
  462. data/vendor/pygments-main/pygments/lexers/lisp.py +373 -65
  463. data/vendor/pygments-main/pygments/lexers/macaulay2.py +175 -100
  464. data/vendor/pygments-main/pygments/lexers/make.py +7 -5
  465. data/vendor/pygments-main/pygments/lexers/maple.py +291 -0
  466. data/vendor/pygments-main/pygments/lexers/markup.py +242 -91
  467. data/vendor/pygments-main/pygments/lexers/math.py +2 -1
  468. data/vendor/pygments-main/pygments/lexers/matlab.py +14 -15
  469. data/vendor/pygments-main/pygments/lexers/maxima.py +2 -3
  470. data/vendor/pygments-main/pygments/lexers/meson.py +2 -3
  471. data/vendor/pygments-main/pygments/lexers/mime.py +4 -4
  472. data/vendor/pygments-main/pygments/lexers/minecraft.py +24 -27
  473. data/vendor/pygments-main/pygments/lexers/mips.py +3 -1
  474. data/vendor/pygments-main/pygments/lexers/ml.py +59 -61
  475. data/vendor/pygments-main/pygments/lexers/modeling.py +19 -22
  476. data/vendor/pygments-main/pygments/lexers/modula2.py +2 -3
  477. data/vendor/pygments-main/pygments/lexers/mojo.py +707 -0
  478. data/vendor/pygments-main/pygments/lexers/monte.py +2 -3
  479. data/vendor/pygments-main/pygments/lexers/mosel.py +3 -3
  480. data/vendor/pygments-main/pygments/lexers/ncl.py +4 -3
  481. data/vendor/pygments-main/pygments/lexers/nimrod.py +7 -8
  482. data/vendor/pygments-main/pygments/lexers/nit.py +2 -3
  483. data/vendor/pygments-main/pygments/lexers/nix.py +40 -31
  484. data/vendor/pygments-main/pygments/lexers/numbair.py +63 -0
  485. data/vendor/pygments-main/pygments/lexers/oberon.py +3 -3
  486. data/vendor/pygments-main/pygments/lexers/objective.py +25 -17
  487. data/vendor/pygments-main/pygments/lexers/ooc.py +4 -5
  488. data/vendor/pygments-main/pygments/lexers/openscad.py +96 -0
  489. data/vendor/pygments-main/pygments/lexers/other.py +2 -1
  490. data/vendor/pygments-main/pygments/lexers/parasail.py +2 -3
  491. data/vendor/pygments-main/pygments/lexers/parsers.py +41 -44
  492. data/vendor/pygments-main/pygments/lexers/pascal.py +6 -3
  493. data/vendor/pygments-main/pygments/lexers/pawn.py +5 -5
  494. data/vendor/pygments-main/pygments/lexers/pddl.py +82 -0
  495. data/vendor/pygments-main/pygments/lexers/perl.py +3 -3
  496. data/vendor/pygments-main/pygments/lexers/phix.py +2 -3
  497. data/vendor/pygments-main/pygments/lexers/php.py +4 -5
  498. data/vendor/pygments-main/pygments/lexers/pointless.py +2 -3
  499. data/vendor/pygments-main/pygments/lexers/pony.py +3 -3
  500. data/vendor/pygments-main/pygments/lexers/praat.py +2 -3
  501. data/vendor/pygments-main/pygments/lexers/procfile.py +2 -3
  502. data/vendor/pygments-main/pygments/lexers/prolog.py +23 -9
  503. data/vendor/pygments-main/pygments/lexers/promql.py +2 -1
  504. data/vendor/pygments-main/pygments/lexers/prql.py +251 -0
  505. data/vendor/pygments-main/pygments/lexers/ptx.py +119 -0
  506. data/vendor/pygments-main/pygments/lexers/python.py +49 -46
  507. data/vendor/pygments-main/pygments/lexers/q.py +5 -6
  508. data/vendor/pygments-main/pygments/lexers/qlik.py +3 -3
  509. data/vendor/pygments-main/pygments/lexers/qvt.py +5 -3
  510. data/vendor/pygments-main/pygments/lexers/r.py +14 -8
  511. data/vendor/pygments-main/pygments/lexers/rdf.py +21 -15
  512. data/vendor/pygments-main/pygments/lexers/rebol.py +7 -7
  513. data/vendor/pygments-main/pygments/lexers/rego.py +57 -0
  514. data/vendor/pygments-main/pygments/lexers/resource.py +5 -6
  515. data/vendor/pygments-main/pygments/lexers/ride.py +4 -5
  516. data/vendor/pygments-main/pygments/lexers/rita.py +2 -3
  517. data/vendor/pygments-main/pygments/lexers/rnc.py +2 -3
  518. data/vendor/pygments-main/pygments/lexers/roboconf.py +5 -5
  519. data/vendor/pygments-main/pygments/lexers/robotframework.py +2 -3
  520. data/vendor/pygments-main/pygments/lexers/ruby.py +8 -13
  521. data/vendor/pygments-main/pygments/lexers/rust.py +9 -10
  522. data/vendor/pygments-main/pygments/lexers/sas.py +3 -3
  523. data/vendor/pygments-main/pygments/lexers/savi.py +131 -130
  524. data/vendor/pygments-main/pygments/lexers/scdoc.py +13 -7
  525. data/vendor/pygments-main/pygments/lexers/scripting.py +385 -55
  526. data/vendor/pygments-main/pygments/lexers/sgf.py +2 -3
  527. data/vendor/pygments-main/pygments/lexers/shell.py +111 -129
  528. data/vendor/pygments-main/pygments/lexers/sieve.py +3 -3
  529. data/vendor/pygments-main/pygments/lexers/slash.py +4 -5
  530. data/vendor/pygments-main/pygments/lexers/smalltalk.py +3 -5
  531. data/vendor/pygments-main/pygments/lexers/smithy.py +2 -3
  532. data/vendor/pygments-main/pygments/lexers/smv.py +3 -3
  533. data/vendor/pygments-main/pygments/lexers/snobol.py +3 -3
  534. data/vendor/pygments-main/pygments/lexers/solidity.py +3 -3
  535. data/vendor/pygments-main/pygments/lexers/soong.py +78 -0
  536. data/vendor/pygments-main/pygments/lexers/sophia.py +3 -4
  537. data/vendor/pygments-main/pygments/lexers/special.py +9 -3
  538. data/vendor/pygments-main/pygments/lexers/spice.py +15 -16
  539. data/vendor/pygments-main/pygments/lexers/sql.py +224 -142
  540. data/vendor/pygments-main/pygments/lexers/srcinfo.py +3 -3
  541. data/vendor/pygments-main/pygments/lexers/stata.py +2 -3
  542. data/vendor/pygments-main/pygments/lexers/supercollider.py +2 -3
  543. data/vendor/pygments-main/pygments/lexers/tablegen.py +177 -0
  544. data/vendor/pygments-main/pygments/lexers/tact.py +303 -0
  545. data/vendor/pygments-main/pygments/lexers/tal.py +13 -10
  546. data/vendor/pygments-main/pygments/lexers/tcl.py +2 -3
  547. data/vendor/pygments-main/pygments/lexers/teal.py +2 -3
  548. data/vendor/pygments-main/pygments/lexers/templates.py +133 -74
  549. data/vendor/pygments-main/pygments/lexers/teraterm.py +2 -3
  550. data/vendor/pygments-main/pygments/lexers/testing.py +4 -5
  551. data/vendor/pygments-main/pygments/lexers/text.py +3 -2
  552. data/vendor/pygments-main/pygments/lexers/textedit.py +9 -6
  553. data/vendor/pygments-main/pygments/lexers/textfmts.py +20 -15
  554. data/vendor/pygments-main/pygments/lexers/theorem.py +41 -115
  555. data/vendor/pygments-main/pygments/lexers/thingsdb.py +50 -26
  556. data/vendor/pygments-main/pygments/lexers/tlb.py +3 -1
  557. data/vendor/pygments-main/pygments/lexers/tls.py +54 -0
  558. data/vendor/pygments-main/pygments/lexers/tnt.py +2 -3
  559. data/vendor/pygments-main/pygments/lexers/trafficscript.py +3 -3
  560. data/vendor/pygments-main/pygments/lexers/typoscript.py +6 -7
  561. data/vendor/pygments-main/pygments/lexers/typst.py +160 -0
  562. data/vendor/pygments-main/pygments/lexers/ul4.py +47 -5
  563. data/vendor/pygments-main/pygments/lexers/unicon.py +9 -7
  564. data/vendor/pygments-main/pygments/lexers/urbi.py +3 -3
  565. data/vendor/pygments-main/pygments/lexers/usd.py +6 -11
  566. data/vendor/pygments-main/pygments/lexers/varnish.py +5 -5
  567. data/vendor/pygments-main/pygments/lexers/verification.py +4 -5
  568. data/vendor/pygments-main/pygments/lexers/verifpal.py +65 -0
  569. data/vendor/pygments-main/pygments/lexers/vip.py +150 -0
  570. data/vendor/pygments-main/pygments/lexers/vyper.py +140 -0
  571. data/vendor/pygments-main/pygments/lexers/web.py +2 -1
  572. data/vendor/pygments-main/pygments/lexers/webassembly.py +2 -3
  573. data/vendor/pygments-main/pygments/lexers/webidl.py +2 -3
  574. data/vendor/pygments-main/pygments/lexers/webmisc.py +11 -15
  575. data/vendor/pygments-main/pygments/lexers/wgsl.py +6 -7
  576. data/vendor/pygments-main/pygments/lexers/whiley.py +2 -3
  577. data/vendor/pygments-main/pygments/lexers/wowtoc.py +3 -3
  578. data/vendor/pygments-main/pygments/lexers/wren.py +3 -4
  579. data/vendor/pygments-main/pygments/lexers/x10.py +6 -7
  580. data/vendor/pygments-main/pygments/lexers/xorg.py +2 -1
  581. data/vendor/pygments-main/pygments/lexers/yang.py +2 -3
  582. data/vendor/pygments-main/pygments/lexers/yara.py +69 -0
  583. data/vendor/pygments-main/pygments/lexers/zig.py +2 -1
  584. data/vendor/pygments-main/pygments/modeline.py +4 -4
  585. data/vendor/pygments-main/pygments/plugin.py +3 -19
  586. data/vendor/pygments-main/pygments/regexopt.py +1 -1
  587. data/vendor/pygments-main/pygments/scanner.py +1 -1
  588. data/vendor/pygments-main/pygments/sphinxext.py +38 -8
  589. data/vendor/pygments-main/pygments/style.py +8 -2
  590. data/vendor/pygments-main/pygments/styles/__init__.py +17 -59
  591. data/vendor/pygments-main/pygments/styles/__pycache__/__init__.cpython-313.pyc +0 -0
  592. data/vendor/pygments-main/pygments/styles/__pycache__/_mapping.cpython-313.pyc +0 -0
  593. data/vendor/pygments-main/pygments/styles/__pycache__/abap.cpython-313.pyc +0 -0
  594. data/vendor/pygments-main/pygments/styles/__pycache__/algol.cpython-313.pyc +0 -0
  595. data/vendor/pygments-main/pygments/styles/__pycache__/algol_nu.cpython-313.pyc +0 -0
  596. data/vendor/pygments-main/pygments/styles/__pycache__/arduino.cpython-313.pyc +0 -0
  597. data/vendor/pygments-main/pygments/styles/__pycache__/autumn.cpython-313.pyc +0 -0
  598. data/vendor/pygments-main/pygments/styles/__pycache__/borland.cpython-313.pyc +0 -0
  599. data/vendor/pygments-main/pygments/styles/__pycache__/bw.cpython-313.pyc +0 -0
  600. data/vendor/pygments-main/pygments/styles/__pycache__/coffee.cpython-313.pyc +0 -0
  601. data/vendor/pygments-main/pygments/styles/__pycache__/colorful.cpython-313.pyc +0 -0
  602. data/vendor/pygments-main/pygments/styles/__pycache__/default.cpython-313.pyc +0 -0
  603. data/vendor/pygments-main/pygments/styles/__pycache__/dracula.cpython-313.pyc +0 -0
  604. data/vendor/pygments-main/pygments/styles/__pycache__/emacs.cpython-313.pyc +0 -0
  605. data/vendor/pygments-main/pygments/styles/__pycache__/friendly.cpython-313.pyc +0 -0
  606. data/vendor/pygments-main/pygments/styles/__pycache__/friendly_grayscale.cpython-313.pyc +0 -0
  607. data/vendor/pygments-main/pygments/styles/__pycache__/fruity.cpython-313.pyc +0 -0
  608. data/vendor/pygments-main/pygments/styles/__pycache__/gh_dark.cpython-313.pyc +0 -0
  609. data/vendor/pygments-main/pygments/styles/__pycache__/gruvbox.cpython-313.pyc +0 -0
  610. data/vendor/pygments-main/pygments/styles/__pycache__/igor.cpython-313.pyc +0 -0
  611. data/vendor/pygments-main/pygments/styles/__pycache__/inkpot.cpython-313.pyc +0 -0
  612. data/vendor/pygments-main/pygments/styles/__pycache__/lightbulb.cpython-313.pyc +0 -0
  613. data/vendor/pygments-main/pygments/styles/__pycache__/lilypond.cpython-313.pyc +0 -0
  614. data/vendor/pygments-main/pygments/styles/__pycache__/lovelace.cpython-313.pyc +0 -0
  615. data/vendor/pygments-main/pygments/styles/__pycache__/manni.cpython-313.pyc +0 -0
  616. data/vendor/pygments-main/pygments/styles/__pycache__/material.cpython-313.pyc +0 -0
  617. data/vendor/pygments-main/pygments/styles/__pycache__/monokai.cpython-313.pyc +0 -0
  618. data/vendor/pygments-main/pygments/styles/__pycache__/murphy.cpython-313.pyc +0 -0
  619. data/vendor/pygments-main/pygments/styles/__pycache__/native.cpython-313.pyc +0 -0
  620. data/vendor/pygments-main/pygments/styles/__pycache__/nord.cpython-313.pyc +0 -0
  621. data/vendor/pygments-main/pygments/styles/__pycache__/onedark.cpython-313.pyc +0 -0
  622. data/vendor/pygments-main/pygments/styles/__pycache__/paraiso_dark.cpython-313.pyc +0 -0
  623. data/vendor/pygments-main/pygments/styles/__pycache__/paraiso_light.cpython-313.pyc +0 -0
  624. data/vendor/pygments-main/pygments/styles/__pycache__/pastie.cpython-313.pyc +0 -0
  625. data/vendor/pygments-main/pygments/styles/__pycache__/perldoc.cpython-313.pyc +0 -0
  626. data/vendor/pygments-main/pygments/styles/__pycache__/rainbow_dash.cpython-313.pyc +0 -0
  627. data/vendor/pygments-main/pygments/styles/__pycache__/rrt.cpython-313.pyc +0 -0
  628. data/vendor/pygments-main/pygments/styles/__pycache__/sas.cpython-313.pyc +0 -0
  629. data/vendor/pygments-main/pygments/styles/__pycache__/solarized.cpython-313.pyc +0 -0
  630. data/vendor/pygments-main/pygments/styles/__pycache__/staroffice.cpython-313.pyc +0 -0
  631. data/vendor/pygments-main/pygments/styles/__pycache__/stata_dark.cpython-313.pyc +0 -0
  632. data/vendor/pygments-main/pygments/styles/__pycache__/stata_light.cpython-313.pyc +0 -0
  633. data/vendor/pygments-main/pygments/styles/__pycache__/tango.cpython-313.pyc +0 -0
  634. data/vendor/pygments-main/pygments/styles/__pycache__/trac.cpython-313.pyc +0 -0
  635. data/vendor/pygments-main/pygments/styles/__pycache__/vim.cpython-313.pyc +0 -0
  636. data/vendor/pygments-main/pygments/styles/__pycache__/vs.cpython-313.pyc +0 -0
  637. data/vendor/pygments-main/pygments/styles/__pycache__/xcode.cpython-313.pyc +0 -0
  638. data/vendor/pygments-main/pygments/styles/__pycache__/zenburn.cpython-313.pyc +0 -0
  639. data/vendor/pygments-main/pygments/styles/_mapping.py +54 -0
  640. data/vendor/pygments-main/pygments/styles/abap.py +5 -1
  641. data/vendor/pygments-main/pygments/styles/algol.py +5 -1
  642. data/vendor/pygments-main/pygments/styles/algol_nu.py +5 -1
  643. data/vendor/pygments-main/pygments/styles/arduino.py +76 -72
  644. data/vendor/pygments-main/pygments/styles/autumn.py +6 -1
  645. data/vendor/pygments-main/pygments/styles/borland.py +6 -1
  646. data/vendor/pygments-main/pygments/styles/bw.py +6 -1
  647. data/vendor/pygments-main/pygments/styles/coffee.py +80 -0
  648. data/vendor/pygments-main/pygments/styles/colorful.py +6 -1
  649. data/vendor/pygments-main/pygments/styles/default.py +6 -1
  650. data/vendor/pygments-main/pygments/styles/dracula.py +68 -80
  651. data/vendor/pygments-main/pygments/styles/emacs.py +6 -1
  652. data/vendor/pygments-main/pygments/styles/friendly.py +6 -1
  653. data/vendor/pygments-main/pygments/styles/friendly_grayscale.py +6 -1
  654. data/vendor/pygments-main/pygments/styles/fruity.py +7 -1
  655. data/vendor/pygments-main/pygments/styles/gh_dark.py +7 -1
  656. data/vendor/pygments-main/pygments/styles/gruvbox.py +10 -1
  657. data/vendor/pygments-main/pygments/styles/igor.py +6 -1
  658. data/vendor/pygments-main/pygments/styles/inkpot.py +7 -2
  659. data/vendor/pygments-main/pygments/styles/lightbulb.py +110 -0
  660. data/vendor/pygments-main/pygments/styles/lilypond.py +8 -2
  661. data/vendor/pygments-main/pygments/styles/lovelace.py +16 -10
  662. data/vendor/pygments-main/pygments/styles/manni.py +7 -2
  663. data/vendor/pygments-main/pygments/styles/material.py +21 -14
  664. data/vendor/pygments-main/pygments/styles/monokai.py +16 -10
  665. data/vendor/pygments-main/pygments/styles/murphy.py +7 -2
  666. data/vendor/pygments-main/pygments/styles/native.py +10 -5
  667. data/vendor/pygments-main/pygments/styles/nord.py +9 -3
  668. data/vendor/pygments-main/pygments/styles/onedark.py +6 -2
  669. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +7 -2
  670. data/vendor/pygments-main/pygments/styles/paraiso_light.py +7 -2
  671. data/vendor/pygments-main/pygments/styles/pastie.py +7 -1
  672. data/vendor/pygments-main/pygments/styles/perldoc.py +7 -1
  673. data/vendor/pygments-main/pygments/styles/rainbow_dash.py +26 -19
  674. data/vendor/pygments-main/pygments/styles/rrt.py +9 -2
  675. data/vendor/pygments-main/pygments/styles/sas.py +6 -1
  676. data/vendor/pygments-main/pygments/styles/solarized.py +9 -1
  677. data/vendor/pygments-main/pygments/styles/staroffice.py +6 -1
  678. data/vendor/pygments-main/pygments/styles/stata_dark.py +6 -2
  679. data/vendor/pygments-main/pygments/styles/stata_light.py +6 -1
  680. data/vendor/pygments-main/pygments/styles/tango.py +7 -3
  681. data/vendor/pygments-main/pygments/styles/trac.py +7 -1
  682. data/vendor/pygments-main/pygments/styles/vim.py +7 -1
  683. data/vendor/pygments-main/pygments/styles/vs.py +7 -2
  684. data/vendor/pygments-main/pygments/styles/xcode.py +6 -1
  685. data/vendor/pygments-main/pygments/styles/zenburn.py +6 -1
  686. data/vendor/pygments-main/pygments/token.py +2 -1
  687. data/vendor/pygments-main/pygments/unistring.py +5 -5
  688. data/vendor/pygments-main/pygments/util.py +13 -19
  689. data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.19.2.dist-info}/METADATA +15 -13
  690. data/vendor/pygments-main/pygments-2.19.2.dist-info/RECORD +685 -0
  691. data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.19.2.dist-info}/WHEEL +1 -2
  692. data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.19.2.dist-info/licenses}/AUTHORS +21 -0
  693. metadata +390 -20
  694. data/vendor/pygments-main/Pygments-2.15.1.dist-info/RECORD +0 -614
  695. data/vendor/pygments-main/Pygments-2.15.1.dist-info/top_level.txt +0 -1
  696. /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.19.2.dist-info}/INSTALLER +0 -0
  697. /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.19.2.dist-info}/REQUESTED +0 -0
  698. /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.19.2.dist-info}/entry_points.txt +0 -0
  699. /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.19.2.dist-info/licenses}/LICENSE +0 -0
@@ -4,15 +4,14 @@
4
4
 
5
5
  Lexers for Python and related languages.
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
11
- import re
12
11
  import keyword
13
12
 
14
- from pygments.lexer import DelegatingLexer, Lexer, RegexLexer, include, \
15
- bygroups, using, default, words, combined, do_insertions, this, line_re
13
+ from pygments.lexer import DelegatingLexer, RegexLexer, include, \
14
+ bygroups, using, default, words, combined, this
16
15
  from pygments.util import get_bool_opt, shebang_matches
17
16
  from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
18
17
  Number, Punctuation, Generic, Other, Error, Whitespace
@@ -27,16 +26,14 @@ class PythonLexer(RegexLexer):
27
26
  """
28
27
  For Python source code (version 3.x).
29
28
 
30
- .. versionadded:: 0.10
31
-
32
29
  .. versionchanged:: 2.5
33
30
  This is now the default ``PythonLexer``. It is still available as the
34
31
  alias ``Python3Lexer``.
35
32
  """
36
33
 
37
34
  name = 'Python'
38
- url = 'http://www.python.org'
39
- aliases = ['python', 'py', 'sage', 'python3', 'py3']
35
+ url = 'https://www.python.org'
36
+ aliases = ['python', 'py', 'sage', 'python3', 'py3', 'bazel', 'starlark', 'pyi']
40
37
  filenames = [
41
38
  '*.py',
42
39
  '*.pyw',
@@ -61,8 +58,9 @@ class PythonLexer(RegexLexer):
61
58
  ]
62
59
  mimetypes = ['text/x-python', 'application/x-python',
63
60
  'text/x-python3', 'application/x-python3']
61
+ version_added = '0.10'
64
62
 
65
- uni_name = "[%s][%s]*" % (uni.xid_start, uni.xid_continue)
63
+ uni_name = f"[{uni.xid_start}][{uni.xid_continue}]*"
66
64
 
67
65
  def innerstring_rules(ttype):
68
66
  return [
@@ -111,11 +109,11 @@ class PythonLexer(RegexLexer):
111
109
  (r'\\', Text),
112
110
  include('keywords'),
113
111
  include('soft-keywords'),
114
- (r'(def)((?:\s|\\\s)+)', bygroups(Keyword, Text), 'funcname'),
115
- (r'(class)((?:\s|\\\s)+)', bygroups(Keyword, Text), 'classname'),
116
- (r'(from)((?:\s|\\\s)+)', bygroups(Keyword.Namespace, Text),
112
+ (r'(def)((?:\s|\\\s)+)', bygroups(Keyword, Whitespace), 'funcname'),
113
+ (r'(class)((?:\s|\\\s)+)', bygroups(Keyword, Whitespace), 'classname'),
114
+ (r'(from)((?:\s|\\\s)+)', bygroups(Keyword.Namespace, Whitespace),
117
115
  'fromimport'),
118
- (r'(import)((?:\s|\\\s)+)', bygroups(Keyword.Namespace, Text),
116
+ (r'(import)((?:\s|\\\s)+)', bygroups(Keyword.Namespace, Whitespace),
119
117
  'import'),
120
118
  include('expr'),
121
119
  ],
@@ -224,7 +222,8 @@ class PythonLexer(RegexLexer):
224
222
  r'(match|case)\b' # a possible keyword
225
223
  r'(?![ \t]*(?:' # not followed by...
226
224
  r'[:,;=^&|@~)\]}]|(?:' + # characters and keywords that mean this isn't
227
- r'|'.join(keyword.kwlist) + r')\b))', # pattern matching
225
+ # pattern matching (but None/True/False is ok)
226
+ r'|'.join(k for k in keyword.kwlist if k[0].islower()) + r')\b))',
228
227
  bygroups(Text, Keyword), 'soft-keywords-inner'),
229
228
  ],
230
229
  'soft-keywords-inner': [
@@ -330,14 +329,14 @@ class PythonLexer(RegexLexer):
330
329
  (uni_name, Name.Class, '#pop'),
331
330
  ],
332
331
  'import': [
333
- (r'(\s+)(as)(\s+)', bygroups(Text, Keyword, Text)),
332
+ (r'(\s+)(as)(\s+)', bygroups(Whitespace, Keyword, Whitespace)),
334
333
  (r'\.', Name.Namespace),
335
334
  (uni_name, Name.Namespace),
336
- (r'(\s*)(,)(\s*)', bygroups(Text, Operator, Text)),
335
+ (r'(\s*)(,)(\s*)', bygroups(Whitespace, Operator, Whitespace)),
337
336
  default('#pop') # all else: go back
338
337
  ],
339
338
  'fromimport': [
340
- (r'(\s+)(import)\b', bygroups(Text, Keyword.Namespace), '#pop'),
339
+ (r'(\s+)(import)\b', bygroups(Whitespace, Keyword.Namespace), '#pop'),
341
340
  (r'\.', Name.Namespace),
342
341
  # if None occurs here, it's "raise x from None", since None can
343
342
  # never be a module name
@@ -425,10 +424,11 @@ class Python2Lexer(RegexLexer):
425
424
  """
426
425
 
427
426
  name = 'Python 2.x'
428
- url = 'http://www.python.org'
427
+ url = 'https://www.python.org'
429
428
  aliases = ['python2', 'py2']
430
429
  filenames = [] # now taken over by PythonLexer (3.x)
431
430
  mimetypes = ['text/x-python2', 'application/x-python2']
431
+ version_added = ''
432
432
 
433
433
  def innerstring_rules(ttype):
434
434
  return [
@@ -459,11 +459,11 @@ class Python2Lexer(RegexLexer):
459
459
  (r'(in|is|and|or|not)\b', Operator.Word),
460
460
  (r'!=|==|<<|>>|[-~+/*%=<>&^|.]', Operator),
461
461
  include('keywords'),
462
- (r'(def)((?:\s|\\\s)+)', bygroups(Keyword, Text), 'funcname'),
463
- (r'(class)((?:\s|\\\s)+)', bygroups(Keyword, Text), 'classname'),
464
- (r'(from)((?:\s|\\\s)+)', bygroups(Keyword.Namespace, Text),
462
+ (r'(def)((?:\s|\\\s)+)', bygroups(Keyword, Whitespace), 'funcname'),
463
+ (r'(class)((?:\s|\\\s)+)', bygroups(Keyword, Whitespace), 'classname'),
464
+ (r'(from)((?:\s|\\\s)+)', bygroups(Keyword.Namespace, Whitespace),
465
465
  'fromimport'),
466
- (r'(import)((?:\s|\\\s)+)', bygroups(Keyword.Namespace, Text),
466
+ (r'(import)((?:\s|\\\s)+)', bygroups(Keyword.Namespace, Whitespace),
467
467
  'import'),
468
468
  include('builtins'),
469
469
  include('magicfuncs'),
@@ -635,9 +635,10 @@ class Python2Lexer(RegexLexer):
635
635
  def analyse_text(text):
636
636
  return shebang_matches(text, r'pythonw?2(\.\d)?')
637
637
 
638
+
638
639
  class _PythonConsoleLexerBase(RegexLexer):
639
640
  name = 'Python console session'
640
- aliases = ['pycon']
641
+ aliases = ['pycon', 'python-console']
641
642
  mimetypes = ['text/x-python-doctest']
642
643
 
643
644
  """Auxiliary lexer for `PythonConsoleLexer`.
@@ -671,6 +672,7 @@ class _PythonConsoleLexerBase(RegexLexer):
671
672
  ],
672
673
  }
673
674
 
675
+
674
676
  class PythonConsoleLexer(DelegatingLexer):
675
677
  """
676
678
  For Python console output or doctests, such as:
@@ -696,8 +698,10 @@ class PythonConsoleLexer(DelegatingLexer):
696
698
  """
697
699
 
698
700
  name = 'Python console session'
699
- aliases = ['pycon']
701
+ aliases = ['pycon', 'python-console']
700
702
  mimetypes = ['text/x-python-doctest']
703
+ url = 'https://python.org'
704
+ version_added = ''
701
705
 
702
706
  def __init__(self, **options):
703
707
  python3 = get_bool_opt(options, 'python3', True)
@@ -717,12 +721,11 @@ class PythonConsoleLexer(DelegatingLexer):
717
721
  super().__init__(pylexer, _PythonConsoleLexerBase, Other.Code, **options)
718
722
  super().__init__(tblexer, _ReplaceInnerCode, Other.Traceback, **options)
719
723
 
724
+
720
725
  class PythonTracebackLexer(RegexLexer):
721
726
  """
722
727
  For Python 3.x tracebacks, with support for chained exceptions.
723
728
 
724
- .. versionadded:: 1.0
725
-
726
729
  .. versionchanged:: 2.5
727
730
  This is now the default ``PythonTracebackLexer``. It is still available
728
731
  as the alias ``Python3TracebackLexer``.
@@ -732,6 +735,8 @@ class PythonTracebackLexer(RegexLexer):
732
735
  aliases = ['pytb', 'py3tb']
733
736
  filenames = ['*.pytb', '*.py3tb']
734
737
  mimetypes = ['text/x-python-traceback', 'text/x-python3-traceback']
738
+ url = 'https://python.org'
739
+ version_added = '1.0'
735
740
 
736
741
  tokens = {
737
742
  'root': [
@@ -778,8 +783,6 @@ class Python2TracebackLexer(RegexLexer):
778
783
  """
779
784
  For Python tracebacks.
780
785
 
781
- .. versionadded:: 0.7
782
-
783
786
  .. versionchanged:: 2.5
784
787
  This class has been renamed from ``PythonTracebackLexer``.
785
788
  ``PythonTracebackLexer`` now refers to the Python 3 variant.
@@ -789,6 +792,8 @@ class Python2TracebackLexer(RegexLexer):
789
792
  aliases = ['py2tb']
790
793
  filenames = ['*.py2tb']
791
794
  mimetypes = ['text/x-python2-traceback']
795
+ url = 'https://python.org'
796
+ version_added = '0.7'
792
797
 
793
798
  tokens = {
794
799
  'root': [
@@ -825,15 +830,14 @@ class Python2TracebackLexer(RegexLexer):
825
830
  class CythonLexer(RegexLexer):
826
831
  """
827
832
  For Pyrex and Cython source code.
828
-
829
- .. versionadded:: 1.1
830
833
  """
831
834
 
832
835
  name = 'Cython'
833
- url = 'http://cython.org'
836
+ url = 'https://cython.org'
834
837
  aliases = ['cython', 'pyx', 'pyrex']
835
838
  filenames = ['*.pyx', '*.pxd', '*.pxi']
836
839
  mimetypes = ['text/x-cython', 'application/x-cython']
840
+ version_added = '1.1'
837
841
 
838
842
  tokens = {
839
843
  'root': [
@@ -850,16 +854,16 @@ class CythonLexer(RegexLexer):
850
854
  bygroups(Punctuation, Keyword.Type, Punctuation)),
851
855
  (r'!=|==|<<|>>|[-~+/*%=<>&^|.?]', Operator),
852
856
  (r'(from)(\d+)(<=)(\s+)(<)(\d+)(:)',
853
- bygroups(Keyword, Number.Integer, Operator, Name, Operator,
857
+ bygroups(Keyword, Number.Integer, Operator, Whitespace, Operator,
854
858
  Name, Punctuation)),
855
859
  include('keywords'),
856
- (r'(def|property)(\s+)', bygroups(Keyword, Text), 'funcname'),
857
- (r'(cp?def)(\s+)', bygroups(Keyword, Text), 'cdef'),
860
+ (r'(def|property)(\s+)', bygroups(Keyword, Whitespace), 'funcname'),
861
+ (r'(cp?def)(\s+)', bygroups(Keyword, Whitespace), 'cdef'),
858
862
  # (should actually start a block with only cdefs)
859
863
  (r'(cdef)(:)', bygroups(Keyword, Punctuation)),
860
- (r'(class|struct)(\s+)', bygroups(Keyword, Text), 'classname'),
861
- (r'(from)(\s+)', bygroups(Keyword, Text), 'fromimport'),
862
- (r'(c?import)(\s+)', bygroups(Keyword, Text), 'import'),
864
+ (r'(class|struct)(\s+)', bygroups(Keyword, Whitespace), 'classname'),
865
+ (r'(from)(\s+)', bygroups(Keyword, Whitespace), 'fromimport'),
866
+ (r'(c?import)(\s+)', bygroups(Keyword, Whitespace), 'import'),
863
867
  include('builtins'),
864
868
  include('backtick'),
865
869
  ('(?:[rR]|[uU][rR]|[rR][uU])"""', String, 'tdqs'),
@@ -937,9 +941,9 @@ class CythonLexer(RegexLexer):
937
941
  (r'(public|readonly|extern|api|inline)\b', Keyword.Reserved),
938
942
  (r'(struct|enum|union|class)\b', Keyword),
939
943
  (r'([a-zA-Z_]\w*)(\s*)(?=[(:#=]|$)',
940
- bygroups(Name.Function, Text), '#pop'),
944
+ bygroups(Name.Function, Whitespace), '#pop'),
941
945
  (r'([a-zA-Z_]\w*)(\s*)(,)',
942
- bygroups(Name.Function, Text, Punctuation)),
946
+ bygroups(Name.Function, Whitespace, Punctuation)),
943
947
  (r'from\b', Keyword, '#pop'),
944
948
  (r'as\b', Keyword),
945
949
  (r':', Punctuation, '#pop'),
@@ -951,13 +955,13 @@ class CythonLexer(RegexLexer):
951
955
  (r'[a-zA-Z_]\w*', Name.Class, '#pop')
952
956
  ],
953
957
  'import': [
954
- (r'(\s+)(as)(\s+)', bygroups(Text, Keyword, Text)),
958
+ (r'(\s+)(as)(\s+)', bygroups(Whitespace, Keyword, Whitespace)),
955
959
  (r'[a-zA-Z_][\w.]*', Name.Namespace),
956
- (r'(\s*)(,)(\s*)', bygroups(Text, Operator, Text)),
960
+ (r'(\s*)(,)(\s*)', bygroups(Whitespace, Operator, Whitespace)),
957
961
  default('#pop') # all else: go back
958
962
  ],
959
963
  'fromimport': [
960
- (r'(\s+)(c?import)\b', bygroups(Text, Keyword), '#pop'),
964
+ (r'(\s+)(c?import)\b', bygroups(Whitespace, Keyword), '#pop'),
961
965
  (r'[a-zA-Z_.][\w.]*', Name.Namespace),
962
966
  # ``cdef foo from "header"``, or ``for foo from 0 < i < 10``
963
967
  default('#pop'),
@@ -1007,13 +1011,13 @@ class DgLexer(RegexLexer):
1007
1011
  Lexer for dg,
1008
1012
  a functional and object-oriented programming language
1009
1013
  running on the CPython 3 VM.
1010
-
1011
- .. versionadded:: 1.6
1012
1014
  """
1013
1015
  name = 'dg'
1014
1016
  aliases = ['dg']
1015
1017
  filenames = ['*.dg']
1016
1018
  mimetypes = ['text/x-dg']
1019
+ url = 'http://pyos.github.io/dg'
1020
+ version_added = '1.6'
1017
1021
 
1018
1022
  tokens = {
1019
1023
  'root': [
@@ -1104,13 +1108,12 @@ class DgLexer(RegexLexer):
1104
1108
  class NumPyLexer(PythonLexer):
1105
1109
  """
1106
1110
  A Python lexer recognizing Numerical Python builtins.
1107
-
1108
- .. versionadded:: 0.10
1109
1111
  """
1110
1112
 
1111
1113
  name = 'NumPy'
1112
1114
  url = 'https://numpy.org/'
1113
1115
  aliases = ['numpy']
1116
+ version_added = '0.10'
1114
1117
 
1115
1118
  # override the mimetypes to not inherit them from python
1116
1119
  mimetypes = []
@@ -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-2025 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-2025 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-2025 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-2025 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -28,6 +28,9 @@ 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 = ''
33
+ _example = "rconsole/r-console-transcript.Rout"
31
34
 
32
35
  def get_tokens_unprocessed(self, text):
33
36
  slexer = SLexer(**self.options)
@@ -67,8 +70,6 @@ class RConsoleLexer(Lexer):
67
70
  class SLexer(RegexLexer):
68
71
  """
69
72
  For S, S-plus, and R source code.
70
-
71
- .. versionadded:: 0.10
72
73
  """
73
74
 
74
75
  name = 'S'
@@ -76,6 +77,8 @@ class SLexer(RegexLexer):
76
77
  filenames = ['*.S', '*.R', '.Rhistory', '.Rprofile', '.Renviron']
77
78
  mimetypes = ['text/S-plus', 'text/S', 'text/x-r-source', 'text/x-r',
78
79
  'text/x-R', 'text/x-r-history', 'text/x-r-profile']
80
+ url = 'https://www.r-project.org'
81
+ version_added = '0.10'
79
82
 
80
83
  valid_name = r'`[^`\\]*(?:\\.[^`\\]*)*`|(?:[a-zA-Z]|\.[A-Za-z_.])[\w.]*|\.'
81
84
  tokens = {
@@ -85,6 +88,9 @@ class SLexer(RegexLexer):
85
88
  'valid_name': [
86
89
  (valid_name, Name),
87
90
  ],
91
+ 'function_name': [
92
+ (rf'({valid_name})\s*(?=\()', Name.Function),
93
+ ],
88
94
  'punctuation': [
89
95
  (r'\[{1,2}|\]{1,2}|\(|\)|;|,', Punctuation),
90
96
  ],
@@ -94,7 +100,7 @@ class SLexer(RegexLexer):
94
100
  Keyword.Reserved),
95
101
  ],
96
102
  'operators': [
97
- (r'<<?-|->>?|-|==|<=|>=|<|>|&&?|!=|\|\|?|\?', Operator),
103
+ (r'<<?-|->>?|-|==|<=|>=|\|>|<|>|&&?|!=|\|\|?|\?', Operator),
98
104
  (r'\*|\+|\^|/|!|%[^%]*%|=|~|\$|@|:{1,3}', Operator),
99
105
  ],
100
106
  'builtin_symbols': [
@@ -118,15 +124,15 @@ class SLexer(RegexLexer):
118
124
  (r'\'', String, 'string_squote'),
119
125
  (r'\"', String, 'string_dquote'),
120
126
  include('builtin_symbols'),
127
+ include('keywords'),
128
+ include('function_name'),
121
129
  include('valid_name'),
122
130
  include('numbers'),
123
- include('keywords'),
124
131
  include('punctuation'),
125
132
  include('operators'),
126
133
  ],
127
134
  'root': [
128
135
  # calls:
129
- (r'(%s)\s*(?=\()' % valid_name, Name.Function),
130
136
  include('statements'),
131
137
  # blocks:
132
138
  (r'\{|\}', Punctuation),
@@ -159,13 +165,13 @@ class RdLexer(RegexLexer):
159
165
  than the macros. A description of Rd syntax is found in `Writing R
160
166
  Extensions <http://cran.r-project.org/doc/manuals/R-exts.html>`_
161
167
  and `Parsing Rd files <http://developer.r-project.org/parseRd.pdf>`_.
162
-
163
- .. versionadded:: 1.6
164
168
  """
165
169
  name = 'Rd'
166
170
  aliases = ['rd']
167
171
  filenames = ['*.Rd']
168
172
  mimetypes = ['text/x-r-doc']
173
+ url = 'http://cran.r-project.org/doc/manuals/R-exts.html'
174
+ version_added = '1.6'
169
175
 
170
176
  # To account for verbatim / LaTeX-like / and R-like areas
171
177
  # 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-2025 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
 
@@ -276,7 +280,7 @@ class TurtleLexer(RegexLexer):
276
280
  ],
277
281
  'triple-double-quoted-string': [
278
282
  (r'"""', String, 'end-of-string'),
279
- (r'[^\\]+', String),
283
+ (r'[^\\]+(?=""")', String),
280
284
  (r'\\', String, 'string-escape'),
281
285
  ],
282
286
  'single-double-quoted-string': [
@@ -286,7 +290,7 @@ class TurtleLexer(RegexLexer):
286
290
  ],
287
291
  'triple-single-quoted-string': [
288
292
  (r"'''", String, 'end-of-string'),
289
- (r'[^\\]+', String),
293
+ (r"[^\\]+(?=''')", String),
290
294
  (r'\\', String, 'string-escape'),
291
295
  ],
292
296
  'single-single-quoted-string': [
@@ -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-2025 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