pygments.rb 2.3.1 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (324) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +1 -1
  3. data/.rubocop.yml +7 -0
  4. data/CHANGELOG.adoc +4 -0
  5. data/README.adoc +1 -1
  6. data/bench.rb +1 -1
  7. data/lib/pygments/popen.rb +3 -7
  8. data/lib/pygments/version.rb +1 -1
  9. data/pygments.rb.gemspec +2 -2
  10. data/test/test_pygments.rb +0 -19
  11. data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/AUTHORS +21 -1
  12. data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/LICENSE +1 -1
  13. data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/METADATA +19 -11
  14. data/vendor/pygments-main/Pygments-2.15.1.dist-info/RECORD +614 -0
  15. data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/WHEEL +1 -1
  16. data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/entry_points.txt +0 -1
  17. data/vendor/pygments-main/bin/pygmentize +1 -1
  18. data/vendor/pygments-main/pygments/__init__.py +20 -22
  19. data/vendor/pygments-main/pygments/__main__.py +1 -1
  20. data/vendor/pygments-main/pygments/cmdline.py +74 -8
  21. data/vendor/pygments-main/pygments/console.py +1 -1
  22. data/vendor/pygments-main/pygments/filter.py +1 -1
  23. data/vendor/pygments-main/pygments/filters/__init__.py +6 -3
  24. data/vendor/pygments-main/pygments/formatter.py +41 -11
  25. data/vendor/pygments-main/pygments/formatters/__init__.py +21 -16
  26. data/vendor/pygments-main/pygments/formatters/_mapping.py +5 -65
  27. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
  28. data/vendor/pygments-main/pygments/formatters/groff.py +170 -0
  29. data/vendor/pygments-main/pygments/formatters/html.py +54 -32
  30. data/vendor/pygments-main/pygments/formatters/img.py +9 -5
  31. data/vendor/pygments-main/pygments/formatters/irc.py +6 -33
  32. data/vendor/pygments-main/pygments/formatters/latex.py +24 -14
  33. data/vendor/pygments-main/pygments/formatters/other.py +1 -1
  34. data/vendor/pygments-main/pygments/formatters/pangomarkup.py +1 -1
  35. data/vendor/pygments-main/pygments/formatters/rtf.py +1 -1
  36. data/vendor/pygments-main/pygments/formatters/svg.py +1 -1
  37. data/vendor/pygments-main/pygments/formatters/terminal.py +1 -3
  38. data/vendor/pygments-main/pygments/formatters/terminal256.py +2 -4
  39. data/vendor/pygments-main/pygments/lexer.py +101 -32
  40. data/vendor/pygments-main/pygments/lexers/__init__.py +50 -29
  41. data/vendor/pygments-main/pygments/lexers/_ada_builtins.py +103 -0
  42. data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +1 -1
  43. data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +1 -1
  44. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +2 -2
  45. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +21 -6
  46. data/vendor/pygments-main/pygments/lexers/_css_builtins.py +558 -0
  47. data/vendor/pygments-main/pygments/lexers/_julia_builtins.py +10 -0
  48. data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +1 -1
  49. data/vendor/pygments-main/pygments/lexers/_lilypond_builtins.py +4932 -0
  50. data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +11 -18
  51. data/vendor/pygments-main/pygments/lexers/_mapping.py +71 -82
  52. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1 -1
  53. data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +58 -4
  54. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +1 -1
  55. data/vendor/pygments-main/pygments/lexers/_php_builtins.py +408 -1835
  56. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +70 -8
  57. data/vendor/pygments-main/pygments/lexers/_qlik_builtins.py +666 -0
  58. data/vendor/pygments-main/pygments/lexers/_scheme_builtins.py +1609 -0
  59. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +3 -3
  60. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +9 -18
  61. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +185 -94
  62. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +1 -1
  63. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -1
  64. data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +1 -1
  65. data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +1 -1
  66. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -1
  67. data/vendor/pygments-main/pygments/lexers/actionscript.py +15 -14
  68. data/vendor/pygments-main/pygments/lexers/ada.py +144 -0
  69. data/vendor/pygments-main/pygments/lexers/agile.py +1 -1
  70. data/vendor/pygments-main/pygments/lexers/algebra.py +72 -9
  71. data/vendor/pygments-main/pygments/lexers/ambient.py +8 -7
  72. data/vendor/pygments-main/pygments/lexers/amdgpu.py +4 -3
  73. data/vendor/pygments-main/pygments/lexers/ampl.py +10 -8
  74. data/vendor/pygments-main/pygments/lexers/apdlexer.py +164 -20
  75. data/vendor/pygments-main/pygments/lexers/apl.py +6 -5
  76. data/vendor/pygments-main/pygments/lexers/archetype.py +23 -21
  77. data/vendor/pygments-main/pygments/lexers/arrow.py +10 -9
  78. data/vendor/pygments-main/pygments/lexers/arturo.py +250 -0
  79. data/vendor/pygments-main/pygments/lexers/asc.py +9 -5
  80. data/vendor/pygments-main/pygments/lexers/asm.py +68 -63
  81. data/vendor/pygments-main/pygments/lexers/automation.py +7 -5
  82. data/vendor/pygments-main/pygments/lexers/bare.py +20 -21
  83. data/vendor/pygments-main/pygments/lexers/basic.py +45 -41
  84. data/vendor/pygments-main/pygments/lexers/bdd.py +58 -0
  85. data/vendor/pygments-main/pygments/lexers/berry.py +99 -0
  86. data/vendor/pygments-main/pygments/lexers/bibtex.py +6 -6
  87. data/vendor/pygments-main/pygments/lexers/boa.py +4 -8
  88. data/vendor/pygments-main/pygments/lexers/business.py +18 -18
  89. data/vendor/pygments-main/pygments/lexers/c_cpp.py +80 -40
  90. data/vendor/pygments-main/pygments/lexers/c_like.py +21 -19
  91. data/vendor/pygments-main/pygments/lexers/capnproto.py +6 -8
  92. data/vendor/pygments-main/pygments/lexers/carbon.py +96 -0
  93. data/vendor/pygments-main/pygments/lexers/cddl.py +16 -33
  94. data/vendor/pygments-main/pygments/lexers/chapel.py +14 -9
  95. data/vendor/pygments-main/pygments/lexers/clean.py +3 -2
  96. data/vendor/pygments-main/pygments/lexers/comal.py +80 -0
  97. data/vendor/pygments-main/pygments/lexers/compiled.py +3 -2
  98. data/vendor/pygments-main/pygments/lexers/configs.py +235 -120
  99. data/vendor/pygments-main/pygments/lexers/console.py +5 -4
  100. data/vendor/pygments-main/pygments/lexers/cplint.py +44 -0
  101. data/vendor/pygments-main/pygments/lexers/crystal.py +22 -23
  102. data/vendor/pygments-main/pygments/lexers/csound.py +19 -17
  103. data/vendor/pygments-main/pygments/lexers/css.py +67 -159
  104. data/vendor/pygments-main/pygments/lexers/d.py +15 -12
  105. data/vendor/pygments-main/pygments/lexers/dalvik.py +14 -11
  106. data/vendor/pygments-main/pygments/lexers/data.py +119 -49
  107. data/vendor/pygments-main/pygments/lexers/dax.py +136 -0
  108. data/vendor/pygments-main/pygments/lexers/devicetree.py +9 -8
  109. data/vendor/pygments-main/pygments/lexers/diff.py +23 -19
  110. data/vendor/pygments-main/pygments/lexers/dotnet.py +216 -81
  111. data/vendor/pygments-main/pygments/lexers/dsls.py +86 -64
  112. data/vendor/pygments-main/pygments/lexers/dylan.py +16 -15
  113. data/vendor/pygments-main/pygments/lexers/ecl.py +46 -38
  114. data/vendor/pygments-main/pygments/lexers/eiffel.py +15 -10
  115. data/vendor/pygments-main/pygments/lexers/elm.py +12 -8
  116. data/vendor/pygments-main/pygments/lexers/elpi.py +165 -0
  117. data/vendor/pygments-main/pygments/lexers/email.py +21 -39
  118. data/vendor/pygments-main/pygments/lexers/erlang.py +21 -22
  119. data/vendor/pygments-main/pygments/lexers/esoteric.py +28 -30
  120. data/vendor/pygments-main/pygments/lexers/ezhil.py +10 -9
  121. data/vendor/pygments-main/pygments/lexers/factor.py +104 -83
  122. data/vendor/pygments-main/pygments/lexers/fantom.py +31 -29
  123. data/vendor/pygments-main/pygments/lexers/felix.py +18 -14
  124. data/vendor/pygments-main/pygments/lexers/fift.py +67 -0
  125. data/vendor/pygments-main/pygments/lexers/floscript.py +7 -7
  126. data/vendor/pygments-main/pygments/lexers/forth.py +8 -6
  127. data/vendor/pygments-main/pygments/lexers/fortran.py +16 -11
  128. data/vendor/pygments-main/pygments/lexers/foxpro.py +2 -2
  129. data/vendor/pygments-main/pygments/lexers/freefem.py +7 -10
  130. data/vendor/pygments-main/pygments/lexers/func.py +108 -0
  131. data/vendor/pygments-main/pygments/lexers/functional.py +1 -1
  132. data/vendor/pygments-main/pygments/lexers/futhark.py +12 -17
  133. data/vendor/pygments-main/pygments/lexers/gcodelexer.py +1 -2
  134. data/vendor/pygments-main/pygments/lexers/gdscript.py +76 -233
  135. data/vendor/pygments-main/pygments/lexers/go.py +12 -14
  136. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +22 -26
  137. data/vendor/pygments-main/pygments/lexers/graph.py +36 -15
  138. data/vendor/pygments-main/pygments/lexers/graphics.py +37 -38
  139. data/vendor/pygments-main/pygments/lexers/graphviz.py +2 -1
  140. data/vendor/pygments-main/pygments/lexers/gsql.py +39 -27
  141. data/vendor/pygments-main/pygments/lexers/haskell.py +73 -71
  142. data/vendor/pygments-main/pygments/lexers/haxe.py +13 -11
  143. data/vendor/pygments-main/pygments/lexers/hdl.py +31 -34
  144. data/vendor/pygments-main/pygments/lexers/hexdump.py +21 -21
  145. data/vendor/pygments-main/pygments/lexers/html.py +11 -19
  146. data/vendor/pygments-main/pygments/lexers/idl.py +10 -5
  147. data/vendor/pygments-main/pygments/lexers/igor.py +3 -2
  148. data/vendor/pygments-main/pygments/lexers/inferno.py +9 -8
  149. data/vendor/pygments-main/pygments/lexers/installers.py +39 -33
  150. data/vendor/pygments-main/pygments/lexers/int_fiction.py +35 -20
  151. data/vendor/pygments-main/pygments/lexers/iolang.py +9 -9
  152. data/vendor/pygments-main/pygments/lexers/j.py +20 -13
  153. data/vendor/pygments-main/pygments/lexers/javascript.py +183 -149
  154. data/vendor/pygments-main/pygments/lexers/jmespath.py +68 -0
  155. data/vendor/pygments-main/pygments/lexers/jslt.py +4 -3
  156. data/vendor/pygments-main/pygments/lexers/jsonnet.py +168 -0
  157. data/vendor/pygments-main/pygments/lexers/julia.py +44 -32
  158. data/vendor/pygments-main/pygments/lexers/jvm.py +161 -140
  159. data/vendor/pygments-main/pygments/lexers/kuin.py +93 -59
  160. data/vendor/pygments-main/pygments/lexers/lilypond.py +226 -0
  161. data/vendor/pygments-main/pygments/lexers/lisp.py +244 -107
  162. data/vendor/pygments-main/pygments/lexers/macaulay2.py +1739 -0
  163. data/vendor/pygments-main/pygments/lexers/make.py +21 -16
  164. data/vendor/pygments-main/pygments/lexers/markup.py +752 -11
  165. data/vendor/pygments-main/pygments/lexers/math.py +1 -1
  166. data/vendor/pygments-main/pygments/lexers/matlab.py +18 -3
  167. data/vendor/pygments-main/pygments/lexers/maxima.py +85 -0
  168. data/vendor/pygments-main/pygments/lexers/meson.py +10 -25
  169. data/vendor/pygments-main/pygments/lexers/mime.py +2 -2
  170. data/vendor/pygments-main/pygments/lexers/minecraft.py +394 -0
  171. data/vendor/pygments-main/pygments/lexers/mips.py +128 -0
  172. data/vendor/pygments-main/pygments/lexers/ml.py +9 -6
  173. data/vendor/pygments-main/pygments/lexers/modeling.py +12 -8
  174. data/vendor/pygments-main/pygments/lexers/modula2.py +3 -2
  175. data/vendor/pygments-main/pygments/lexers/monte.py +3 -2
  176. data/vendor/pygments-main/pygments/lexers/mosel.py +1 -1
  177. data/vendor/pygments-main/pygments/lexers/ncl.py +1 -1
  178. data/vendor/pygments-main/pygments/lexers/nimrod.py +62 -20
  179. data/vendor/pygments-main/pygments/lexers/nit.py +3 -2
  180. data/vendor/pygments-main/pygments/lexers/nix.py +5 -5
  181. data/vendor/pygments-main/pygments/lexers/oberon.py +2 -2
  182. data/vendor/pygments-main/pygments/lexers/objective.py +6 -4
  183. data/vendor/pygments-main/pygments/lexers/ooc.py +3 -2
  184. data/vendor/pygments-main/pygments/lexers/other.py +1 -1
  185. data/vendor/pygments-main/pygments/lexers/parasail.py +3 -2
  186. data/vendor/pygments-main/pygments/lexers/parsers.py +23 -21
  187. data/vendor/pygments-main/pygments/lexers/pascal.py +196 -198
  188. data/vendor/pygments-main/pygments/lexers/pawn.py +1 -1
  189. data/vendor/pygments-main/pygments/lexers/perl.py +17 -15
  190. data/vendor/pygments-main/pygments/lexers/phix.py +364 -0
  191. data/vendor/pygments-main/pygments/lexers/php.py +35 -20
  192. data/vendor/pygments-main/pygments/lexers/pointless.py +3 -2
  193. data/vendor/pygments-main/pygments/lexers/pony.py +1 -1
  194. data/vendor/pygments-main/pygments/lexers/praat.py +41 -38
  195. data/vendor/pygments-main/pygments/lexers/procfile.py +2 -3
  196. data/vendor/pygments-main/pygments/lexers/prolog.py +7 -8
  197. data/vendor/pygments-main/pygments/lexers/promql.py +5 -12
  198. data/vendor/pygments-main/pygments/lexers/python.py +145 -119
  199. data/vendor/pygments-main/pygments/lexers/q.py +188 -0
  200. data/vendor/pygments-main/pygments/lexers/qlik.py +117 -0
  201. data/vendor/pygments-main/pygments/lexers/qvt.py +1 -1
  202. data/vendor/pygments-main/pygments/lexers/r.py +4 -4
  203. data/vendor/pygments-main/pygments/lexers/rdf.py +3 -3
  204. data/vendor/pygments-main/pygments/lexers/rebol.py +1 -12
  205. data/vendor/pygments-main/pygments/lexers/resource.py +1 -1
  206. data/vendor/pygments-main/pygments/lexers/ride.py +3 -2
  207. data/vendor/pygments-main/pygments/lexers/rita.py +43 -0
  208. data/vendor/pygments-main/pygments/lexers/rnc.py +3 -2
  209. data/vendor/pygments-main/pygments/lexers/roboconf.py +3 -3
  210. data/vendor/pygments-main/pygments/lexers/robotframework.py +6 -5
  211. data/vendor/pygments-main/pygments/lexers/ruby.py +24 -24
  212. data/vendor/pygments-main/pygments/lexers/rust.py +3 -2
  213. data/vendor/pygments-main/pygments/lexers/sas.py +2 -2
  214. data/vendor/pygments-main/pygments/lexers/savi.py +170 -0
  215. data/vendor/pygments-main/pygments/lexers/scdoc.py +4 -7
  216. data/vendor/pygments-main/pygments/lexers/scripting.py +24 -21
  217. data/vendor/pygments-main/pygments/lexers/sgf.py +6 -6
  218. data/vendor/pygments-main/pygments/lexers/shell.py +29 -21
  219. data/vendor/pygments-main/pygments/lexers/sieve.py +14 -4
  220. data/vendor/pygments-main/pygments/lexers/slash.py +1 -1
  221. data/vendor/pygments-main/pygments/lexers/smalltalk.py +5 -3
  222. data/vendor/pygments-main/pygments/lexers/smithy.py +5 -6
  223. data/vendor/pygments-main/pygments/lexers/smv.py +1 -1
  224. data/vendor/pygments-main/pygments/lexers/snobol.py +1 -1
  225. data/vendor/pygments-main/pygments/lexers/solidity.py +3 -7
  226. data/vendor/pygments-main/pygments/lexers/sophia.py +103 -0
  227. data/vendor/pygments-main/pygments/lexers/special.py +2 -5
  228. data/vendor/pygments-main/pygments/lexers/spice.py +71 -0
  229. data/vendor/pygments-main/pygments/lexers/sql.py +212 -17
  230. data/vendor/pygments-main/pygments/lexers/srcinfo.py +62 -0
  231. data/vendor/pygments-main/pygments/lexers/stata.py +4 -3
  232. data/vendor/pygments-main/pygments/lexers/supercollider.py +4 -3
  233. data/vendor/pygments-main/pygments/lexers/tal.py +74 -0
  234. data/vendor/pygments-main/pygments/lexers/tcl.py +21 -16
  235. data/vendor/pygments-main/pygments/lexers/teal.py +9 -8
  236. data/vendor/pygments-main/pygments/lexers/templates.py +62 -29
  237. data/vendor/pygments-main/pygments/lexers/teraterm.py +12 -20
  238. data/vendor/pygments-main/pygments/lexers/testing.py +6 -2
  239. data/vendor/pygments-main/pygments/lexers/text.py +3 -2
  240. data/vendor/pygments-main/pygments/lexers/textedit.py +41 -7
  241. data/vendor/pygments-main/pygments/lexers/textfmts.py +7 -5
  242. data/vendor/pygments-main/pygments/lexers/theorem.py +42 -36
  243. data/vendor/pygments-main/pygments/lexers/thingsdb.py +2 -4
  244. data/vendor/pygments-main/pygments/lexers/tlb.py +57 -0
  245. data/vendor/pygments-main/pygments/lexers/tnt.py +3 -4
  246. data/vendor/pygments-main/pygments/lexers/trafficscript.py +2 -4
  247. data/vendor/pygments-main/pygments/lexers/typoscript.py +2 -3
  248. data/vendor/pygments-main/pygments/lexers/ul4.py +267 -0
  249. data/vendor/pygments-main/pygments/lexers/unicon.py +1 -1
  250. data/vendor/pygments-main/pygments/lexers/urbi.py +4 -4
  251. data/vendor/pygments-main/pygments/lexers/usd.py +2 -1
  252. data/vendor/pygments-main/pygments/lexers/varnish.py +5 -5
  253. data/vendor/pygments-main/pygments/lexers/verification.py +4 -3
  254. data/vendor/pygments-main/pygments/lexers/web.py +1 -1
  255. data/vendor/pygments-main/pygments/lexers/webassembly.py +5 -5
  256. data/vendor/pygments-main/pygments/lexers/webidl.py +2 -1
  257. data/vendor/pygments-main/pygments/lexers/webmisc.py +90 -71
  258. data/vendor/pygments-main/pygments/lexers/wgsl.py +407 -0
  259. data/vendor/pygments-main/pygments/lexers/whiley.py +2 -1
  260. data/vendor/pygments-main/pygments/lexers/wowtoc.py +120 -0
  261. data/vendor/pygments-main/pygments/lexers/wren.py +99 -0
  262. data/vendor/pygments-main/pygments/lexers/x10.py +5 -6
  263. data/vendor/pygments-main/pygments/lexers/xorg.py +3 -2
  264. data/vendor/pygments-main/pygments/lexers/yang.py +6 -5
  265. data/vendor/pygments-main/pygments/lexers/zig.py +3 -2
  266. data/vendor/pygments-main/pygments/modeline.py +1 -1
  267. data/vendor/pygments-main/pygments/plugin.py +28 -9
  268. data/vendor/pygments-main/pygments/regexopt.py +1 -1
  269. data/vendor/pygments-main/pygments/scanner.py +2 -2
  270. data/vendor/pygments-main/pygments/sphinxext.py +63 -1
  271. data/vendor/pygments-main/pygments/style.py +7 -1
  272. data/vendor/pygments-main/pygments/styles/__init__.py +19 -5
  273. data/vendor/pygments-main/pygments/styles/abap.py +2 -2
  274. data/vendor/pygments-main/pygments/styles/algol.py +1 -2
  275. data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -2
  276. data/vendor/pygments-main/pygments/styles/arduino.py +2 -3
  277. data/vendor/pygments-main/pygments/styles/autumn.py +1 -3
  278. data/vendor/pygments-main/pygments/styles/borland.py +1 -3
  279. data/vendor/pygments-main/pygments/styles/bw.py +1 -2
  280. data/vendor/pygments-main/pygments/styles/colorful.py +1 -3
  281. data/vendor/pygments-main/pygments/styles/default.py +13 -14
  282. data/vendor/pygments-main/pygments/styles/dracula.py +102 -0
  283. data/vendor/pygments-main/pygments/styles/emacs.py +1 -2
  284. data/vendor/pygments-main/pygments/styles/friendly.py +1 -2
  285. data/vendor/pygments-main/pygments/styles/friendly_grayscale.py +75 -0
  286. data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
  287. data/vendor/pygments-main/pygments/styles/gh_dark.py +107 -0
  288. data/vendor/pygments-main/pygments/styles/gruvbox.py +4 -2
  289. data/vendor/pygments-main/pygments/styles/igor.py +1 -2
  290. data/vendor/pygments-main/pygments/styles/inkpot.py +3 -2
  291. data/vendor/pygments-main/pygments/styles/lilypond.py +56 -0
  292. data/vendor/pygments-main/pygments/styles/lovelace.py +1 -3
  293. data/vendor/pygments-main/pygments/styles/manni.py +1 -1
  294. data/vendor/pygments-main/pygments/styles/material.py +1 -2
  295. data/vendor/pygments-main/pygments/styles/monokai.py +3 -3
  296. data/vendor/pygments-main/pygments/styles/murphy.py +1 -3
  297. data/vendor/pygments-main/pygments/styles/native.py +11 -11
  298. data/vendor/pygments-main/pygments/styles/nord.py +150 -0
  299. data/vendor/pygments-main/pygments/styles/onedark.py +59 -0
  300. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -6
  301. data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -6
  302. data/vendor/pygments-main/pygments/styles/pastie.py +1 -3
  303. data/vendor/pygments-main/pygments/styles/perldoc.py +1 -2
  304. data/vendor/pygments-main/pygments/styles/rainbow_dash.py +3 -3
  305. data/vendor/pygments-main/pygments/styles/rrt.py +3 -2
  306. data/vendor/pygments-main/pygments/styles/sas.py +2 -4
  307. data/vendor/pygments-main/pygments/styles/solarized.py +1 -1
  308. data/vendor/pygments-main/pygments/styles/staroffice.py +26 -0
  309. data/vendor/pygments-main/pygments/styles/stata_dark.py +4 -6
  310. data/vendor/pygments-main/pygments/styles/stata_light.py +1 -2
  311. data/vendor/pygments-main/pygments/styles/tango.py +2 -3
  312. data/vendor/pygments-main/pygments/styles/trac.py +1 -3
  313. data/vendor/pygments-main/pygments/styles/vim.py +1 -2
  314. data/vendor/pygments-main/pygments/styles/vs.py +1 -2
  315. data/vendor/pygments-main/pygments/styles/xcode.py +1 -3
  316. data/vendor/pygments-main/pygments/styles/zenburn.py +4 -6
  317. data/vendor/pygments-main/pygments/token.py +2 -1
  318. data/vendor/pygments-main/pygments/unistring.py +4 -6
  319. data/vendor/pygments-main/pygments/util.py +27 -5
  320. metadata +59 -14
  321. data/vendor/pygments-main/Pygments-2.10.0.dist-info/RECORD +0 -524
  322. /data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/INSTALLER +0 -0
  323. /data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/REQUESTED +0 -0
  324. /data/vendor/pygments-main/{Pygments-2.10.0.dist-info → Pygments-2.15.1.dist-info}/top_level.txt +0 -0
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for various template engines' markup.
6
6
 
7
- :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -18,6 +18,7 @@ from pygments.lexers.python import PythonLexer
18
18
  from pygments.lexers.perl import PerlLexer
19
19
  from pygments.lexers.jvm import JavaLexer, TeaLangLexer
20
20
  from pygments.lexers.data import YamlLexer
21
+ from pygments.lexers.sql import SqlLexer
21
22
  from pygments.lexer import Lexer, DelegatingLexer, RegexLexer, bygroups, \
22
23
  include, using, this, default, combined
23
24
  from pygments.token import Error, Punctuation, Whitespace, \
@@ -43,13 +44,13 @@ __all__ = ['HtmlPhpLexer', 'XmlPhpLexer', 'CssPhpLexer',
43
44
  'TeaTemplateLexer', 'LassoHtmlLexer', 'LassoXmlLexer',
44
45
  'LassoCssLexer', 'LassoJavascriptLexer', 'HandlebarsLexer',
45
46
  'HandlebarsHtmlLexer', 'YamlJinjaLexer', 'LiquidLexer',
46
- 'TwigLexer', 'TwigHtmlLexer', 'Angular2Lexer', 'Angular2HtmlLexer']
47
+ 'TwigLexer', 'TwigHtmlLexer', 'Angular2Lexer', 'Angular2HtmlLexer',
48
+ 'SqlJinjaLexer']
47
49
 
48
50
 
49
51
  class ErbLexer(Lexer):
50
52
  """
51
- Generic `ERB <http://ruby-doc.org/core/classes/ERB.html>`_ (Ruby Templating)
52
- lexer.
53
+ Generic ERB (Ruby Templating) lexer.
53
54
 
54
55
  Just highlights ruby code between the preprocessor directives, other data
55
56
  is left untouched by the lexer.
@@ -58,6 +59,7 @@ class ErbLexer(Lexer):
58
59
  """
59
60
 
60
61
  name = 'ERB'
62
+ url = 'https://github.com/ruby/erb'
61
63
  aliases = ['erb']
62
64
  mimetypes = ['application/x-ruby-templating']
63
65
 
@@ -143,13 +145,14 @@ class ErbLexer(Lexer):
143
145
 
144
146
  class SmartyLexer(RegexLexer):
145
147
  """
146
- Generic `Smarty <http://smarty.php.net/>`_ template lexer.
148
+ Generic Smarty template lexer.
147
149
 
148
150
  Just highlights smarty code between the preprocessor directives, other
149
151
  data is left untouched by the lexer.
150
152
  """
151
153
 
152
154
  name = 'Smarty'
155
+ url = 'https://www.smarty.net/'
153
156
  aliases = ['smarty']
154
157
  filenames = ['*.tpl']
155
158
  mimetypes = ['application/x-smarty']
@@ -199,13 +202,14 @@ class SmartyLexer(RegexLexer):
199
202
 
200
203
  class VelocityLexer(RegexLexer):
201
204
  """
202
- Generic `Velocity <http://velocity.apache.org/>`_ template lexer.
205
+ Generic Velocity template lexer.
203
206
 
204
207
  Just highlights velocity directives and variable references, other
205
208
  data is left untouched by the lexer.
206
209
  """
207
210
 
208
211
  name = 'Velocity'
212
+ url = 'https://velocity.apache.org/'
209
213
  aliases = ['velocity']
210
214
  filenames = ['*.vm', '*.fhtml']
211
215
 
@@ -402,15 +406,14 @@ class DjangoLexer(RegexLexer):
402
406
 
403
407
  class MyghtyLexer(RegexLexer):
404
408
  """
405
- Generic `myghty templates`_ lexer. Code that isn't Myghty
409
+ Generic myghty templates lexer. Code that isn't Myghty
406
410
  markup is yielded as `Token.Other`.
407
411
 
408
412
  .. versionadded:: 0.6
409
-
410
- .. _myghty templates: http://www.myghty.org/
411
413
  """
412
414
 
413
415
  name = 'Myghty'
416
+ url = 'http://www.myghty.org/'
414
417
  aliases = ['myghty']
415
418
  filenames = ['*.myt', 'autodelegate']
416
419
  mimetypes = ['application/x-myghty']
@@ -516,25 +519,24 @@ class MyghtyCssLexer(DelegatingLexer):
516
519
 
517
520
  class MasonLexer(RegexLexer):
518
521
  """
519
- Generic `mason templates`_ lexer. Stolen from Myghty lexer. Code that isn't
522
+ Generic mason templates lexer. Stolen from Myghty lexer. Code that isn't
520
523
  Mason markup is HTML.
521
524
 
522
- .. _mason templates: http://www.masonhq.com/
523
-
524
525
  .. versionadded:: 1.4
525
526
  """
526
527
  name = 'Mason'
528
+ url = 'http://www.masonhq.com/'
527
529
  aliases = ['mason']
528
530
  filenames = ['*.m', '*.mhtml', '*.mc', '*.mi', 'autohandler', 'dhandler']
529
531
  mimetypes = ['application/x-mason']
530
532
 
531
533
  tokens = {
532
534
  'root': [
533
- (r'\s+', Text),
535
+ (r'\s+', Whitespace),
534
536
  (r'(?s)(<%doc>)(.*?)(</%doc>)',
535
537
  bygroups(Name.Tag, Comment.Multiline, Name.Tag)),
536
538
  (r'(?s)(<%(?:def|method))(\s*)(.*?)(>)(.*?)(</%\2\s*>)',
537
- bygroups(Name.Tag, Text, Name.Function, Name.Tag,
539
+ bygroups(Name.Tag, Whitespace, Name.Function, Name.Tag,
538
540
  using(this), Name.Tag)),
539
541
  (r'(?s)(<%(\w+)(.*?)(>))(.*?)(</%\2\s*>)',
540
542
  bygroups(Name.Tag, None, None, None, using(PerlLexer), Name.Tag)),
@@ -572,15 +574,14 @@ class MasonLexer(RegexLexer):
572
574
 
573
575
  class MakoLexer(RegexLexer):
574
576
  """
575
- Generic `mako templates`_ lexer. Code that isn't Mako
577
+ Generic mako templates lexer. Code that isn't Mako
576
578
  markup is yielded as `Token.Other`.
577
579
 
578
580
  .. versionadded:: 0.7
579
-
580
- .. _mako templates: http://www.makotemplates.org/
581
581
  """
582
582
 
583
583
  name = 'Mako'
584
+ url = 'http://www.makotemplates.org/'
584
585
  aliases = ['mako']
585
586
  filenames = ['*.mao']
586
587
  mimetypes = ['application/x-mako']
@@ -721,15 +722,15 @@ class CheetahPythonLexer(Lexer):
721
722
 
722
723
  class CheetahLexer(RegexLexer):
723
724
  """
724
- Generic `cheetah templates`_ lexer. Code that isn't Cheetah
725
+ Generic cheetah templates lexer. Code that isn't Cheetah
725
726
  markup is yielded as `Token.Other`. This also works for
726
727
  `spitfire templates`_ which use the same syntax.
727
728
 
728
- .. _cheetah templates: http://www.cheetahtemplate.org/
729
729
  .. _spitfire templates: http://code.google.com/p/spitfire/
730
730
  """
731
731
 
732
732
  name = 'Cheetah'
733
+ url = 'http://www.cheetahtemplate.org/'
733
734
  aliases = ['cheetah', 'spitfire']
734
735
  filenames = ['*.tmpl', '*.spt']
735
736
  mimetypes = ['application/x-cheetah', 'application/x-spitfire']
@@ -813,11 +814,11 @@ class CheetahJavascriptLexer(DelegatingLexer):
813
814
 
814
815
  class GenshiTextLexer(RegexLexer):
815
816
  """
816
- A lexer that highlights `genshi <http://genshi.edgewall.org/>`_ text
817
- templates.
817
+ A lexer that highlights genshi text templates.
818
818
  """
819
819
 
820
820
  name = 'Genshi Text'
821
+ url = 'http://genshi.edgewall.org/'
821
822
  aliases = ['genshitext']
822
823
  mimetypes = ['application/x-genshi-text', 'text/x-genshi']
823
824
 
@@ -1252,6 +1253,7 @@ class HtmlDjangoLexer(DelegatingLexer):
1252
1253
 
1253
1254
  name = 'HTML+Django/Jinja'
1254
1255
  aliases = ['html+django', 'html+jinja', 'htmldjango']
1256
+ filenames = ['*.html.j2', '*.htm.j2', '*.xhtml.j2', '*.html.jinja2', '*.htm.jinja2', '*.xhtml.jinja2']
1255
1257
  alias_filenames = ['*.html', '*.htm', '*.xhtml']
1256
1258
  mimetypes = ['text/html+django', 'text/html+jinja']
1257
1259
 
@@ -1273,6 +1275,7 @@ class XmlDjangoLexer(DelegatingLexer):
1273
1275
 
1274
1276
  name = 'XML+Django/Jinja'
1275
1277
  aliases = ['xml+django', 'xml+jinja']
1278
+ filenames = ['*.xml.j2', '*.xml.jinja2']
1276
1279
  alias_filenames = ['*.xml']
1277
1280
  mimetypes = ['application/xml+django', 'application/xml+jinja']
1278
1281
 
@@ -1294,6 +1297,7 @@ class CssDjangoLexer(DelegatingLexer):
1294
1297
 
1295
1298
  name = 'CSS+Django/Jinja'
1296
1299
  aliases = ['css+django', 'css+jinja']
1300
+ filenames = ['*.css.j2', '*.css.jinja2']
1297
1301
  alias_filenames = ['*.css']
1298
1302
  mimetypes = ['text/css+django', 'text/css+jinja']
1299
1303
 
@@ -1313,6 +1317,7 @@ class JavascriptDjangoLexer(DelegatingLexer):
1313
1317
  name = 'JavaScript+Django/Jinja'
1314
1318
  aliases = ['javascript+django', 'js+django',
1315
1319
  'javascript+jinja', 'js+jinja']
1320
+ filenames = ['*.js.j2', '*.js.jinja2']
1316
1321
  alias_filenames = ['*.js']
1317
1322
  mimetypes = ['application/x-javascript+django',
1318
1323
  'application/x-javascript+jinja',
@@ -1767,7 +1772,7 @@ class LassoJavascriptLexer(DelegatingLexer):
1767
1772
 
1768
1773
  class HandlebarsLexer(RegexLexer):
1769
1774
  """
1770
- Generic `handlebars <http://handlebarsjs.com/>` template lexer.
1775
+ Generic handlebars template lexer.
1771
1776
 
1772
1777
  Highlights only the Handlebars template tags (stuff between `{{` and `}}`).
1773
1778
  Everything else is left for a delegating lexer.
@@ -1776,6 +1781,7 @@ class HandlebarsLexer(RegexLexer):
1776
1781
  """
1777
1782
 
1778
1783
  name = "Handlebars"
1784
+ url = 'https://handlebarsjs.com/'
1779
1785
  aliases = ['handlebars']
1780
1786
 
1781
1787
  tokens = {
@@ -1870,7 +1876,7 @@ class YamlJinjaLexer(DelegatingLexer):
1870
1876
 
1871
1877
  name = 'YAML+Jinja'
1872
1878
  aliases = ['yaml+jinja', 'salt', 'sls']
1873
- filenames = ['*.sls']
1879
+ filenames = ['*.sls', '*.yaml.j2', '*.yml.j2', '*.yaml.jinja2', '*.yml.jinja2']
1874
1880
  mimetypes = ['text/x-yaml+jinja', 'text/x-sls']
1875
1881
 
1876
1882
  def __init__(self, **options):
@@ -1879,12 +1885,12 @@ class YamlJinjaLexer(DelegatingLexer):
1879
1885
 
1880
1886
  class LiquidLexer(RegexLexer):
1881
1887
  """
1882
- Lexer for `Liquid templates
1883
- <http://www.rubydoc.info/github/Shopify/liquid>`_.
1888
+ Lexer for Liquid templates.
1884
1889
 
1885
1890
  .. versionadded:: 2.0
1886
1891
  """
1887
1892
  name = 'liquid'
1893
+ url = 'https://www.rubydoc.info/github/Shopify/liquid'
1888
1894
  aliases = ['liquid']
1889
1895
  filenames = ['*.liquid']
1890
1896
 
@@ -2085,7 +2091,7 @@ class LiquidLexer(RegexLexer):
2085
2091
 
2086
2092
  class TwigLexer(RegexLexer):
2087
2093
  """
2088
- `Twig <http://twig.sensiolabs.org/>`_ template lexer.
2094
+ Twig template lexer.
2089
2095
 
2090
2096
  It just highlights Twig code between the preprocessor directives,
2091
2097
  other data is left untouched by the lexer.
@@ -2185,9 +2191,7 @@ class TwigHtmlLexer(DelegatingLexer):
2185
2191
 
2186
2192
  class Angular2Lexer(RegexLexer):
2187
2193
  """
2188
- Generic
2189
- `angular2 <http://victorsavkin.com/post/119943127151/angular-2-template-syntax>`_
2190
- template lexer.
2194
+ Generic angular2 template lexer.
2191
2195
 
2192
2196
  Highlights only the Angular template tags (stuff between `{{` and `}}` and
2193
2197
  special attributes: '(event)=', '[property]=', '[(twoWayBinding)]=').
@@ -2197,6 +2201,7 @@ class Angular2Lexer(RegexLexer):
2197
2201
  """
2198
2202
 
2199
2203
  name = "Angular2"
2204
+ url = 'https://angular.io/guide/template-syntax'
2200
2205
  aliases = ['ng2']
2201
2206
 
2202
2207
  tokens = {
@@ -2261,3 +2266,31 @@ class Angular2HtmlLexer(DelegatingLexer):
2261
2266
 
2262
2267
  def __init__(self, **options):
2263
2268
  super().__init__(HtmlLexer, Angular2Lexer, **options)
2269
+
2270
+
2271
+ class SqlJinjaLexer(DelegatingLexer):
2272
+ """
2273
+ Templated SQL lexer.
2274
+
2275
+ .. versionadded:: 2.13
2276
+ """
2277
+
2278
+ name = 'SQL+Jinja'
2279
+ aliases = ['sql+jinja']
2280
+ filenames = ['*.sql', '*.sql.j2', '*.sql.jinja2']
2281
+
2282
+ def __init__(self, **options):
2283
+ super().__init__(SqlLexer, DjangoLexer, **options)
2284
+
2285
+ def analyse_text(text):
2286
+ rv = 0.0
2287
+ # dbt's ref function
2288
+ if re.search(r'\{\{\s*ref\(.*\)\s*\}\}', text):
2289
+ rv += 0.4
2290
+ # dbt's source function
2291
+ if re.search(r'\{\{\s*source\(.*\)\s*\}\}', text):
2292
+ rv += 0.25
2293
+ # Jinja macro
2294
+ if re.search(r'\{%-?\s*macro \w+\(.*\)\s*-?%\}', text):
2295
+ rv += 0.15
2296
+ return rv
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for Tera Term macro files.
6
6
 
7
- :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -12,18 +12,19 @@ import re
12
12
 
13
13
  from pygments.lexer import RegexLexer, include, bygroups
14
14
  from pygments.token import Text, Comment, Operator, Name, String, \
15
- Number, Keyword
15
+ Number, Keyword, Error
16
16
 
17
17
  __all__ = ['TeraTermLexer']
18
18
 
19
19
 
20
20
  class TeraTermLexer(RegexLexer):
21
21
  """
22
- For `Tera Term <https://ttssh2.osdn.jp/>`_ macro source code.
22
+ For Tera Term macro source code.
23
23
 
24
24
  .. versionadded:: 2.4
25
25
  """
26
26
  name = 'Tera Term macro'
27
+ url = 'https://ttssh2.osdn.jp/'
27
28
  aliases = ['teratermmacro', 'teraterm', 'ttl']
28
29
  filenames = ['*.ttl']
29
30
  mimetypes = ['text/x-teratermmacro']
@@ -51,7 +52,7 @@ class TeraTermLexer(RegexLexer):
51
52
  (r'[*/]', Comment.Multiline)
52
53
  ],
53
54
  'labels': [
54
- (r'(?i)^(\s*)(:[a-z0-9_]+)', bygroups(Text, Name.Label)),
55
+ (r'(?i)^(\s*)(:[a-z0-9_]+)', bygroups(Text.Whitespace, Name.Label)),
55
56
  ],
56
57
  'commands': [
57
58
  (
@@ -259,7 +260,7 @@ class TeraTermLexer(RegexLexer):
259
260
  Keyword,
260
261
  ),
261
262
  (r'(?i)(call|goto)([ \t]+)([a-z0-9_]+)',
262
- bygroups(Keyword, Text, Name.Label)),
263
+ bygroups(Keyword, Text.Whitespace, Name.Label)),
263
264
  ],
264
265
  'builtin-variables': [
265
266
  (
@@ -302,20 +303,11 @@ class TeraTermLexer(RegexLexer):
302
303
  ],
303
304
  'string-literals': [
304
305
  (r'(?i)#(?:[0-9]+|\$[0-9a-f]+)', String.Char),
305
- (r"'", String.Single, 'in-single-string'),
306
- (r'"', String.Double, 'in-double-string'),
307
- ],
308
- 'in-general-string': [
309
- (r'\\[\\nt]', String.Escape), # Only three escapes are supported.
310
- (r'.', String),
311
- ],
312
- 'in-single-string': [
313
- (r"'", String.Single, '#pop'),
314
- include('in-general-string'),
315
- ],
316
- 'in-double-string': [
317
- (r'"', String.Double, '#pop'),
318
- include('in-general-string'),
306
+ (r"'[^'\n]*'", String.Single),
307
+ (r'"[^"\n]*"', String.Double),
308
+ # Opening quotes without a closing quote on the same line are errors.
309
+ (r"('[^']*)(\n)", bygroups(Error, Text.Whitespace)),
310
+ (r'("[^"]*)(\n)', bygroups(Error, Text.Whitespace)),
319
311
  ],
320
312
  'operators': [
321
313
  (r'and|not|or|xor', Operator.Word),
@@ -323,7 +315,7 @@ class TeraTermLexer(RegexLexer):
323
315
  (r'[()]', String.Symbol),
324
316
  ],
325
317
  'all-whitespace': [
326
- (r'\s+', Text),
318
+ (r'\s+', Text.Whitespace),
327
319
  ],
328
320
  }
329
321
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for testing languages.
6
6
 
7
- :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -16,7 +16,7 @@ __all__ = ['GherkinLexer', 'TAPLexer']
16
16
 
17
17
  class GherkinLexer(RegexLexer):
18
18
  """
19
- For `Gherkin <https://github.com/aslakhellesoy/gherkin/>` syntax.
19
+ For Gherkin syntax.
20
20
 
21
21
  .. versionadded:: 1.2
22
22
  """
@@ -129,6 +129,9 @@ class GherkinLexer(RegexLexer):
129
129
  ]
130
130
  }
131
131
 
132
+ def analyse_text(self, text):
133
+ return
134
+
132
135
 
133
136
  class TAPLexer(RegexLexer):
134
137
  """
@@ -137,6 +140,7 @@ class TAPLexer(RegexLexer):
137
140
  .. versionadded:: 2.1
138
141
  """
139
142
  name = 'TAP'
143
+ url = 'https://testanything.org/'
140
144
  aliases = ['tap']
141
145
  filenames = ['*.tap']
142
146
 
@@ -4,12 +4,13 @@
4
4
 
5
5
  Lexers for non-source code file types.
6
6
 
7
- :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
11
11
  from pygments.lexers.configs import ApacheConfLexer, NginxConfLexer, \
12
- SquidConfLexer, LighttpdConfLexer, IniLexer, RegeditLexer, PropertiesLexer
12
+ SquidConfLexer, LighttpdConfLexer, IniLexer, RegeditLexer, PropertiesLexer, \
13
+ UnixConfigLexer
13
14
  from pygments.lexers.console import PyPyLogLexer
14
15
  from pygments.lexers.textedit import VimLexer
15
16
  from pygments.lexers.markup import BBCodeLexer, MoinWikiLexer, RstLexer, \
@@ -4,20 +4,19 @@
4
4
 
5
5
  Lexers for languages related to text processing.
6
6
 
7
- :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
11
11
  import re
12
12
  from bisect import bisect
13
13
 
14
- from pygments.lexer import RegexLexer, include, default, bygroups, using, this
15
- from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
16
- Number, Punctuation
17
-
14
+ from pygments.lexer import RegexLexer, bygroups, default, include, this, using
18
15
  from pygments.lexers.python import PythonLexer
16
+ from pygments.token import Comment, Keyword, Name, Number, Operator, \
17
+ Punctuation, String, Text, Whitespace
19
18
 
20
- __all__ = ['AwkLexer', 'VimLexer']
19
+ __all__ = ['AwkLexer', 'SedLexer', 'VimLexer']
21
20
 
22
21
 
23
22
  class AwkLexer(RegexLexer):
@@ -74,6 +73,41 @@ class AwkLexer(RegexLexer):
74
73
  }
75
74
 
76
75
 
76
+ class SedLexer(RegexLexer):
77
+ """
78
+ Lexer for Sed script files.
79
+ """
80
+ name = 'Sed'
81
+ aliases = ['sed', 'gsed', 'ssed']
82
+ filenames = ['*.sed', '*.[gs]sed']
83
+ mimetypes = ['text/x-sed']
84
+ flags = re.MULTILINE
85
+
86
+ # Match the contents within delimiters such as /<contents>/
87
+ _inside_delims = r'((?:(?:\\[^\n]|[^\\])*?\\\n)*?(?:\\.|[^\\])*?)'
88
+
89
+ tokens = {
90
+ 'root': [
91
+ (r'\s+', Whitespace),
92
+ (r'#.*$', Comment.Single),
93
+ (r'[0-9]+', Number.Integer),
94
+ (r'\$', Operator),
95
+ (r'[{};,!]', Punctuation),
96
+ (r'[dDFgGhHlnNpPqQxz=]', Keyword),
97
+ (r'([berRtTvwW:])([^;\n]*)', bygroups(Keyword, String.Single)),
98
+ (r'([aci])((?:.*?\\\n)*(?:.*?[^\\]$))', bygroups(Keyword, String.Double)),
99
+ (r'([qQ])([0-9]*)', bygroups(Keyword, Number.Integer)),
100
+ (r'(/)' + _inside_delims + r'(/)', bygroups(Punctuation, String.Regex, Punctuation)),
101
+ (r'(\\(.))' + _inside_delims + r'(\2)',
102
+ bygroups(Punctuation, None, String.Regex, Punctuation)),
103
+ (r'(y)(.)' + _inside_delims + r'(\2)' + _inside_delims + r'(\2)',
104
+ bygroups(Keyword, Punctuation, String.Single, Punctuation, String.Single, Punctuation)),
105
+ (r'(s)(.)' + _inside_delims + r'(\2)' + _inside_delims + r'(\2)((?:[gpeIiMm]|[0-9])*)',
106
+ bygroups(Keyword, Punctuation, String.Regex, Punctuation, String.Single, Punctuation,
107
+ Keyword))
108
+ ]
109
+ }
110
+
77
111
  class VimLexer(RegexLexer):
78
112
  """
79
113
  Lexer for VimL script files.
@@ -120,7 +154,7 @@ class VimLexer(RegexLexer):
120
154
  }
121
155
 
122
156
  def __init__(self, **options):
123
- from pygments.lexers._vim_builtins import command, option, auto
157
+ from pygments.lexers._vim_builtins import auto, command, option
124
158
  self._cmd = command
125
159
  self._opt = option
126
160
  self._aut = auto
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for various text formats.
6
6
 
7
- :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
8
8
  :license: BSD, see LICENSE for details.
9
9
  """
10
10
 
@@ -173,7 +173,7 @@ class HttpLexer(RegexLexer):
173
173
 
174
174
  tokens = {
175
175
  'root': [
176
- (r'(GET|POST|PUT|DELETE|HEAD|OPTIONS|TRACE|PATCH)( +)([^ ]+)( +)'
176
+ (r'(GET|POST|PUT|DELETE|HEAD|OPTIONS|TRACE|PATCH|CONNECT)( +)([^ ]+)( +)'
177
177
  r'(HTTP)(/)(1\.[01]|2(?:\.0)?|3)(\r?\n|\Z)',
178
178
  bygroups(Name.Function, Text, Name.Namespace, Text,
179
179
  Keyword.Reserved, Operator, Number, Text),
@@ -195,17 +195,18 @@ class HttpLexer(RegexLexer):
195
195
 
196
196
  def analyse_text(text):
197
197
  return text.startswith(('GET /', 'POST /', 'PUT /', 'DELETE /', 'HEAD /',
198
- 'OPTIONS /', 'TRACE /', 'PATCH /'))
198
+ 'OPTIONS /', 'TRACE /', 'PATCH /', 'CONNECT '))
199
199
 
200
200
 
201
201
  class TodotxtLexer(RegexLexer):
202
202
  """
203
- Lexer for `Todo.txt <http://todotxt.com/>`_ todo list format.
203
+ Lexer for Todo.txt todo list format.
204
204
 
205
205
  .. versionadded:: 2.0
206
206
  """
207
207
 
208
208
  name = 'Todotxt'
209
+ url = 'http://todotxt.com/'
209
210
  aliases = ['todotxt']
210
211
  # *.todotxt is not a standard extension for Todo.txt files; including it
211
212
  # makes testing easier, and also makes autodetecting file type easier.
@@ -300,7 +301,7 @@ class TodotxtLexer(RegexLexer):
300
301
 
301
302
  class NotmuchLexer(RegexLexer):
302
303
  """
303
- For `Notmuch <https://notmuchmail.org/>`_ email text format.
304
+ For Notmuch email text format.
304
305
 
305
306
  .. versionadded:: 2.5
306
307
 
@@ -312,6 +313,7 @@ class NotmuchLexer(RegexLexer):
312
313
  """
313
314
 
314
315
  name = 'Notmuch'
316
+ url = 'https://notmuchmail.org/'
315
317
  aliases = ['notmuch']
316
318
 
317
319
  def _highlight_code(self, match):