pygments.rb 2.4.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +8 -8
  3. data/.github/workflows/release.yml +5 -5
  4. data/.gitignore +2 -0
  5. data/.rubocop.yml +1 -1
  6. data/CHANGELOG.adoc +9 -1
  7. data/README.adoc +2 -2
  8. data/lib/pygments/version.rb +1 -1
  9. data/pygments.rb.gemspec +2 -2
  10. data/vendor/pygments-main/bin/pygmentize +1 -1
  11. data/vendor/pygments-main/pygments/__init__.py +2 -2
  12. data/vendor/pygments-main/pygments/__main__.py +1 -1
  13. data/vendor/pygments-main/pygments/cmdline.py +12 -12
  14. data/vendor/pygments-main/pygments/console.py +5 -5
  15. data/vendor/pygments-main/pygments/filter.py +2 -3
  16. data/vendor/pygments-main/pygments/filters/__init__.py +4 -4
  17. data/vendor/pygments-main/pygments/formatter.py +6 -1
  18. data/vendor/pygments-main/pygments/formatters/__init__.py +7 -8
  19. data/vendor/pygments-main/pygments/formatters/_mapping.py +0 -0
  20. data/vendor/pygments-main/pygments/formatters/bbcode.py +2 -2
  21. data/vendor/pygments-main/pygments/formatters/groff.py +3 -3
  22. data/vendor/pygments-main/pygments/formatters/html.py +38 -40
  23. data/vendor/pygments-main/pygments/formatters/img.py +51 -11
  24. data/vendor/pygments-main/pygments/formatters/irc.py +1 -1
  25. data/vendor/pygments-main/pygments/formatters/latex.py +24 -27
  26. data/vendor/pygments-main/pygments/formatters/other.py +3 -4
  27. data/vendor/pygments-main/pygments/formatters/pangomarkup.py +2 -2
  28. data/vendor/pygments-main/pygments/formatters/rtf.py +228 -25
  29. data/vendor/pygments-main/pygments/formatters/svg.py +17 -20
  30. data/vendor/pygments-main/pygments/formatters/terminal.py +1 -1
  31. data/vendor/pygments-main/pygments/formatters/terminal256.py +1 -1
  32. data/vendor/pygments-main/pygments/lexer.py +51 -33
  33. data/vendor/pygments-main/pygments/lexers/__init__.py +12 -12
  34. data/vendor/pygments-main/pygments/lexers/_ada_builtins.py +1 -1
  35. data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +1 -1
  36. data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +1 -1
  37. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +2 -2
  38. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1 -1
  39. data/vendor/pygments-main/pygments/lexers/_css_builtins.py +1 -1
  40. data/vendor/pygments-main/pygments/lexers/_julia_builtins.py +1 -1
  41. data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +1 -1
  42. data/vendor/pygments-main/pygments/lexers/_lilypond_builtins.py +1 -1
  43. data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +5 -5
  44. data/vendor/pygments-main/pygments/lexers/_luau_builtins.py +62 -0
  45. data/vendor/pygments-main/pygments/lexers/_mapping.py +41 -11
  46. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1 -1
  47. data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +3 -3
  48. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +1 -1
  49. data/vendor/pygments-main/pygments/lexers/_php_builtins.py +3 -3
  50. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +5 -5
  51. data/vendor/pygments-main/pygments/lexers/_qlik_builtins.py +1 -1
  52. data/vendor/pygments-main/pygments/lexers/_scheme_builtins.py +1 -1
  53. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +4 -4
  54. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +3 -3
  55. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +1 -1
  56. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +1 -1
  57. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -1
  58. data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +1 -1
  59. data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +1 -1
  60. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -1
  61. data/vendor/pygments-main/pygments/lexers/actionscript.py +6 -8
  62. data/vendor/pygments-main/pygments/lexers/ada.py +3 -3
  63. data/vendor/pygments-main/pygments/lexers/agile.py +3 -1
  64. data/vendor/pygments-main/pygments/lexers/algebra.py +9 -13
  65. data/vendor/pygments-main/pygments/lexers/ambient.py +2 -3
  66. data/vendor/pygments-main/pygments/lexers/amdgpu.py +3 -3
  67. data/vendor/pygments-main/pygments/lexers/ampl.py +2 -3
  68. data/vendor/pygments-main/pygments/lexers/apdlexer.py +4 -3
  69. data/vendor/pygments-main/pygments/lexers/apl.py +2 -3
  70. data/vendor/pygments-main/pygments/lexers/archetype.py +8 -12
  71. data/vendor/pygments-main/pygments/lexers/arrow.py +2 -3
  72. data/vendor/pygments-main/pygments/lexers/arturo.py +2 -3
  73. data/vendor/pygments-main/pygments/lexers/asc.py +4 -4
  74. data/vendor/pygments-main/pygments/lexers/asm.py +28 -15
  75. data/vendor/pygments-main/pygments/lexers/asn1.py +178 -0
  76. data/vendor/pygments-main/pygments/lexers/automation.py +6 -8
  77. data/vendor/pygments-main/pygments/lexers/bare.py +2 -3
  78. data/vendor/pygments-main/pygments/lexers/basic.py +48 -57
  79. data/vendor/pygments-main/pygments/lexers/bdd.py +3 -4
  80. data/vendor/pygments-main/pygments/lexers/berry.py +4 -4
  81. data/vendor/pygments-main/pygments/lexers/bibtex.py +5 -5
  82. data/vendor/pygments-main/pygments/lexers/blueprint.py +173 -0
  83. data/vendor/pygments-main/pygments/lexers/boa.py +4 -4
  84. data/vendor/pygments-main/pygments/lexers/bqn.py +109 -0
  85. data/vendor/pygments-main/pygments/lexers/business.py +21 -22
  86. data/vendor/pygments-main/pygments/lexers/c_cpp.py +9 -4
  87. data/vendor/pygments-main/pygments/lexers/c_like.py +99 -27
  88. data/vendor/pygments-main/pygments/lexers/capnproto.py +2 -3
  89. data/vendor/pygments-main/pygments/lexers/carbon.py +10 -11
  90. data/vendor/pygments-main/pygments/lexers/cddl.py +8 -9
  91. data/vendor/pygments-main/pygments/lexers/chapel.py +2 -3
  92. data/vendor/pygments-main/pygments/lexers/clean.py +2 -1
  93. data/vendor/pygments-main/pygments/lexers/comal.py +2 -1
  94. data/vendor/pygments-main/pygments/lexers/compiled.py +2 -1
  95. data/vendor/pygments-main/pygments/lexers/configs.py +342 -108
  96. data/vendor/pygments-main/pygments/lexers/console.py +5 -5
  97. data/vendor/pygments-main/pygments/lexers/cplint.py +2 -3
  98. data/vendor/pygments-main/pygments/lexers/crystal.py +4 -5
  99. data/vendor/pygments-main/pygments/lexers/csound.py +6 -8
  100. data/vendor/pygments-main/pygments/lexers/css.py +5 -5
  101. data/vendor/pygments-main/pygments/lexers/d.py +4 -3
  102. data/vendor/pygments-main/pygments/lexers/dalvik.py +2 -3
  103. data/vendor/pygments-main/pygments/lexers/data.py +8 -12
  104. data/vendor/pygments-main/pygments/lexers/dax.py +2 -3
  105. data/vendor/pygments-main/pygments/lexers/devicetree.py +2 -3
  106. data/vendor/pygments-main/pygments/lexers/diff.py +7 -6
  107. data/vendor/pygments-main/pygments/lexers/dns.py +109 -0
  108. data/vendor/pygments-main/pygments/lexers/dotnet.py +19 -14
  109. data/vendor/pygments-main/pygments/lexers/dsls.py +24 -35
  110. data/vendor/pygments-main/pygments/lexers/dylan.py +8 -16
  111. data/vendor/pygments-main/pygments/lexers/ecl.py +2 -3
  112. data/vendor/pygments-main/pygments/lexers/eiffel.py +3 -4
  113. data/vendor/pygments-main/pygments/lexers/elm.py +3 -4
  114. data/vendor/pygments-main/pygments/lexers/elpi.py +28 -21
  115. data/vendor/pygments-main/pygments/lexers/email.py +3 -3
  116. data/vendor/pygments-main/pygments/lexers/erlang.py +22 -24
  117. data/vendor/pygments-main/pygments/lexers/esoteric.py +11 -12
  118. data/vendor/pygments-main/pygments/lexers/ezhil.py +2 -3
  119. data/vendor/pygments-main/pygments/lexers/factor.py +2 -3
  120. data/vendor/pygments-main/pygments/lexers/fantom.py +3 -3
  121. data/vendor/pygments-main/pygments/lexers/felix.py +9 -10
  122. data/vendor/pygments-main/pygments/lexers/fift.py +2 -1
  123. data/vendor/pygments-main/pygments/lexers/floscript.py +2 -3
  124. data/vendor/pygments-main/pygments/lexers/forth.py +2 -3
  125. data/vendor/pygments-main/pygments/lexers/fortran.py +6 -7
  126. data/vendor/pygments-main/pygments/lexers/foxpro.py +3 -3
  127. data/vendor/pygments-main/pygments/lexers/freefem.py +2 -3
  128. data/vendor/pygments-main/pygments/lexers/func.py +3 -1
  129. data/vendor/pygments-main/pygments/lexers/functional.py +2 -1
  130. data/vendor/pygments-main/pygments/lexers/futhark.py +6 -7
  131. data/vendor/pygments-main/pygments/lexers/gcodelexer.py +3 -3
  132. data/vendor/pygments-main/pygments/lexers/gdscript.py +2 -1
  133. data/vendor/pygments-main/pygments/lexers/go.py +3 -4
  134. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +6 -9
  135. data/vendor/pygments-main/pygments/lexers/graph.py +12 -9
  136. data/vendor/pygments-main/pygments/lexers/graphics.py +13 -17
  137. data/vendor/pygments-main/pygments/lexers/graphql.py +176 -0
  138. data/vendor/pygments-main/pygments/lexers/graphviz.py +2 -3
  139. data/vendor/pygments-main/pygments/lexers/gsql.py +2 -3
  140. data/vendor/pygments-main/pygments/lexers/haskell.py +27 -32
  141. data/vendor/pygments-main/pygments/lexers/haxe.py +3 -5
  142. data/vendor/pygments-main/pygments/lexers/hdl.py +8 -7
  143. data/vendor/pygments-main/pygments/lexers/hexdump.py +3 -3
  144. data/vendor/pygments-main/pygments/lexers/html.py +34 -13
  145. data/vendor/pygments-main/pygments/lexers/idl.py +2 -3
  146. data/vendor/pygments-main/pygments/lexers/igor.py +305 -290
  147. data/vendor/pygments-main/pygments/lexers/inferno.py +2 -3
  148. data/vendor/pygments-main/pygments/lexers/installers.py +7 -9
  149. data/vendor/pygments-main/pygments/lexers/int_fiction.py +150 -162
  150. data/vendor/pygments-main/pygments/lexers/iolang.py +2 -3
  151. data/vendor/pygments-main/pygments/lexers/j.py +2 -3
  152. data/vendor/pygments-main/pygments/lexers/javascript.py +18 -19
  153. data/vendor/pygments-main/pygments/lexers/jmespath.py +2 -1
  154. data/vendor/pygments-main/pygments/lexers/jslt.py +2 -3
  155. data/vendor/pygments-main/pygments/lexers/jsonnet.py +4 -3
  156. data/vendor/pygments-main/pygments/lexers/jsx.py +75 -0
  157. data/vendor/pygments-main/pygments/lexers/julia.py +4 -5
  158. data/vendor/pygments-main/pygments/lexers/jvm.py +98 -116
  159. data/vendor/pygments-main/pygments/lexers/kuin.py +2 -3
  160. data/vendor/pygments-main/pygments/lexers/kusto.py +93 -0
  161. data/vendor/pygments-main/pygments/lexers/ldap.py +155 -0
  162. data/vendor/pygments-main/pygments/lexers/lean.py +241 -0
  163. data/vendor/pygments-main/pygments/lexers/lilypond.py +2 -3
  164. data/vendor/pygments-main/pygments/lexers/lisp.py +373 -65
  165. data/vendor/pygments-main/pygments/lexers/macaulay2.py +53 -4
  166. data/vendor/pygments-main/pygments/lexers/make.py +7 -5
  167. data/vendor/pygments-main/pygments/lexers/markup.py +242 -91
  168. data/vendor/pygments-main/pygments/lexers/math.py +2 -1
  169. data/vendor/pygments-main/pygments/lexers/matlab.py +10 -12
  170. data/vendor/pygments-main/pygments/lexers/maxima.py +2 -3
  171. data/vendor/pygments-main/pygments/lexers/meson.py +2 -3
  172. data/vendor/pygments-main/pygments/lexers/mime.py +4 -4
  173. data/vendor/pygments-main/pygments/lexers/minecraft.py +24 -27
  174. data/vendor/pygments-main/pygments/lexers/mips.py +3 -1
  175. data/vendor/pygments-main/pygments/lexers/ml.py +59 -61
  176. data/vendor/pygments-main/pygments/lexers/modeling.py +19 -22
  177. data/vendor/pygments-main/pygments/lexers/modula2.py +2 -3
  178. data/vendor/pygments-main/pygments/lexers/mojo.py +704 -0
  179. data/vendor/pygments-main/pygments/lexers/monte.py +2 -3
  180. data/vendor/pygments-main/pygments/lexers/mosel.py +3 -3
  181. data/vendor/pygments-main/pygments/lexers/ncl.py +4 -3
  182. data/vendor/pygments-main/pygments/lexers/nimrod.py +7 -8
  183. data/vendor/pygments-main/pygments/lexers/nit.py +2 -3
  184. data/vendor/pygments-main/pygments/lexers/nix.py +40 -31
  185. data/vendor/pygments-main/pygments/lexers/oberon.py +3 -3
  186. data/vendor/pygments-main/pygments/lexers/objective.py +14 -6
  187. data/vendor/pygments-main/pygments/lexers/ooc.py +2 -3
  188. data/vendor/pygments-main/pygments/lexers/openscad.py +96 -0
  189. data/vendor/pygments-main/pygments/lexers/other.py +2 -1
  190. data/vendor/pygments-main/pygments/lexers/parasail.py +2 -3
  191. data/vendor/pygments-main/pygments/lexers/parsers.py +41 -44
  192. data/vendor/pygments-main/pygments/lexers/pascal.py +6 -3
  193. data/vendor/pygments-main/pygments/lexers/pawn.py +5 -5
  194. data/vendor/pygments-main/pygments/lexers/perl.py +3 -3
  195. data/vendor/pygments-main/pygments/lexers/phix.py +2 -3
  196. data/vendor/pygments-main/pygments/lexers/php.py +4 -5
  197. data/vendor/pygments-main/pygments/lexers/pointless.py +2 -3
  198. data/vendor/pygments-main/pygments/lexers/pony.py +3 -3
  199. data/vendor/pygments-main/pygments/lexers/praat.py +2 -3
  200. data/vendor/pygments-main/pygments/lexers/procfile.py +2 -3
  201. data/vendor/pygments-main/pygments/lexers/prolog.py +23 -9
  202. data/vendor/pygments-main/pygments/lexers/promql.py +2 -1
  203. data/vendor/pygments-main/pygments/lexers/prql.py +251 -0
  204. data/vendor/pygments-main/pygments/lexers/ptx.py +119 -0
  205. data/vendor/pygments-main/pygments/lexers/python.py +24 -24
  206. data/vendor/pygments-main/pygments/lexers/q.py +5 -6
  207. data/vendor/pygments-main/pygments/lexers/qlik.py +3 -3
  208. data/vendor/pygments-main/pygments/lexers/qvt.py +5 -3
  209. data/vendor/pygments-main/pygments/lexers/r.py +8 -6
  210. data/vendor/pygments-main/pygments/lexers/rdf.py +19 -13
  211. data/vendor/pygments-main/pygments/lexers/rebol.py +7 -7
  212. data/vendor/pygments-main/pygments/lexers/resource.py +5 -6
  213. data/vendor/pygments-main/pygments/lexers/ride.py +4 -5
  214. data/vendor/pygments-main/pygments/lexers/rita.py +2 -3
  215. data/vendor/pygments-main/pygments/lexers/rnc.py +2 -3
  216. data/vendor/pygments-main/pygments/lexers/roboconf.py +5 -5
  217. data/vendor/pygments-main/pygments/lexers/robotframework.py +2 -3
  218. data/vendor/pygments-main/pygments/lexers/ruby.py +8 -13
  219. data/vendor/pygments-main/pygments/lexers/rust.py +9 -10
  220. data/vendor/pygments-main/pygments/lexers/sas.py +3 -3
  221. data/vendor/pygments-main/pygments/lexers/savi.py +131 -130
  222. data/vendor/pygments-main/pygments/lexers/scdoc.py +13 -7
  223. data/vendor/pygments-main/pygments/lexers/scripting.py +354 -42
  224. data/vendor/pygments-main/pygments/lexers/sgf.py +2 -3
  225. data/vendor/pygments-main/pygments/lexers/shell.py +107 -129
  226. data/vendor/pygments-main/pygments/lexers/sieve.py +3 -3
  227. data/vendor/pygments-main/pygments/lexers/slash.py +4 -5
  228. data/vendor/pygments-main/pygments/lexers/smalltalk.py +3 -5
  229. data/vendor/pygments-main/pygments/lexers/smithy.py +2 -3
  230. data/vendor/pygments-main/pygments/lexers/smv.py +3 -3
  231. data/vendor/pygments-main/pygments/lexers/snobol.py +3 -3
  232. data/vendor/pygments-main/pygments/lexers/solidity.py +3 -3
  233. data/vendor/pygments-main/pygments/lexers/soong.py +78 -0
  234. data/vendor/pygments-main/pygments/lexers/sophia.py +3 -4
  235. data/vendor/pygments-main/pygments/lexers/special.py +8 -3
  236. data/vendor/pygments-main/pygments/lexers/spice.py +15 -16
  237. data/vendor/pygments-main/pygments/lexers/sql.py +24 -18
  238. data/vendor/pygments-main/pygments/lexers/srcinfo.py +3 -3
  239. data/vendor/pygments-main/pygments/lexers/stata.py +2 -3
  240. data/vendor/pygments-main/pygments/lexers/supercollider.py +2 -3
  241. data/vendor/pygments-main/pygments/lexers/tact.py +303 -0
  242. data/vendor/pygments-main/pygments/lexers/tal.py +13 -10
  243. data/vendor/pygments-main/pygments/lexers/tcl.py +2 -3
  244. data/vendor/pygments-main/pygments/lexers/teal.py +2 -3
  245. data/vendor/pygments-main/pygments/lexers/templates.py +131 -72
  246. data/vendor/pygments-main/pygments/lexers/teraterm.py +2 -3
  247. data/vendor/pygments-main/pygments/lexers/testing.py +4 -5
  248. data/vendor/pygments-main/pygments/lexers/text.py +2 -1
  249. data/vendor/pygments-main/pygments/lexers/textedit.py +9 -6
  250. data/vendor/pygments-main/pygments/lexers/textfmts.py +20 -15
  251. data/vendor/pygments-main/pygments/lexers/theorem.py +41 -115
  252. data/vendor/pygments-main/pygments/lexers/thingsdb.py +50 -26
  253. data/vendor/pygments-main/pygments/lexers/tlb.py +3 -1
  254. data/vendor/pygments-main/pygments/lexers/tls.py +54 -0
  255. data/vendor/pygments-main/pygments/lexers/tnt.py +2 -3
  256. data/vendor/pygments-main/pygments/lexers/trafficscript.py +3 -3
  257. data/vendor/pygments-main/pygments/lexers/typoscript.py +6 -7
  258. data/vendor/pygments-main/pygments/lexers/typst.py +104 -0
  259. data/vendor/pygments-main/pygments/lexers/ul4.py +47 -5
  260. data/vendor/pygments-main/pygments/lexers/unicon.py +9 -7
  261. data/vendor/pygments-main/pygments/lexers/urbi.py +3 -3
  262. data/vendor/pygments-main/pygments/lexers/usd.py +6 -11
  263. data/vendor/pygments-main/pygments/lexers/varnish.py +5 -5
  264. data/vendor/pygments-main/pygments/lexers/verification.py +4 -5
  265. data/vendor/pygments-main/pygments/lexers/verifpal.py +65 -0
  266. data/vendor/pygments-main/pygments/lexers/vip.py +150 -0
  267. data/vendor/pygments-main/pygments/lexers/vyper.py +140 -0
  268. data/vendor/pygments-main/pygments/lexers/web.py +2 -1
  269. data/vendor/pygments-main/pygments/lexers/webassembly.py +2 -3
  270. data/vendor/pygments-main/pygments/lexers/webidl.py +2 -3
  271. data/vendor/pygments-main/pygments/lexers/webmisc.py +11 -15
  272. data/vendor/pygments-main/pygments/lexers/wgsl.py +6 -7
  273. data/vendor/pygments-main/pygments/lexers/whiley.py +2 -3
  274. data/vendor/pygments-main/pygments/lexers/wowtoc.py +3 -3
  275. data/vendor/pygments-main/pygments/lexers/wren.py +3 -4
  276. data/vendor/pygments-main/pygments/lexers/x10.py +6 -7
  277. data/vendor/pygments-main/pygments/lexers/xorg.py +2 -1
  278. data/vendor/pygments-main/pygments/lexers/yang.py +2 -3
  279. data/vendor/pygments-main/pygments/lexers/yara.py +69 -0
  280. data/vendor/pygments-main/pygments/lexers/zig.py +2 -1
  281. data/vendor/pygments-main/pygments/modeline.py +4 -4
  282. data/vendor/pygments-main/pygments/plugin.py +3 -19
  283. data/vendor/pygments-main/pygments/regexopt.py +1 -1
  284. data/vendor/pygments-main/pygments/scanner.py +1 -1
  285. data/vendor/pygments-main/pygments/sphinxext.py +38 -8
  286. data/vendor/pygments-main/pygments/style.py +8 -2
  287. data/vendor/pygments-main/pygments/styles/__init__.py +17 -59
  288. data/vendor/pygments-main/pygments/styles/_mapping.py +54 -0
  289. data/vendor/pygments-main/pygments/styles/abap.py +5 -1
  290. data/vendor/pygments-main/pygments/styles/algol.py +5 -1
  291. data/vendor/pygments-main/pygments/styles/algol_nu.py +5 -1
  292. data/vendor/pygments-main/pygments/styles/arduino.py +76 -72
  293. data/vendor/pygments-main/pygments/styles/autumn.py +6 -1
  294. data/vendor/pygments-main/pygments/styles/borland.py +6 -1
  295. data/vendor/pygments-main/pygments/styles/bw.py +6 -1
  296. data/vendor/pygments-main/pygments/styles/coffee.py +80 -0
  297. data/vendor/pygments-main/pygments/styles/colorful.py +6 -1
  298. data/vendor/pygments-main/pygments/styles/default.py +6 -1
  299. data/vendor/pygments-main/pygments/styles/dracula.py +68 -80
  300. data/vendor/pygments-main/pygments/styles/emacs.py +6 -1
  301. data/vendor/pygments-main/pygments/styles/friendly.py +6 -1
  302. data/vendor/pygments-main/pygments/styles/friendly_grayscale.py +6 -1
  303. data/vendor/pygments-main/pygments/styles/fruity.py +7 -1
  304. data/vendor/pygments-main/pygments/styles/gh_dark.py +7 -1
  305. data/vendor/pygments-main/pygments/styles/gruvbox.py +10 -1
  306. data/vendor/pygments-main/pygments/styles/igor.py +6 -1
  307. data/vendor/pygments-main/pygments/styles/inkpot.py +7 -2
  308. data/vendor/pygments-main/pygments/styles/lightbulb.py +110 -0
  309. data/vendor/pygments-main/pygments/styles/lilypond.py +8 -2
  310. data/vendor/pygments-main/pygments/styles/lovelace.py +16 -10
  311. data/vendor/pygments-main/pygments/styles/manni.py +7 -2
  312. data/vendor/pygments-main/pygments/styles/material.py +21 -14
  313. data/vendor/pygments-main/pygments/styles/monokai.py +16 -10
  314. data/vendor/pygments-main/pygments/styles/murphy.py +7 -2
  315. data/vendor/pygments-main/pygments/styles/native.py +10 -5
  316. data/vendor/pygments-main/pygments/styles/nord.py +9 -3
  317. data/vendor/pygments-main/pygments/styles/onedark.py +6 -2
  318. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +7 -2
  319. data/vendor/pygments-main/pygments/styles/paraiso_light.py +7 -2
  320. data/vendor/pygments-main/pygments/styles/pastie.py +7 -1
  321. data/vendor/pygments-main/pygments/styles/perldoc.py +7 -1
  322. data/vendor/pygments-main/pygments/styles/rainbow_dash.py +26 -19
  323. data/vendor/pygments-main/pygments/styles/rrt.py +8 -2
  324. data/vendor/pygments-main/pygments/styles/sas.py +6 -1
  325. data/vendor/pygments-main/pygments/styles/solarized.py +9 -1
  326. data/vendor/pygments-main/pygments/styles/staroffice.py +6 -1
  327. data/vendor/pygments-main/pygments/styles/stata_dark.py +6 -2
  328. data/vendor/pygments-main/pygments/styles/stata_light.py +6 -1
  329. data/vendor/pygments-main/pygments/styles/tango.py +7 -3
  330. data/vendor/pygments-main/pygments/styles/trac.py +7 -1
  331. data/vendor/pygments-main/pygments/styles/vim.py +7 -1
  332. data/vendor/pygments-main/pygments/styles/vs.py +7 -2
  333. data/vendor/pygments-main/pygments/styles/xcode.py +6 -1
  334. data/vendor/pygments-main/pygments/styles/zenburn.py +6 -1
  335. data/vendor/pygments-main/pygments/token.py +2 -1
  336. data/vendor/pygments-main/pygments/unistring.py +5 -5
  337. data/vendor/pygments-main/pygments/util.py +13 -19
  338. data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/METADATA +14 -13
  339. data/vendor/pygments-main/pygments-2.18.0.dist-info/RECORD +663 -0
  340. data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/WHEEL +1 -2
  341. data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info/licenses}/AUTHORS +13 -0
  342. metadata +39 -15
  343. data/vendor/pygments-main/Pygments-2.15.1.dist-info/RECORD +0 -614
  344. data/vendor/pygments-main/Pygments-2.15.1.dist-info/top_level.txt +0 -1
  345. /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/INSTALLER +0 -0
  346. /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/REQUESTED +0 -0
  347. /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info}/entry_points.txt +0 -0
  348. /data/vendor/pygments-main/{Pygments-2.15.1.dist-info → pygments-2.18.0.dist-info/licenses}/LICENSE +0 -0
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for the Futhark language
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -19,14 +19,13 @@ __all__ = ['FutharkLexer']
19
19
  class FutharkLexer(RegexLexer):
20
20
  """
21
21
  A Futhark lexer
22
-
23
- .. versionadded:: 2.8
24
22
  """
25
23
  name = 'Futhark'
26
24
  url = 'https://futhark-lang.org/'
27
25
  aliases = ['futhark']
28
26
  filenames = ['*.fut']
29
27
  mimetypes = ['text/x-futhark']
28
+ version_added = '2.8'
30
29
 
31
30
  num_types = ('i8', 'i16', 'i32', 'i64', 'u8', 'u16', 'u32', 'u64', 'f32', 'f64')
32
31
 
@@ -42,7 +41,7 @@ class FutharkLexer(RegexLexer):
42
41
  'DC[1-4]', 'NAK', 'SYN', 'ETB', 'CAN',
43
42
  'EM', 'SUB', 'ESC', '[FGRU]S', 'SP', 'DEL')
44
43
 
45
- num_postfix = r'(%s)?' % '|'.join(num_types)
44
+ num_postfix = r'({})?'.format('|'.join(num_types))
46
45
 
47
46
  identifier_re = '[a-zA-Z_][a-zA-Z_0-9\']*'
48
47
 
@@ -53,12 +52,12 @@ class FutharkLexer(RegexLexer):
53
52
  (r'--(.*?)$', Comment.Single),
54
53
  (r'\s+', Whitespace),
55
54
  (r'\(\)', Punctuation),
56
- (r'\b(%s)(?!\')\b' % '|'.join(reserved), Keyword.Reserved),
57
- (r'\b(%s)(?!\')\b' % '|'.join(num_types + other_types), Keyword.Type),
55
+ (r'\b({})(?!\')\b'.format('|'.join(reserved)), Keyword.Reserved),
56
+ (r'\b({})(?!\')\b'.format('|'.join(num_types + other_types)), Keyword.Type),
58
57
 
59
58
  # Identifiers
60
59
  (r'#\[([a-zA-Z_\(\) ]*)\]', Comment.Preproc),
61
- (r'[#!]?(%s\.)*%s' % (identifier_re, identifier_re), Name),
60
+ (rf'[#!]?({identifier_re}\.)*{identifier_re}', Name),
62
61
 
63
62
  (r'\\', Operator),
64
63
  (r'[-+/%=!><|&*^][-+/%=!><|&*^.]*', Operator),
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the G Code Language.
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -17,12 +17,12 @@ __all__ = ['GcodeLexer']
17
17
  class GcodeLexer(RegexLexer):
18
18
  """
19
19
  For gcode source code.
20
-
21
- .. versionadded:: 2.9
22
20
  """
23
21
  name = 'g-code'
24
22
  aliases = ['gcode']
25
23
  filenames = ['*.gcode']
24
+ url = 'https://en.wikipedia.org/wiki/G-code'
25
+ version_added = '2.9'
26
26
 
27
27
  tokens = {
28
28
  'root': [
@@ -7,7 +7,7 @@
7
7
  Modified by Daniel J. Ramirez <djrmuv@gmail.com> based on the original
8
8
  python.py.
9
9
 
10
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
10
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
11
11
  :license: BSD, see LICENSE for details.
12
12
  """
13
13
 
@@ -31,6 +31,7 @@ class GDScriptLexer(RegexLexer):
31
31
  aliases = ["gdscript", "gd"]
32
32
  filenames = ["*.gd"]
33
33
  mimetypes = ["text/x-gdscript", "application/x-gdscript"]
34
+ version_added = ''
34
35
 
35
36
  def innerstring_rules(ttype):
36
37
  return [
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the Google Go language.
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -18,14 +18,13 @@ __all__ = ['GoLexer']
18
18
  class GoLexer(RegexLexer):
19
19
  """
20
20
  For Go source.
21
-
22
- .. versionadded:: 1.2
23
21
  """
24
22
  name = 'Go'
25
23
  url = 'https://go.dev/'
26
24
  filenames = ['*.go']
27
25
  aliases = ['go', 'golang']
28
26
  mimetypes = ['text/x-gosrc']
27
+ version_added = '1.2'
29
28
 
30
29
  tokens = {
31
30
  'root': [
@@ -53,7 +52,7 @@ class GoLexer(RegexLexer):
53
52
  'string', 'bool', 'error', 'uintptr', 'any', 'comparable',
54
53
  'print', 'println', 'panic', 'recover', 'close', 'complex',
55
54
  'real', 'imag', 'len', 'cap', 'append', 'copy', 'delete',
56
- 'new', 'make'), suffix=r'\b(\()'),
55
+ 'new', 'make', 'min', 'max', 'clear'), suffix=r'\b(\()'),
57
56
  bygroups(Name.Builtin, Punctuation)),
58
57
  (words((
59
58
  'uint', 'uint8', 'uint16', 'uint32', 'uint64',
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for grammar notations like BNF.
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -39,14 +39,14 @@ class BnfLexer(RegexLexer):
39
39
 
40
40
  Though these decision making might cause too minimal highlighting
41
41
  and you might be disappointed, but it is reasonable for us.
42
-
43
- .. versionadded:: 2.1
44
42
  """
45
43
 
46
44
  name = 'BNF'
47
45
  aliases = ['bnf']
48
46
  filenames = ['*.bnf']
49
47
  mimetypes = ['text/x-bnf']
48
+ url = 'https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form'
49
+ version_added = '2.1'
50
50
 
51
51
  tokens = {
52
52
  'root': [
@@ -68,8 +68,6 @@ class AbnfLexer(RegexLexer):
68
68
  Lexer for IETF 7405 ABNF.
69
69
 
70
70
  (Updates `5234 <http://www.ietf.org/rfc/rfc5234.txt>`_) grammars.
71
-
72
- .. versionadded:: 2.1
73
71
  """
74
72
 
75
73
  name = 'ABNF'
@@ -77,6 +75,7 @@ class AbnfLexer(RegexLexer):
77
75
  aliases = ['abnf']
78
76
  filenames = ['*.abnf']
79
77
  mimetypes = ['text/x-abnf']
78
+ version_added = '2.1'
80
79
 
81
80
  _core_rules = (
82
81
  'ALPHA', 'BIT', 'CHAR', 'CR', 'CRLF', 'CTL', 'DIGIT',
@@ -133,14 +132,13 @@ class AbnfLexer(RegexLexer):
133
132
  class JsgfLexer(RegexLexer):
134
133
  """
135
134
  For JSpeech Grammar Format grammars.
136
-
137
- .. versionadded:: 2.2
138
135
  """
139
136
  name = 'JSGF'
140
137
  url = 'https://www.w3.org/TR/jsgf/'
141
138
  aliases = ['jsgf']
142
139
  filenames = ['*.jsgf']
143
140
  mimetypes = ['application/jsgf', 'application/x-jsgf', 'text/jsgf']
141
+ version_added = '2.2'
144
142
 
145
143
  tokens = {
146
144
  'root': [
@@ -224,8 +222,6 @@ class PegLexer(RegexLexer):
224
222
  * A single `a-z` character immediately before a string, or
225
223
  multiple `a-z` characters following a string, are part of the
226
224
  string (e.g., `r"..."` or `"..."ilmsuxa`).
227
-
228
- .. versionadded:: 2.6
229
225
  """
230
226
 
231
227
  name = 'PEG'
@@ -233,6 +229,7 @@ class PegLexer(RegexLexer):
233
229
  aliases = ['peg']
234
230
  filenames = ['*.peg']
235
231
  mimetypes = ['text/x-peg']
232
+ version_added = '2.6'
236
233
 
237
234
  tokens = {
238
235
  'root': [
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for graph query languages.
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -23,28 +23,24 @@ class CypherLexer(RegexLexer):
23
23
  For Cypher Query Language
24
24
 
25
25
  For the Cypher version in Neo4j 3.3
26
-
27
- .. versionadded:: 2.0
28
26
  """
29
27
  name = 'Cypher'
30
28
  url = 'https://neo4j.com/docs/developer-manual/3.3/cypher/'
31
29
  aliases = ['cypher']
32
30
  filenames = ['*.cyp', '*.cypher']
31
+ version_added = '2.0'
33
32
 
34
33
  flags = re.MULTILINE | re.IGNORECASE
35
34
 
36
35
  tokens = {
37
36
  'root': [
38
- include('comment'),
39
37
  include('clauses'),
40
38
  include('keywords'),
41
39
  include('relations'),
42
40
  include('strings'),
43
41
  include('whitespace'),
44
42
  include('barewords'),
45
- ],
46
- 'comment': [
47
- (r'^.*//.*$', Comment.Single),
43
+ include('comment'),
48
44
  ],
49
45
  'keywords': [
50
46
  (r'(create|order|match|limit|set|skip|start|return|with|where|'
@@ -76,12 +72,16 @@ class CypherLexer(RegexLexer):
76
72
  bygroups(Keyword, Whitespace, Keyword)),
77
73
  (r'(using)(\s+)(periodic)(\s+)(commit)\b',
78
74
  bygroups(Keyword, Whitespace, Keyword, Whitespace, Keyword)),
75
+ (r'(using)(\s+)(index)\b',
76
+ bygroups(Keyword, Whitespace, Keyword)),
77
+ (r'(using)(\s+)(range|text|point)(\s+)(index)\b',
78
+ bygroups(Keyword, Whitespace, Name, Whitespace, Keyword)),
79
79
  (words((
80
80
  'all', 'any', 'as', 'asc', 'ascending', 'assert', 'call', 'case', 'create',
81
81
  'delete', 'desc', 'descending', 'distinct', 'end', 'fieldterminator',
82
82
  'foreach', 'in', 'limit', 'match', 'merge', 'none', 'not', 'null',
83
83
  'remove', 'return', 'set', 'skip', 'single', 'start', 'then', 'union',
84
- 'unwind', 'yield', 'where', 'when', 'with'), suffix=r'\b'), Keyword),
84
+ 'unwind', 'yield', 'where', 'when', 'with', 'collect'), suffix=r'\b'), Keyword),
85
85
  ],
86
86
  'relations': [
87
87
  (r'(-\[)(.*?)(\]->)', bygroups(Operator, using(this), Operator)),
@@ -92,7 +92,7 @@ class CypherLexer(RegexLexer):
92
92
  (r'[.*{}]', Punctuation),
93
93
  ],
94
94
  'strings': [
95
- (r'"(?:\\[tbnrf\'"\\]|[^\\"])*"', String),
95
+ (r'([\'"])(?:\\[tbnrf\'"\\]|[^\\])*?\1', String),
96
96
  (r'`(?:``|[^`])+`', Name.Variable),
97
97
  ],
98
98
  'whitespace': [
@@ -102,4 +102,7 @@ class CypherLexer(RegexLexer):
102
102
  (r'[a-z]\w*', Name),
103
103
  (r'\d+', Number),
104
104
  ],
105
+ 'comment': [
106
+ (r'//.*$', Comment.Single),
107
+ ],
105
108
  }
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for computer graphics and plotting related languages.
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -20,13 +20,13 @@ __all__ = ['GLShaderLexer', 'PostScriptLexer', 'AsymptoteLexer', 'GnuplotLexer',
20
20
  class GLShaderLexer(RegexLexer):
21
21
  """
22
22
  GLSL (OpenGL Shader) lexer.
23
-
24
- .. versionadded:: 1.1
25
23
  """
26
24
  name = 'GLSL'
27
25
  aliases = ['glsl']
28
26
  filenames = ['*.vert', '*.frag', '*.geo']
29
27
  mimetypes = ['text/x-glslsrc']
28
+ url = 'https://www.khronos.org/api/opengl'
29
+ version_added = '1.1'
30
30
 
31
31
  tokens = {
32
32
  'root': [
@@ -151,13 +151,13 @@ class GLShaderLexer(RegexLexer):
151
151
  class HLSLShaderLexer(RegexLexer):
152
152
  """
153
153
  HLSL (Microsoft Direct3D Shader) lexer.
154
-
155
- .. versionadded:: 2.3
156
154
  """
157
155
  name = 'HLSL'
158
156
  aliases = ['hlsl']
159
157
  filenames = ['*.hlsl', '*.hlsli']
160
158
  mimetypes = ['text/x-hlsl']
159
+ url = 'https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl'
160
+ version_added = '2.3'
161
161
 
162
162
  tokens = {
163
163
  'root': [
@@ -305,20 +305,19 @@ class HLSLShaderLexer(RegexLexer):
305
305
  class PostScriptLexer(RegexLexer):
306
306
  """
307
307
  Lexer for PostScript files.
308
-
309
- .. versionadded:: 1.4
310
308
  """
311
309
  name = 'PostScript'
312
310
  url = 'https://en.wikipedia.org/wiki/PostScript'
313
311
  aliases = ['postscript', 'postscr']
314
312
  filenames = ['*.ps', '*.eps']
315
313
  mimetypes = ['application/postscript']
314
+ version_added = '1.4'
316
315
 
317
316
  delimiter = r'()<>\[\]{}/%\s'
318
- delimiter_end = r'(?=[%s])' % delimiter
317
+ delimiter_end = rf'(?=[{delimiter}])'
319
318
 
320
- valid_name_chars = r'[^%s]' % delimiter
321
- valid_name = r"%s+%s" % (valid_name_chars, delimiter_end)
319
+ valid_name_chars = rf'[^{delimiter}]'
320
+ valid_name = rf"{valid_name_chars}+{delimiter_end}"
322
321
 
323
322
  tokens = {
324
323
  'root': [
@@ -343,7 +342,7 @@ class PostScriptLexer(RegexLexer):
343
342
  (r'(\-|\+)?[0-9]+' + delimiter_end, Number.Integer),
344
343
 
345
344
  # References
346
- (r'\/%s' % valid_name, Name.Variable),
345
+ (rf'\/{valid_name}', Name.Variable),
347
346
 
348
347
  # Names
349
348
  (valid_name, Name.Function), # Anything else is executed
@@ -400,14 +399,13 @@ class PostScriptLexer(RegexLexer):
400
399
  class AsymptoteLexer(RegexLexer):
401
400
  """
402
401
  For Asymptote source code.
403
-
404
- .. versionadded:: 1.2
405
402
  """
406
403
  name = 'Asymptote'
407
404
  url = 'http://asymptote.sf.net/'
408
405
  aliases = ['asymptote', 'asy']
409
406
  filenames = ['*.asy']
410
407
  mimetypes = ['text/x-asymptote']
408
+ version_added = '1.2'
411
409
 
412
410
  #: optional Comment or Whitespace
413
411
  _ws = r'(?:\s|//.*?\n|/\*.*?\*/)+'
@@ -528,8 +526,6 @@ def _shortened_many(*words):
528
526
  class GnuplotLexer(RegexLexer):
529
527
  """
530
528
  For Gnuplot plotting scripts.
531
-
532
- .. versionadded:: 0.11
533
529
  """
534
530
 
535
531
  name = 'Gnuplot'
@@ -537,6 +533,7 @@ class GnuplotLexer(RegexLexer):
537
533
  aliases = ['gnuplot']
538
534
  filenames = ['*.plot', '*.plt']
539
535
  mimetypes = ['text/x-gnuplot']
536
+ version_added = '0.11'
540
537
 
541
538
  tokens = {
542
539
  'root': [
@@ -689,14 +686,13 @@ class GnuplotLexer(RegexLexer):
689
686
  class PovrayLexer(RegexLexer):
690
687
  """
691
688
  For Persistence of Vision Raytracer files.
692
-
693
- .. versionadded:: 0.11
694
689
  """
695
690
  name = 'POVRay'
696
691
  url = 'http://www.povray.org/'
697
692
  aliases = ['pov']
698
693
  filenames = ['*.pov', '*.inc']
699
694
  mimetypes = ['text/x-povray']
695
+ version_added = '0.11'
700
696
 
701
697
  tokens = {
702
698
  'root': [
@@ -0,0 +1,176 @@
1
+ """
2
+ pygments.lexers.graphql
3
+ ~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for GraphQL, an open-source data query and manipulation
6
+ language for APIs.
7
+
8
+ More information:
9
+ https://graphql.org/
10
+
11
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
12
+ :license: BSD, see LICENSE for details.
13
+ """
14
+
15
+ from pygments.lexer import RegexLexer, words, include, bygroups, default
16
+ from pygments.token import (Comment, Keyword, Name, Number, Punctuation, String,
17
+ Whitespace)
18
+
19
+
20
+ __all__ = ["GraphQLLexer"]
21
+
22
+ OPERATION_TYPES = ("query", "mutation", "subscription")
23
+ BUILTIN_TYPES = ("Int", "Float", "String", "Boolean", "ID")
24
+ BOOLEAN_VALUES = ("true", "false", "null")
25
+ KEYWORDS = (
26
+ "type",
27
+ "schema",
28
+ "extend",
29
+ "enum",
30
+ "scalar",
31
+ "implements",
32
+ "interface",
33
+ "union",
34
+ "input",
35
+ "directive",
36
+ "QUERY",
37
+ "MUTATION",
38
+ "SUBSCRIPTION",
39
+ "FIELD",
40
+ "FRAGMENT_DEFINITION",
41
+ "FRAGMENT_SPREAD",
42
+ "INLINE_FRAGMENT",
43
+ "SCHEMA",
44
+ "SCALAR",
45
+ "OBJECT",
46
+ "FIELD_DEFINITION",
47
+ "ARGUMENT_DEFINITION",
48
+ "INTERFACE",
49
+ "UNION",
50
+ "ENUM",
51
+ "ENUM_VALUE",
52
+ "INPUT_OBJECT",
53
+ "INPUT_FIELD_DEFINITION",
54
+ )
55
+
56
+
57
+ class GraphQLLexer(RegexLexer):
58
+ """
59
+ Lexer for GraphQL syntax
60
+ """
61
+ name = "GraphQL"
62
+ aliases = ["graphql"]
63
+ filenames = ["*.graphql"]
64
+ url = "https://graphql.org"
65
+ version_added = '2.16'
66
+
67
+ tokens = {
68
+ "ignored_tokens": [
69
+ (r"\s+", Whitespace), # Whitespaces
70
+ (r"#.*$", Comment),
71
+ (",", Punctuation), # Insignificant commas
72
+ ],
73
+ "value": [
74
+ include("ignored_tokens"),
75
+ (r"-?\d+(?![.eE])", Number.Integer, "#pop"),
76
+ (
77
+ r"-?\d+(\.\d+)?([eE][+-]?\d+)?",
78
+ Number.Float,
79
+ "#pop",
80
+ ),
81
+ (r'"', String, ("#pop", "string")),
82
+ (words(BOOLEAN_VALUES, suffix=r"\b"), Name.Builtin, "#pop"),
83
+ (r"\$[a-zA-Z_]\w*", Name.Variable, "#pop"),
84
+ (r"[a-zA-Z_]\w*", Name.Constant, "#pop"),
85
+ (r"\[", Punctuation, ("#pop", "list_value")),
86
+ (r"\{", Punctuation, ("#pop", "object_value")),
87
+ ],
88
+ "list_value": [
89
+ include("ignored_tokens"),
90
+ ("]", Punctuation, "#pop"),
91
+ default("value"),
92
+ ],
93
+ "object_value": [
94
+ include("ignored_tokens"),
95
+ (r"[a-zA-Z_]\w*", Name),
96
+ (r":", Punctuation, "value"),
97
+ (r"\}", Punctuation, "#pop"),
98
+ ],
99
+ "string": [
100
+ (r'\\(["\\/bfnrt]|u[a-fA-F0-9]{4})', String.Escape),
101
+ (r'[^\\"\n]+', String), # all other characters
102
+ (r'"', String, "#pop"),
103
+ ],
104
+ "root": [
105
+ include("ignored_tokens"),
106
+ (words(OPERATION_TYPES, suffix=r"\b"), Keyword, "operation"),
107
+ (words(KEYWORDS, suffix=r"\b"), Keyword),
108
+ (r"\{", Punctuation, "selection_set"),
109
+ (r"fragment\b", Keyword, "fragment_definition"),
110
+ ],
111
+ "operation": [
112
+ include("ignored_tokens"),
113
+ (r"[a-zA-Z_]\w*", Name.Function),
114
+ (r"\(", Punctuation, "variable_definition"),
115
+ (r"\{", Punctuation, ("#pop", "selection_set")),
116
+ ],
117
+ "variable_definition": [
118
+ include("ignored_tokens"),
119
+ (r"\$[a-zA-Z_]\w*", Name.Variable),
120
+ (r"[\]!]", Punctuation),
121
+ (r":", Punctuation, "type"),
122
+ (r"=", Punctuation, "value"),
123
+ (r"\)", Punctuation, "#pop"),
124
+ ],
125
+ "type": [
126
+ include("ignored_tokens"),
127
+ (r"\[", Punctuation),
128
+ (words(BUILTIN_TYPES, suffix=r"\b"), Name.Builtin, "#pop"),
129
+ (r"[a-zA-Z_]\w*", Name.Class, "#pop"),
130
+ ],
131
+ "selection_set": [
132
+ include("ignored_tokens"),
133
+ (r"([a-zA-Z_]\w*)(\s*)(:)", bygroups(Name.Label, Whitespace, Punctuation)),
134
+ (r"[a-zA-Z_]\w*", Name), # Field
135
+ (
136
+ r"(\.\.\.)(\s+)(on)\b",
137
+ bygroups(Punctuation, Whitespace, Keyword),
138
+ "inline_fragment",
139
+ ),
140
+ (r"\.\.\.", Punctuation, "fragment_spread"),
141
+ (r"\(", Punctuation, "arguments"),
142
+ (r"@[a-zA-Z_]\w*", Name.Decorator, "directive"),
143
+ (r"\{", Punctuation, "selection_set"),
144
+ (r"\}", Punctuation, "#pop"),
145
+ ],
146
+ "directive": [
147
+ include("ignored_tokens"),
148
+ (r"\(", Punctuation, ("#pop", "arguments")),
149
+ ],
150
+ "arguments": [
151
+ include("ignored_tokens"),
152
+ (r"[a-zA-Z_]\w*", Name),
153
+ (r":", Punctuation, "value"),
154
+ (r"\)", Punctuation, "#pop"),
155
+ ],
156
+ # Fragments
157
+ "fragment_definition": [
158
+ include("ignored_tokens"),
159
+ (r"[\]!]", Punctuation), # For NamedType
160
+ (r"on\b", Keyword, "type"),
161
+ (r"[a-zA-Z_]\w*", Name.Function),
162
+ (r"@[a-zA-Z_]\w*", Name.Decorator, "directive"),
163
+ (r"\{", Punctuation, ("#pop", "selection_set")),
164
+ ],
165
+ "fragment_spread": [
166
+ include("ignored_tokens"),
167
+ (r"@[a-zA-Z_]\w*", Name.Decorator, "directive"),
168
+ (r"[a-zA-Z_]\w*", Name, "#pop"), # Fragment name
169
+ ],
170
+ "inline_fragment": [
171
+ include("ignored_tokens"),
172
+ (r"[a-zA-Z_]\w*", Name.Class), # Type condition
173
+ (r"@[a-zA-Z_]\w*", Name.Decorator, "directive"),
174
+ (r"\{", Punctuation, ("#pop", "selection_set")),
175
+ ],
176
+ }
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for the DOT language (graphviz).
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -19,14 +19,13 @@ __all__ = ['GraphvizLexer']
19
19
  class GraphvizLexer(RegexLexer):
20
20
  """
21
21
  For graphviz DOT graph description language.
22
-
23
- .. versionadded:: 2.8
24
22
  """
25
23
  name = 'Graphviz'
26
24
  url = 'https://www.graphviz.org/doc/info/lang.html'
27
25
  aliases = ['graphviz', 'dot']
28
26
  filenames = ['*.gv', '*.dot']
29
27
  mimetypes = ['text/x-graphviz', 'text/vnd.graphviz']
28
+ version_added = '2.8'
30
29
  tokens = {
31
30
  'root': [
32
31
  (r'\s+', Whitespace),
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for TigerGraph GSQL graph query language
6
6
 
7
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -21,14 +21,13 @@ class GSQLLexer(RegexLexer):
21
21
 
22
22
  """
23
23
  For GSQL queries (version 3.x).
24
-
25
- .. versionadded:: 2.10
26
24
  """
27
25
 
28
26
  name = 'GSQL'
29
27
  url = 'https://docs.tigergraph.com/dev/gsql-ref'
30
28
  aliases = ['gsql']
31
29
  filenames = ['*.gsql']
30
+ version_added = '2.10'
32
31
 
33
32
  flags = re.MULTILINE | re.IGNORECASE
34
33