pygments.rb 3.0.0 → 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 (696) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +5 -5
  3. data/.github/workflows/release.yml +3 -3
  4. data/.rubocop.yml +1 -2
  5. data/CHANGELOG.adoc +7 -1
  6. data/Rakefile +1 -1
  7. data/bench.rb +3 -3
  8. data/lib/pygments/version.rb +1 -1
  9. data/pygments.rb.gemspec +3 -3
  10. data/test/test_pygments.rb +0 -4
  11. data/vendor/pygments-main/bin/pygmentize +1 -1
  12. data/vendor/pygments-main/pygments/__init__.py +2 -2
  13. data/vendor/pygments-main/pygments/__main__.py +1 -1
  14. data/vendor/pygments-main/pygments/__pycache__/__init__.cpython-313.pyc +0 -0
  15. data/vendor/pygments-main/pygments/__pycache__/__main__.cpython-313.pyc +0 -0
  16. data/vendor/pygments-main/pygments/__pycache__/cmdline.cpython-313.pyc +0 -0
  17. data/vendor/pygments-main/pygments/__pycache__/console.cpython-313.pyc +0 -0
  18. data/vendor/pygments-main/pygments/__pycache__/filter.cpython-313.pyc +0 -0
  19. data/vendor/pygments-main/pygments/__pycache__/formatter.cpython-313.pyc +0 -0
  20. data/vendor/pygments-main/pygments/__pycache__/lexer.cpython-313.pyc +0 -0
  21. data/vendor/pygments-main/pygments/__pycache__/modeline.cpython-313.pyc +0 -0
  22. data/vendor/pygments-main/pygments/__pycache__/plugin.cpython-313.pyc +0 -0
  23. data/vendor/pygments-main/pygments/__pycache__/regexopt.cpython-313.pyc +0 -0
  24. data/vendor/pygments-main/pygments/__pycache__/scanner.cpython-313.pyc +0 -0
  25. data/vendor/pygments-main/pygments/__pycache__/sphinxext.cpython-313.pyc +0 -0
  26. data/vendor/pygments-main/pygments/__pycache__/style.cpython-313.pyc +0 -0
  27. data/vendor/pygments-main/pygments/__pycache__/token.cpython-313.pyc +0 -0
  28. data/vendor/pygments-main/pygments/__pycache__/unistring.cpython-313.pyc +0 -0
  29. data/vendor/pygments-main/pygments/__pycache__/util.cpython-313.pyc +0 -0
  30. data/vendor/pygments-main/pygments/cmdline.py +1 -1
  31. data/vendor/pygments-main/pygments/console.py +1 -1
  32. data/vendor/pygments-main/pygments/filter.py +1 -1
  33. data/vendor/pygments-main/pygments/filters/__init__.py +1 -1
  34. data/vendor/pygments-main/pygments/filters/__pycache__/__init__.cpython-313.pyc +0 -0
  35. data/vendor/pygments-main/pygments/formatter.py +1 -1
  36. data/vendor/pygments-main/pygments/formatters/__init__.py +1 -1
  37. data/vendor/pygments-main/pygments/formatters/__pycache__/__init__.cpython-313.pyc +0 -0
  38. data/vendor/pygments-main/pygments/formatters/__pycache__/_mapping.cpython-313.pyc +0 -0
  39. data/vendor/pygments-main/pygments/formatters/__pycache__/bbcode.cpython-313.pyc +0 -0
  40. data/vendor/pygments-main/pygments/formatters/__pycache__/groff.cpython-313.pyc +0 -0
  41. data/vendor/pygments-main/pygments/formatters/__pycache__/html.cpython-313.pyc +0 -0
  42. data/vendor/pygments-main/pygments/formatters/__pycache__/img.cpython-313.pyc +0 -0
  43. data/vendor/pygments-main/pygments/formatters/__pycache__/irc.cpython-313.pyc +0 -0
  44. data/vendor/pygments-main/pygments/formatters/__pycache__/latex.cpython-313.pyc +0 -0
  45. data/vendor/pygments-main/pygments/formatters/__pycache__/other.cpython-313.pyc +0 -0
  46. data/vendor/pygments-main/pygments/formatters/__pycache__/pangomarkup.cpython-313.pyc +0 -0
  47. data/vendor/pygments-main/pygments/formatters/__pycache__/rtf.cpython-313.pyc +0 -0
  48. data/vendor/pygments-main/pygments/formatters/__pycache__/svg.cpython-313.pyc +0 -0
  49. data/vendor/pygments-main/pygments/formatters/__pycache__/terminal.cpython-313.pyc +0 -0
  50. data/vendor/pygments-main/pygments/formatters/__pycache__/terminal256.cpython-313.pyc +0 -0
  51. data/vendor/pygments-main/pygments/formatters/_mapping.py +0 -0
  52. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
  53. data/vendor/pygments-main/pygments/formatters/groff.py +1 -1
  54. data/vendor/pygments-main/pygments/formatters/html.py +12 -4
  55. data/vendor/pygments-main/pygments/formatters/img.py +3 -2
  56. data/vendor/pygments-main/pygments/formatters/irc.py +1 -1
  57. data/vendor/pygments-main/pygments/formatters/latex.py +1 -1
  58. data/vendor/pygments-main/pygments/formatters/other.py +1 -1
  59. data/vendor/pygments-main/pygments/formatters/pangomarkup.py +1 -1
  60. data/vendor/pygments-main/pygments/formatters/rtf.py +1 -1
  61. data/vendor/pygments-main/pygments/formatters/svg.py +1 -1
  62. data/vendor/pygments-main/pygments/formatters/terminal.py +1 -1
  63. data/vendor/pygments-main/pygments/formatters/terminal256.py +1 -1
  64. data/vendor/pygments-main/pygments/lexer.py +1 -1
  65. data/vendor/pygments-main/pygments/lexers/__init__.py +1 -1
  66. data/vendor/pygments-main/pygments/lexers/__pycache__/__init__.cpython-313.pyc +0 -0
  67. data/vendor/pygments-main/pygments/lexers/__pycache__/_ada_builtins.cpython-313.pyc +0 -0
  68. data/vendor/pygments-main/pygments/lexers/__pycache__/_asy_builtins.cpython-313.pyc +0 -0
  69. data/vendor/pygments-main/pygments/lexers/__pycache__/_cl_builtins.cpython-313.pyc +0 -0
  70. data/vendor/pygments-main/pygments/lexers/__pycache__/_cocoa_builtins.cpython-313.pyc +0 -0
  71. data/vendor/pygments-main/pygments/lexers/__pycache__/_csound_builtins.cpython-313.pyc +0 -0
  72. data/vendor/pygments-main/pygments/lexers/__pycache__/_css_builtins.cpython-313.pyc +0 -0
  73. data/vendor/pygments-main/pygments/lexers/__pycache__/_googlesql_builtins.cpython-313.pyc +0 -0
  74. data/vendor/pygments-main/pygments/lexers/__pycache__/_julia_builtins.cpython-313.pyc +0 -0
  75. data/vendor/pygments-main/pygments/lexers/__pycache__/_lasso_builtins.cpython-313.pyc +0 -0
  76. data/vendor/pygments-main/pygments/lexers/__pycache__/_lilypond_builtins.cpython-313.pyc +0 -0
  77. data/vendor/pygments-main/pygments/lexers/__pycache__/_lua_builtins.cpython-313.pyc +0 -0
  78. data/vendor/pygments-main/pygments/lexers/__pycache__/_luau_builtins.cpython-313.pyc +0 -0
  79. data/vendor/pygments-main/pygments/lexers/__pycache__/_mapping.cpython-313.pyc +0 -0
  80. data/vendor/pygments-main/pygments/lexers/__pycache__/_mql_builtins.cpython-313.pyc +0 -0
  81. data/vendor/pygments-main/pygments/lexers/__pycache__/_mysql_builtins.cpython-313.pyc +0 -0
  82. data/vendor/pygments-main/pygments/lexers/__pycache__/_openedge_builtins.cpython-313.pyc +0 -0
  83. data/vendor/pygments-main/pygments/lexers/__pycache__/_php_builtins.cpython-313.pyc +0 -0
  84. data/vendor/pygments-main/pygments/lexers/__pycache__/_postgres_builtins.cpython-313.pyc +0 -0
  85. data/vendor/pygments-main/pygments/lexers/__pycache__/_qlik_builtins.cpython-313.pyc +0 -0
  86. data/vendor/pygments-main/pygments/lexers/__pycache__/_scheme_builtins.cpython-313.pyc +0 -0
  87. data/vendor/pygments-main/pygments/lexers/__pycache__/_scilab_builtins.cpython-313.pyc +0 -0
  88. data/vendor/pygments-main/pygments/lexers/__pycache__/_sourcemod_builtins.cpython-313.pyc +0 -0
  89. data/vendor/pygments-main/pygments/lexers/__pycache__/_sql_builtins.cpython-313.pyc +0 -0
  90. data/vendor/pygments-main/pygments/lexers/__pycache__/_stan_builtins.cpython-313.pyc +0 -0
  91. data/vendor/pygments-main/pygments/lexers/__pycache__/_stata_builtins.cpython-313.pyc +0 -0
  92. data/vendor/pygments-main/pygments/lexers/__pycache__/_tsql_builtins.cpython-313.pyc +0 -0
  93. data/vendor/pygments-main/pygments/lexers/__pycache__/_usd_builtins.cpython-313.pyc +0 -0
  94. data/vendor/pygments-main/pygments/lexers/__pycache__/_vbscript_builtins.cpython-313.pyc +0 -0
  95. data/vendor/pygments-main/pygments/lexers/__pycache__/_vim_builtins.cpython-313.pyc +0 -0
  96. data/vendor/pygments-main/pygments/lexers/__pycache__/actionscript.cpython-313.pyc +0 -0
  97. data/vendor/pygments-main/pygments/lexers/__pycache__/ada.cpython-313.pyc +0 -0
  98. data/vendor/pygments-main/pygments/lexers/__pycache__/agile.cpython-313.pyc +0 -0
  99. data/vendor/pygments-main/pygments/lexers/__pycache__/algebra.cpython-313.pyc +0 -0
  100. data/vendor/pygments-main/pygments/lexers/__pycache__/ambient.cpython-313.pyc +0 -0
  101. data/vendor/pygments-main/pygments/lexers/__pycache__/amdgpu.cpython-313.pyc +0 -0
  102. data/vendor/pygments-main/pygments/lexers/__pycache__/ampl.cpython-313.pyc +0 -0
  103. data/vendor/pygments-main/pygments/lexers/__pycache__/apdlexer.cpython-313.pyc +0 -0
  104. data/vendor/pygments-main/pygments/lexers/__pycache__/apl.cpython-313.pyc +0 -0
  105. data/vendor/pygments-main/pygments/lexers/__pycache__/archetype.cpython-313.pyc +0 -0
  106. data/vendor/pygments-main/pygments/lexers/__pycache__/arrow.cpython-313.pyc +0 -0
  107. data/vendor/pygments-main/pygments/lexers/__pycache__/arturo.cpython-313.pyc +0 -0
  108. data/vendor/pygments-main/pygments/lexers/__pycache__/asc.cpython-313.pyc +0 -0
  109. data/vendor/pygments-main/pygments/lexers/__pycache__/asm.cpython-313.pyc +0 -0
  110. data/vendor/pygments-main/pygments/lexers/__pycache__/asn1.cpython-313.pyc +0 -0
  111. data/vendor/pygments-main/pygments/lexers/__pycache__/automation.cpython-313.pyc +0 -0
  112. data/vendor/pygments-main/pygments/lexers/__pycache__/bare.cpython-313.pyc +0 -0
  113. data/vendor/pygments-main/pygments/lexers/__pycache__/basic.cpython-313.pyc +0 -0
  114. data/vendor/pygments-main/pygments/lexers/__pycache__/bdd.cpython-313.pyc +0 -0
  115. data/vendor/pygments-main/pygments/lexers/__pycache__/berry.cpython-313.pyc +0 -0
  116. data/vendor/pygments-main/pygments/lexers/__pycache__/bibtex.cpython-313.pyc +0 -0
  117. data/vendor/pygments-main/pygments/lexers/__pycache__/blueprint.cpython-313.pyc +0 -0
  118. data/vendor/pygments-main/pygments/lexers/__pycache__/boa.cpython-313.pyc +0 -0
  119. data/vendor/pygments-main/pygments/lexers/__pycache__/bqn.cpython-313.pyc +0 -0
  120. data/vendor/pygments-main/pygments/lexers/__pycache__/business.cpython-313.pyc +0 -0
  121. data/vendor/pygments-main/pygments/lexers/__pycache__/c_cpp.cpython-313.pyc +0 -0
  122. data/vendor/pygments-main/pygments/lexers/__pycache__/c_like.cpython-313.pyc +0 -0
  123. data/vendor/pygments-main/pygments/lexers/__pycache__/capnproto.cpython-313.pyc +0 -0
  124. data/vendor/pygments-main/pygments/lexers/__pycache__/carbon.cpython-313.pyc +0 -0
  125. data/vendor/pygments-main/pygments/lexers/__pycache__/cddl.cpython-313.pyc +0 -0
  126. data/vendor/pygments-main/pygments/lexers/__pycache__/chapel.cpython-313.pyc +0 -0
  127. data/vendor/pygments-main/pygments/lexers/__pycache__/clean.cpython-313.pyc +0 -0
  128. data/vendor/pygments-main/pygments/lexers/__pycache__/codeql.cpython-313.pyc +0 -0
  129. data/vendor/pygments-main/pygments/lexers/__pycache__/comal.cpython-313.pyc +0 -0
  130. data/vendor/pygments-main/pygments/lexers/__pycache__/compiled.cpython-313.pyc +0 -0
  131. data/vendor/pygments-main/pygments/lexers/__pycache__/configs.cpython-313.pyc +0 -0
  132. data/vendor/pygments-main/pygments/lexers/__pycache__/console.cpython-313.pyc +0 -0
  133. data/vendor/pygments-main/pygments/lexers/__pycache__/cplint.cpython-313.pyc +0 -0
  134. data/vendor/pygments-main/pygments/lexers/__pycache__/crystal.cpython-313.pyc +0 -0
  135. data/vendor/pygments-main/pygments/lexers/__pycache__/csound.cpython-313.pyc +0 -0
  136. data/vendor/pygments-main/pygments/lexers/__pycache__/css.cpython-313.pyc +0 -0
  137. data/vendor/pygments-main/pygments/lexers/__pycache__/d.cpython-313.pyc +0 -0
  138. data/vendor/pygments-main/pygments/lexers/__pycache__/dalvik.cpython-313.pyc +0 -0
  139. data/vendor/pygments-main/pygments/lexers/__pycache__/data.cpython-313.pyc +0 -0
  140. data/vendor/pygments-main/pygments/lexers/__pycache__/dax.cpython-313.pyc +0 -0
  141. data/vendor/pygments-main/pygments/lexers/__pycache__/devicetree.cpython-313.pyc +0 -0
  142. data/vendor/pygments-main/pygments/lexers/__pycache__/diff.cpython-313.pyc +0 -0
  143. data/vendor/pygments-main/pygments/lexers/__pycache__/dns.cpython-313.pyc +0 -0
  144. data/vendor/pygments-main/pygments/lexers/__pycache__/dotnet.cpython-313.pyc +0 -0
  145. data/vendor/pygments-main/pygments/lexers/__pycache__/dsls.cpython-313.pyc +0 -0
  146. data/vendor/pygments-main/pygments/lexers/__pycache__/dylan.cpython-313.pyc +0 -0
  147. data/vendor/pygments-main/pygments/lexers/__pycache__/ecl.cpython-313.pyc +0 -0
  148. data/vendor/pygments-main/pygments/lexers/__pycache__/eiffel.cpython-313.pyc +0 -0
  149. data/vendor/pygments-main/pygments/lexers/__pycache__/elm.cpython-313.pyc +0 -0
  150. data/vendor/pygments-main/pygments/lexers/__pycache__/elpi.cpython-313.pyc +0 -0
  151. data/vendor/pygments-main/pygments/lexers/__pycache__/email.cpython-313.pyc +0 -0
  152. data/vendor/pygments-main/pygments/lexers/__pycache__/erlang.cpython-313.pyc +0 -0
  153. data/vendor/pygments-main/pygments/lexers/__pycache__/esoteric.cpython-313.pyc +0 -0
  154. data/vendor/pygments-main/pygments/lexers/__pycache__/ezhil.cpython-313.pyc +0 -0
  155. data/vendor/pygments-main/pygments/lexers/__pycache__/factor.cpython-313.pyc +0 -0
  156. data/vendor/pygments-main/pygments/lexers/__pycache__/fantom.cpython-313.pyc +0 -0
  157. data/vendor/pygments-main/pygments/lexers/__pycache__/felix.cpython-313.pyc +0 -0
  158. data/vendor/pygments-main/pygments/lexers/__pycache__/fift.cpython-313.pyc +0 -0
  159. data/vendor/pygments-main/pygments/lexers/__pycache__/floscript.cpython-313.pyc +0 -0
  160. data/vendor/pygments-main/pygments/lexers/__pycache__/forth.cpython-313.pyc +0 -0
  161. data/vendor/pygments-main/pygments/lexers/__pycache__/fortran.cpython-313.pyc +0 -0
  162. data/vendor/pygments-main/pygments/lexers/__pycache__/foxpro.cpython-313.pyc +0 -0
  163. data/vendor/pygments-main/pygments/lexers/__pycache__/freefem.cpython-313.pyc +0 -0
  164. data/vendor/pygments-main/pygments/lexers/__pycache__/func.cpython-313.pyc +0 -0
  165. data/vendor/pygments-main/pygments/lexers/__pycache__/functional.cpython-313.pyc +0 -0
  166. data/vendor/pygments-main/pygments/lexers/__pycache__/futhark.cpython-313.pyc +0 -0
  167. data/vendor/pygments-main/pygments/lexers/__pycache__/gcodelexer.cpython-313.pyc +0 -0
  168. data/vendor/pygments-main/pygments/lexers/__pycache__/gdscript.cpython-313.pyc +0 -0
  169. data/vendor/pygments-main/pygments/lexers/__pycache__/gleam.cpython-313.pyc +0 -0
  170. data/vendor/pygments-main/pygments/lexers/__pycache__/go.cpython-313.pyc +0 -0
  171. data/vendor/pygments-main/pygments/lexers/__pycache__/grammar_notation.cpython-313.pyc +0 -0
  172. data/vendor/pygments-main/pygments/lexers/__pycache__/graph.cpython-313.pyc +0 -0
  173. data/vendor/pygments-main/pygments/lexers/__pycache__/graphics.cpython-313.pyc +0 -0
  174. data/vendor/pygments-main/pygments/lexers/__pycache__/graphql.cpython-313.pyc +0 -0
  175. data/vendor/pygments-main/pygments/lexers/__pycache__/graphviz.cpython-313.pyc +0 -0
  176. data/vendor/pygments-main/pygments/lexers/__pycache__/gsql.cpython-313.pyc +0 -0
  177. data/vendor/pygments-main/pygments/lexers/__pycache__/hare.cpython-313.pyc +0 -0
  178. data/vendor/pygments-main/pygments/lexers/__pycache__/haskell.cpython-313.pyc +0 -0
  179. data/vendor/pygments-main/pygments/lexers/__pycache__/haxe.cpython-313.pyc +0 -0
  180. data/vendor/pygments-main/pygments/lexers/__pycache__/hdl.cpython-313.pyc +0 -0
  181. data/vendor/pygments-main/pygments/lexers/__pycache__/hexdump.cpython-313.pyc +0 -0
  182. data/vendor/pygments-main/pygments/lexers/__pycache__/html.cpython-313.pyc +0 -0
  183. data/vendor/pygments-main/pygments/lexers/__pycache__/idl.cpython-313.pyc +0 -0
  184. data/vendor/pygments-main/pygments/lexers/__pycache__/igor.cpython-313.pyc +0 -0
  185. data/vendor/pygments-main/pygments/lexers/__pycache__/inferno.cpython-313.pyc +0 -0
  186. data/vendor/pygments-main/pygments/lexers/__pycache__/installers.cpython-313.pyc +0 -0
  187. data/vendor/pygments-main/pygments/lexers/__pycache__/int_fiction.cpython-313.pyc +0 -0
  188. data/vendor/pygments-main/pygments/lexers/__pycache__/iolang.cpython-313.pyc +0 -0
  189. data/vendor/pygments-main/pygments/lexers/__pycache__/j.cpython-313.pyc +0 -0
  190. data/vendor/pygments-main/pygments/lexers/__pycache__/javascript.cpython-313.pyc +0 -0
  191. data/vendor/pygments-main/pygments/lexers/__pycache__/jmespath.cpython-313.pyc +0 -0
  192. data/vendor/pygments-main/pygments/lexers/__pycache__/jslt.cpython-313.pyc +0 -0
  193. data/vendor/pygments-main/pygments/lexers/__pycache__/json5.cpython-313.pyc +0 -0
  194. data/vendor/pygments-main/pygments/lexers/__pycache__/jsonnet.cpython-313.pyc +0 -0
  195. data/vendor/pygments-main/pygments/lexers/__pycache__/jsx.cpython-313.pyc +0 -0
  196. data/vendor/pygments-main/pygments/lexers/__pycache__/julia.cpython-313.pyc +0 -0
  197. data/vendor/pygments-main/pygments/lexers/__pycache__/jvm.cpython-313.pyc +0 -0
  198. data/vendor/pygments-main/pygments/lexers/__pycache__/kuin.cpython-313.pyc +0 -0
  199. data/vendor/pygments-main/pygments/lexers/__pycache__/kusto.cpython-313.pyc +0 -0
  200. data/vendor/pygments-main/pygments/lexers/__pycache__/ldap.cpython-313.pyc +0 -0
  201. data/vendor/pygments-main/pygments/lexers/__pycache__/lean.cpython-313.pyc +0 -0
  202. data/vendor/pygments-main/pygments/lexers/__pycache__/lilypond.cpython-313.pyc +0 -0
  203. data/vendor/pygments-main/pygments/lexers/__pycache__/lisp.cpython-313.pyc +0 -0
  204. data/vendor/pygments-main/pygments/lexers/__pycache__/macaulay2.cpython-313.pyc +0 -0
  205. data/vendor/pygments-main/pygments/lexers/__pycache__/make.cpython-313.pyc +0 -0
  206. data/vendor/pygments-main/pygments/lexers/__pycache__/maple.cpython-313.pyc +0 -0
  207. data/vendor/pygments-main/pygments/lexers/__pycache__/markup.cpython-313.pyc +0 -0
  208. data/vendor/pygments-main/pygments/lexers/__pycache__/math.cpython-313.pyc +0 -0
  209. data/vendor/pygments-main/pygments/lexers/__pycache__/matlab.cpython-313.pyc +0 -0
  210. data/vendor/pygments-main/pygments/lexers/__pycache__/maxima.cpython-313.pyc +0 -0
  211. data/vendor/pygments-main/pygments/lexers/__pycache__/meson.cpython-313.pyc +0 -0
  212. data/vendor/pygments-main/pygments/lexers/__pycache__/mime.cpython-313.pyc +0 -0
  213. data/vendor/pygments-main/pygments/lexers/__pycache__/minecraft.cpython-313.pyc +0 -0
  214. data/vendor/pygments-main/pygments/lexers/__pycache__/mips.cpython-313.pyc +0 -0
  215. data/vendor/pygments-main/pygments/lexers/__pycache__/ml.cpython-313.pyc +0 -0
  216. data/vendor/pygments-main/pygments/lexers/__pycache__/modeling.cpython-313.pyc +0 -0
  217. data/vendor/pygments-main/pygments/lexers/__pycache__/modula2.cpython-313.pyc +0 -0
  218. data/vendor/pygments-main/pygments/lexers/__pycache__/mojo.cpython-313.pyc +0 -0
  219. data/vendor/pygments-main/pygments/lexers/__pycache__/monte.cpython-313.pyc +0 -0
  220. data/vendor/pygments-main/pygments/lexers/__pycache__/mosel.cpython-313.pyc +0 -0
  221. data/vendor/pygments-main/pygments/lexers/__pycache__/ncl.cpython-313.pyc +0 -0
  222. data/vendor/pygments-main/pygments/lexers/__pycache__/nimrod.cpython-313.pyc +0 -0
  223. data/vendor/pygments-main/pygments/lexers/__pycache__/nit.cpython-313.pyc +0 -0
  224. data/vendor/pygments-main/pygments/lexers/__pycache__/nix.cpython-313.pyc +0 -0
  225. data/vendor/pygments-main/pygments/lexers/__pycache__/numbair.cpython-313.pyc +0 -0
  226. data/vendor/pygments-main/pygments/lexers/__pycache__/oberon.cpython-313.pyc +0 -0
  227. data/vendor/pygments-main/pygments/lexers/__pycache__/objective.cpython-313.pyc +0 -0
  228. data/vendor/pygments-main/pygments/lexers/__pycache__/ooc.cpython-313.pyc +0 -0
  229. data/vendor/pygments-main/pygments/lexers/__pycache__/openscad.cpython-313.pyc +0 -0
  230. data/vendor/pygments-main/pygments/lexers/__pycache__/other.cpython-313.pyc +0 -0
  231. data/vendor/pygments-main/pygments/lexers/__pycache__/parasail.cpython-313.pyc +0 -0
  232. data/vendor/pygments-main/pygments/lexers/__pycache__/parsers.cpython-313.pyc +0 -0
  233. data/vendor/pygments-main/pygments/lexers/__pycache__/pascal.cpython-313.pyc +0 -0
  234. data/vendor/pygments-main/pygments/lexers/__pycache__/pawn.cpython-313.pyc +0 -0
  235. data/vendor/pygments-main/pygments/lexers/__pycache__/pddl.cpython-313.pyc +0 -0
  236. data/vendor/pygments-main/pygments/lexers/__pycache__/perl.cpython-313.pyc +0 -0
  237. data/vendor/pygments-main/pygments/lexers/__pycache__/phix.cpython-313.pyc +0 -0
  238. data/vendor/pygments-main/pygments/lexers/__pycache__/php.cpython-313.pyc +0 -0
  239. data/vendor/pygments-main/pygments/lexers/__pycache__/pointless.cpython-313.pyc +0 -0
  240. data/vendor/pygments-main/pygments/lexers/__pycache__/pony.cpython-313.pyc +0 -0
  241. data/vendor/pygments-main/pygments/lexers/__pycache__/praat.cpython-313.pyc +0 -0
  242. data/vendor/pygments-main/pygments/lexers/__pycache__/procfile.cpython-313.pyc +0 -0
  243. data/vendor/pygments-main/pygments/lexers/__pycache__/prolog.cpython-313.pyc +0 -0
  244. data/vendor/pygments-main/pygments/lexers/__pycache__/promql.cpython-313.pyc +0 -0
  245. data/vendor/pygments-main/pygments/lexers/__pycache__/prql.cpython-313.pyc +0 -0
  246. data/vendor/pygments-main/pygments/lexers/__pycache__/ptx.cpython-313.pyc +0 -0
  247. data/vendor/pygments-main/pygments/lexers/__pycache__/python.cpython-313.pyc +0 -0
  248. data/vendor/pygments-main/pygments/lexers/__pycache__/q.cpython-313.pyc +0 -0
  249. data/vendor/pygments-main/pygments/lexers/__pycache__/qlik.cpython-313.pyc +0 -0
  250. data/vendor/pygments-main/pygments/lexers/__pycache__/qvt.cpython-313.pyc +0 -0
  251. data/vendor/pygments-main/pygments/lexers/__pycache__/r.cpython-313.pyc +0 -0
  252. data/vendor/pygments-main/pygments/lexers/__pycache__/rdf.cpython-313.pyc +0 -0
  253. data/vendor/pygments-main/pygments/lexers/__pycache__/rebol.cpython-313.pyc +0 -0
  254. data/vendor/pygments-main/pygments/lexers/__pycache__/rego.cpython-313.pyc +0 -0
  255. data/vendor/pygments-main/pygments/lexers/__pycache__/resource.cpython-313.pyc +0 -0
  256. data/vendor/pygments-main/pygments/lexers/__pycache__/ride.cpython-313.pyc +0 -0
  257. data/vendor/pygments-main/pygments/lexers/__pycache__/rita.cpython-313.pyc +0 -0
  258. data/vendor/pygments-main/pygments/lexers/__pycache__/rnc.cpython-313.pyc +0 -0
  259. data/vendor/pygments-main/pygments/lexers/__pycache__/roboconf.cpython-313.pyc +0 -0
  260. data/vendor/pygments-main/pygments/lexers/__pycache__/robotframework.cpython-313.pyc +0 -0
  261. data/vendor/pygments-main/pygments/lexers/__pycache__/ruby.cpython-313.pyc +0 -0
  262. data/vendor/pygments-main/pygments/lexers/__pycache__/rust.cpython-313.pyc +0 -0
  263. data/vendor/pygments-main/pygments/lexers/__pycache__/sas.cpython-313.pyc +0 -0
  264. data/vendor/pygments-main/pygments/lexers/__pycache__/savi.cpython-313.pyc +0 -0
  265. data/vendor/pygments-main/pygments/lexers/__pycache__/scdoc.cpython-313.pyc +0 -0
  266. data/vendor/pygments-main/pygments/lexers/__pycache__/scripting.cpython-313.pyc +0 -0
  267. data/vendor/pygments-main/pygments/lexers/__pycache__/sgf.cpython-313.pyc +0 -0
  268. data/vendor/pygments-main/pygments/lexers/__pycache__/shell.cpython-313.pyc +0 -0
  269. data/vendor/pygments-main/pygments/lexers/__pycache__/sieve.cpython-313.pyc +0 -0
  270. data/vendor/pygments-main/pygments/lexers/__pycache__/slash.cpython-313.pyc +0 -0
  271. data/vendor/pygments-main/pygments/lexers/__pycache__/smalltalk.cpython-313.pyc +0 -0
  272. data/vendor/pygments-main/pygments/lexers/__pycache__/smithy.cpython-313.pyc +0 -0
  273. data/vendor/pygments-main/pygments/lexers/__pycache__/smv.cpython-313.pyc +0 -0
  274. data/vendor/pygments-main/pygments/lexers/__pycache__/snobol.cpython-313.pyc +0 -0
  275. data/vendor/pygments-main/pygments/lexers/__pycache__/solidity.cpython-313.pyc +0 -0
  276. data/vendor/pygments-main/pygments/lexers/__pycache__/soong.cpython-313.pyc +0 -0
  277. data/vendor/pygments-main/pygments/lexers/__pycache__/sophia.cpython-313.pyc +0 -0
  278. data/vendor/pygments-main/pygments/lexers/__pycache__/special.cpython-313.pyc +0 -0
  279. data/vendor/pygments-main/pygments/lexers/__pycache__/spice.cpython-313.pyc +0 -0
  280. data/vendor/pygments-main/pygments/lexers/__pycache__/sql.cpython-313.pyc +0 -0
  281. data/vendor/pygments-main/pygments/lexers/__pycache__/srcinfo.cpython-313.pyc +0 -0
  282. data/vendor/pygments-main/pygments/lexers/__pycache__/stata.cpython-313.pyc +0 -0
  283. data/vendor/pygments-main/pygments/lexers/__pycache__/supercollider.cpython-313.pyc +0 -0
  284. data/vendor/pygments-main/pygments/lexers/__pycache__/tablegen.cpython-313.pyc +0 -0
  285. data/vendor/pygments-main/pygments/lexers/__pycache__/tact.cpython-313.pyc +0 -0
  286. data/vendor/pygments-main/pygments/lexers/__pycache__/tal.cpython-313.pyc +0 -0
  287. data/vendor/pygments-main/pygments/lexers/__pycache__/tcl.cpython-313.pyc +0 -0
  288. data/vendor/pygments-main/pygments/lexers/__pycache__/teal.cpython-313.pyc +0 -0
  289. data/vendor/pygments-main/pygments/lexers/__pycache__/templates.cpython-313.pyc +0 -0
  290. data/vendor/pygments-main/pygments/lexers/__pycache__/teraterm.cpython-313.pyc +0 -0
  291. data/vendor/pygments-main/pygments/lexers/__pycache__/testing.cpython-313.pyc +0 -0
  292. data/vendor/pygments-main/pygments/lexers/__pycache__/text.cpython-313.pyc +0 -0
  293. data/vendor/pygments-main/pygments/lexers/__pycache__/textedit.cpython-313.pyc +0 -0
  294. data/vendor/pygments-main/pygments/lexers/__pycache__/textfmts.cpython-313.pyc +0 -0
  295. data/vendor/pygments-main/pygments/lexers/__pycache__/theorem.cpython-313.pyc +0 -0
  296. data/vendor/pygments-main/pygments/lexers/__pycache__/thingsdb.cpython-313.pyc +0 -0
  297. data/vendor/pygments-main/pygments/lexers/__pycache__/tlb.cpython-313.pyc +0 -0
  298. data/vendor/pygments-main/pygments/lexers/__pycache__/tls.cpython-313.pyc +0 -0
  299. data/vendor/pygments-main/pygments/lexers/__pycache__/tnt.cpython-313.pyc +0 -0
  300. data/vendor/pygments-main/pygments/lexers/__pycache__/trafficscript.cpython-313.pyc +0 -0
  301. data/vendor/pygments-main/pygments/lexers/__pycache__/typoscript.cpython-313.pyc +0 -0
  302. data/vendor/pygments-main/pygments/lexers/__pycache__/typst.cpython-313.pyc +0 -0
  303. data/vendor/pygments-main/pygments/lexers/__pycache__/ul4.cpython-313.pyc +0 -0
  304. data/vendor/pygments-main/pygments/lexers/__pycache__/unicon.cpython-313.pyc +0 -0
  305. data/vendor/pygments-main/pygments/lexers/__pycache__/urbi.cpython-313.pyc +0 -0
  306. data/vendor/pygments-main/pygments/lexers/__pycache__/usd.cpython-313.pyc +0 -0
  307. data/vendor/pygments-main/pygments/lexers/__pycache__/varnish.cpython-313.pyc +0 -0
  308. data/vendor/pygments-main/pygments/lexers/__pycache__/verification.cpython-313.pyc +0 -0
  309. data/vendor/pygments-main/pygments/lexers/__pycache__/verifpal.cpython-313.pyc +0 -0
  310. data/vendor/pygments-main/pygments/lexers/__pycache__/vip.cpython-313.pyc +0 -0
  311. data/vendor/pygments-main/pygments/lexers/__pycache__/vyper.cpython-313.pyc +0 -0
  312. data/vendor/pygments-main/pygments/lexers/__pycache__/web.cpython-313.pyc +0 -0
  313. data/vendor/pygments-main/pygments/lexers/__pycache__/webassembly.cpython-313.pyc +0 -0
  314. data/vendor/pygments-main/pygments/lexers/__pycache__/webidl.cpython-313.pyc +0 -0
  315. data/vendor/pygments-main/pygments/lexers/__pycache__/webmisc.cpython-313.pyc +0 -0
  316. data/vendor/pygments-main/pygments/lexers/__pycache__/wgsl.cpython-313.pyc +0 -0
  317. data/vendor/pygments-main/pygments/lexers/__pycache__/whiley.cpython-313.pyc +0 -0
  318. data/vendor/pygments-main/pygments/lexers/__pycache__/wowtoc.cpython-313.pyc +0 -0
  319. data/vendor/pygments-main/pygments/lexers/__pycache__/wren.cpython-313.pyc +0 -0
  320. data/vendor/pygments-main/pygments/lexers/__pycache__/x10.cpython-313.pyc +0 -0
  321. data/vendor/pygments-main/pygments/lexers/__pycache__/xorg.cpython-313.pyc +0 -0
  322. data/vendor/pygments-main/pygments/lexers/__pycache__/yang.cpython-313.pyc +0 -0
  323. data/vendor/pygments-main/pygments/lexers/__pycache__/yara.cpython-313.pyc +0 -0
  324. data/vendor/pygments-main/pygments/lexers/__pycache__/zig.cpython-313.pyc +0 -0
  325. data/vendor/pygments-main/pygments/lexers/_ada_builtins.py +1 -1
  326. data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +1 -1
  327. data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +1 -1
  328. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +1 -1
  329. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1 -1
  330. data/vendor/pygments-main/pygments/lexers/_css_builtins.py +1 -1
  331. data/vendor/pygments-main/pygments/lexers/_googlesql_builtins.py +918 -0
  332. data/vendor/pygments-main/pygments/lexers/_julia_builtins.py +1 -1
  333. data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +1 -1
  334. data/vendor/pygments-main/pygments/lexers/_lilypond_builtins.py +1 -1
  335. data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +1 -1
  336. data/vendor/pygments-main/pygments/lexers/_luau_builtins.py +1 -1
  337. data/vendor/pygments-main/pygments/lexers/_mapping.py +16 -3
  338. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1 -1
  339. data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +1 -1
  340. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +1 -1
  341. data/vendor/pygments-main/pygments/lexers/_php_builtins.py +1 -1
  342. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +1 -1
  343. data/vendor/pygments-main/pygments/lexers/_qlik_builtins.py +1 -1
  344. data/vendor/pygments-main/pygments/lexers/_scheme_builtins.py +1 -1
  345. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +1 -1
  346. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1 -1
  347. data/vendor/pygments-main/pygments/lexers/_sql_builtins.py +106 -0
  348. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +1 -1
  349. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +1 -1
  350. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -1
  351. data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +1 -1
  352. data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +1 -1
  353. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -1
  354. data/vendor/pygments-main/pygments/lexers/actionscript.py +1 -1
  355. data/vendor/pygments-main/pygments/lexers/ada.py +1 -1
  356. data/vendor/pygments-main/pygments/lexers/agile.py +1 -1
  357. data/vendor/pygments-main/pygments/lexers/algebra.py +2 -1
  358. data/vendor/pygments-main/pygments/lexers/ambient.py +1 -1
  359. data/vendor/pygments-main/pygments/lexers/amdgpu.py +1 -1
  360. data/vendor/pygments-main/pygments/lexers/ampl.py +1 -1
  361. data/vendor/pygments-main/pygments/lexers/apdlexer.py +1 -1
  362. data/vendor/pygments-main/pygments/lexers/apl.py +1 -1
  363. data/vendor/pygments-main/pygments/lexers/archetype.py +1 -1
  364. data/vendor/pygments-main/pygments/lexers/arrow.py +1 -1
  365. data/vendor/pygments-main/pygments/lexers/arturo.py +1 -1
  366. data/vendor/pygments-main/pygments/lexers/asc.py +1 -1
  367. data/vendor/pygments-main/pygments/lexers/asm.py +21 -20
  368. data/vendor/pygments-main/pygments/lexers/asn1.py +1 -1
  369. data/vendor/pygments-main/pygments/lexers/automation.py +1 -1
  370. data/vendor/pygments-main/pygments/lexers/bare.py +1 -1
  371. data/vendor/pygments-main/pygments/lexers/basic.py +1 -1
  372. data/vendor/pygments-main/pygments/lexers/bdd.py +1 -1
  373. data/vendor/pygments-main/pygments/lexers/berry.py +1 -1
  374. data/vendor/pygments-main/pygments/lexers/bibtex.py +1 -1
  375. data/vendor/pygments-main/pygments/lexers/blueprint.py +1 -1
  376. data/vendor/pygments-main/pygments/lexers/boa.py +1 -1
  377. data/vendor/pygments-main/pygments/lexers/bqn.py +18 -15
  378. data/vendor/pygments-main/pygments/lexers/business.py +1 -1
  379. data/vendor/pygments-main/pygments/lexers/c_cpp.py +1 -1
  380. data/vendor/pygments-main/pygments/lexers/c_like.py +1 -1
  381. data/vendor/pygments-main/pygments/lexers/capnproto.py +1 -1
  382. data/vendor/pygments-main/pygments/lexers/carbon.py +1 -1
  383. data/vendor/pygments-main/pygments/lexers/cddl.py +1 -1
  384. data/vendor/pygments-main/pygments/lexers/chapel.py +1 -1
  385. data/vendor/pygments-main/pygments/lexers/clean.py +1 -1
  386. data/vendor/pygments-main/pygments/lexers/codeql.py +80 -0
  387. data/vendor/pygments-main/pygments/lexers/comal.py +1 -1
  388. data/vendor/pygments-main/pygments/lexers/compiled.py +1 -1
  389. data/vendor/pygments-main/pygments/lexers/configs.py +12 -3
  390. data/vendor/pygments-main/pygments/lexers/console.py +1 -1
  391. data/vendor/pygments-main/pygments/lexers/cplint.py +1 -1
  392. data/vendor/pygments-main/pygments/lexers/crystal.py +1 -1
  393. data/vendor/pygments-main/pygments/lexers/csound.py +1 -1
  394. data/vendor/pygments-main/pygments/lexers/css.py +2 -2
  395. data/vendor/pygments-main/pygments/lexers/d.py +1 -1
  396. data/vendor/pygments-main/pygments/lexers/dalvik.py +1 -1
  397. data/vendor/pygments-main/pygments/lexers/data.py +1 -1
  398. data/vendor/pygments-main/pygments/lexers/dax.py +1 -1
  399. data/vendor/pygments-main/pygments/lexers/devicetree.py +1 -1
  400. data/vendor/pygments-main/pygments/lexers/diff.py +1 -1
  401. data/vendor/pygments-main/pygments/lexers/dns.py +1 -1
  402. data/vendor/pygments-main/pygments/lexers/dotnet.py +40 -13
  403. data/vendor/pygments-main/pygments/lexers/dsls.py +1 -1
  404. data/vendor/pygments-main/pygments/lexers/dylan.py +3 -3
  405. data/vendor/pygments-main/pygments/lexers/ecl.py +1 -1
  406. data/vendor/pygments-main/pygments/lexers/eiffel.py +1 -1
  407. data/vendor/pygments-main/pygments/lexers/elm.py +1 -1
  408. data/vendor/pygments-main/pygments/lexers/elpi.py +23 -20
  409. data/vendor/pygments-main/pygments/lexers/email.py +1 -1
  410. data/vendor/pygments-main/pygments/lexers/erlang.py +1 -1
  411. data/vendor/pygments-main/pygments/lexers/esoteric.py +1 -1
  412. data/vendor/pygments-main/pygments/lexers/ezhil.py +1 -1
  413. data/vendor/pygments-main/pygments/lexers/factor.py +1 -1
  414. data/vendor/pygments-main/pygments/lexers/fantom.py +1 -1
  415. data/vendor/pygments-main/pygments/lexers/felix.py +1 -1
  416. data/vendor/pygments-main/pygments/lexers/fift.py +1 -1
  417. data/vendor/pygments-main/pygments/lexers/floscript.py +1 -1
  418. data/vendor/pygments-main/pygments/lexers/forth.py +1 -1
  419. data/vendor/pygments-main/pygments/lexers/fortran.py +1 -1
  420. data/vendor/pygments-main/pygments/lexers/foxpro.py +1 -1
  421. data/vendor/pygments-main/pygments/lexers/freefem.py +1 -1
  422. data/vendor/pygments-main/pygments/lexers/func.py +1 -1
  423. data/vendor/pygments-main/pygments/lexers/functional.py +1 -1
  424. data/vendor/pygments-main/pygments/lexers/futhark.py +1 -1
  425. data/vendor/pygments-main/pygments/lexers/gcodelexer.py +1 -1
  426. data/vendor/pygments-main/pygments/lexers/gdscript.py +1 -1
  427. data/vendor/pygments-main/pygments/lexers/gleam.py +74 -0
  428. data/vendor/pygments-main/pygments/lexers/go.py +1 -1
  429. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +1 -1
  430. data/vendor/pygments-main/pygments/lexers/graph.py +1 -1
  431. data/vendor/pygments-main/pygments/lexers/graphics.py +1 -1
  432. data/vendor/pygments-main/pygments/lexers/graphql.py +1 -1
  433. data/vendor/pygments-main/pygments/lexers/graphviz.py +1 -1
  434. data/vendor/pygments-main/pygments/lexers/gsql.py +1 -1
  435. data/vendor/pygments-main/pygments/lexers/hare.py +73 -0
  436. data/vendor/pygments-main/pygments/lexers/haskell.py +3 -3
  437. data/vendor/pygments-main/pygments/lexers/haxe.py +1 -1
  438. data/vendor/pygments-main/pygments/lexers/hdl.py +1 -1
  439. data/vendor/pygments-main/pygments/lexers/hexdump.py +1 -1
  440. data/vendor/pygments-main/pygments/lexers/html.py +47 -3
  441. data/vendor/pygments-main/pygments/lexers/idl.py +1 -1
  442. data/vendor/pygments-main/pygments/lexers/igor.py +2 -2
  443. data/vendor/pygments-main/pygments/lexers/inferno.py +1 -1
  444. data/vendor/pygments-main/pygments/lexers/installers.py +52 -25
  445. data/vendor/pygments-main/pygments/lexers/int_fiction.py +1 -1
  446. data/vendor/pygments-main/pygments/lexers/iolang.py +1 -1
  447. data/vendor/pygments-main/pygments/lexers/j.py +1 -1
  448. data/vendor/pygments-main/pygments/lexers/javascript.py +5 -1
  449. data/vendor/pygments-main/pygments/lexers/jmespath.py +1 -1
  450. data/vendor/pygments-main/pygments/lexers/jslt.py +1 -1
  451. data/vendor/pygments-main/pygments/lexers/json5.py +83 -0
  452. data/vendor/pygments-main/pygments/lexers/jsonnet.py +1 -1
  453. data/vendor/pygments-main/pygments/lexers/jsx.py +64 -39
  454. data/vendor/pygments-main/pygments/lexers/julia.py +2 -1
  455. data/vendor/pygments-main/pygments/lexers/jvm.py +2 -2
  456. data/vendor/pygments-main/pygments/lexers/kuin.py +1 -1
  457. data/vendor/pygments-main/pygments/lexers/kusto.py +1 -1
  458. data/vendor/pygments-main/pygments/lexers/ldap.py +1 -1
  459. data/vendor/pygments-main/pygments/lexers/lean.py +1 -1
  460. data/vendor/pygments-main/pygments/lexers/lilypond.py +1 -1
  461. data/vendor/pygments-main/pygments/lexers/lisp.py +1 -1
  462. data/vendor/pygments-main/pygments/lexers/macaulay2.py +128 -102
  463. data/vendor/pygments-main/pygments/lexers/make.py +1 -1
  464. data/vendor/pygments-main/pygments/lexers/maple.py +291 -0
  465. data/vendor/pygments-main/pygments/lexers/markup.py +1 -1
  466. data/vendor/pygments-main/pygments/lexers/math.py +1 -1
  467. data/vendor/pygments-main/pygments/lexers/matlab.py +5 -4
  468. data/vendor/pygments-main/pygments/lexers/maxima.py +1 -1
  469. data/vendor/pygments-main/pygments/lexers/meson.py +1 -1
  470. data/vendor/pygments-main/pygments/lexers/mime.py +1 -1
  471. data/vendor/pygments-main/pygments/lexers/minecraft.py +1 -1
  472. data/vendor/pygments-main/pygments/lexers/mips.py +1 -1
  473. data/vendor/pygments-main/pygments/lexers/ml.py +1 -1
  474. data/vendor/pygments-main/pygments/lexers/modeling.py +1 -1
  475. data/vendor/pygments-main/pygments/lexers/modula2.py +1 -1
  476. data/vendor/pygments-main/pygments/lexers/mojo.py +7 -4
  477. data/vendor/pygments-main/pygments/lexers/monte.py +1 -1
  478. data/vendor/pygments-main/pygments/lexers/mosel.py +1 -1
  479. data/vendor/pygments-main/pygments/lexers/ncl.py +1 -1
  480. data/vendor/pygments-main/pygments/lexers/nimrod.py +1 -1
  481. data/vendor/pygments-main/pygments/lexers/nit.py +1 -1
  482. data/vendor/pygments-main/pygments/lexers/nix.py +1 -1
  483. data/vendor/pygments-main/pygments/lexers/numbair.py +63 -0
  484. data/vendor/pygments-main/pygments/lexers/oberon.py +1 -1
  485. data/vendor/pygments-main/pygments/lexers/objective.py +12 -12
  486. data/vendor/pygments-main/pygments/lexers/ooc.py +3 -3
  487. data/vendor/pygments-main/pygments/lexers/openscad.py +1 -1
  488. data/vendor/pygments-main/pygments/lexers/other.py +1 -1
  489. data/vendor/pygments-main/pygments/lexers/parasail.py +1 -1
  490. data/vendor/pygments-main/pygments/lexers/parsers.py +1 -1
  491. data/vendor/pygments-main/pygments/lexers/pascal.py +1 -1
  492. data/vendor/pygments-main/pygments/lexers/pawn.py +1 -1
  493. data/vendor/pygments-main/pygments/lexers/pddl.py +82 -0
  494. data/vendor/pygments-main/pygments/lexers/perl.py +1 -1
  495. data/vendor/pygments-main/pygments/lexers/phix.py +1 -1
  496. data/vendor/pygments-main/pygments/lexers/php.py +1 -1
  497. data/vendor/pygments-main/pygments/lexers/pointless.py +1 -1
  498. data/vendor/pygments-main/pygments/lexers/pony.py +1 -1
  499. data/vendor/pygments-main/pygments/lexers/praat.py +1 -1
  500. data/vendor/pygments-main/pygments/lexers/procfile.py +1 -1
  501. data/vendor/pygments-main/pygments/lexers/prolog.py +1 -1
  502. data/vendor/pygments-main/pygments/lexers/promql.py +1 -1
  503. data/vendor/pygments-main/pygments/lexers/prql.py +1 -1
  504. data/vendor/pygments-main/pygments/lexers/ptx.py +1 -1
  505. data/vendor/pygments-main/pygments/lexers/python.py +27 -24
  506. data/vendor/pygments-main/pygments/lexers/q.py +1 -1
  507. data/vendor/pygments-main/pygments/lexers/qlik.py +1 -1
  508. data/vendor/pygments-main/pygments/lexers/qvt.py +1 -1
  509. data/vendor/pygments-main/pygments/lexers/r.py +8 -4
  510. data/vendor/pygments-main/pygments/lexers/rdf.py +3 -3
  511. data/vendor/pygments-main/pygments/lexers/rebol.py +1 -1
  512. data/vendor/pygments-main/pygments/lexers/rego.py +57 -0
  513. data/vendor/pygments-main/pygments/lexers/resource.py +1 -1
  514. data/vendor/pygments-main/pygments/lexers/ride.py +1 -1
  515. data/vendor/pygments-main/pygments/lexers/rita.py +1 -1
  516. data/vendor/pygments-main/pygments/lexers/rnc.py +1 -1
  517. data/vendor/pygments-main/pygments/lexers/roboconf.py +1 -1
  518. data/vendor/pygments-main/pygments/lexers/robotframework.py +1 -1
  519. data/vendor/pygments-main/pygments/lexers/ruby.py +1 -1
  520. data/vendor/pygments-main/pygments/lexers/rust.py +1 -1
  521. data/vendor/pygments-main/pygments/lexers/sas.py +1 -1
  522. data/vendor/pygments-main/pygments/lexers/savi.py +1 -1
  523. data/vendor/pygments-main/pygments/lexers/scdoc.py +1 -1
  524. data/vendor/pygments-main/pygments/lexers/scripting.py +32 -14
  525. data/vendor/pygments-main/pygments/lexers/sgf.py +1 -1
  526. data/vendor/pygments-main/pygments/lexers/shell.py +5 -1
  527. data/vendor/pygments-main/pygments/lexers/sieve.py +1 -1
  528. data/vendor/pygments-main/pygments/lexers/slash.py +1 -1
  529. data/vendor/pygments-main/pygments/lexers/smalltalk.py +1 -1
  530. data/vendor/pygments-main/pygments/lexers/smithy.py +1 -1
  531. data/vendor/pygments-main/pygments/lexers/smv.py +1 -1
  532. data/vendor/pygments-main/pygments/lexers/snobol.py +1 -1
  533. data/vendor/pygments-main/pygments/lexers/solidity.py +1 -1
  534. data/vendor/pygments-main/pygments/lexers/soong.py +1 -1
  535. data/vendor/pygments-main/pygments/lexers/sophia.py +1 -1
  536. data/vendor/pygments-main/pygments/lexers/special.py +2 -1
  537. data/vendor/pygments-main/pygments/lexers/spice.py +1 -1
  538. data/vendor/pygments-main/pygments/lexers/sql.py +201 -125
  539. data/vendor/pygments-main/pygments/lexers/srcinfo.py +1 -1
  540. data/vendor/pygments-main/pygments/lexers/stata.py +1 -1
  541. data/vendor/pygments-main/pygments/lexers/supercollider.py +1 -1
  542. data/vendor/pygments-main/pygments/lexers/tablegen.py +177 -0
  543. data/vendor/pygments-main/pygments/lexers/tact.py +1 -1
  544. data/vendor/pygments-main/pygments/lexers/tal.py +1 -1
  545. data/vendor/pygments-main/pygments/lexers/tcl.py +1 -1
  546. data/vendor/pygments-main/pygments/lexers/teal.py +1 -1
  547. data/vendor/pygments-main/pygments/lexers/templates.py +3 -3
  548. data/vendor/pygments-main/pygments/lexers/teraterm.py +1 -1
  549. data/vendor/pygments-main/pygments/lexers/testing.py +1 -1
  550. data/vendor/pygments-main/pygments/lexers/text.py +2 -2
  551. data/vendor/pygments-main/pygments/lexers/textedit.py +1 -1
  552. data/vendor/pygments-main/pygments/lexers/textfmts.py +1 -1
  553. data/vendor/pygments-main/pygments/lexers/theorem.py +1 -1
  554. data/vendor/pygments-main/pygments/lexers/thingsdb.py +1 -1
  555. data/vendor/pygments-main/pygments/lexers/tlb.py +1 -1
  556. data/vendor/pygments-main/pygments/lexers/tls.py +1 -1
  557. data/vendor/pygments-main/pygments/lexers/tnt.py +1 -1
  558. data/vendor/pygments-main/pygments/lexers/trafficscript.py +1 -1
  559. data/vendor/pygments-main/pygments/lexers/typoscript.py +1 -1
  560. data/vendor/pygments-main/pygments/lexers/typst.py +82 -26
  561. data/vendor/pygments-main/pygments/lexers/ul4.py +1 -1
  562. data/vendor/pygments-main/pygments/lexers/unicon.py +1 -1
  563. data/vendor/pygments-main/pygments/lexers/urbi.py +1 -1
  564. data/vendor/pygments-main/pygments/lexers/usd.py +1 -1
  565. data/vendor/pygments-main/pygments/lexers/varnish.py +1 -1
  566. data/vendor/pygments-main/pygments/lexers/verification.py +1 -1
  567. data/vendor/pygments-main/pygments/lexers/verifpal.py +1 -1
  568. data/vendor/pygments-main/pygments/lexers/vip.py +1 -1
  569. data/vendor/pygments-main/pygments/lexers/vyper.py +2 -2
  570. data/vendor/pygments-main/pygments/lexers/web.py +1 -1
  571. data/vendor/pygments-main/pygments/lexers/webassembly.py +1 -1
  572. data/vendor/pygments-main/pygments/lexers/webidl.py +1 -1
  573. data/vendor/pygments-main/pygments/lexers/webmisc.py +1 -1
  574. data/vendor/pygments-main/pygments/lexers/wgsl.py +1 -1
  575. data/vendor/pygments-main/pygments/lexers/whiley.py +1 -1
  576. data/vendor/pygments-main/pygments/lexers/wowtoc.py +1 -1
  577. data/vendor/pygments-main/pygments/lexers/wren.py +1 -1
  578. data/vendor/pygments-main/pygments/lexers/x10.py +1 -1
  579. data/vendor/pygments-main/pygments/lexers/xorg.py +1 -1
  580. data/vendor/pygments-main/pygments/lexers/yang.py +1 -1
  581. data/vendor/pygments-main/pygments/lexers/yara.py +1 -1
  582. data/vendor/pygments-main/pygments/lexers/zig.py +1 -1
  583. data/vendor/pygments-main/pygments/modeline.py +1 -1
  584. data/vendor/pygments-main/pygments/plugin.py +1 -1
  585. data/vendor/pygments-main/pygments/regexopt.py +1 -1
  586. data/vendor/pygments-main/pygments/scanner.py +1 -1
  587. data/vendor/pygments-main/pygments/sphinxext.py +1 -1
  588. data/vendor/pygments-main/pygments/style.py +1 -1
  589. data/vendor/pygments-main/pygments/styles/__init__.py +1 -1
  590. data/vendor/pygments-main/pygments/styles/__pycache__/__init__.cpython-313.pyc +0 -0
  591. data/vendor/pygments-main/pygments/styles/__pycache__/_mapping.cpython-313.pyc +0 -0
  592. data/vendor/pygments-main/pygments/styles/__pycache__/abap.cpython-313.pyc +0 -0
  593. data/vendor/pygments-main/pygments/styles/__pycache__/algol.cpython-313.pyc +0 -0
  594. data/vendor/pygments-main/pygments/styles/__pycache__/algol_nu.cpython-313.pyc +0 -0
  595. data/vendor/pygments-main/pygments/styles/__pycache__/arduino.cpython-313.pyc +0 -0
  596. data/vendor/pygments-main/pygments/styles/__pycache__/autumn.cpython-313.pyc +0 -0
  597. data/vendor/pygments-main/pygments/styles/__pycache__/borland.cpython-313.pyc +0 -0
  598. data/vendor/pygments-main/pygments/styles/__pycache__/bw.cpython-313.pyc +0 -0
  599. data/vendor/pygments-main/pygments/styles/__pycache__/coffee.cpython-313.pyc +0 -0
  600. data/vendor/pygments-main/pygments/styles/__pycache__/colorful.cpython-313.pyc +0 -0
  601. data/vendor/pygments-main/pygments/styles/__pycache__/default.cpython-313.pyc +0 -0
  602. data/vendor/pygments-main/pygments/styles/__pycache__/dracula.cpython-313.pyc +0 -0
  603. data/vendor/pygments-main/pygments/styles/__pycache__/emacs.cpython-313.pyc +0 -0
  604. data/vendor/pygments-main/pygments/styles/__pycache__/friendly.cpython-313.pyc +0 -0
  605. data/vendor/pygments-main/pygments/styles/__pycache__/friendly_grayscale.cpython-313.pyc +0 -0
  606. data/vendor/pygments-main/pygments/styles/__pycache__/fruity.cpython-313.pyc +0 -0
  607. data/vendor/pygments-main/pygments/styles/__pycache__/gh_dark.cpython-313.pyc +0 -0
  608. data/vendor/pygments-main/pygments/styles/__pycache__/gruvbox.cpython-313.pyc +0 -0
  609. data/vendor/pygments-main/pygments/styles/__pycache__/igor.cpython-313.pyc +0 -0
  610. data/vendor/pygments-main/pygments/styles/__pycache__/inkpot.cpython-313.pyc +0 -0
  611. data/vendor/pygments-main/pygments/styles/__pycache__/lightbulb.cpython-313.pyc +0 -0
  612. data/vendor/pygments-main/pygments/styles/__pycache__/lilypond.cpython-313.pyc +0 -0
  613. data/vendor/pygments-main/pygments/styles/__pycache__/lovelace.cpython-313.pyc +0 -0
  614. data/vendor/pygments-main/pygments/styles/__pycache__/manni.cpython-313.pyc +0 -0
  615. data/vendor/pygments-main/pygments/styles/__pycache__/material.cpython-313.pyc +0 -0
  616. data/vendor/pygments-main/pygments/styles/__pycache__/monokai.cpython-313.pyc +0 -0
  617. data/vendor/pygments-main/pygments/styles/__pycache__/murphy.cpython-313.pyc +0 -0
  618. data/vendor/pygments-main/pygments/styles/__pycache__/native.cpython-313.pyc +0 -0
  619. data/vendor/pygments-main/pygments/styles/__pycache__/nord.cpython-313.pyc +0 -0
  620. data/vendor/pygments-main/pygments/styles/__pycache__/onedark.cpython-313.pyc +0 -0
  621. data/vendor/pygments-main/pygments/styles/__pycache__/paraiso_dark.cpython-313.pyc +0 -0
  622. data/vendor/pygments-main/pygments/styles/__pycache__/paraiso_light.cpython-313.pyc +0 -0
  623. data/vendor/pygments-main/pygments/styles/__pycache__/pastie.cpython-313.pyc +0 -0
  624. data/vendor/pygments-main/pygments/styles/__pycache__/perldoc.cpython-313.pyc +0 -0
  625. data/vendor/pygments-main/pygments/styles/__pycache__/rainbow_dash.cpython-313.pyc +0 -0
  626. data/vendor/pygments-main/pygments/styles/__pycache__/rrt.cpython-313.pyc +0 -0
  627. data/vendor/pygments-main/pygments/styles/__pycache__/sas.cpython-313.pyc +0 -0
  628. data/vendor/pygments-main/pygments/styles/__pycache__/solarized.cpython-313.pyc +0 -0
  629. data/vendor/pygments-main/pygments/styles/__pycache__/staroffice.cpython-313.pyc +0 -0
  630. data/vendor/pygments-main/pygments/styles/__pycache__/stata_dark.cpython-313.pyc +0 -0
  631. data/vendor/pygments-main/pygments/styles/__pycache__/stata_light.cpython-313.pyc +0 -0
  632. data/vendor/pygments-main/pygments/styles/__pycache__/tango.cpython-313.pyc +0 -0
  633. data/vendor/pygments-main/pygments/styles/__pycache__/trac.cpython-313.pyc +0 -0
  634. data/vendor/pygments-main/pygments/styles/__pycache__/vim.cpython-313.pyc +0 -0
  635. data/vendor/pygments-main/pygments/styles/__pycache__/vs.cpython-313.pyc +0 -0
  636. data/vendor/pygments-main/pygments/styles/__pycache__/xcode.cpython-313.pyc +0 -0
  637. data/vendor/pygments-main/pygments/styles/__pycache__/zenburn.cpython-313.pyc +0 -0
  638. data/vendor/pygments-main/pygments/styles/abap.py +1 -1
  639. data/vendor/pygments-main/pygments/styles/algol.py +1 -1
  640. data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -1
  641. data/vendor/pygments-main/pygments/styles/arduino.py +1 -1
  642. data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
  643. data/vendor/pygments-main/pygments/styles/borland.py +1 -1
  644. data/vendor/pygments-main/pygments/styles/bw.py +1 -1
  645. data/vendor/pygments-main/pygments/styles/coffee.py +1 -1
  646. data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
  647. data/vendor/pygments-main/pygments/styles/default.py +1 -1
  648. data/vendor/pygments-main/pygments/styles/dracula.py +1 -1
  649. data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
  650. data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
  651. data/vendor/pygments-main/pygments/styles/friendly_grayscale.py +1 -1
  652. data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
  653. data/vendor/pygments-main/pygments/styles/gh_dark.py +1 -1
  654. data/vendor/pygments-main/pygments/styles/gruvbox.py +1 -1
  655. data/vendor/pygments-main/pygments/styles/igor.py +1 -1
  656. data/vendor/pygments-main/pygments/styles/inkpot.py +1 -1
  657. data/vendor/pygments-main/pygments/styles/lightbulb.py +1 -1
  658. data/vendor/pygments-main/pygments/styles/lilypond.py +1 -1
  659. data/vendor/pygments-main/pygments/styles/lovelace.py +1 -1
  660. data/vendor/pygments-main/pygments/styles/manni.py +1 -1
  661. data/vendor/pygments-main/pygments/styles/material.py +1 -1
  662. data/vendor/pygments-main/pygments/styles/monokai.py +1 -1
  663. data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
  664. data/vendor/pygments-main/pygments/styles/native.py +1 -1
  665. data/vendor/pygments-main/pygments/styles/nord.py +1 -1
  666. data/vendor/pygments-main/pygments/styles/onedark.py +1 -1
  667. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -1
  668. data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -1
  669. data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
  670. data/vendor/pygments-main/pygments/styles/perldoc.py +1 -1
  671. data/vendor/pygments-main/pygments/styles/rainbow_dash.py +1 -1
  672. data/vendor/pygments-main/pygments/styles/rrt.py +3 -2
  673. data/vendor/pygments-main/pygments/styles/sas.py +1 -1
  674. data/vendor/pygments-main/pygments/styles/solarized.py +1 -1
  675. data/vendor/pygments-main/pygments/styles/staroffice.py +1 -1
  676. data/vendor/pygments-main/pygments/styles/stata_dark.py +1 -1
  677. data/vendor/pygments-main/pygments/styles/stata_light.py +1 -1
  678. data/vendor/pygments-main/pygments/styles/tango.py +1 -1
  679. data/vendor/pygments-main/pygments/styles/trac.py +1 -1
  680. data/vendor/pygments-main/pygments/styles/vim.py +1 -1
  681. data/vendor/pygments-main/pygments/styles/vs.py +1 -1
  682. data/vendor/pygments-main/pygments/styles/xcode.py +1 -1
  683. data/vendor/pygments-main/pygments/styles/zenburn.py +1 -1
  684. data/vendor/pygments-main/pygments/token.py +1 -1
  685. data/vendor/pygments-main/pygments/unistring.py +1 -1
  686. data/vendor/pygments-main/pygments/util.py +1 -1
  687. data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.19.2.dist-info}/METADATA +4 -3
  688. data/vendor/pygments-main/pygments-2.19.2.dist-info/RECORD +685 -0
  689. data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.19.2.dist-info}/WHEEL +1 -1
  690. data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.19.2.dist-info}/licenses/AUTHORS +8 -0
  691. metadata +365 -19
  692. data/vendor/pygments-main/pygments-2.18.0.dist-info/RECORD +0 -663
  693. /data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.19.2.dist-info}/INSTALLER +0 -0
  694. /data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.19.2.dist-info}/REQUESTED +0 -0
  695. /data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.19.2.dist-info}/entry_points.txt +0 -0
  696. /data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.19.2.dist-info}/licenses/LICENSE +0 -0
@@ -36,32 +36,27 @@
36
36
  The ``tests/examplefiles`` contains a few test files with data to be
37
37
  parsed by these lexers.
38
38
 
39
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
39
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
40
40
  :license: BSD, see LICENSE for details.
41
41
  """
42
42
 
43
+ import collections
43
44
  import re
44
45
 
45
46
  from pygments.lexer import Lexer, RegexLexer, do_insertions, bygroups, words
47
+ from pygments.lexers import _googlesql_builtins
48
+ from pygments.lexers import _mysql_builtins
49
+ from pygments.lexers import _postgres_builtins
50
+ from pygments.lexers import _sql_builtins
51
+ from pygments.lexers import _tsql_builtins
52
+ from pygments.lexers import get_lexer_by_name, ClassNotFound
46
53
  from pygments.token import Punctuation, Whitespace, Text, Comment, Operator, \
47
54
  Keyword, Name, String, Number, Generic, Literal
48
- from pygments.lexers import get_lexer_by_name, ClassNotFound
49
-
50
- from pygments.lexers._postgres_builtins import KEYWORDS, DATATYPES, \
51
- PSEUDO_TYPES, PLPGSQL_KEYWORDS, EXPLAIN_KEYWORDS
52
- from pygments.lexers._mysql_builtins import \
53
- MYSQL_CONSTANTS, \
54
- MYSQL_DATATYPES, \
55
- MYSQL_FUNCTIONS, \
56
- MYSQL_KEYWORDS, \
57
- MYSQL_OPTIMIZER_HINTS
58
-
59
- from pygments.lexers import _tsql_builtins
60
55
 
61
56
 
62
- __all__ = ['PostgresLexer', 'PlPgsqlLexer', 'PostgresConsoleLexer',
63
- 'PostgresExplainLexer', 'SqlLexer', 'TransactSqlLexer',
64
- 'MySqlLexer', 'SqliteConsoleLexer', 'RqlLexer']
57
+ __all__ = ['GoogleSqlLexer', 'PostgresLexer', 'PlPgsqlLexer',
58
+ 'PostgresConsoleLexer', 'PostgresExplainLexer', 'SqlLexer',
59
+ 'TransactSqlLexer', 'MySqlLexer', 'SqliteConsoleLexer', 'RqlLexer']
65
60
 
66
61
  line_re = re.compile('.*?\n')
67
62
  sqlite_prompt_re = re.compile(r'^(?:sqlite| ...)>(?= )')
@@ -77,6 +72,12 @@ tsql_go_re = re.compile(r'\bgo\b', re.IGNORECASE)
77
72
  tsql_declare_re = re.compile(r'\bdeclare\s+@', re.IGNORECASE)
78
73
  tsql_variable_re = re.compile(r'@[a-zA-Z_]\w*\b')
79
74
 
75
+ # Identifiers for analyse_text()
76
+ googlesql_identifiers = (
77
+ _googlesql_builtins.functionnames
78
+ + _googlesql_builtins.keywords
79
+ + _googlesql_builtins.types)
80
+
80
81
 
81
82
  def language_callback(lexer, match):
82
83
  """Parse the content of a $-string using a lexer
@@ -169,9 +170,10 @@ class PostgresLexer(PostgresBase, RegexLexer):
169
170
  (r'--.*\n?', Comment.Single),
170
171
  (r'/\*', Comment.Multiline, 'multiline-comments'),
171
172
  (r'(' + '|'.join(s.replace(" ", r"\s+")
172
- for s in DATATYPES + PSEUDO_TYPES) + r')\b',
173
+ for s in _postgres_builtins.DATATYPES +
174
+ _postgres_builtins.PSEUDO_TYPES) + r')\b',
173
175
  Name.Builtin),
174
- (words(KEYWORDS, suffix=r'\b'), Keyword),
176
+ (words(_postgres_builtins.KEYWORDS, suffix=r'\b'), Keyword),
175
177
  (r'[+*/<>=~!@#%^&|`?-]+', Operator),
176
178
  (r'::', Operator), # cast
177
179
  (r'\$\d+', Name.Variable),
@@ -225,7 +227,8 @@ class PlPgsqlLexer(PostgresBase, RegexLexer):
225
227
  for i, pattern in enumerate(tokens['root']):
226
228
  if pattern[1] == Keyword:
227
229
  tokens['root'][i] = (
228
- words(KEYWORDS + PLPGSQL_KEYWORDS, suffix=r'\b'),
230
+ words(_postgres_builtins.KEYWORDS +
231
+ _postgres_builtins.PLPGSQL_KEYWORDS, suffix=r'\b'),
229
232
  Keyword)
230
233
  del i
231
234
  break
@@ -310,6 +313,7 @@ class PostgresConsoleLexer(Lexer):
310
313
  mimetypes = ['text/x-postgresql-psql']
311
314
  url = 'https://www.postgresql.org'
312
315
  version_added = '1.5'
316
+ _example = "psql/psql_session.txt"
313
317
 
314
318
  def get_tokens_unprocessed(self, data):
315
319
  sql = PsqlRegexLexer(**self.options)
@@ -386,7 +390,7 @@ class PostgresExplainLexer(RegexLexer):
386
390
 
387
391
  tokens = {
388
392
  'root': [
389
- (r'(:|\(|\)|ms|kB|->|\.\.|\,)', Punctuation),
393
+ (r'(:|\(|\)|ms|kB|->|\.\.|\,|\/)', Punctuation),
390
394
  (r'(\s+)', Whitespace),
391
395
 
392
396
  # This match estimated cost and effectively measured counters with ANALYZE
@@ -395,9 +399,9 @@ class PostgresExplainLexer(RegexLexer):
395
399
  (r'(actual)( )(=?)', bygroups(Name.Class, Whitespace, Punctuation), 'instrumentation'),
396
400
 
397
401
  # Misc keywords
398
- (words(('actual', 'Memory Usage', 'Memory', 'Buckets', 'Batches',
402
+ (words(('actual', 'Memory Usage', 'Disk Usage', 'Memory', 'Buckets', 'Batches',
399
403
  'originally', 'row', 'rows', 'Hits', 'Misses',
400
- 'Evictions', 'Overflows'), suffix=r'\b'),
404
+ 'Evictions', 'Overflows', 'Planned Partitions'), suffix=r'\b'),
401
405
  Comment.Single),
402
406
 
403
407
  (r'(hit|read|dirtied|written|write|time|calls)(=)', bygroups(Comment.Single, Operator)),
@@ -442,7 +446,7 @@ class PostgresExplainLexer(RegexLexer):
442
446
  suffix=r'\b'), Name.Exception),
443
447
  (r'(I/O Timings)(:)( )', bygroups(Name.Exception, Punctuation, Whitespace)),
444
448
 
445
- (words(EXPLAIN_KEYWORDS, suffix=r'\b'), Keyword),
449
+ (words(_postgres_builtins.EXPLAIN_KEYWORDS, suffix=r'\b'), Keyword),
446
450
 
447
451
  # join keywords
448
452
  (r'((Right|Left|Full|Semi|Anti) Join)', Keyword.Type),
@@ -577,101 +581,8 @@ class SqlLexer(RegexLexer):
577
581
  (r'\s+', Whitespace),
578
582
  (r'--.*\n?', Comment.Single),
579
583
  (r'/\*', Comment.Multiline, 'multiline-comments'),
580
- (words((
581
- 'ABORT', 'ABS', 'ABSOLUTE', 'ACCESS', 'ADA', 'ADD', 'ADMIN', 'AFTER',
582
- 'AGGREGATE', 'ALIAS', 'ALL', 'ALLOCATE', 'ALTER', 'ANALYSE', 'ANALYZE',
583
- 'AND', 'ANY', 'ARE', 'AS', 'ASC', 'ASENSITIVE', 'ASSERTION', 'ASSIGNMENT',
584
- 'ASYMMETRIC', 'AT', 'ATOMIC', 'AUTHORIZATION', 'AVG', 'BACKWARD',
585
- 'BEFORE', 'BEGIN', 'BETWEEN', 'BITVAR', 'BIT_LENGTH', 'BOTH', 'BREADTH',
586
- 'BY', 'C', 'CACHE', 'CALL', 'CALLED', 'CARDINALITY', 'CASCADE',
587
- 'CASCADED', 'CASE', 'CAST', 'CATALOG', 'CATALOG_NAME', 'CHAIN',
588
- 'CHARACTERISTICS', 'CHARACTER_LENGTH', 'CHARACTER_SET_CATALOG',
589
- 'CHARACTER_SET_NAME', 'CHARACTER_SET_SCHEMA', 'CHAR_LENGTH', 'CHECK',
590
- 'CHECKED', 'CHECKPOINT', 'CLASS', 'CLASS_ORIGIN', 'CLOB', 'CLOSE',
591
- 'CLUSTER', 'COALESCE', 'COBOL', 'COLLATE', 'COLLATION',
592
- 'COLLATION_CATALOG', 'COLLATION_NAME', 'COLLATION_SCHEMA', 'COLUMN',
593
- 'COLUMN_NAME', 'COMMAND_FUNCTION', 'COMMAND_FUNCTION_CODE', 'COMMENT',
594
- 'COMMIT', 'COMMITTED', 'COMPLETION', 'CONDITION_NUMBER', 'CONNECT',
595
- 'CONNECTION', 'CONNECTION_NAME', 'CONSTRAINT', 'CONSTRAINTS',
596
- 'CONSTRAINT_CATALOG', 'CONSTRAINT_NAME', 'CONSTRAINT_SCHEMA',
597
- 'CONSTRUCTOR', 'CONTAINS', 'CONTINUE', 'CONVERSION', 'CONVERT',
598
- 'COPY', 'CORRESPONDING', 'COUNT', 'CREATE', 'CREATEDB', 'CREATEUSER',
599
- 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_PATH',
600
- 'CURRENT_ROLE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER',
601
- 'CURSOR', 'CURSOR_NAME', 'CYCLE', 'DATA', 'DATABASE',
602
- 'DATETIME_INTERVAL_CODE', 'DATETIME_INTERVAL_PRECISION', 'DAY',
603
- 'DEALLOCATE', 'DECLARE', 'DEFAULT', 'DEFAULTS', 'DEFERRABLE',
604
- 'DEFERRED', 'DEFINED', 'DEFINER', 'DELETE', 'DELIMITER', 'DELIMITERS',
605
- 'DEREF', 'DESC', 'DESCRIBE', 'DESCRIPTOR', 'DESTROY', 'DESTRUCTOR',
606
- 'DETERMINISTIC', 'DIAGNOSTICS', 'DICTIONARY', 'DISCONNECT', 'DISPATCH',
607
- 'DISTINCT', 'DO', 'DOMAIN', 'DROP', 'DYNAMIC', 'DYNAMIC_FUNCTION',
608
- 'DYNAMIC_FUNCTION_CODE', 'EACH', 'ELSE', 'ELSIF', 'ENCODING',
609
- 'ENCRYPTED', 'END', 'END-EXEC', 'EQUALS', 'ESCAPE', 'EVERY', 'EXCEPTION',
610
- 'EXCEPT', 'EXCLUDING', 'EXCLUSIVE', 'EXEC', 'EXECUTE', 'EXISTING',
611
- 'EXISTS', 'EXPLAIN', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FINAL',
612
- 'FIRST', 'FOR', 'FORCE', 'FOREIGN', 'FORTRAN', 'FORWARD', 'FOUND', 'FREE',
613
- 'FREEZE', 'FROM', 'FULL', 'FUNCTION', 'G', 'GENERAL', 'GENERATED', 'GET',
614
- 'GLOBAL', 'GO', 'GOTO', 'GRANT', 'GRANTED', 'GROUP', 'GROUPING',
615
- 'HANDLER', 'HAVING', 'HIERARCHY', 'HOLD', 'HOST', 'IDENTITY', 'IF',
616
- 'IGNORE', 'ILIKE', 'IMMEDIATE', 'IMMEDIATELY', 'IMMUTABLE', 'IMPLEMENTATION', 'IMPLICIT',
617
- 'IN', 'INCLUDING', 'INCREMENT', 'INDEX', 'INDITCATOR', 'INFIX',
618
- 'INHERITS', 'INITIALIZE', 'INITIALLY', 'INNER', 'INOUT', 'INPUT',
619
- 'INSENSITIVE', 'INSERT', 'INSTANTIABLE', 'INSTEAD', 'INTERSECT', 'INTO',
620
- 'INVOKER', 'IS', 'ISNULL', 'ISOLATION', 'ITERATE', 'JOIN', 'KEY',
621
- 'KEY_MEMBER', 'KEY_TYPE', 'LANCOMPILER', 'LANGUAGE', 'LARGE', 'LAST',
622
- 'LATERAL', 'LEADING', 'LEFT', 'LENGTH', 'LESS', 'LEVEL', 'LIKE', 'LIMIT',
623
- 'LISTEN', 'LOAD', 'LOCAL', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOCATION',
624
- 'LOCATOR', 'LOCK', 'LOWER', 'MAP', 'MATCH', 'MAX', 'MAXVALUE',
625
- 'MESSAGE_LENGTH', 'MESSAGE_OCTET_LENGTH', 'MESSAGE_TEXT', 'METHOD', 'MIN',
626
- 'MINUTE', 'MINVALUE', 'MOD', 'MODE', 'MODIFIES', 'MODIFY', 'MONTH',
627
- 'MORE', 'MOVE', 'MUMPS', 'NAMES', 'NATIONAL', 'NATURAL', 'NCHAR', 'NCLOB',
628
- 'NEW', 'NEXT', 'NO', 'NOCREATEDB', 'NOCREATEUSER', 'NONE', 'NOT',
629
- 'NOTHING', 'NOTIFY', 'NOTNULL', 'NULL', 'NULLABLE', 'NULLIF', 'OBJECT',
630
- 'OCTET_LENGTH', 'OF', 'OFF', 'OFFSET', 'OIDS', 'OLD', 'ON', 'ONLY',
631
- 'OPEN', 'OPERATION', 'OPERATOR', 'OPTION', 'OPTIONS', 'OR', 'ORDER',
632
- 'ORDINALITY', 'OUT', 'OUTER', 'OUTPUT', 'OVERLAPS', 'OVERLAY',
633
- 'OVERRIDING', 'OWNER', 'PAD', 'PARAMETER', 'PARAMETERS', 'PARAMETER_MODE',
634
- 'PARAMETER_NAME', 'PARAMETER_ORDINAL_POSITION',
635
- 'PARAMETER_SPECIFIC_CATALOG', 'PARAMETER_SPECIFIC_NAME',
636
- 'PARAMETER_SPECIFIC_SCHEMA', 'PARTIAL', 'PASCAL', 'PENDANT', 'PERIOD', 'PLACING',
637
- 'PLI', 'POSITION', 'POSTFIX', 'PRECEEDS', 'PRECISION', 'PREFIX', 'PREORDER',
638
- 'PREPARE', 'PRESERVE', 'PRIMARY', 'PRIOR', 'PRIVILEGES', 'PROCEDURAL',
639
- 'PROCEDURE', 'PUBLIC', 'READ', 'READS', 'RECHECK', 'RECURSIVE', 'REF',
640
- 'REFERENCES', 'REFERENCING', 'REINDEX', 'RELATIVE', 'RENAME',
641
- 'REPEATABLE', 'REPLACE', 'RESET', 'RESTART', 'RESTRICT', 'RESULT',
642
- 'RETURN', 'RETURNED_LENGTH', 'RETURNED_OCTET_LENGTH', 'RETURNED_SQLSTATE',
643
- 'RETURNS', 'REVOKE', 'RIGHT', 'ROLE', 'ROLLBACK', 'ROLLUP', 'ROUTINE',
644
- 'ROUTINE_CATALOG', 'ROUTINE_NAME', 'ROUTINE_SCHEMA', 'ROW', 'ROWS',
645
- 'ROW_COUNT', 'RULE', 'SAVE_POINT', 'SCALE', 'SCHEMA', 'SCHEMA_NAME',
646
- 'SCOPE', 'SCROLL', 'SEARCH', 'SECOND', 'SECURITY', 'SELECT', 'SELF',
647
- 'SENSITIVE', 'SERIALIZABLE', 'SERVER_NAME', 'SESSION', 'SESSION_USER',
648
- 'SET', 'SETOF', 'SETS', 'SHARE', 'SHOW', 'SIMILAR', 'SIMPLE', 'SIZE',
649
- 'SOME', 'SOURCE', 'SPACE', 'SPECIFIC', 'SPECIFICTYPE', 'SPECIFIC_NAME',
650
- 'SQL', 'SQLCODE', 'SQLERROR', 'SQLEXCEPTION', 'SQLSTATE', 'SQLWARNINIG',
651
- 'STABLE', 'START', 'STATE', 'STATEMENT', 'STATIC', 'STATISTICS', 'STDIN',
652
- 'STDOUT', 'STORAGE', 'STRICT', 'STRUCTURE', 'STYPE', 'SUBCLASS_ORIGIN',
653
- 'SUBLIST', 'SUBSTRING', 'SUCCEEDS', 'SUM', 'SYMMETRIC', 'SYSID', 'SYSTEM',
654
- 'SYSTEM_USER', 'TABLE', 'TABLE_NAME', ' TEMP', 'TEMPLATE', 'TEMPORARY',
655
- 'TERMINATE', 'THAN', 'THEN', 'TIME', 'TIMESTAMP', 'TIMEZONE_HOUR',
656
- 'TIMEZONE_MINUTE', 'TO', 'TOAST', 'TRAILING', 'TRANSACTION',
657
- 'TRANSACTIONS_COMMITTED', 'TRANSACTIONS_ROLLED_BACK', 'TRANSACTION_ACTIVE',
658
- 'TRANSFORM', 'TRANSFORMS', 'TRANSLATE', 'TRANSLATION', 'TREAT', 'TRIGGER',
659
- 'TRIGGER_CATALOG', 'TRIGGER_NAME', 'TRIGGER_SCHEMA', 'TRIM', 'TRUE',
660
- 'TRUNCATE', 'TRUSTED', 'TYPE', 'UNCOMMITTED', 'UNDER', 'UNENCRYPTED',
661
- 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLISTEN', 'UNNAMED', 'UNNEST', 'UNTIL',
662
- 'UPDATE', 'UPPER', 'USAGE', 'USER', 'USER_DEFINED_TYPE_CATALOG',
663
- 'USER_DEFINED_TYPE_NAME', 'USER_DEFINED_TYPE_SCHEMA', 'USING', 'VACUUM',
664
- 'VALID', 'VALIDATOR', 'VALUES', 'VARIABLE', 'VERBOSE',
665
- 'VERSION', 'VERSIONS', 'VERSIONING', 'VIEW',
666
- 'VOLATILE', 'WHEN', 'WHENEVER', 'WHERE', 'WITH', 'WITHOUT', 'WORK',
667
- 'WRITE', 'YEAR', 'ZONE'), suffix=r'\b'),
668
- Keyword),
669
- (words((
670
- 'ARRAY', 'BIGINT', 'BINARY', 'BIT', 'BLOB', 'BOOLEAN', 'CHAR',
671
- 'CHARACTER', 'DATE', 'DEC', 'DECIMAL', 'FLOAT', 'INT', 'INTEGER',
672
- 'INTERVAL', 'NUMBER', 'NUMERIC', 'REAL', 'SERIAL', 'SMALLINT',
673
- 'VARCHAR', 'VARYING', 'INT8', 'SERIAL8', 'TEXT'), suffix=r'\b'),
674
- Name.Builtin),
584
+ (words(_sql_builtins.KEYWORDS, suffix=r'\b'), Keyword),
585
+ (words(_sql_builtins.DATATYPES, suffix=r'\b'), Name.Builtin),
675
586
  (r'[+*/<>=~!@#%^&|`?-]', Operator),
676
587
  (r'[0-9]+', Number.Integer),
677
588
  # TODO: Backslash escapes?
@@ -697,7 +608,7 @@ class TransactSqlLexer(RegexLexer):
697
608
  Transact-SQL (T-SQL) is Microsoft's and Sybase's proprietary extension to
698
609
  SQL.
699
610
 
700
- The list of keywords includes ODBC and keywords reserved for future use..
611
+ The list of keywords includes ODBC and keywords reserved for future use.
701
612
  """
702
613
 
703
614
  name = 'Transact-SQL'
@@ -712,7 +623,7 @@ class TransactSqlLexer(RegexLexer):
712
623
  tokens = {
713
624
  'root': [
714
625
  (r'\s+', Whitespace),
715
- (r'--.*?$\n?', Comment.Single),
626
+ (r'--.*[$|\n]?', Comment.Single),
716
627
  (r'/\*', Comment.Multiline, 'multiline-comments'),
717
628
  (words(_tsql_builtins.OPERATORS), Operator),
718
629
  (words(_tsql_builtins.OPERATOR_WORDS, suffix=r'\b'), Operator.Word),
@@ -855,10 +766,13 @@ class MySqlLexer(RegexLexer):
855
766
  (r'\b(character)(\s+)(set)\b', bygroups(Keyword, Whitespace, Keyword)),
856
767
  # In all other known cases, "SET" is tokenized by MYSQL_DATATYPES.
857
768
 
858
- (words(MYSQL_CONSTANTS, prefix=r'\b', suffix=r'\b'), Name.Constant),
859
- (words(MYSQL_DATATYPES, prefix=r'\b', suffix=r'\b'), Keyword.Type),
860
- (words(MYSQL_KEYWORDS, prefix=r'\b', suffix=r'\b'), Keyword),
861
- (words(MYSQL_FUNCTIONS, prefix=r'\b', suffix=r'\b(\s*)(\()'),
769
+ (words(_mysql_builtins.MYSQL_CONSTANTS, prefix=r'\b', suffix=r'\b'),
770
+ Name.Constant),
771
+ (words(_mysql_builtins.MYSQL_DATATYPES, prefix=r'\b', suffix=r'\b'),
772
+ Keyword.Type),
773
+ (words(_mysql_builtins.MYSQL_KEYWORDS, prefix=r'\b', suffix=r'\b'),
774
+ Keyword),
775
+ (words(_mysql_builtins.MYSQL_FUNCTIONS, prefix=r'\b', suffix=r'\b(\s*)(\()'),
862
776
  bygroups(Name.Function, Whitespace, Punctuation)),
863
777
 
864
778
  # Schema object names
@@ -880,7 +794,8 @@ class MySqlLexer(RegexLexer):
880
794
  'optimizer-hints': [
881
795
  (r'[^*a-z]+', Comment.Special),
882
796
  (r'\*/', Comment.Special, '#pop'),
883
- (words(MYSQL_OPTIMIZER_HINTS, suffix=r'\b'), Comment.Preproc),
797
+ (words(_mysql_builtins.MYSQL_OPTIMIZER_HINTS, suffix=r'\b'),
798
+ Comment.Preproc),
884
799
  ('[a-z]+', Comment.Special),
885
800
  (r'\*', Comment.Special),
886
801
  ],
@@ -963,6 +878,166 @@ class MySqlLexer(RegexLexer):
963
878
  return rating
964
879
 
965
880
 
881
+ class GoogleSqlLexer(RegexLexer):
882
+ """
883
+ GoogleSQL is Google's standard SQL dialect, formerly known as ZetaSQL.
884
+
885
+ The list of keywords includes reserved words for future use.
886
+ """
887
+
888
+ name = 'GoogleSQL'
889
+ aliases = ['googlesql', 'zetasql']
890
+ filenames = ['*.googlesql', '*.googlesql.sql']
891
+ mimetypes = ['text/x-google-sql', 'text/x-google-sql-aux']
892
+ url = 'https://cloud.google.com/bigquery/googlesql'
893
+ version_added = '2.19'
894
+
895
+ flags = re.IGNORECASE
896
+ tokens = {
897
+ 'root': [
898
+ (r'\s+', Whitespace),
899
+
900
+ # Comments
901
+ (r'(?:#|--\s+).*', Comment.Single),
902
+ (r'/\*', Comment.Multiline, 'multiline-comment'),
903
+
904
+ # Hexadecimal literals
905
+ (r"x'([0-9a-f]{2})+'", Number.Hex),
906
+ (r'0x[0-9a-f]+', Number.Hex),
907
+
908
+ # Binary literals
909
+ (r"b'[01]+'", Number.Bin),
910
+ (r'0b[01]+', Number.Bin),
911
+
912
+ # Numeric literals
913
+ (r'[0-9]+\.[0-9]*(e[+-]?[0-9]+)?', Number.Float), # Mandatory integer, optional fraction and exponent
914
+ (r'[0-9]*\.[0-9]+(e[+-]?[0-9]+)?', Number.Float), # Mandatory fraction, optional integer and exponent
915
+ (r'[0-9]+e[+-]?[0-9]+', Number.Float), # Exponents with integer significands are still floats
916
+ (r'[0-9]+(?=[^0-9a-z$_\u0080-\uffff])', Number.Integer), # Integers that are not in a schema object name
917
+
918
+ # Date literals
919
+ (r"\{\s*d\s*(?P<quote>['\"])\s*\d{2}(\d{2})?.?\d{2}.?\d{2}\s*(?P=quote)\s*\}",
920
+ Literal.Date),
921
+
922
+ # Time literals
923
+ (r"\{\s*t\s*(?P<quote>['\"])\s*(?:\d+\s+)?\d{1,2}.?\d{1,2}.?\d{1,2}(\.\d*)?\s*(?P=quote)\s*\}",
924
+ Literal.Date),
925
+
926
+ # Timestamp literals
927
+ (
928
+ r"\{\s*ts\s*(?P<quote>['\"])\s*"
929
+ r"\d{2}(?:\d{2})?.?\d{2}.?\d{2}" # Date part
930
+ r"\s+" # Whitespace between date and time
931
+ r"\d{1,2}.?\d{1,2}.?\d{1,2}(\.\d*)?" # Time part
932
+ r"\s*(?P=quote)\s*\}",
933
+ Literal.Date
934
+ ),
935
+
936
+ # String literals
937
+ (r"'", String.Single, 'single-quoted-string'),
938
+ (r'"', String.Double, 'double-quoted-string'),
939
+
940
+ # Variables
941
+ (r'@@(?:global\.|persist\.|persist_only\.|session\.)?[a-z_]+', Name.Variable),
942
+ (r'@[a-z0-9_$.]+', Name.Variable),
943
+ (r"@'", Name.Variable, 'single-quoted-variable'),
944
+ (r'@"', Name.Variable, 'double-quoted-variable'),
945
+ (r"@`", Name.Variable, 'backtick-quoted-variable'),
946
+ (r'\?', Name.Variable), # For demonstrating prepared statements
947
+
948
+ # Exceptions; these words tokenize differently in different contexts.
949
+ (r'\b(set)(?!\s*\()', Keyword),
950
+ (r'\b(character)(\s+)(set)\b', bygroups(Keyword, Whitespace, Keyword)),
951
+
952
+ # Constants, types, keywords, functions, operators
953
+ (words(_googlesql_builtins.constants, prefix=r'\b', suffix=r'\b'), Name.Constant),
954
+ (words(_googlesql_builtins.types, prefix=r'\b', suffix=r'\b'), Keyword.Type),
955
+ (words(_googlesql_builtins.keywords, prefix=r'\b', suffix=r'\b'), Keyword),
956
+ (words(_googlesql_builtins.functionnames, prefix=r'\b', suffix=r'\b(\s*)(\()'),
957
+ bygroups(Name.Function, Whitespace, Punctuation)),
958
+ (words(_googlesql_builtins.operators, prefix=r'\b', suffix=r'\b'), Operator),
959
+
960
+ # Schema object names
961
+ #
962
+ # Note: Although the first regex supports unquoted all-numeric
963
+ # identifiers, this will not be a problem in practice because
964
+ # numeric literals have already been handled above.
965
+ #
966
+ ('[0-9a-z$_\u0080-\uffff]+', Name),
967
+ (r'`', Name.Quoted, 'schema-object-name'),
968
+
969
+ # Punctuation
970
+ (r'[(),.;]', Punctuation),
971
+ ],
972
+
973
+ # Multiline comment substates
974
+ # ---------------------------
975
+
976
+ 'multiline-comment': [
977
+ (r'[^*]+', Comment.Multiline),
978
+ (r'\*/', Comment.Multiline, '#pop'),
979
+ (r'\*', Comment.Multiline),
980
+ ],
981
+
982
+ # String substates
983
+ # ----------------
984
+
985
+ 'single-quoted-string': [
986
+ (r"[^'\\]+", String.Single),
987
+ (r"''", String.Escape),
988
+ (r"""\\[0'"bnrtZ\\%_]""", String.Escape),
989
+ (r"'", String.Single, '#pop'),
990
+ ],
991
+
992
+ 'double-quoted-string': [
993
+ (r'[^"\\]+', String.Double),
994
+ (r'""', String.Escape),
995
+ (r"""\\[0'"bnrtZ\\%_]""", String.Escape),
996
+ (r'"', String.Double, '#pop'),
997
+ ],
998
+
999
+ # Variable substates
1000
+ # ------------------
1001
+
1002
+ 'single-quoted-variable': [
1003
+ (r"[^']+", Name.Variable),
1004
+ (r"''", Name.Variable),
1005
+ (r"'", Name.Variable, '#pop'),
1006
+ ],
1007
+
1008
+ 'double-quoted-variable': [
1009
+ (r'[^"]+', Name.Variable),
1010
+ (r'""', Name.Variable),
1011
+ (r'"', Name.Variable, '#pop'),
1012
+ ],
1013
+
1014
+ 'backtick-quoted-variable': [
1015
+ (r'[^`]+', Name.Variable),
1016
+ (r'``', Name.Variable),
1017
+ (r'`', Name.Variable, '#pop'),
1018
+ ],
1019
+
1020
+ # Schema object name substates
1021
+ # ----------------------------
1022
+ #
1023
+ # "Name.Quoted" and "Name.Quoted.Escape" are non-standard but
1024
+ # formatters will style them as "Name" by default but add
1025
+ # additional styles based on the token name. This gives users
1026
+ # flexibility to add custom styles as desired.
1027
+ #
1028
+ 'schema-object-name': [
1029
+ (r'[^`]+', Name.Quoted),
1030
+ (r'``', Name.Quoted.Escape),
1031
+ (r'`', Name.Quoted, '#pop'),
1032
+ ],
1033
+ }
1034
+
1035
+ def analyse_text(text):
1036
+ tokens = collections.Counter(text.split())
1037
+ return 0.001 * sum(count for t, count in tokens.items()
1038
+ if t in googlesql_identifiers)
1039
+
1040
+
966
1041
  class SqliteConsoleLexer(Lexer):
967
1042
  """
968
1043
  Lexer for example sessions using sqlite3.
@@ -974,6 +1049,7 @@ class SqliteConsoleLexer(Lexer):
974
1049
  mimetypes = ['text/x-sqlite3-console']
975
1050
  url = 'https://www.sqlite.org'
976
1051
  version_added = '0.11'
1052
+ _example = "sqlite3/sqlite3.sqlite3-console"
977
1053
 
978
1054
  def get_tokens_unprocessed(self, data):
979
1055
  sql = SqlLexer(**self.options)
@@ -7,7 +7,7 @@
7
7
  The description of the format can be found in the wiki:
8
8
  https://wiki.archlinux.org/title/.SRCINFO
9
9
 
10
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
10
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
11
11
  :license: BSD, see LICENSE for details.
12
12
  """
13
13
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for Stata
6
6
 
7
- :copyright: Copyright 2006-2024 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
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for SuperCollider
6
6
 
7
- :copyright: Copyright 2006-2024 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
 
@@ -0,0 +1,177 @@
1
+ """
2
+ pygments.lexers.tablegen
3
+ ~~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for LLVM's TableGen DSL.
6
+
7
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import RegexLexer, include, words, using
12
+ from pygments.lexers.c_cpp import CppLexer
13
+ from pygments.token import Comment, Keyword, Name, Number, Operator, \
14
+ Punctuation, String, Text, Whitespace, Error
15
+
16
+ __all__ = ['TableGenLexer']
17
+
18
+ KEYWORDS = (
19
+ 'assert',
20
+ 'class',
21
+ 'code',
22
+ 'def',
23
+ 'dump',
24
+ 'else',
25
+ 'foreach',
26
+ 'defm',
27
+ 'defset',
28
+ 'defvar',
29
+ 'field',
30
+ 'if',
31
+ 'in',
32
+ 'include',
33
+ 'let',
34
+ 'multiclass',
35
+ 'then',
36
+ )
37
+
38
+ KEYWORDS_CONST = (
39
+ 'false',
40
+ 'true',
41
+ )
42
+ KEYWORDS_TYPE = (
43
+ 'bit',
44
+ 'bits',
45
+ 'dag',
46
+ 'int',
47
+ 'list',
48
+ 'string',
49
+ )
50
+
51
+ BANG_OPERATORS = (
52
+ 'add',
53
+ 'and',
54
+ 'cast',
55
+ 'con',
56
+ 'cond',
57
+ 'dag',
58
+ 'div',
59
+ 'empty',
60
+ 'eq',
61
+ 'exists',
62
+ 'filter',
63
+ 'find',
64
+ 'foldl',
65
+ 'foreach',
66
+ 'ge',
67
+ 'getdagarg',
68
+ 'getdagname',
69
+ 'getdagop',
70
+ 'gt',
71
+ 'head',
72
+ 'if',
73
+ 'interleave',
74
+ 'isa',
75
+ 'le',
76
+ 'listconcat',
77
+ 'listremove',
78
+ 'listsplat',
79
+ 'logtwo',
80
+ 'lt',
81
+ 'mul',
82
+ 'ne',
83
+ 'not',
84
+ 'or',
85
+ 'range',
86
+ 'repr',
87
+ 'setdagarg',
88
+ 'setdagname',
89
+ 'setdagop',
90
+ 'shl',
91
+ 'size',
92
+ 'sra',
93
+ 'srl',
94
+ 'strconcat',
95
+ 'sub',
96
+ 'subst',
97
+ 'substr',
98
+ 'tail',
99
+ 'tolower',
100
+ 'toupper',
101
+ 'xor',
102
+ )
103
+
104
+ class TableGenLexer(RegexLexer):
105
+ """
106
+ Lexer for TableGen
107
+ """
108
+
109
+ name = 'TableGen'
110
+ url = 'https://llvm.org/docs/TableGen/ProgRef.html'
111
+ aliases = ['tablegen', 'td']
112
+ filenames = ['*.td']
113
+
114
+ version_added = '2.19'
115
+
116
+ tokens = {
117
+ 'root': [
118
+ (r'\s+', Whitespace),
119
+
120
+ (r'/\*', Comment.Multiline, 'comment'),
121
+ (r'//.*?$', Comment.SingleLine),
122
+ (r'#(define|ifdef|ifndef|else|endif)', Comment.Preproc),
123
+
124
+ # Binary/hex numbers. Note that these take priority over names,
125
+ # which may begin with numbers.
126
+ (r'0b[10]+', Number.Bin),
127
+ (r'0x[0-9a-fA-F]+', Number.Hex),
128
+
129
+ # Keywords
130
+ (words(KEYWORDS, suffix=r'\b'), Keyword),
131
+ (words(KEYWORDS_CONST, suffix=r'\b'), Keyword.Constant),
132
+ (words(KEYWORDS_TYPE, suffix=r'\b'), Keyword.Type),
133
+
134
+ # Bang operators
135
+ (words(BANG_OPERATORS, prefix=r'\!', suffix=r'\b'), Operator),
136
+ # Unknown bang operators are an error
137
+ (r'![a-zA-Z]+', Error),
138
+
139
+ # Names and identifiers
140
+ (r'[0-9]*[a-zA-Z_][a-zA-Z_0-9]*', Name),
141
+ (r'\$[a-zA-Z_][a-zA-Z_0-9]*', Name.Variable),
142
+
143
+ # Place numbers after keywords. Names/identifiers may begin with
144
+ # numbers, and we want to parse 1X as one name token as opposed to
145
+ # a number and a name.
146
+ (r'[-\+]?[0-9]+', Number.Integer),
147
+
148
+ # String literals
149
+ (r'"', String, 'dqs'),
150
+ (r'\[\{', Text, 'codeblock'),
151
+
152
+ # Misc. punctuation
153
+ (r'[-+\[\]{}()<>\.,;:=?#]+', Punctuation),
154
+ ],
155
+ 'comment': [
156
+ (r'[^*/]+', Comment.Multiline),
157
+ (r'/\*', Comment.Multiline, '#push'),
158
+ (r'\*/', Comment.Multiline, '#pop'),
159
+ (r'[*/]', Comment.Multiline)
160
+ ],
161
+ 'strings': [
162
+ (r'\\[\\\'"tn]', String.Escape),
163
+ (r'[^\\"]+', String),
164
+ ],
165
+ # Double-quoted string, a la C
166
+ 'dqs': [
167
+ (r'"', String, '#pop'),
168
+ include('strings'),
169
+ ],
170
+ # No escaping inside a code block - everything is literal
171
+ # Assume that the code inside a code block is C++. This isn't always
172
+ # true in TableGen, but is the far most common scenario.
173
+ 'codeblock': [
174
+ (r'\}\]', Text, '#pop'),
175
+ (r'([^}]+|\}[^]])*', using(CppLexer)),
176
+ ],
177
+ }
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for Tact.
6
6
 
7
- :copyright: Copyright 2006-2024 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
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  .. versionadded:: 2.12
8
8
 
9
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
9
+ :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
10
10
  :license: BSD, see LICENSE for details.
11
11
  """
12
12