pygments.rb 3.0.0 → 5.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 (360) 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/.rubocop.yml +1 -2
  5. data/CHANGELOG.adoc +13 -1
  6. data/README.adoc +3 -3
  7. data/Rakefile +1 -1
  8. data/bench.rb +3 -3
  9. data/lib/pygments/version.rb +1 -1
  10. data/pygments.rb.gemspec +6 -4
  11. data/test/test_pygments.rb +0 -4
  12. data/vendor/pygments-main/bin/pygmentize +1 -1
  13. data/vendor/pygments-main/pygments/__init__.py +2 -2
  14. data/vendor/pygments-main/pygments/__main__.py +1 -1
  15. data/vendor/pygments-main/pygments/cmdline.py +2 -2
  16. data/vendor/pygments-main/pygments/console.py +1 -1
  17. data/vendor/pygments-main/pygments/filter.py +1 -1
  18. data/vendor/pygments-main/pygments/filters/__init__.py +10 -8
  19. data/vendor/pygments-main/pygments/formatter.py +1 -1
  20. data/vendor/pygments-main/pygments/formatters/__init__.py +1 -1
  21. data/vendor/pygments-main/pygments/formatters/_mapping.py +0 -0
  22. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
  23. data/vendor/pygments-main/pygments/formatters/groff.py +1 -1
  24. data/vendor/pygments-main/pygments/formatters/html.py +20 -10
  25. data/vendor/pygments-main/pygments/formatters/img.py +3 -2
  26. data/vendor/pygments-main/pygments/formatters/irc.py +1 -2
  27. data/vendor/pygments-main/pygments/formatters/latex.py +1 -1
  28. data/vendor/pygments-main/pygments/formatters/other.py +1 -1
  29. data/vendor/pygments-main/pygments/formatters/pangomarkup.py +1 -1
  30. data/vendor/pygments-main/pygments/formatters/rtf.py +1 -1
  31. data/vendor/pygments-main/pygments/formatters/svg.py +1 -1
  32. data/vendor/pygments-main/pygments/formatters/terminal.py +1 -1
  33. data/vendor/pygments-main/pygments/formatters/terminal256.py +6 -6
  34. data/vendor/pygments-main/pygments/lexer.py +7 -5
  35. data/vendor/pygments-main/pygments/lexers/__init__.py +1 -1
  36. data/vendor/pygments-main/pygments/lexers/_ada_builtins.py +1 -1
  37. data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +1 -1
  38. data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +1 -1
  39. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +1 -1
  40. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1 -1
  41. data/vendor/pygments-main/pygments/lexers/_css_builtins.py +1 -1
  42. data/vendor/pygments-main/pygments/lexers/_googlesql_builtins.py +918 -0
  43. data/vendor/pygments-main/pygments/lexers/_julia_builtins.py +1 -1
  44. data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +1 -1
  45. data/vendor/pygments-main/pygments/lexers/_lilypond_builtins.py +404 -152
  46. data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +1 -1
  47. data/vendor/pygments-main/pygments/lexers/_luau_builtins.py +1 -1
  48. data/vendor/pygments-main/pygments/lexers/_mapping.py +24 -10
  49. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1 -1
  50. data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +52 -3
  51. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +1 -1
  52. data/vendor/pygments-main/pygments/lexers/_php_builtins.py +7 -4
  53. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +1 -1
  54. data/vendor/pygments-main/pygments/lexers/_qlik_builtins.py +1 -1
  55. data/vendor/pygments-main/pygments/lexers/_scheme_builtins.py +1 -1
  56. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +1 -1
  57. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1 -1
  58. data/vendor/pygments-main/pygments/lexers/_sql_builtins.py +106 -0
  59. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +126 -13
  60. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +1 -1
  61. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -1
  62. data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +1 -1
  63. data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +1 -1
  64. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -1
  65. data/vendor/pygments-main/pygments/lexers/actionscript.py +3 -3
  66. data/vendor/pygments-main/pygments/lexers/ada.py +1 -1
  67. data/vendor/pygments-main/pygments/lexers/agile.py +1 -1
  68. data/vendor/pygments-main/pygments/lexers/algebra.py +8 -6
  69. data/vendor/pygments-main/pygments/lexers/ambient.py +1 -1
  70. data/vendor/pygments-main/pygments/lexers/amdgpu.py +1 -1
  71. data/vendor/pygments-main/pygments/lexers/ampl.py +1 -1
  72. data/vendor/pygments-main/pygments/lexers/apdlexer.py +1 -1
  73. data/vendor/pygments-main/pygments/lexers/apl.py +1 -1
  74. data/vendor/pygments-main/pygments/lexers/archetype.py +4 -4
  75. data/vendor/pygments-main/pygments/lexers/arrow.py +1 -1
  76. data/vendor/pygments-main/pygments/lexers/arturo.py +1 -1
  77. data/vendor/pygments-main/pygments/lexers/asc.py +1 -1
  78. data/vendor/pygments-main/pygments/lexers/asm.py +29 -21
  79. data/vendor/pygments-main/pygments/lexers/asn1.py +3 -3
  80. data/vendor/pygments-main/pygments/lexers/automation.py +1 -1
  81. data/vendor/pygments-main/pygments/lexers/bare.py +1 -1
  82. data/vendor/pygments-main/pygments/lexers/basic.py +1 -1
  83. data/vendor/pygments-main/pygments/lexers/bdd.py +1 -1
  84. data/vendor/pygments-main/pygments/lexers/berry.py +1 -1
  85. data/vendor/pygments-main/pygments/lexers/bibtex.py +1 -1
  86. data/vendor/pygments-main/pygments/lexers/blueprint.py +1 -1
  87. data/vendor/pygments-main/pygments/lexers/boa.py +1 -1
  88. data/vendor/pygments-main/pygments/lexers/bqn.py +18 -15
  89. data/vendor/pygments-main/pygments/lexers/business.py +1 -1
  90. data/vendor/pygments-main/pygments/lexers/c_cpp.py +18 -17
  91. data/vendor/pygments-main/pygments/lexers/c_like.py +1 -1
  92. data/vendor/pygments-main/pygments/lexers/capnproto.py +1 -1
  93. data/vendor/pygments-main/pygments/lexers/carbon.py +1 -1
  94. data/vendor/pygments-main/pygments/lexers/cddl.py +1 -1
  95. data/vendor/pygments-main/pygments/lexers/chapel.py +1 -1
  96. data/vendor/pygments-main/pygments/lexers/clean.py +1 -1
  97. data/vendor/pygments-main/pygments/lexers/codeql.py +80 -0
  98. data/vendor/pygments-main/pygments/lexers/comal.py +1 -1
  99. data/vendor/pygments-main/pygments/lexers/compiled.py +1 -1
  100. data/vendor/pygments-main/pygments/lexers/configs.py +17 -8
  101. data/vendor/pygments-main/pygments/lexers/console.py +1 -1
  102. data/vendor/pygments-main/pygments/lexers/cplint.py +1 -1
  103. data/vendor/pygments-main/pygments/lexers/crystal.py +1 -1
  104. data/vendor/pygments-main/pygments/lexers/csound.py +1 -1
  105. data/vendor/pygments-main/pygments/lexers/css.py +32 -2
  106. data/vendor/pygments-main/pygments/lexers/d.py +1 -1
  107. data/vendor/pygments-main/pygments/lexers/dalvik.py +1 -1
  108. data/vendor/pygments-main/pygments/lexers/data.py +2 -2
  109. data/vendor/pygments-main/pygments/lexers/dax.py +1 -1
  110. data/vendor/pygments-main/pygments/lexers/devicetree.py +17 -5
  111. data/vendor/pygments-main/pygments/lexers/diff.py +1 -1
  112. data/vendor/pygments-main/pygments/lexers/dns.py +1 -1
  113. data/vendor/pygments-main/pygments/lexers/dotnet.py +40 -13
  114. data/vendor/pygments-main/pygments/lexers/dsls.py +2 -2
  115. data/vendor/pygments-main/pygments/lexers/dylan.py +3 -3
  116. data/vendor/pygments-main/pygments/lexers/ecl.py +1 -1
  117. data/vendor/pygments-main/pygments/lexers/eiffel.py +1 -1
  118. data/vendor/pygments-main/pygments/lexers/elm.py +1 -1
  119. data/vendor/pygments-main/pygments/lexers/elpi.py +55 -26
  120. data/vendor/pygments-main/pygments/lexers/email.py +1 -1
  121. data/vendor/pygments-main/pygments/lexers/erlang.py +1 -1
  122. data/vendor/pygments-main/pygments/lexers/esoteric.py +1 -1
  123. data/vendor/pygments-main/pygments/lexers/ezhil.py +1 -1
  124. data/vendor/pygments-main/pygments/lexers/factor.py +1 -1
  125. data/vendor/pygments-main/pygments/lexers/fantom.py +1 -1
  126. data/vendor/pygments-main/pygments/lexers/felix.py +1 -1
  127. data/vendor/pygments-main/pygments/lexers/fift.py +1 -1
  128. data/vendor/pygments-main/pygments/lexers/floscript.py +1 -1
  129. data/vendor/pygments-main/pygments/lexers/forth.py +1 -1
  130. data/vendor/pygments-main/pygments/lexers/fortran.py +1 -1
  131. data/vendor/pygments-main/pygments/lexers/foxpro.py +1 -1
  132. data/vendor/pygments-main/pygments/lexers/freefem.py +1 -1
  133. data/vendor/pygments-main/pygments/lexers/func.py +1 -1
  134. data/vendor/pygments-main/pygments/lexers/functional.py +2 -2
  135. data/vendor/pygments-main/pygments/lexers/futhark.py +1 -1
  136. data/vendor/pygments-main/pygments/lexers/gcodelexer.py +1 -1
  137. data/vendor/pygments-main/pygments/lexers/gdscript.py +1 -1
  138. data/vendor/pygments-main/pygments/lexers/gleam.py +74 -0
  139. data/vendor/pygments-main/pygments/lexers/go.py +1 -1
  140. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +1 -1
  141. data/vendor/pygments-main/pygments/lexers/graph.py +1 -1
  142. data/vendor/pygments-main/pygments/lexers/graphics.py +1 -1
  143. data/vendor/pygments-main/pygments/lexers/graphql.py +1 -1
  144. data/vendor/pygments-main/pygments/lexers/graphviz.py +1 -1
  145. data/vendor/pygments-main/pygments/lexers/gsql.py +1 -1
  146. data/vendor/pygments-main/pygments/lexers/hare.py +73 -0
  147. data/vendor/pygments-main/pygments/lexers/haskell.py +5 -4
  148. data/vendor/pygments-main/pygments/lexers/haxe.py +9 -3
  149. data/vendor/pygments-main/pygments/lexers/hdl.py +1 -1
  150. data/vendor/pygments-main/pygments/lexers/hexdump.py +1 -1
  151. data/vendor/pygments-main/pygments/lexers/html.py +48 -4
  152. data/vendor/pygments-main/pygments/lexers/idl.py +1 -1
  153. data/vendor/pygments-main/pygments/lexers/igor.py +2 -2
  154. data/vendor/pygments-main/pygments/lexers/inferno.py +1 -1
  155. data/vendor/pygments-main/pygments/lexers/installers.py +53 -26
  156. data/vendor/pygments-main/pygments/lexers/int_fiction.py +1 -1
  157. data/vendor/pygments-main/pygments/lexers/iolang.py +1 -1
  158. data/vendor/pygments-main/pygments/lexers/j.py +1 -1
  159. data/vendor/pygments-main/pygments/lexers/javascript.py +5 -1
  160. data/vendor/pygments-main/pygments/lexers/jmespath.py +1 -1
  161. data/vendor/pygments-main/pygments/lexers/jslt.py +1 -1
  162. data/vendor/pygments-main/pygments/lexers/json5.py +83 -0
  163. data/vendor/pygments-main/pygments/lexers/jsonnet.py +1 -1
  164. data/vendor/pygments-main/pygments/lexers/jsx.py +64 -39
  165. data/vendor/pygments-main/pygments/lexers/julia.py +2 -1
  166. data/vendor/pygments-main/pygments/lexers/jvm.py +11 -6
  167. data/vendor/pygments-main/pygments/lexers/kuin.py +1 -1
  168. data/vendor/pygments-main/pygments/lexers/kusto.py +1 -1
  169. data/vendor/pygments-main/pygments/lexers/ldap.py +1 -1
  170. data/vendor/pygments-main/pygments/lexers/lean.py +3 -3
  171. data/vendor/pygments-main/pygments/lexers/lilypond.py +1 -1
  172. data/vendor/pygments-main/pygments/lexers/lisp.py +18 -12
  173. data/vendor/pygments-main/pygments/lexers/macaulay2.py +169 -110
  174. data/vendor/pygments-main/pygments/lexers/make.py +1 -1
  175. data/vendor/pygments-main/pygments/lexers/maple.py +291 -0
  176. data/vendor/pygments-main/pygments/lexers/markup.py +11 -6
  177. data/vendor/pygments-main/pygments/lexers/math.py +1 -1
  178. data/vendor/pygments-main/pygments/lexers/matlab.py +5 -4
  179. data/vendor/pygments-main/pygments/lexers/maxima.py +1 -1
  180. data/vendor/pygments-main/pygments/lexers/meson.py +3 -3
  181. data/vendor/pygments-main/pygments/lexers/mime.py +1 -1
  182. data/vendor/pygments-main/pygments/lexers/minecraft.py +3 -2
  183. data/vendor/pygments-main/pygments/lexers/mips.py +1 -1
  184. data/vendor/pygments-main/pygments/lexers/ml.py +1 -1
  185. data/vendor/pygments-main/pygments/lexers/modeling.py +3 -1
  186. data/vendor/pygments-main/pygments/lexers/modula2.py +1 -1
  187. data/vendor/pygments-main/pygments/lexers/mojo.py +7 -4
  188. data/vendor/pygments-main/pygments/lexers/monte.py +1 -1
  189. data/vendor/pygments-main/pygments/lexers/mosel.py +1 -1
  190. data/vendor/pygments-main/pygments/lexers/ncl.py +1 -1
  191. data/vendor/pygments-main/pygments/lexers/nimrod.py +1 -1
  192. data/vendor/pygments-main/pygments/lexers/nit.py +1 -1
  193. data/vendor/pygments-main/pygments/lexers/nix.py +1 -1
  194. data/vendor/pygments-main/pygments/lexers/numbair.py +63 -0
  195. data/vendor/pygments-main/pygments/lexers/oberon.py +2 -2
  196. data/vendor/pygments-main/pygments/lexers/objective.py +12 -12
  197. data/vendor/pygments-main/pygments/lexers/ooc.py +3 -3
  198. data/vendor/pygments-main/pygments/lexers/openscad.py +1 -1
  199. data/vendor/pygments-main/pygments/lexers/other.py +1 -1
  200. data/vendor/pygments-main/pygments/lexers/parasail.py +1 -1
  201. data/vendor/pygments-main/pygments/lexers/parsers.py +5 -5
  202. data/vendor/pygments-main/pygments/lexers/pascal.py +1 -1
  203. data/vendor/pygments-main/pygments/lexers/pawn.py +1 -1
  204. data/vendor/pygments-main/pygments/lexers/pddl.py +82 -0
  205. data/vendor/pygments-main/pygments/lexers/perl.py +1 -1
  206. data/vendor/pygments-main/pygments/lexers/phix.py +1 -1
  207. data/vendor/pygments-main/pygments/lexers/php.py +6 -5
  208. data/vendor/pygments-main/pygments/lexers/pointless.py +1 -1
  209. data/vendor/pygments-main/pygments/lexers/pony.py +1 -1
  210. data/vendor/pygments-main/pygments/lexers/praat.py +1 -1
  211. data/vendor/pygments-main/pygments/lexers/procfile.py +1 -1
  212. data/vendor/pygments-main/pygments/lexers/prolog.py +1 -1
  213. data/vendor/pygments-main/pygments/lexers/promql.py +1 -1
  214. data/vendor/pygments-main/pygments/lexers/prql.py +1 -1
  215. data/vendor/pygments-main/pygments/lexers/ptx.py +1 -1
  216. data/vendor/pygments-main/pygments/lexers/python.py +58 -52
  217. data/vendor/pygments-main/pygments/lexers/q.py +1 -1
  218. data/vendor/pygments-main/pygments/lexers/qlik.py +1 -1
  219. data/vendor/pygments-main/pygments/lexers/qvt.py +1 -1
  220. data/vendor/pygments-main/pygments/lexers/r.py +8 -4
  221. data/vendor/pygments-main/pygments/lexers/rdf.py +4 -4
  222. data/vendor/pygments-main/pygments/lexers/rebol.py +1 -1
  223. data/vendor/pygments-main/pygments/lexers/rego.py +57 -0
  224. data/vendor/pygments-main/pygments/lexers/rell.py +68 -0
  225. data/vendor/pygments-main/pygments/lexers/resource.py +1 -1
  226. data/vendor/pygments-main/pygments/lexers/ride.py +1 -1
  227. data/vendor/pygments-main/pygments/lexers/rita.py +1 -1
  228. data/vendor/pygments-main/pygments/lexers/rnc.py +1 -1
  229. data/vendor/pygments-main/pygments/lexers/roboconf.py +1 -1
  230. data/vendor/pygments-main/pygments/lexers/robotframework.py +1 -1
  231. data/vendor/pygments-main/pygments/lexers/ruby.py +1 -1
  232. data/vendor/pygments-main/pygments/lexers/rust.py +1 -1
  233. data/vendor/pygments-main/pygments/lexers/sas.py +1 -1
  234. data/vendor/pygments-main/pygments/lexers/savi.py +1 -1
  235. data/vendor/pygments-main/pygments/lexers/scdoc.py +1 -1
  236. data/vendor/pygments-main/pygments/lexers/scripting.py +65 -25
  237. data/vendor/pygments-main/pygments/lexers/sgf.py +1 -1
  238. data/vendor/pygments-main/pygments/lexers/shell.py +5 -1
  239. data/vendor/pygments-main/pygments/lexers/sieve.py +1 -1
  240. data/vendor/pygments-main/pygments/lexers/slash.py +1 -1
  241. data/vendor/pygments-main/pygments/lexers/smalltalk.py +1 -1
  242. data/vendor/pygments-main/pygments/lexers/smithy.py +1 -1
  243. data/vendor/pygments-main/pygments/lexers/smv.py +1 -1
  244. data/vendor/pygments-main/pygments/lexers/snobol.py +1 -1
  245. data/vendor/pygments-main/pygments/lexers/solidity.py +1 -1
  246. data/vendor/pygments-main/pygments/lexers/soong.py +1 -1
  247. data/vendor/pygments-main/pygments/lexers/sophia.py +1 -1
  248. data/vendor/pygments-main/pygments/lexers/special.py +2 -1
  249. data/vendor/pygments-main/pygments/lexers/spice.py +2 -2
  250. data/vendor/pygments-main/pygments/lexers/sql.py +205 -127
  251. data/vendor/pygments-main/pygments/lexers/srcinfo.py +1 -1
  252. data/vendor/pygments-main/pygments/lexers/stata.py +1 -1
  253. data/vendor/pygments-main/pygments/lexers/supercollider.py +1 -1
  254. data/vendor/pygments-main/pygments/lexers/tablegen.py +177 -0
  255. data/vendor/pygments-main/pygments/lexers/tact.py +1 -1
  256. data/vendor/pygments-main/pygments/lexers/tal.py +1 -1
  257. data/vendor/pygments-main/pygments/lexers/tcl.py +1 -1
  258. data/vendor/pygments-main/pygments/lexers/teal.py +1 -1
  259. data/vendor/pygments-main/pygments/lexers/templates.py +3 -3
  260. data/vendor/pygments-main/pygments/lexers/teraterm.py +11 -1
  261. data/vendor/pygments-main/pygments/lexers/testing.py +1 -1
  262. data/vendor/pygments-main/pygments/lexers/text.py +2 -2
  263. data/vendor/pygments-main/pygments/lexers/textedit.py +1 -1
  264. data/vendor/pygments-main/pygments/lexers/textfmts.py +1 -1
  265. data/vendor/pygments-main/pygments/lexers/theorem.py +8 -8
  266. data/vendor/pygments-main/pygments/lexers/thingsdb.py +8 -5
  267. data/vendor/pygments-main/pygments/lexers/tlb.py +1 -1
  268. data/vendor/pygments-main/pygments/lexers/tls.py +1 -1
  269. data/vendor/pygments-main/pygments/lexers/tnt.py +1 -1
  270. data/vendor/pygments-main/pygments/lexers/trafficscript.py +1 -1
  271. data/vendor/pygments-main/pygments/lexers/typoscript.py +1 -1
  272. data/vendor/pygments-main/pygments/lexers/typst.py +82 -26
  273. data/vendor/pygments-main/pygments/lexers/ul4.py +1 -1
  274. data/vendor/pygments-main/pygments/lexers/unicon.py +1 -1
  275. data/vendor/pygments-main/pygments/lexers/urbi.py +1 -1
  276. data/vendor/pygments-main/pygments/lexers/usd.py +1 -1
  277. data/vendor/pygments-main/pygments/lexers/varnish.py +1 -1
  278. data/vendor/pygments-main/pygments/lexers/verification.py +1 -1
  279. data/vendor/pygments-main/pygments/lexers/verifpal.py +1 -1
  280. data/vendor/pygments-main/pygments/lexers/vip.py +1 -1
  281. data/vendor/pygments-main/pygments/lexers/vyper.py +2 -2
  282. data/vendor/pygments-main/pygments/lexers/web.py +1 -1
  283. data/vendor/pygments-main/pygments/lexers/webassembly.py +1 -1
  284. data/vendor/pygments-main/pygments/lexers/webidl.py +1 -1
  285. data/vendor/pygments-main/pygments/lexers/webmisc.py +1 -1
  286. data/vendor/pygments-main/pygments/lexers/wgsl.py +1 -1
  287. data/vendor/pygments-main/pygments/lexers/whiley.py +1 -1
  288. data/vendor/pygments-main/pygments/lexers/wowtoc.py +1 -1
  289. data/vendor/pygments-main/pygments/lexers/wren.py +1 -1
  290. data/vendor/pygments-main/pygments/lexers/x10.py +1 -1
  291. data/vendor/pygments-main/pygments/lexers/xorg.py +1 -1
  292. data/vendor/pygments-main/pygments/lexers/yang.py +1 -1
  293. data/vendor/pygments-main/pygments/lexers/yara.py +1 -1
  294. data/vendor/pygments-main/pygments/lexers/zig.py +2 -2
  295. data/vendor/pygments-main/pygments/modeline.py +1 -1
  296. data/vendor/pygments-main/pygments/plugin.py +3 -1
  297. data/vendor/pygments-main/pygments/regexopt.py +13 -2
  298. data/vendor/pygments-main/pygments/scanner.py +1 -1
  299. data/vendor/pygments-main/pygments/sphinxext.py +1 -1
  300. data/vendor/pygments-main/pygments/style.py +1 -1
  301. data/vendor/pygments-main/pygments/styles/__init__.py +1 -1
  302. data/vendor/pygments-main/pygments/styles/abap.py +1 -1
  303. data/vendor/pygments-main/pygments/styles/algol.py +1 -1
  304. data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -1
  305. data/vendor/pygments-main/pygments/styles/arduino.py +1 -1
  306. data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
  307. data/vendor/pygments-main/pygments/styles/borland.py +1 -1
  308. data/vendor/pygments-main/pygments/styles/bw.py +1 -1
  309. data/vendor/pygments-main/pygments/styles/coffee.py +1 -1
  310. data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
  311. data/vendor/pygments-main/pygments/styles/default.py +1 -1
  312. data/vendor/pygments-main/pygments/styles/dracula.py +1 -1
  313. data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
  314. data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
  315. data/vendor/pygments-main/pygments/styles/friendly_grayscale.py +1 -1
  316. data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
  317. data/vendor/pygments-main/pygments/styles/gh_dark.py +1 -1
  318. data/vendor/pygments-main/pygments/styles/gruvbox.py +1 -1
  319. data/vendor/pygments-main/pygments/styles/igor.py +1 -1
  320. data/vendor/pygments-main/pygments/styles/inkpot.py +1 -1
  321. data/vendor/pygments-main/pygments/styles/lightbulb.py +1 -1
  322. data/vendor/pygments-main/pygments/styles/lilypond.py +1 -1
  323. data/vendor/pygments-main/pygments/styles/lovelace.py +1 -1
  324. data/vendor/pygments-main/pygments/styles/manni.py +1 -1
  325. data/vendor/pygments-main/pygments/styles/material.py +1 -1
  326. data/vendor/pygments-main/pygments/styles/monokai.py +1 -1
  327. data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
  328. data/vendor/pygments-main/pygments/styles/native.py +1 -1
  329. data/vendor/pygments-main/pygments/styles/nord.py +1 -1
  330. data/vendor/pygments-main/pygments/styles/onedark.py +13 -3
  331. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -1
  332. data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -1
  333. data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
  334. data/vendor/pygments-main/pygments/styles/perldoc.py +1 -1
  335. data/vendor/pygments-main/pygments/styles/rainbow_dash.py +1 -1
  336. data/vendor/pygments-main/pygments/styles/rrt.py +18 -3
  337. data/vendor/pygments-main/pygments/styles/sas.py +1 -1
  338. data/vendor/pygments-main/pygments/styles/solarized.py +1 -1
  339. data/vendor/pygments-main/pygments/styles/staroffice.py +1 -1
  340. data/vendor/pygments-main/pygments/styles/stata_dark.py +1 -1
  341. data/vendor/pygments-main/pygments/styles/stata_light.py +1 -1
  342. data/vendor/pygments-main/pygments/styles/tango.py +1 -1
  343. data/vendor/pygments-main/pygments/styles/trac.py +1 -1
  344. data/vendor/pygments-main/pygments/styles/vim.py +1 -1
  345. data/vendor/pygments-main/pygments/styles/vs.py +1 -1
  346. data/vendor/pygments-main/pygments/styles/xcode.py +1 -1
  347. data/vendor/pygments-main/pygments/styles/zenburn.py +1 -1
  348. data/vendor/pygments-main/pygments/token.py +1 -1
  349. data/vendor/pygments-main/pygments/unistring.py +1 -1
  350. data/vendor/pygments-main/pygments/util.py +2 -2
  351. data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.20.0.dist-info}/METADATA +7 -7
  352. data/vendor/pygments-main/pygments-2.20.0.dist-info/RECORD +687 -0
  353. data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.20.0.dist-info}/WHEEL +1 -1
  354. data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.20.0.dist-info}/licenses/AUTHORS +9 -0
  355. metadata +44 -21
  356. data/vendor/pygments-main/pygments-2.18.0.dist-info/RECORD +0 -663
  357. /data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.20.0.dist-info}/INSTALLER +0 -0
  358. /data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.20.0.dist-info}/REQUESTED +0 -0
  359. /data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.20.0.dist-info}/entry_points.txt +0 -0
  360. /data/vendor/pygments-main/{pygments-2.18.0.dist-info → pygments-2.20.0.dist-info}/licenses/LICENSE +0 -0
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for Python and related languages.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -33,7 +33,7 @@ class PythonLexer(RegexLexer):
33
33
 
34
34
  name = 'Python'
35
35
  url = 'https://www.python.org'
36
- aliases = ['python', 'py', 'sage', 'python3', 'py3', 'bazel', 'starlark']
36
+ aliases = ['python', 'py', 'sage', 'python3', 'py3', 'bazel', 'starlark', 'pyi']
37
37
  filenames = [
38
38
  '*.py',
39
39
  '*.pyw',
@@ -55,6 +55,8 @@ class PythonLexer(RegexLexer):
55
55
  'WORKSPACE',
56
56
  # Twisted Application infrastructure
57
57
  '*.tac',
58
+ # Execubot level format
59
+ '*.pye',
58
60
  ]
59
61
  mimetypes = ['text/x-python', 'application/x-python',
60
62
  'text/x-python3', 'application/x-python3']
@@ -109,36 +111,36 @@ class PythonLexer(RegexLexer):
109
111
  (r'\\', Text),
110
112
  include('keywords'),
111
113
  include('soft-keywords'),
112
- (r'(def)((?:\s|\\\s)+)', bygroups(Keyword, Text), 'funcname'),
113
- (r'(class)((?:\s|\\\s)+)', bygroups(Keyword, Text), 'classname'),
114
- (r'(from)((?:\s|\\\s)+)', bygroups(Keyword.Namespace, Text),
114
+ (r'(def)((?:\s|\\\s)+)', bygroups(Keyword, Whitespace), 'funcname'),
115
+ (r'(class)((?:\s|\\\s)+)', bygroups(Keyword, Whitespace), 'classname'),
116
+ (r'(from)((?:\s|\\\s)+)', bygroups(Keyword.Namespace, Whitespace),
115
117
  'fromimport'),
116
- (r'(import)((?:\s|\\\s)+)', bygroups(Keyword.Namespace, Text),
118
+ (r'(import)((?:\s|\\\s)+)', bygroups(Keyword.Namespace, Whitespace),
117
119
  'import'),
118
120
  include('expr'),
119
121
  ],
120
122
  'expr': [
121
- # raw f-strings
122
- ('(?i)(rf|fr)(""")',
123
+ # raw f-strings and t-strings
124
+ ('(?i)(r[ft]|[ft]r)(""")',
123
125
  bygroups(String.Affix, String.Double),
124
126
  combined('rfstringescape', 'tdqf')),
125
- ("(?i)(rf|fr)(''')",
127
+ ("(?i)(r[ft]|[ft]r)(''')",
126
128
  bygroups(String.Affix, String.Single),
127
129
  combined('rfstringescape', 'tsqf')),
128
- ('(?i)(rf|fr)(")',
130
+ ('(?i)(r[ft]|[ft]r)(")',
129
131
  bygroups(String.Affix, String.Double),
130
132
  combined('rfstringescape', 'dqf')),
131
- ("(?i)(rf|fr)(')",
133
+ ("(?i)(r[ft]|[ft]r)(')",
132
134
  bygroups(String.Affix, String.Single),
133
135
  combined('rfstringescape', 'sqf')),
134
- # non-raw f-strings
135
- ('([fF])(""")', bygroups(String.Affix, String.Double),
136
+ # non-raw f-strings and t-strings
137
+ ('([fFtT])(""")', bygroups(String.Affix, String.Double),
136
138
  combined('fstringescape', 'tdqf')),
137
- ("([fF])(''')", bygroups(String.Affix, String.Single),
139
+ ("([fFtT])(''')", bygroups(String.Affix, String.Single),
138
140
  combined('fstringescape', 'tsqf')),
139
- ('([fF])(")', bygroups(String.Affix, String.Double),
141
+ ('([fFtT])(")', bygroups(String.Affix, String.Double),
140
142
  combined('fstringescape', 'dqf')),
141
- ("([fF])(')", bygroups(String.Affix, String.Single),
143
+ ("([fFtT])(')", bygroups(String.Affix, String.Single),
142
144
  combined('fstringescape', 'sqf')),
143
145
  # raw bytes and strings
144
146
  ('(?i)(rb|br|r)(""")',
@@ -329,14 +331,14 @@ class PythonLexer(RegexLexer):
329
331
  (uni_name, Name.Class, '#pop'),
330
332
  ],
331
333
  'import': [
332
- (r'(\s+)(as)(\s+)', bygroups(Text, Keyword, Text)),
334
+ (r'(\s+)(as)(\s+)', bygroups(Whitespace, Keyword, Whitespace)),
333
335
  (r'\.', Name.Namespace),
334
336
  (uni_name, Name.Namespace),
335
- (r'(\s*)(,)(\s*)', bygroups(Text, Operator, Text)),
337
+ (r'(\s*)(,)(\s*)', bygroups(Whitespace, Operator, Whitespace)),
336
338
  default('#pop') # all else: go back
337
339
  ],
338
340
  'fromimport': [
339
- (r'(\s+)(import)\b', bygroups(Text, Keyword.Namespace), '#pop'),
341
+ (r'(\s+)(import)\b', bygroups(Whitespace, Keyword.Namespace), '#pop'),
340
342
  (r'\.', Name.Namespace),
341
343
  # if None occurs here, it's "raise x from None", since None can
342
344
  # never be a module name
@@ -459,11 +461,11 @@ class Python2Lexer(RegexLexer):
459
461
  (r'(in|is|and|or|not)\b', Operator.Word),
460
462
  (r'!=|==|<<|>>|[-~+/*%=<>&^|.]', Operator),
461
463
  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),
464
+ (r'(def)((?:\s|\\\s)+)', bygroups(Keyword, Whitespace), 'funcname'),
465
+ (r'(class)((?:\s|\\\s)+)', bygroups(Keyword, Whitespace), 'classname'),
466
+ (r'(from)((?:\s|\\\s)+)', bygroups(Keyword.Namespace, Whitespace),
465
467
  'fromimport'),
466
- (r'(import)((?:\s|\\\s)+)', bygroups(Keyword.Namespace, Text),
468
+ (r'(import)((?:\s|\\\s)+)', bygroups(Keyword.Namespace, Whitespace),
467
469
  'import'),
468
470
  include('builtins'),
469
471
  include('magicfuncs'),
@@ -635,6 +637,7 @@ class Python2Lexer(RegexLexer):
635
637
  def analyse_text(text):
636
638
  return shebang_matches(text, r'pythonw?2(\.\d)?')
637
639
 
640
+
638
641
  class _PythonConsoleLexerBase(RegexLexer):
639
642
  name = 'Python console session'
640
643
  aliases = ['pycon', 'python-console']
@@ -671,6 +674,7 @@ class _PythonConsoleLexerBase(RegexLexer):
671
674
  ],
672
675
  }
673
676
 
677
+
674
678
  class PythonConsoleLexer(DelegatingLexer):
675
679
  """
676
680
  For Python console output or doctests, such as:
@@ -719,6 +723,7 @@ class PythonConsoleLexer(DelegatingLexer):
719
723
  super().__init__(pylexer, _PythonConsoleLexerBase, Other.Code, **options)
720
724
  super().__init__(tblexer, _ReplaceInnerCode, Other.Traceback, **options)
721
725
 
726
+
722
727
  class PythonTracebackLexer(RegexLexer):
723
728
  """
724
729
  For Python 3.x tracebacks, with support for chained exceptions.
@@ -851,16 +856,16 @@ class CythonLexer(RegexLexer):
851
856
  bygroups(Punctuation, Keyword.Type, Punctuation)),
852
857
  (r'!=|==|<<|>>|[-~+/*%=<>&^|.?]', Operator),
853
858
  (r'(from)(\d+)(<=)(\s+)(<)(\d+)(:)',
854
- bygroups(Keyword, Number.Integer, Operator, Name, Operator,
859
+ bygroups(Keyword, Number.Integer, Operator, Whitespace, Operator,
855
860
  Name, Punctuation)),
856
861
  include('keywords'),
857
- (r'(def|property)(\s+)', bygroups(Keyword, Text), 'funcname'),
858
- (r'(cp?def)(\s+)', bygroups(Keyword, Text), 'cdef'),
862
+ (r'(def|property)(\s+)', bygroups(Keyword, Whitespace), 'funcname'),
863
+ (r'(cp?def)(\s+)', bygroups(Keyword, Whitespace), 'cdef'),
859
864
  # (should actually start a block with only cdefs)
860
865
  (r'(cdef)(:)', bygroups(Keyword, Punctuation)),
861
- (r'(class|struct)(\s+)', bygroups(Keyword, Text), 'classname'),
862
- (r'(from)(\s+)', bygroups(Keyword, Text), 'fromimport'),
863
- (r'(c?import)(\s+)', bygroups(Keyword, Text), 'import'),
866
+ (r'(class|cppclass|struct)(\s+)', bygroups(Keyword, Whitespace), 'classname'),
867
+ (r'(from)(\s+)', bygroups(Keyword, Whitespace), 'fromimport'),
868
+ (r'(c?import)(\s+)', bygroups(Keyword, Whitespace), 'import'),
864
869
  include('builtins'),
865
870
  include('backtick'),
866
871
  ('(?:[rR]|[uU][rR]|[rR][uU])"""', String, 'tdqs'),
@@ -876,37 +881,38 @@ class CythonLexer(RegexLexer):
876
881
  ],
877
882
  'keywords': [
878
883
  (words((
879
- 'assert', 'async', 'await', 'break', 'by', 'continue', 'ctypedef', 'del', 'elif',
880
- 'else', 'except', 'except?', 'exec', 'finally', 'for', 'fused', 'gil',
881
- 'global', 'if', 'include', 'lambda', 'nogil', 'pass', 'print',
882
- 'raise', 'return', 'try', 'while', 'yield', 'as', 'with'), suffix=r'\b'),
884
+ 'assert', 'async', 'await', 'break', 'by', 'continue', 'ctypedef', 'del',
885
+ 'elif', 'else', 'except', 'except?', 'exec', 'finally', 'for', 'fused', 'gil',
886
+ 'global', 'if', 'include', 'lambda', 'namespace', 'new', 'noexcept','nogil',
887
+ 'pass', 'print', 'raise', 'return', 'try', 'while', 'yield', 'as', 'with'),
888
+ suffix=r'\b'),
883
889
  Keyword),
890
+ (words(('True', 'False', 'None', 'NULL'), suffix=r'\b'), Keyword.Constant),
884
891
  (r'(DEF|IF|ELIF|ELSE)\b', Comment.Preproc),
885
892
  ],
886
893
  'builtins': [
887
894
  (words((
888
895
  '__import__', 'abs', 'all', 'any', 'apply', 'basestring', 'bin', 'bint',
889
- 'bool', 'buffer', 'bytearray', 'bytes', 'callable', 'chr',
896
+ 'bool', 'buffer', 'bytearray', 'bytes', 'callable', 'char', 'chr',
890
897
  'classmethod', 'cmp', 'coerce', 'compile', 'complex', 'delattr',
891
- 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'execfile', 'exit',
898
+ 'dict', 'dir', 'divmod', 'double', 'enumerate', 'eval', 'execfile', 'exit',
892
899
  'file', 'filter', 'float', 'frozenset', 'getattr', 'globals',
893
900
  'hasattr', 'hash', 'hex', 'id', 'input', 'int', 'intern', 'isinstance',
894
901
  'issubclass', 'iter', 'len', 'list', 'locals', 'long', 'map', 'max',
895
- 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'property', 'Py_ssize_t',
896
- 'range', 'raw_input', 'reduce', 'reload', 'repr', 'reversed',
897
- 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod',
898
- 'str', 'sum', 'super', 'tuple', 'type', 'unichr', 'unicode', 'unsigned',
899
- 'vars', 'xrange', 'zip'), prefix=r'(?<!\.)', suffix=r'\b'),
902
+ 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'property',
903
+ 'Py_ssize_t', 'range', 'raw_input', 'reduce', 'reload', 'repr', 'reversed',
904
+ 'round', 'set', 'setattr', 'size_t', 'slice', 'sorted', 'staticmethod',
905
+ 'ssize_t', 'str', 'sum', 'super', 'tuple', 'type', 'unichr', 'unicode',
906
+ 'unsigned', 'vars', 'xrange', 'zip'), prefix=r'(?<!\.)', suffix=r'\b'),
900
907
  Name.Builtin),
901
- (r'(?<!\.)(self|None|Ellipsis|NotImplemented|False|True|NULL'
902
- r')\b', Name.Builtin.Pseudo),
908
+ (r'(?<!\.)(self|cls|Ellipsis|NotImplemented)\b', Name.Builtin.Pseudo),
903
909
  (words((
904
910
  'ArithmeticError', 'AssertionError', 'AttributeError',
905
911
  'BaseException', 'DeprecationWarning', 'EOFError', 'EnvironmentError',
906
912
  'Exception', 'FloatingPointError', 'FutureWarning', 'GeneratorExit',
907
913
  'IOError', 'ImportError', 'ImportWarning', 'IndentationError',
908
914
  'IndexError', 'KeyError', 'KeyboardInterrupt', 'LookupError',
909
- 'MemoryError', 'NameError', 'NotImplemented', 'NotImplementedError',
915
+ 'MemoryError', 'NameError', 'NotImplementedError',
910
916
  'OSError', 'OverflowError', 'OverflowWarning',
911
917
  'PendingDeprecationWarning', 'ReferenceError', 'RuntimeError',
912
918
  'RuntimeWarning', 'StandardError', 'StopIteration', 'SyntaxError',
@@ -935,12 +941,12 @@ class CythonLexer(RegexLexer):
935
941
  (r'[a-zA-Z_]\w*', Name.Function, '#pop')
936
942
  ],
937
943
  'cdef': [
938
- (r'(public|readonly|extern|api|inline)\b', Keyword.Reserved),
939
- (r'(struct|enum|union|class)\b', Keyword),
940
- (r'([a-zA-Z_]\w*)(\s*)(?=[(:#=]|$)',
941
- bygroups(Name.Function, Text), '#pop'),
942
- (r'([a-zA-Z_]\w*)(\s*)(,)',
943
- bygroups(Name.Function, Text, Punctuation)),
944
+ (r"(public|readonly|extern|api|inline|packed)\b", Keyword.Reserved),
945
+ (r"(struct|enum|union|class|cppclass)\b(\s+)([a-zA-Z_]\w*)",
946
+ bygroups(Keyword, Whitespace, Name.Class), "#pop",),
947
+ (r"([a-zA-Z_]\w*)(\s*)(?=\()", bygroups(Name.Function, Whitespace), "#pop"),
948
+ (r"([a-zA-Z_]\w*)(\s*)(?=[:,=#\n]|$)", bygroups(Name.Variable, Whitespace), "#pop"),
949
+ (r"([a-zA-Z_]\w*)(\s*)(,)", bygroups(Name.Variable, Whitespace, Punctuation)),
944
950
  (r'from\b', Keyword, '#pop'),
945
951
  (r'as\b', Keyword),
946
952
  (r':', Punctuation, '#pop'),
@@ -952,13 +958,13 @@ class CythonLexer(RegexLexer):
952
958
  (r'[a-zA-Z_]\w*', Name.Class, '#pop')
953
959
  ],
954
960
  'import': [
955
- (r'(\s+)(as)(\s+)', bygroups(Text, Keyword, Text)),
961
+ (r'(\s+)(as)(\s+)', bygroups(Whitespace, Keyword, Whitespace)),
956
962
  (r'[a-zA-Z_][\w.]*', Name.Namespace),
957
- (r'(\s*)(,)(\s*)', bygroups(Text, Operator, Text)),
963
+ (r'(\s*)(,)(\s*)', bygroups(Whitespace, Operator, Whitespace)),
958
964
  default('#pop') # all else: go back
959
965
  ],
960
966
  'fromimport': [
961
- (r'(\s+)(c?import)\b', bygroups(Text, Keyword), '#pop'),
967
+ (r'(\s+)(c?import)\b', bygroups(Whitespace, Keyword), '#pop'),
962
968
  (r'[a-zA-Z_.][\w.]*', Name.Namespace),
963
969
  # ``cdef foo from "header"``, or ``for foo from 0 < i < 10``
964
970
  default('#pop'),
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for the Q programming language.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present 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 the qlik scripting language
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present 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 QVT Operational language.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present 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
  Lexers for the R/S languages.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -30,6 +30,7 @@ class RConsoleLexer(Lexer):
30
30
  filenames = ['*.Rout']
31
31
  url = 'https://www.r-project.org'
32
32
  version_added = ''
33
+ _example = "rconsole/r-console-transcript.Rout"
33
34
 
34
35
  def get_tokens_unprocessed(self, text):
35
36
  slexer = SLexer(**self.options)
@@ -87,6 +88,9 @@ class SLexer(RegexLexer):
87
88
  'valid_name': [
88
89
  (valid_name, Name),
89
90
  ],
91
+ 'function_name': [
92
+ (rf'({valid_name})\s*(?=\()', Name.Function),
93
+ ],
90
94
  'punctuation': [
91
95
  (r'\[{1,2}|\]{1,2}|\(|\)|;|,', Punctuation),
92
96
  ],
@@ -96,7 +100,7 @@ class SLexer(RegexLexer):
96
100
  Keyword.Reserved),
97
101
  ],
98
102
  'operators': [
99
- (r'<<?-|->>?|-|==|<=|>=|<|>|&&?|!=|\|\|?|\?', Operator),
103
+ (r'<<?-|->>?|-|==|<=|>=|\|>|<|>|&&?|!=|\|\|?|\?', Operator),
100
104
  (r'\*|\+|\^|/|!|%[^%]*%|=|~|\$|@|:{1,3}', Operator),
101
105
  ],
102
106
  'builtin_symbols': [
@@ -120,15 +124,15 @@ class SLexer(RegexLexer):
120
124
  (r'\'', String, 'string_squote'),
121
125
  (r'\"', String, 'string_dquote'),
122
126
  include('builtin_symbols'),
127
+ include('keywords'),
128
+ include('function_name'),
123
129
  include('valid_name'),
124
130
  include('numbers'),
125
- include('keywords'),
126
131
  include('punctuation'),
127
132
  include('operators'),
128
133
  ],
129
134
  'root': [
130
135
  # calls:
131
- (rf'({valid_name})\s*(?=\()', Name.Function),
132
136
  include('statements'),
133
137
  # blocks:
134
138
  (r'\{|\}', Punctuation),
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for semantic web and RDF query languages and markup.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -265,7 +265,7 @@ class TurtleLexer(RegexLexer):
265
265
  bygroups(Name.Namespace, Punctuation, Name.Tag)),
266
266
 
267
267
  # Comment
268
- (r'#[^\n]+', Comment),
268
+ (r'#([^\n]+|$)', Comment),
269
269
 
270
270
  (r'\b(true|false)\b', Literal),
271
271
  (r'[+\-]?\d*\.\d+', Number.Float),
@@ -280,7 +280,7 @@ class TurtleLexer(RegexLexer):
280
280
  ],
281
281
  'triple-double-quoted-string': [
282
282
  (r'"""', String, 'end-of-string'),
283
- (r'[^\\]+', String),
283
+ (r'[^\\]+(?=""")', String),
284
284
  (r'\\', String, 'string-escape'),
285
285
  ],
286
286
  'single-double-quoted-string': [
@@ -290,7 +290,7 @@ class TurtleLexer(RegexLexer):
290
290
  ],
291
291
  'triple-single-quoted-string': [
292
292
  (r"'''", String, 'end-of-string'),
293
- (r'[^\\]+', String),
293
+ (r"[^\\]+(?=''')", String),
294
294
  (r'\\', String, 'string-escape'),
295
295
  ],
296
296
  'single-single-quoted-string': [
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the REBOL and related languages.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -0,0 +1,57 @@
1
+ """
2
+ pygments.lexers.rego
3
+ ~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for the Rego policy languages.
6
+
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import RegexLexer, words
12
+ from pygments.token import Comment, Operator, Keyword, Name, String, Number, Punctuation, Whitespace
13
+
14
+ class RegoLexer(RegexLexer):
15
+ """
16
+ For Rego source.
17
+ """
18
+ name = 'Rego'
19
+ url = 'https://www.openpolicyagent.org/docs/latest/policy-language/'
20
+ filenames = ['*.rego']
21
+ aliases = ['rego']
22
+ mimetypes = ['text/x-rego']
23
+ version_added = '2.19'
24
+
25
+ reserved_words = (
26
+ 'as', 'contains', 'data', 'default', 'else', 'every', 'false',
27
+ 'if', 'in', 'import', 'package', 'not', 'null',
28
+ 'some', 'true', 'with'
29
+ )
30
+
31
+ builtins = (
32
+ # https://www.openpolicyagent.org/docs/latest/philosophy/#the-opa-document-model
33
+ 'data', # Global variable for accessing base and virtual documents
34
+ 'input', # Represents synchronously pushed base documents
35
+ )
36
+
37
+ tokens = {
38
+ 'root': [
39
+ (r'\n', Whitespace),
40
+ (r'\s+', Whitespace),
41
+ (r'#.*?$', Comment.Single),
42
+ (words(reserved_words, suffix=r'\b'), Keyword),
43
+ (words(builtins, suffix=r'\b'), Name.Builtin),
44
+ (r'[a-zA-Z_][a-zA-Z0-9_]*', Name),
45
+ (r'"(\\\\|\\"|[^"])*"', String.Double),
46
+ (r'`[^`]*`', String.Backtick),
47
+ (r'-?\d+(\.\d+)?', Number),
48
+ (r'(==|!=|<=|>=|:=)', Operator), # Compound operators
49
+ (r'[=<>+\-*/%&|]', Operator), # Single-character operators
50
+ (r'[\[\]{}(),.:;]', Punctuation),
51
+ ]
52
+ }
53
+
54
+ __all__ = ['RegoLexer']
55
+
56
+
57
+
@@ -0,0 +1,68 @@
1
+ """
2
+ pygments.lexers.rell
3
+ ~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for the Rell language.
6
+
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import RegexLexer, bygroups, default, words
12
+ from pygments.token import Comment, Keyword, Name, String, Number, \
13
+ Punctuation, Whitespace
14
+
15
+ __all__ = ['RellLexer']
16
+
17
+
18
+ class RellLexer(RegexLexer):
19
+ """
20
+ A Lexer for Rell.
21
+ """
22
+ name = 'Rell'
23
+ url = 'https://docs.chromia.com/rell/rell-intro'
24
+ aliases = ['rell']
25
+ filenames = ['*.rell']
26
+ mimetypes = ['text/x-rell']
27
+ version_added = '2.20'
28
+
29
+ ident = r'[a-zA-Z_][a-zA-Z0-9_]*'
30
+
31
+ tokens = {
32
+ 'root': [
33
+ (words((
34
+ 'big_integer', 'boolean', 'byte_array', 'decimal', 'gtv',
35
+ 'integer', 'json', 'list', 'map', 'mutable', 'set', 'text',
36
+ 'virtual'), suffix=r'\b'),
37
+ Keyword.Type),
38
+ (r'(false|true|null)\b', Keyword.Constant),
39
+ (r'(entity|enum|namespace|object|struct)\b', Keyword.Declaration),
40
+ (r'(function|operation|query)\b', Keyword.Declaration, 'function'),
41
+ (words((
42
+ 'abstract', 'and', 'break', 'continue', 'create', 'delete',
43
+ 'else', 'for', 'if', 'import', 'in', 'index', 'key', 'limit',
44
+ 'module', 'not', 'offset', 'or', 'override', 'return', 'update',
45
+ 'val', 'var', 'when', 'while'), suffix=r'\b'),
46
+ Keyword.Reserved),
47
+ (r'//.*?$', Comment.Single),
48
+ (r'/\*(.|\n|\r)*?\*/', Comment.Multiline),
49
+ (r'"(\\\\|\\"|[^"])*"', String.Double),
50
+ (r'\'(\\\\|\\\'|[^\\\'])*\'', String.Single),
51
+ (r'-?[0-9]*\.[0-9]+([eE][+-][0-9]+)?', Number.Float),
52
+ (r'-?[0-9]+([eE][+-][0-9]+|[lL])?', Number.Integer),
53
+ (r'x(\'[a-fA-F0-9]*\'|"[a-fA-F0-9]*")', String.Binary),
54
+ (r'(\.)([ \n\t\r]*)(' + ident + ')',
55
+ bygroups(Punctuation, Whitespace, Name.Attribute)),
56
+ (r'[{}():;,]+', Punctuation),
57
+ (r'[ \n\t\r]+', Whitespace),
58
+ (r'@[a-zA-Z_][a-zA-Z0-9_]*', Name.Decorator),
59
+ (r'[~^*!%&\[\]<>|+=/?\-@\$]', Punctuation.Marker),
60
+ (ident, Name),
61
+ (r'(\.)+', Punctuation),
62
+ ],
63
+ 'function': [
64
+ (r'[ \n\t\r]+', Whitespace),
65
+ (ident, Name.Function, '#pop'),
66
+ default('#pop'),
67
+ ],
68
+ }
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for resource definition files.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present 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 the Ride programming language.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present 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
  Lexers for RITA language
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present 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 Relax-NG Compact syntax
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present 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
  Lexers for Roboconf DSL.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present 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 Robot Framework.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present 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
  Lexers for Ruby and related languages.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present 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
  Lexers for the Rust language.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present 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 SAS.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present 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 Savi.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present 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 scdoc, a simple man page generator.
6
6
 
7
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10