pygments.rb 2.4.1 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
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 Monte programming 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
 
@@ -78,13 +78,12 @@ _safeScope = [
78
78
  class MonteLexer(RegexLexer):
79
79
  """
80
80
  Lexer for the Monte programming language.
81
-
82
- .. versionadded:: 2.2
83
81
  """
84
82
  name = 'Monte'
85
83
  url = 'https://monte.readthedocs.io/'
86
84
  aliases = ['monte']
87
85
  filenames = ['*.mt']
86
+ version_added = '2.2'
88
87
 
89
88
  tokens = {
90
89
  'root': [
@@ -5,7 +5,7 @@
5
5
  Lexers for the mosel language.
6
6
  http://www.fico.com/en/products/fico-xpress-optimization
7
7
 
8
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -391,12 +391,12 @@ FUNCTIONS = (
391
391
  class MoselLexer(RegexLexer):
392
392
  """
393
393
  For the Mosel optimization language.
394
-
395
- .. versionadded:: 2.6
396
394
  """
397
395
  name = 'Mosel'
398
396
  aliases = ['mosel']
399
397
  filenames = ['*.mos']
398
+ url = 'https://www.fico.com/fico-xpress-optimization/docs/latest/mosel/mosel_lang/dhtml/moselreflang.html'
399
+ version_added = '2.6'
400
400
 
401
401
  tokens = {
402
402
  'root': [
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for NCAR Command 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
 
@@ -20,13 +20,14 @@ __all__ = ['NCLLexer']
20
20
  class NCLLexer(RegexLexer):
21
21
  """
22
22
  Lexer for NCL code.
23
-
24
- .. versionadded:: 2.2
25
23
  """
26
24
  name = 'NCL'
27
25
  aliases = ['ncl']
28
26
  filenames = ['*.ncl']
29
27
  mimetypes = ['text/ncl']
28
+ url = 'https://www.ncl.ucar.edu'
29
+ version_added = '2.2'
30
+
30
31
  flags = re.MULTILINE
31
32
 
32
33
  tokens = {
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for the Nim language (formerly known as Nimrod).
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,8 +20,6 @@ __all__ = ['NimrodLexer']
20
20
  class NimrodLexer(RegexLexer):
21
21
  """
22
22
  For Nim source code.
23
-
24
- .. versionadded:: 1.5
25
23
  """
26
24
 
27
25
  name = 'Nimrod'
@@ -29,6 +27,7 @@ class NimrodLexer(RegexLexer):
29
27
  aliases = ['nimrod', 'nim']
30
28
  filenames = ['*.nim', '*.nimrod']
31
29
  mimetypes = ['text/x-nim']
30
+ version_added = '1.5'
32
31
 
33
32
  flags = re.MULTILINE | re.IGNORECASE
34
33
 
@@ -97,15 +96,15 @@ class NimrodLexer(RegexLexer):
97
96
  ("'", String.Char, 'chars'),
98
97
 
99
98
  # Keywords
100
- (r'(%s)\b' % underscorize(opWords), Operator.Word),
99
+ (rf'({underscorize(opWords)})\b', Operator.Word),
101
100
  (r'(proc|func|method|macro|template)(\s)(?![(\[\]])',
102
101
  bygroups(Keyword, Text.Whitespace), 'funcname'),
103
- (r'(%s)\b' % underscorize(keywords), Keyword),
104
- (r'(%s)\b' % underscorize(['from', 'import', 'include', 'export']),
102
+ (rf'({underscorize(keywords)})\b', Keyword),
103
+ (r'({})\b'.format(underscorize(['from', 'import', 'include', 'export'])),
105
104
  Keyword.Namespace),
106
105
  (r'(v_?a_?r)\b', Keyword.Declaration),
107
- (r'(%s)\b' % underscorize(types), Name.Builtin),
108
- (r'(%s)\b' % underscorize(keywordsPseudo), Keyword.Pseudo),
106
+ (rf'({underscorize(types)})\b', Name.Builtin),
107
+ (rf'({underscorize(keywordsPseudo)})\b', Keyword.Pseudo),
109
108
 
110
109
  # Identifiers
111
110
  (r'\b((?![_\d])\w)(((?!_)\w)|(_(?!_)\w))*', Name),
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for the Nit 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__ = ['NitLexer']
18
18
  class NitLexer(RegexLexer):
19
19
  """
20
20
  For nit source.
21
-
22
- .. versionadded:: 2.0
23
21
  """
24
22
 
25
23
  name = 'Nit'
26
24
  url = 'http://nitlanguage.org'
27
25
  aliases = ['nit']
28
26
  filenames = ['*.nit']
27
+ version_added = '2.0'
29
28
  tokens = {
30
29
  'root': [
31
30
  (r'#.*?$', Comment.Single),
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the NixOS Nix 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
 
@@ -20,8 +20,6 @@ __all__ = ['NixLexer']
20
20
  class NixLexer(RegexLexer):
21
21
  """
22
22
  For the Nix language.
23
-
24
- .. versionadded:: 2.0
25
23
  """
26
24
 
27
25
  name = 'Nix'
@@ -29,13 +27,14 @@ class NixLexer(RegexLexer):
29
27
  aliases = ['nixos', 'nix']
30
28
  filenames = ['*.nix']
31
29
  mimetypes = ['text/x-nix']
30
+ version_added = '2.0'
32
31
 
33
32
  keywords = ['rec', 'with', 'let', 'in', 'inherit', 'assert', 'if',
34
33
  'else', 'then', '...']
35
34
  builtins = ['import', 'abort', 'baseNameOf', 'dirOf', 'isNull', 'builtins',
36
35
  'map', 'removeAttrs', 'throw', 'toString', 'derivation']
37
- operators = ['++', '+', '?', '.', '!', '//', '==',
38
- '!=', '&&', '||', '->', '=']
36
+ operators = ['++', '+', '?', '.', '!', '//', '==', '/',
37
+ '!=', '&&', '||', '->', '=', '<', '>', '*', '-']
39
38
 
40
39
  punctuations = ["(", ")", "[", "]", ";", "{", "}", ":", ",", "@"]
41
40
 
@@ -51,42 +50,49 @@ class NixLexer(RegexLexer):
51
50
  (r'\s+', Text),
52
51
 
53
52
  # keywords
54
- ('(%s)' % '|'.join(re.escape(entry) + '\\b' for entry in keywords), Keyword),
53
+ ('({})'.format('|'.join(re.escape(entry) + '\\b' for entry in keywords)), Keyword),
55
54
 
56
55
  # highlight the builtins
57
- ('(%s)' % '|'.join(re.escape(entry) + '\\b' for entry in builtins),
56
+ ('({})'.format('|'.join(re.escape(entry) + '\\b' for entry in builtins)),
58
57
  Name.Builtin),
59
58
 
60
59
  (r'\b(true|false|null)\b', Name.Constant),
61
60
 
61
+ # floats
62
+ (r'-?(\d+\.\d*|\.\d+)([eE][-+]?\d+)?', Number.Float),
63
+
64
+ # integers
65
+ (r'-?[0-9]+', Number.Integer),
66
+
67
+ # paths
68
+ (r'[\w.+-]*(\/[\w.+-]+)+', Literal),
69
+ (r'~(\/[\w.+-]+)+', Literal),
70
+ (r'\<[\w.+-]+(\/[\w.+-]+)*\>', Literal),
71
+
62
72
  # operators
63
- ('(%s)' % '|'.join(re.escape(entry) for entry in operators),
73
+ ('({})'.format('|'.join(re.escape(entry) for entry in operators)),
64
74
  Operator),
65
75
 
66
76
  # word operators
67
77
  (r'\b(or|and)\b', Operator.Word),
68
78
 
69
- # punctuations
70
- ('(%s)' % '|'.join(re.escape(entry) for entry in punctuations), Punctuation),
79
+ (r'\{', Punctuation, 'block'),
71
80
 
72
- # integers
73
- (r'[0-9]+', Number.Integer),
81
+ # punctuations
82
+ ('({})'.format('|'.join(re.escape(entry) for entry in punctuations)), Punctuation),
74
83
 
75
84
  # strings
76
85
  (r'"', String.Double, 'doublequote'),
77
- (r"''", String.Single, 'singlequote'),
78
-
79
- # paths
80
- (r'[\w.+-]*(\/[\w.+-]+)+', Literal),
81
- (r'\<[\w.+-]+(\/[\w.+-]+)*\>', Literal),
86
+ (r"''", String.Multiline, 'multiline'),
82
87
 
83
88
  # urls
84
89
  (r'[a-zA-Z][a-zA-Z0-9\+\-\.]*\:[\w%/?:@&=+$,\\.!~*\'-]+', Literal),
85
90
 
86
91
  # names of variables
87
- (r'[\w-]+\s*=', String.Symbol),
92
+ (r'[\w-]+(?=\s*=)', String.Symbol),
88
93
  (r'[a-zA-Z_][\w\'-]*', Text),
89
94
 
95
+ (r"\$\{", String.Interpol, 'antiquote'),
90
96
  ],
91
97
  'comment': [
92
98
  (r'[^/*]+', Comment.Multiline),
@@ -94,24 +100,23 @@ class NixLexer(RegexLexer):
94
100
  (r'\*/', Comment.Multiline, '#pop'),
95
101
  (r'[*/]', Comment.Multiline),
96
102
  ],
97
- 'singlequote': [
98
- (r"'''", String.Escape),
99
- (r"''\$\{", String.Escape),
100
- (r"''\n", String.Escape),
101
- (r"''\r", String.Escape),
102
- (r"''\t", String.Escape),
103
- (r"''", String.Single, '#pop'),
103
+ 'multiline': [
104
+ (r"''(\$|'|\\n|\\r|\\t|\\)", String.Escape),
105
+ (r"''", String.Multiline, '#pop'),
104
106
  (r'\$\{', String.Interpol, 'antiquote'),
105
- (r"['$]", String.Single),
106
- (r"[^'$]+", String.Single),
107
+ (r"[^'\$]+", String.Multiline),
108
+ (r"\$[^\{']", String.Multiline),
109
+ (r"'[^']", String.Multiline),
110
+ (r"\$(?=')", String.Multiline),
107
111
  ],
108
112
  'doublequote': [
109
- (r'\\', String.Escape),
110
- (r'\\"', String.Escape),
111
- (r'\\$\{', String.Escape),
113
+ (r'\\(\\|"|\$|n)', String.Escape),
112
114
  (r'"', String.Double, '#pop'),
113
115
  (r'\$\{', String.Interpol, 'antiquote'),
114
- (r'[^"]', String.Double),
116
+ (r'[^"\\\$]+', String.Double),
117
+ (r'\$[^\{"]', String.Double),
118
+ (r'\$(?=")', String.Double),
119
+ (r'\\', String.Double),
115
120
  ],
116
121
  'antiquote': [
117
122
  (r"\}", String.Interpol, '#pop'),
@@ -119,6 +124,10 @@ class NixLexer(RegexLexer):
119
124
  (r"\$\{", String.Interpol, '#push'),
120
125
  include('root'),
121
126
  ],
127
+ 'block': [
128
+ (r"\}", Punctuation, '#pop'),
129
+ include('root'),
130
+ ],
122
131
  }
123
132
 
124
133
  def analyse_text(text):
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for Oberon family 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__ = ['ComponentPascalLexer']
20
20
  class ComponentPascalLexer(RegexLexer):
21
21
  """
22
22
  For Component Pascal source code.
23
-
24
- .. versionadded:: 2.1
25
23
  """
26
24
  name = 'Component Pascal'
27
25
  aliases = ['componentpascal', 'cp']
28
26
  filenames = ['*.cp', '*.cps']
29
27
  mimetypes = ['text/x-component-pascal']
28
+ url = 'https://blackboxframework.org'
29
+ version_added = '2.1'
30
30
 
31
31
  flags = re.MULTILINE | re.DOTALL
32
32
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for Objective-C family 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
 
@@ -201,6 +201,7 @@ class ObjectiveCLexer(objective(CLexer)):
201
201
  aliases = ['objective-c', 'objectivec', 'obj-c', 'objc']
202
202
  filenames = ['*.m', '*.h']
203
203
  mimetypes = ['text/x-objective-c']
204
+ version_added = ''
204
205
  priority = 0.05 # Lower than C
205
206
 
206
207
 
@@ -213,20 +214,20 @@ class ObjectiveCppLexer(objective(CppLexer)):
213
214
  aliases = ['objective-c++', 'objectivec++', 'obj-c++', 'objc++']
214
215
  filenames = ['*.mm', '*.hh']
215
216
  mimetypes = ['text/x-objective-c++']
217
+ version_added = ''
216
218
  priority = 0.05 # Lower than C++
217
219
 
218
220
 
219
221
  class LogosLexer(ObjectiveCppLexer):
220
222
  """
221
223
  For Logos + Objective-C source code with preprocessor directives.
222
-
223
- .. versionadded:: 1.6
224
224
  """
225
225
 
226
226
  name = 'Logos'
227
227
  aliases = ['logos']
228
228
  filenames = ['*.x', '*.xi', '*.xm', '*.xmi']
229
229
  mimetypes = ['text/x-logos']
230
+ version_added = '1.6'
230
231
  priority = 0.25
231
232
 
232
233
  tokens = {
@@ -283,14 +284,13 @@ class LogosLexer(ObjectiveCppLexer):
283
284
  class SwiftLexer(RegexLexer):
284
285
  """
285
286
  For Swift source.
286
-
287
- .. versionadded:: 2.0
288
287
  """
289
288
  name = 'Swift'
290
289
  url = 'https://www.swift.org/'
291
290
  filenames = ['*.swift']
292
291
  aliases = ['swift']
293
292
  mimetypes = ['text/x-swift']
293
+ version_added = '2.0'
294
294
 
295
295
  tokens = {
296
296
  'root': [
@@ -403,6 +403,7 @@ class SwiftLexer(RegexLexer):
403
403
  r'\.[0-9_]*|[eE][+\-]?[0-9_]+)', Number.Float),
404
404
  (r'[0-9][0-9_]*', Number.Integer),
405
405
  # String Literal
406
+ (r'"""', String, 'string-multi'),
406
407
  (r'"', String, 'string'),
407
408
 
408
409
  # Operators and Punctuation
@@ -477,8 +478,15 @@ class SwiftLexer(RegexLexer):
477
478
  include('root')
478
479
  ],
479
480
  'string': [
480
- (r'\\\(', String.Interpol, 'string-intp'),
481
481
  (r'"', String, '#pop'),
482
+ include("string-common"),
483
+ ],
484
+ 'string-multi': [
485
+ (r'"""', String, '#pop'),
486
+ include("string-common"),
487
+ ],
488
+ 'string-common': [
489
+ (r'\\\(', String.Interpol, 'string-intp'),
482
490
  (r"""\\['"\\nrt]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}"""
483
491
  r"""|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}""", String.Escape),
484
492
  (r'[^\\"]+', String),
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the Ooc 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__ = ['OocLexer']
18
18
  class OocLexer(RegexLexer):
19
19
  """
20
20
  For Ooc source code
21
-
22
- .. versionadded:: 1.2
23
21
  """
24
22
  name = 'Ooc'
25
23
  url = 'http://ooc-lang.org/'
26
24
  aliases = ['ooc']
27
25
  filenames = ['*.ooc']
28
26
  mimetypes = ['text/x-ooc']
27
+ version_added = '1.2'
29
28
 
30
29
  tokens = {
31
30
  'root': [
@@ -0,0 +1,96 @@
1
+ """
2
+ pygments.lexers.openscad
3
+ ~~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for the OpenSCAD languages.
6
+
7
+ :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import RegexLexer, bygroups, words, include
12
+ from pygments.token import Text, Comment, Punctuation, Operator, Keyword, Name, Number, Whitespace, Literal, String
13
+
14
+ __all__ = ['OpenScadLexer']
15
+
16
+
17
+ class OpenScadLexer(RegexLexer):
18
+ """For openSCAD code.
19
+ """
20
+ name = "OpenSCAD"
21
+ url = "https://openscad.org/"
22
+ aliases = ["openscad"]
23
+ filenames = ["*.scad"]
24
+ mimetypes = ["application/x-openscad"]
25
+ version_added = '2.16'
26
+
27
+ tokens = {
28
+ "root": [
29
+ (r"[^\S\n]+", Whitespace),
30
+ (r'//', Comment.Single, 'comment-single'),
31
+ (r'/\*', Comment.Multiline, 'comment-multi'),
32
+ (r"[{}\[\]\(\),;:]", Punctuation),
33
+ (r"[*!#%\-+=?/]", Operator),
34
+ (r"<=|<|==|!=|>=|>|&&|\|\|", Operator),
35
+ (r"\$(f[asn]|t|vp[rtd]|children)", Operator),
36
+ (r"(undef|PI)\b", Keyword.Constant),
37
+ (
38
+ r"(use|include)((?:\s|\\\\s)+)",
39
+ bygroups(Keyword.Namespace, Text),
40
+ "includes",
41
+ ),
42
+ (r"(module)(\s*)([^\s\(]+)",
43
+ bygroups(Keyword.Namespace, Whitespace, Name.Namespace)),
44
+ (r"(function)(\s*)([^\s\(]+)",
45
+ bygroups(Keyword.Declaration, Whitespace, Name.Function)),
46
+ (words(("true", "false"), prefix=r"\b", suffix=r"\b"), Literal),
47
+ (words((
48
+ "function", "module", "include", "use", "for",
49
+ "intersection_for", "if", "else", "return"
50
+ ), prefix=r"\b", suffix=r"\b"), Keyword
51
+ ),
52
+ (words((
53
+ "circle", "square", "polygon", "text", "sphere", "cube",
54
+ "cylinder", "polyhedron", "translate", "rotate", "scale",
55
+ "resize", "mirror", "multmatrix", "color", "offset", "hull",
56
+ "minkowski", "union", "difference", "intersection", "abs",
57
+ "sign", "sin", "cos", "tan", "acos", "asin", "atan", "atan2",
58
+ "floor", "round", "ceil", "ln", "log", "pow", "sqrt", "exp",
59
+ "rands", "min", "max", "concat", "lookup", "str", "chr",
60
+ "search", "version", "version_num", "norm", "cross",
61
+ "parent_module", "echo", "import", "import_dxf",
62
+ "dxf_linear_extrude", "linear_extrude", "rotate_extrude",
63
+ "surface", "projection", "render", "dxf_cross",
64
+ "dxf_dim", "let", "assign", "len"
65
+ ), prefix=r"\b", suffix=r"\b"),
66
+ Name.Builtin
67
+ ),
68
+ (r"\bchildren\b", Name.Builtin.Pseudo),
69
+ (r'""".*?"""', String.Double),
70
+ (r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
71
+ (r"-?\d+(\.\d+)?(e[+-]?\d+)?", Number),
72
+ (r"\w+", Name),
73
+ ],
74
+ "includes": [
75
+ (
76
+ r"(<)([^>]*)(>)",
77
+ bygroups(Punctuation, Comment.PreprocFile, Punctuation),
78
+ ),
79
+ ],
80
+ 'comment': [
81
+ (r':param: [a-zA-Z_]\w*|:returns?:|(FIXME|MARK|TODO):',
82
+ Comment.Special)
83
+ ],
84
+ 'comment-single': [
85
+ (r'\n', Text, '#pop'),
86
+ include('comment'),
87
+ (r'[^\n]+', Comment.Single)
88
+ ],
89
+ 'comment-multi': [
90
+ include('comment'),
91
+ (r'[^*/]+', Comment.Multiline),
92
+ (r'/\*', Comment.Multiline, '#push'),
93
+ (r'\*/', Comment.Multiline, '#pop'),
94
+ (r'[*/]', Comment.Multiline)
95
+ ],
96
+ }
@@ -4,10 +4,11 @@
4
4
 
5
5
  Just export lexer classes previously contained in this module.
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
 
11
+ # ruff: noqa: F401
11
12
  from pygments.lexers.sql import SqlLexer, MySqlLexer, SqliteConsoleLexer
12
13
  from pygments.lexers.shell import BashLexer, BashSessionLexer, BatchLexer, \
13
14
  TcshLexer
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for ParaSail.
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,8 +20,6 @@ __all__ = ['ParaSailLexer']
20
20
  class ParaSailLexer(RegexLexer):
21
21
  """
22
22
  For ParaSail source code.
23
-
24
- .. versionadded:: 2.1
25
23
  """
26
24
 
27
25
  name = 'ParaSail'
@@ -29,6 +27,7 @@ class ParaSailLexer(RegexLexer):
29
27
  aliases = ['parasail']
30
28
  filenames = ['*.psi', '*.psl']
31
29
  mimetypes = ['text/x-parasail']
30
+ version_added = '2.1'
32
31
 
33
32
  flags = re.MULTILINE
34
33