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
@@ -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-present by the Pygments team, see AUTHORS.
10
10
  :license: BSD, see LICENSE for details.
11
11
  """
12
12
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for Tcl 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
  Lexer for TEAL.
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 various template engines' 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
 
@@ -1501,7 +1501,7 @@ class EvoqueHtmlLexer(DelegatingLexer):
1501
1501
  """
1502
1502
  name = 'HTML+Evoque'
1503
1503
  aliases = ['html+evoque']
1504
- filenames = ['*.html']
1504
+ alias_filenames = ['*.html']
1505
1505
  mimetypes = ['text/html+evoque']
1506
1506
  url = 'https://gizmojo.org/templating'
1507
1507
  version_added = '1.1'
@@ -1520,7 +1520,7 @@ class EvoqueXmlLexer(DelegatingLexer):
1520
1520
  """
1521
1521
  name = 'XML+Evoque'
1522
1522
  aliases = ['xml+evoque']
1523
- filenames = ['*.xml']
1523
+ alias_filenames = ['*.xml']
1524
1524
  mimetypes = ['application/xml+evoque']
1525
1525
  url = 'https://gizmojo.org/templating'
1526
1526
  version_added = '1.1'
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for Tera Term macro 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
 
@@ -84,6 +84,7 @@ class TeraTermLexer(RegexLexer):
84
84
  r'crc32file|'
85
85
  r'cygconnect|'
86
86
  r'delpassword|'
87
+ r'delpassword2|'
87
88
  r'dirname|'
88
89
  r'dirnamebox|'
89
90
  r'disconnect|'
@@ -139,10 +140,12 @@ class TeraTermLexer(RegexLexer):
139
140
  r'getipv6addr|'
140
141
  r'getmodemstatus|'
141
142
  r'getpassword|'
143
+ r'getpassword2|'
142
144
  r'getspecialfolder|'
143
145
  r'gettime|'
144
146
  r'gettitle|'
145
147
  r'getttdir|'
148
+ r'getttpos|'
146
149
  r'getver|'
147
150
  # 'goto' is handled separately.
148
151
  r'if|'
@@ -152,6 +155,7 @@ class TeraTermLexer(RegexLexer):
152
155
  r'int2str|'
153
156
  r'intdim|'
154
157
  r'ispassword|'
158
+ r'ispassword2|'
155
159
  r'kmtfinish|'
156
160
  r'kmtget|'
157
161
  r'kmtrecv|'
@@ -176,6 +180,7 @@ class TeraTermLexer(RegexLexer):
176
180
  r'quickvanrecv|'
177
181
  r'quickvansend|'
178
182
  r'random|'
183
+ r'recvfile'
179
184
  r'recvln|'
180
185
  r'regexoption|'
181
186
  r'restoresetup|'
@@ -185,6 +190,7 @@ class TeraTermLexer(RegexLexer):
185
190
  r'scprecv|'
186
191
  r'scpsend|'
187
192
  r'send|'
193
+ r'sendbinary|'
188
194
  r'sendbreak|'
189
195
  r'sendbroadcast|'
190
196
  r'sendfile|'
@@ -193,6 +199,7 @@ class TeraTermLexer(RegexLexer):
193
199
  r'sendlnbroadcast|'
194
200
  r'sendlnmulticast|'
195
201
  r'sendmulticast|'
202
+ r'sendtext|'
196
203
  r'setbaud|'
197
204
  r'setdate|'
198
205
  r'setdebug|'
@@ -206,7 +213,10 @@ class TeraTermLexer(RegexLexer):
206
213
  r'setflowctrl|'
207
214
  r'setmulticastname|'
208
215
  r'setpassword|'
216
+ r'setpassword2|'
209
217
  r'setrts|'
218
+ r'setserialdelaychar'
219
+ r'setserialdelayline'
210
220
  r'setspeed|'
211
221
  r'setsync|'
212
222
  r'settime|'
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for testing 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 non-source code file types.
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
 
@@ -16,7 +16,7 @@ from pygments.lexers.console import PyPyLogLexer
16
16
  from pygments.lexers.textedit import VimLexer
17
17
  from pygments.lexers.markup import BBCodeLexer, MoinWikiLexer, RstLexer, \
18
18
  TexLexer, GroffLexer
19
- from pygments.lexers.installers import DebianControlLexer, SourcesListLexer
19
+ from pygments.lexers.installers import DebianControlLexer, DebianSourcesLexer, SourcesListLexer
20
20
  from pygments.lexers.make import MakefileLexer, BaseMakefileLexer, CMakeLexer
21
21
  from pygments.lexers.haxe import HxmlLexer
22
22
  from pygments.lexers.sgf import SmartGameFormatLexer
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for languages related to text processing.
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 various text formats.
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
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  See also :mod:`pygments.lexers.lean`
8
8
 
9
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
9
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
10
10
  :license: BSD, see LICENSE for details.
11
11
  """
12
12
 
@@ -16,19 +16,19 @@ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
16
16
  # compatibility import
17
17
  from pygments.lexers.lean import LeanLexer # noqa: F401
18
18
 
19
- __all__ = ['CoqLexer', 'IsabelleLexer']
19
+ __all__ = ['RocqLexer', 'IsabelleLexer']
20
20
 
21
21
 
22
- class CoqLexer(RegexLexer):
22
+ class RocqLexer(RegexLexer):
23
23
  """
24
- For the Coq theorem prover.
24
+ For the Rocq Prover.
25
25
  """
26
26
 
27
- name = 'Coq'
28
- url = 'http://coq.inria.fr/'
29
- aliases = ['coq']
27
+ name = 'Rocq Prover'
28
+ url = 'https://rocq-prover.org/'
29
+ aliases = ['coq', 'rocq', 'rocq-prover']
30
30
  filenames = ['*.v']
31
- mimetypes = ['text/x-coq']
31
+ mimetypes = ['text/x-coq', 'text/x-rocq']
32
32
  version_added = '1.5'
33
33
 
34
34
  flags = 0 # no re.MULTILINE
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the ThingsDB 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
 
@@ -52,7 +52,7 @@ class ThingsDBLexer(RegexLexer):
52
52
  # name constants
53
53
  (r'(FULL|USER|GRANT|CHANGE|JOIN|RUN|QUERY|'
54
54
  r'DEBUG|INFO|WARNING|ERROR|CRITICAL|'
55
- r'NO_IDS|INT_MIN|INT_MAX)\b', Name.Constant),
55
+ r'NO_IDS|INT_MIN|INT_MAX|MATH_E|MATH_PI)\b', Name.Constant),
56
56
 
57
57
  # regular expressions
58
58
  (r'(/[^/\\]*(?:\\.[^/\\]*)*/i?)', String.Regex),
@@ -75,7 +75,7 @@ class ThingsDBLexer(RegexLexer):
75
75
  r'one|clear|contains|ends_with|name|lower|replace|reverse|'
76
76
  r'starts_with|split|test|trim|trim_left|trim_right|upper|del|ren|'
77
77
  r'to_type|to_thing|get|id|keys|reduce|set|some|value|values|wrap|'
78
- r'unshift|unwrap|search)'
78
+ r'unshift|unwrap|search|set_name|bit_count)'
79
79
  r'(\()',
80
80
  bygroups(Name.Function, Name.Function, Punctuation), 'arguments'),
81
81
  (r'(alt_raise|assert|base64_encode|base64_decode|bool|bytes|'
@@ -89,7 +89,7 @@ class ThingsDBLexer(RegexLexer):
89
89
  r'json_load|list|log|import|export|root|mod_enum|mod_type|new|'
90
90
  r'new_type|now|raise|rand|range|randint|randstr|refs|rename_enum|'
91
91
  r'set|set_enum|set_type|str|thing|timeval|try|type|type_assert|'
92
- r'type_count|type_info|types_info|nse|wse|backup_info|'
92
+ r'type_all|type_count|type_info|types_info|nse|wse|backup_info|'
93
93
  r'backups_info|backups_ok|counters|del_backup|has_backup|'
94
94
  r'new_backup|node_info|nodes_info|reset_counters|restart_module|'
95
95
  r'set_log_level|shutdown|has_module|del_module|module_info|'
@@ -105,7 +105,10 @@ class ThingsDBLexer(RegexLexer):
105
105
  r'run|assert_err|auth_err|bad_data_err|cancelled_err|'
106
106
  r'rename_type|forbidden_err|lookup_err|max_quota_err|node_err|'
107
107
  r'num_arguments_err|operation_err|overflow_err|syntax_err|'
108
- r'collection_info|type_err|value_err|zero_div_err)'
108
+ r'collection_info|type_err|value_err|zero_div_err|whitelist_add|'
109
+ r'whitelist_del|round|abs|ceil|cos|exp|floor|log10|log2|'
110
+ r'loge|pow|sin|sqrt|tan|is_module|commit|history|set_history|'
111
+ r'del_history|ano)'
109
112
  r'(\()',
110
113
  bygroups(Name.Function, Punctuation),
111
114
  'arguments'),
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for TL-b.
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 TLS presentation 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
  import re
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for Typographic Number Theory.
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 RiverBed's TrafficScript (RTS) 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
 
@@ -13,7 +13,7 @@
13
13
  `TypoScriptHtmlDataLexer`
14
14
  Lexer that highlights markers, constants and registers within html tags.
15
15
 
16
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
16
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
17
17
  :license: BSD, see LICENSE for details.
18
18
  """
19
19
 
@@ -4,13 +4,14 @@
4
4
 
5
5
  Lexers for Typst 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
 
11
11
  from pygments.lexer import RegexLexer, words, bygroups, include
12
12
  from pygments.token import Comment, Keyword, Name, String, Punctuation, \
13
13
  Whitespace, Generic, Operator, Number, Text
14
+ from pygments.util import get_choice_opt
14
15
 
15
16
  __all__ = ['TypstLexer']
16
17
 
@@ -18,6 +19,12 @@ __all__ = ['TypstLexer']
18
19
  class TypstLexer(RegexLexer):
19
20
  """
20
21
  For Typst code.
22
+
23
+ Additional options accepted:
24
+
25
+ `start`
26
+ Specifies the starting state of the lexer (one of 'markup', 'math',
27
+ 'code'). The default is 'markup'.
21
28
  """
22
29
 
23
30
  name = 'Typst'
@@ -27,49 +34,75 @@ class TypstLexer(RegexLexer):
27
34
  url = 'https://typst.app'
28
35
  version_added = '2.18'
29
36
 
37
+ MATH_SHORTHANDS = (
38
+ '[|', '|]', '||', '*', ':=', '::=', '...', '\'', '-', '=:', '!=', '>>',
39
+ '>=', '>>>', '<<', '<=', '<<<', '->', '|->', '=>', '|=>', '==>',
40
+ '-->', '~~>', '~>', '>->', '->>', '<-', '<==', '<--', '<~~', '<~',
41
+ '<-<','<<-','<->','<=>','<==>','<-->', '>', '<', '~', ':', '|'
42
+ )
43
+
30
44
  tokens = {
31
45
  'root': [
32
46
  include('markup'),
33
47
  ],
34
- 'common': [
35
- (r'[ \t]+', Whitespace),
36
- (r'((?!=[*_$`\-+0-9/<@\\#\[]|https?://).)+', Text),
48
+ # common cases going from math/markup into code mode
49
+ 'into_code': [
50
+ (words(('#let', '#set', '#show'), suffix=r'\b'), Keyword.Declaration, 'inline_code'),
51
+ (words(('#import', '#include'), suffix=r'\b'), Keyword.Namespace, 'inline_code'),
52
+ (words(('#if', '#for', '#while', '#export'), suffix=r'\b'), Keyword.Reserved, 'inline_code'),
53
+ (r'#\{', Punctuation, 'code'),
54
+ (r'#\(', Punctuation, 'code'),
55
+ (r'(#[a-zA-Z_][a-zA-Z0-9_-]*)(\[)', bygroups(Name.Function, Punctuation), 'markup'),
56
+ (r'(#[a-zA-Z_][a-zA-Z0-9_-]*)(\()', bygroups(Name.Function, Punctuation), 'code'),
57
+ (words(('#true', '#false', '#none', '#auto'), suffix=r'\b'), Keyword.Constant),
58
+ (r'#[a-zA-Z_][a-zA-Z0-9_]*', Name.Variable),
59
+ (r'#0x[0-9a-fA-F]+', Number.Hex),
60
+ (r'#0b[01]+', Number.Bin),
61
+ (r'#0o[0-7]+', Number.Oct),
62
+ (r'#[0-9]+[\.e][0-9]+', Number.Float),
63
+ (r'#[0-9]+', Number.Integer),
37
64
  ],
38
65
  'markup': [
39
66
  include('comment'),
40
67
  (r'^\s*=+.*$', Generic.Heading),
41
68
  (r'[*][^*]*[*]', Generic.Strong),
42
69
  (r'_[^_]*_', Generic.Emph),
43
- (r'\$', Punctuation, 'maths'),
70
+ (r'\$', Punctuation, 'math'),
44
71
  (r'`[^`]*`', String.Backtick), # inline code
45
- (r'^\s*-', Punctuation), # unnumbered list
46
- (r'^\s*\+', Punctuation), # numbered list
47
- (r'^\s*[0-9.]+', Punctuation), # numbered list variant
48
- (r'^(\s*/\s+)([^:]+)(:)', bygroups(Punctuation, Name.Variable, Punctuation)), # definitions
72
+ (r'^(\s*)(-)(\s+)', bygroups(Whitespace, Punctuation, Whitespace)), # unnumbered list
73
+ (r'^(\s*)(\+)(\s+)', bygroups(Whitespace, Punctuation, Whitespace)), # numbered list
74
+ (r'^(\s*)([0-9]+\.)', bygroups(Whitespace, Punctuation)), # numbered list variant
75
+ (r'^(\s*)(/)(\s+)([^:]+)(:)', bygroups(Whitespace, Punctuation, Whitespace, Name.Variable, Punctuation)), # definitions
49
76
  (r'<[a-zA-Z_][a-zA-Z0-9_-]*>', Name.Label), # label
50
77
  (r'@[a-zA-Z_][a-zA-Z0-9_-]*', Name.Label), # reference
51
78
  (r'\\#', Text), # escaped
52
- (words(('#let', '#set', '#show'), suffix=r'\b'), Keyword.Declaration, 'inline_code'),
53
- (r'(#[a-zA-Z_][a-zA-Z0-9_]*)(\[)', bygroups(Name.Function, Punctuation), 'markup'),
54
- (r'(#[a-zA-Z_][a-zA-Z0-9_]*)(\()', bygroups(Name.Function, Punctuation), 'inline_code'),
55
- (r'#[a-zA-Z_][a-zA-Z0-9_]*', Name.Variable),
79
+ include('into_code'),
56
80
  (r'```(?:.|\n)*?```', String.Backtick), # code block
57
81
  (r'https?://[0-9a-zA-Z~/%#&=\',;.+?]*', Generic.Emph), # links
58
- (words((r'---', r'\\', r'~', r'--', r'...'), suffix=r'\b'), Punctuation), # special chars shorthand
82
+ (words(('---', '\\', '~', '--', '...'), suffix=r'\B'), Punctuation), # special chars shorthand
59
83
  (r'\\\[', Punctuation), # escaped
60
84
  (r'\\\]', Punctuation), # escaped
61
85
  (r'\[', Punctuation, '#push'),
62
86
  (r'\]', Punctuation, '#pop'),
63
- include('common'),
87
+ (r'[ \t]+\n?|\n', Whitespace),
88
+ (r'((?![*_$`<@\\#\] ]|https?://).)+', Text),
64
89
  ],
65
- 'maths': [
90
+ 'math': [
66
91
  include('comment'),
67
- (words(('_', '^', '+', '-', '/', '*', '->', '<-', '!=', '=='),
68
- suffix=r'\b'), Operator),
69
- (words((r'\\', '$='), suffix=r'\b'), Operator), # maths markup operators
92
+ (words(('\\_', '\\^', '\\&')), Text), # escapes
93
+ (words(('_', '^', '&', ';')), Punctuation),
94
+ (words(('+', '/', '=') + MATH_SHORTHANDS), Operator),
95
+ (r'\\', Punctuation), # line break
70
96
  (r'\\\$', Punctuation), # escaped
71
97
  (r'\$', Punctuation, '#pop'), # end of math mode
72
- include('code'),
98
+ include('into_code'),
99
+ (r'([a-zA-Z][a-zA-Z0-9-]*)(\s*)(\()', bygroups(Name.Function, Whitespace, Punctuation)),
100
+ (r'([a-zA-Z][a-zA-Z0-9-]*)(:)', bygroups(Name.Variable, Punctuation)), # named arguments in math functions
101
+ (r'([a-zA-Z][a-zA-Z0-9-]*)', Name.Variable), # both variables and symbols (_ isn't supported for variables)
102
+ (r'[0-9]+(\.[0-9]+)?', Number),
103
+ (r'\.{1,3}|\(|\)|,|\{|\}', Punctuation),
104
+ (r'"[^"]*"', String.Double),
105
+ (r'[ \t\n]+', Whitespace),
73
106
  ],
74
107
  'comment': [
75
108
  (r'//.*$', Comment.Single),
@@ -81,24 +114,47 @@ class TypstLexer(RegexLexer):
81
114
  (r'\(|\{', Punctuation, 'code'),
82
115
  (r'\)|\}', Punctuation, '#pop'),
83
116
  (r'"[^"]*"', String.Double),
84
- (r'[=,]', Operator),
117
+ (r',|\.{1,2}', Punctuation),
118
+ (r'=', Operator),
85
119
  (words(('and', 'or', 'not'), suffix=r'\b'), Operator.Word),
86
120
  (r'=>|<=|==|!=|>|<|-=|\+=|\*=|/=|\+|-|\\|\*', Operator), # comparisons
87
- (r'([a-zA-Z_][a-zA-Z0-9_]*)(:)', bygroups(Name.Variable, Punctuation), '#push'),
88
- (r'([a-zA-Z_][a-zA-Z0-9_]*)(\()', bygroups(Name.Function, Punctuation), '#push'),
121
+ (r'([a-zA-Z_][a-zA-Z0-9_-]*)(:)', bygroups(Name.Variable, Punctuation)),
122
+ (r'([a-zA-Z_][a-zA-Z0-9_-]*)(\()', bygroups(Name.Function, Punctuation), 'code'),
89
123
  (words(('as', 'break', 'export', 'continue', 'else', 'for', 'if',
90
- 'import', 'in', 'include', 'return', 'while'), suffix=r'\b'),
124
+ 'in', 'return', 'while'), suffix=r'\b'),
91
125
  Keyword.Reserved),
126
+ (words(('import', 'include'), suffix=r'\b'), Keyword.Namespace),
92
127
  (words(('auto', 'none', 'true', 'false'), suffix=r'\b'), Keyword.Constant),
93
128
  (r'([0-9.]+)(mm|pt|cm|in|em|fr|%)', bygroups(Number, Keyword.Reserved)),
129
+ (r'0x[0-9a-fA-F]+', Number.Hex),
130
+ (r'0b[01]+', Number.Bin),
131
+ (r'0o[0-7]+', Number.Oct),
132
+ (r'[0-9]+[\.e][0-9]+', Number.Float),
133
+ (r'[0-9]+', Number.Integer),
94
134
  (words(('let', 'set', 'show'), suffix=r'\b'), Keyword.Declaration),
95
135
  # FIXME: make this work
96
136
  ## (r'(import|include)( *)(")([^"])(")',
97
137
  ## bygroups(Keyword.Reserved, Text, Punctuation, String.Double, Punctuation)),
98
- include('common'),
138
+ (r'([a-zA-Z_][a-zA-Z0-9_-]*)', Name.Variable),
139
+ (r'[ \t\n]+', Whitespace),
140
+ (r':', Punctuation), # from imports like "import a: b" or "show: text.with(..)"
99
141
  ],
100
142
  'inline_code': [
101
- (r';$', Punctuation, '#pop'),
143
+ (r';\b', Punctuation, '#pop'),
144
+ (r'\n', Whitespace, '#pop'),
102
145
  include('code'),
103
146
  ],
104
147
  }
148
+
149
+ def __init__(self, **options):
150
+ self.start_state = get_choice_opt(
151
+ options, 'start', ['markup', 'code', 'math'], 'markup', True)
152
+
153
+ RegexLexer.__init__(self, **options)
154
+
155
+ def get_tokens_unprocessed(self, text):
156
+ stack = ['root']
157
+ if self.start_state != 'markup': # markup is equivalent to root
158
+ stack.append(self.start_state)
159
+
160
+ yield from RegexLexer.get_tokens_unprocessed(self, text, stack)
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for the UL4 templating 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 Icon and Unicon languages, including ucode VM.
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 UrbiScript 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
  The module that parses Pixar's Universal Scene Description file format.
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 Varnish configuration
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 Intermediate Verification Languages (IVLs).
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 Verifpal 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 Visual Prolog & Grammar 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 Vyper Smart Contract 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
 
@@ -61,7 +61,7 @@ class VyperLexer(RegexLexer):
61
61
  # Keywords
62
62
  (words(('def', 'event', 'pass', 'return', 'for', 'while', 'if', 'elif',
63
63
  'else', 'assert', 'raise', 'import', 'in', 'struct', 'implements',
64
- 'interface', 'from', 'indexed', 'log'),
64
+ 'interface', 'from', 'indexed', 'log', 'extcall', 'staticcall'),
65
65
  prefix=r'\b', suffix=r'\b'), Keyword),
66
66
 
67
67
  # Visibility and State Mutability
@@ -4,7 +4,7 @@
4
4
 
5
5
  Just export previously exported lexers.
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
 
@@ -8,7 +8,7 @@
8
8
  and https://webassembly.github.io/spec/core/text/.
9
9
 
10
10
 
11
- :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
11
+ :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
12
12
  :license: BSD, see LICENSE for details.
13
13
  """
14
14
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for Web IDL, including some extensions.
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 misc. web stuff.
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 WebGPU Shading 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