pygments.rb 2.3.1 → 2.4.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 (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
@@ -0,0 +1,407 @@
1
+ """
2
+ pygments.lexers.wgsl
3
+ ~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for the WebGPU Shading Language.
6
+
7
+ :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ from pygments.lexer import RegexLexer, include, bygroups, words, default
12
+ from pygments.token import Comment, Operator, Keyword, Name, \
13
+ Number, Punctuation, Whitespace
14
+ from pygments import unistring as uni
15
+
16
+ __all__ = ['WgslLexer']
17
+
18
+ LF = '\\u000a'
19
+ VT = '\\u000b'
20
+ FF = '\\u000c'
21
+ CR = '\\u000d'
22
+ NextLine = '\\u0085'
23
+ LineSep = '\\u2028'
24
+ ParaSep = '\\u2029'
25
+ LineEndCodePoints = [LF,VT,FF,CR,NextLine,LineSep,ParaSep]
26
+ NotLineEndRE = '[^' + "".join(LineEndCodePoints) + ']'
27
+ LineEndRE = '[' + "".join(LineEndCodePoints) + ']'
28
+
29
+ # https://www.w3.org/TR/WGSL/#syntax-ident_pattern_token
30
+ ident_pattern_token = '([{}][{}]+)|[{}]'.format(uni.xid_start,uni.xid_continue,uni.xid_start)
31
+
32
+
33
+ class WgslLexer(RegexLexer):
34
+ """
35
+ Lexer for the WebGPU Shading Language.
36
+
37
+ .. versionadded:: 2.15
38
+ """
39
+ name = 'WebGPU Shading Language'
40
+ url = 'https://www.w3.org/TR/WGSL/'
41
+ aliases = ['wgsl']
42
+ filenames = ['*.wgsl']
43
+ mimetypes = ['text/wgsl']
44
+
45
+ # https://www.w3.org/TR/WGSL/#var-and-value
46
+ keyword_decl = (words('var let const override'.split(),suffix=r'\b'), Keyword.Declaration)
47
+ # https://www.w3.org/TR/WGSL/#keyword-summary
48
+ keywords = (words("""
49
+ alias
50
+ break
51
+ case
52
+ const_assert
53
+ continue
54
+ continuing
55
+ default
56
+ diagnostic
57
+ discard
58
+ else
59
+ enable
60
+ false
61
+ fn
62
+ for
63
+ if
64
+ loop
65
+ requires
66
+ return
67
+ struct
68
+ switch
69
+ true
70
+ while
71
+ """.split(), suffix=r'\b'), Keyword)
72
+
73
+ # https://www.w3.org/TR/WGSL/#reserved-words
74
+ keyword_reserved = (words("""
75
+ NULL
76
+ Self
77
+ abstract
78
+ active
79
+ alignas
80
+ alignof
81
+ as
82
+ asm
83
+ asm_fragment
84
+ async
85
+ attribute
86
+ auto
87
+ await
88
+ become
89
+ binding_array
90
+ cast
91
+ catch
92
+ class
93
+ co_await
94
+ co_return
95
+ co_yield
96
+ coherent
97
+ column_major
98
+ common
99
+ compile
100
+ compile_fragment
101
+ concept
102
+ const_cast
103
+ consteval
104
+ constexpr
105
+ constinit
106
+ crate
107
+ debugger
108
+ decltype
109
+ delete
110
+ demote
111
+ demote_to_helper
112
+ do
113
+ dynamic_cast
114
+ enum
115
+ explicit
116
+ export
117
+ extends
118
+ extern
119
+ external
120
+ fallthrough
121
+ filter
122
+ final
123
+ finally
124
+ friend
125
+ from
126
+ fxgroup
127
+ get
128
+ goto
129
+ groupshared
130
+ highp
131
+ impl
132
+ implements
133
+ import
134
+ inline
135
+ instanceof
136
+ interface
137
+ layout
138
+ lowp
139
+ macro
140
+ macro_rules
141
+ match
142
+ mediump
143
+ meta
144
+ mod
145
+ module
146
+ move
147
+ mut
148
+ mutable
149
+ namespace
150
+ new
151
+ nil
152
+ noexcept
153
+ noinline
154
+ nointerpolation
155
+ noperspective
156
+ null
157
+ nullptr
158
+ of
159
+ operator
160
+ package
161
+ packoffset
162
+ partition
163
+ pass
164
+ patch
165
+ pixelfragment
166
+ precise
167
+ precision
168
+ premerge
169
+ priv
170
+ protected
171
+ pub
172
+ public
173
+ readonly
174
+ ref
175
+ regardless
176
+ register
177
+ reinterpret_cast
178
+ require
179
+ resource
180
+ restrict
181
+ self
182
+ set
183
+ shared
184
+ sizeof
185
+ smooth
186
+ snorm
187
+ static
188
+ static_assert
189
+ static_cast
190
+ std
191
+ subroutine
192
+ super
193
+ target
194
+ template
195
+ this
196
+ thread_local
197
+ throw
198
+ trait
199
+ try
200
+ type
201
+ typedef
202
+ typeid
203
+ typename
204
+ typeof
205
+ union
206
+ unless
207
+ unorm
208
+ unsafe
209
+ unsized
210
+ use
211
+ using
212
+ varying
213
+ virtual
214
+ volatile
215
+ wgsl
216
+ where
217
+ with
218
+ writeonly
219
+ yield
220
+ """.split(), suffix=r'\b'), Keyword.Reserved)
221
+
222
+ # https://www.w3.org/TR/WGSL/#predeclared-enumerants
223
+ predeclared_enums = (words("""
224
+ read write read_write
225
+ function private workgroup uniform storage
226
+ perspective linear flat
227
+ center centroid sample
228
+ vertex_index instance_index position front_facing frag_depth
229
+ local_invocation_id local_invocation_index
230
+ global_invocation_id workgroup_id num_workgroups
231
+ sample_index sample_mask
232
+ rgba8unorm
233
+ rgba8snorm
234
+ rgba8uint
235
+ rgba8sint
236
+ rgba16uint
237
+ rgba16sint
238
+ rgba16float
239
+ r32uint
240
+ r32sint
241
+ r32float
242
+ rg32uint
243
+ rg32sint
244
+ rg32float
245
+ rgba32uint
246
+ rgba32sint
247
+ rgba32float
248
+ bgra8unorm
249
+ """.split(), suffix=r'\b'), Name.Builtin)
250
+
251
+ # https://www.w3.org/TR/WGSL/#predeclared-types
252
+ predeclared_types = (words("""
253
+ bool
254
+ f16
255
+ f32
256
+ i32
257
+ sampler sampler_comparison
258
+ texture_depth_2d
259
+ texture_depth_2d_array
260
+ texture_depth_cube
261
+ texture_depth_cube_array
262
+ texture_depth_multisampled_2d
263
+ texture_external
264
+ texture_external
265
+ u32
266
+ """.split(), suffix=r'\b'), Name.Builtin)
267
+
268
+ # https://www.w3.org/TR/WGSL/#predeclared-types
269
+ predeclared_type_generators = (words("""
270
+ array
271
+ atomic
272
+ mat2x2
273
+ mat2x3
274
+ mat2x4
275
+ mat3x2
276
+ mat3x3
277
+ mat3x4
278
+ mat4x2
279
+ mat4x3
280
+ mat4x4
281
+ ptr
282
+ texture_1d
283
+ texture_2d
284
+ texture_2d_array
285
+ texture_3d
286
+ texture_cube
287
+ texture_cube_array
288
+ texture_multisampled_2d
289
+ texture_storage_1d
290
+ texture_storage_2d
291
+ texture_storage_2d_array
292
+ texture_storage_3d
293
+ vec2
294
+ vec3
295
+ vec4
296
+ """.split(), suffix=r'\b'), Name.Builtin)
297
+
298
+ # Predeclared type aliases for vectors
299
+ # https://www.w3.org/TR/WGSL/#vector-types
300
+ predeclared_type_alias_vectors = (words("""
301
+ vec2i vec3i vec4i
302
+ vec2u vec3u vec4u
303
+ vec2f vec3f vec4f
304
+ vec2h vec3h vec4h
305
+ """.split(), suffix=r'\b'), Name.Builtin)
306
+
307
+ # Predeclared type aliases for matrices
308
+ # https://www.w3.org/TR/WGSL/#matrix-types
309
+ predeclared_type_alias_matrices = (words("""
310
+ mat2x2f mat2x3f mat2x4f
311
+ mat3x2f mat3x3f mat3x4f
312
+ mat4x2f mat4x3f mat4x4f
313
+ mat2x2h mat2x3h mat2x4h
314
+ mat3x2h mat3x3h mat3x4h
315
+ mat4x2h mat4x3h mat4x4h
316
+ """.split(), suffix=r'\b'), Name.Builtin)
317
+
318
+ tokens = {
319
+ 'blankspace': [
320
+ # https://www.w3.org/TR/WGSL/#blankspace
321
+ (r'[\u0020\u0009\u000a\u000b\u000c\u000d\u0085\u200e\u200f\u2028\u2029]+', Whitespace),
322
+ ],
323
+ 'comments': [
324
+ # Line ending comments
325
+ # Match up CR/LF pair first.
326
+ (r'//{}*{}{}'.format(NotLineEndRE,CR,LF), Comment.Single),
327
+ (r'//{}*{}'.format(NotLineEndRE,LineEndRE), Comment.Single),
328
+ (r'/\*', Comment.Multiline, 'block_comment'),
329
+ ],
330
+ 'attribute': [
331
+ include('blankspace'),
332
+ include('comments'),
333
+ (ident_pattern_token, Name.Decorator,'#pop'),
334
+ default('#pop'),
335
+ ],
336
+ 'root': [
337
+ include('blankspace'),
338
+ include('comments'),
339
+
340
+ # Attributes.
341
+ # https://www.w3.org/TR/WGSL/#attributes
342
+ # Mark the '@' and the attribute name as a decorator.
343
+ (r'@', Name.Decorator, 'attribute'),
344
+
345
+ # Keywords
346
+ (r'(true|false)\b', Keyword.Constant),
347
+ keyword_decl,
348
+ keywords,
349
+ keyword_reserved,
350
+
351
+ # Predeclared
352
+ predeclared_enums,
353
+ predeclared_types,
354
+ predeclared_type_generators,
355
+ predeclared_type_alias_vectors,
356
+ predeclared_type_alias_matrices,
357
+
358
+ # Decimal float literals
359
+ # https://www.w3.org/TR/WGSL/#syntax-decimal_float_literal
360
+ # 0, with type-specifying suffix.
361
+ (r'0[fh]', Number.Float),
362
+ # Other decimal integer, with type-specifying suffix.
363
+ (r'[1-9][0-9]*[fh]', Number.Float),
364
+ # Has decimal point, at least one digit after decimal.
365
+ (r'[0-9]*\.[0-9]+([eE][+-]?[0-9]+)?[fh]?', Number.Float),
366
+ # Has decimal point, at least one digit before decimal.
367
+ (r'[0-9]+\.[0-9]*([eE][+-]?[0-9]+)?[fh]?', Number.Float),
368
+ # Has at least one digit, and has an exponent.
369
+ (r'[0-9]+[eE][+-]?[0-9]+[fh]?', Number.Float),
370
+
371
+ # Hex float literals
372
+ # https://www.w3.org/TR/WGSL/#syntax-hex_float_literal
373
+ (r'0[xX][0-9a-fA-F]*\.[0-9a-fA-F]+([pP][+-]?[0-9]+[fh]?)?', Number.Float),
374
+ (r'0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*([pP][+-]?[0-9]+[fh]?)?', Number.Float),
375
+ (r'0[xX][0-9a-fA-F]+[pP][+-]?[0-9]+[fh]?', Number.Float),
376
+
377
+ # Hexadecimal integer literals
378
+ # https://www.w3.org/TR/WGSL/#syntax-hex_int_literal
379
+ (r'0[xX][0-9a-fA-F]+[iu]?', Number.Hex),
380
+ # Decimal integer literals
381
+ # https://www.w3.org/TR/WGSL/#syntax-decimal_int_literal
382
+ # We need two rules here because 01 is not valid.
383
+ (r'[1-9][0-9]*[iu]?', Number.Integer),
384
+ (r'0[iu]?', Number.Integer), # Must match last.
385
+
386
+ # Operators and Punctuation
387
+ (r'[{}()\[\],\.;:]', Punctuation),
388
+ (r'->', Punctuation), # Return-type arrow
389
+ (r'[+\-*/%&|<>^!~=]', Operator),
390
+
391
+ # TODO: Treat context-depedendent names specially
392
+ # https://www.w3.org/TR/WGSL/#context-dependent-name
393
+
394
+ # Identifiers
395
+ (ident_pattern_token, Name),
396
+
397
+ # TODO: templates start and end tokens.
398
+ # https://www.w3.org/TR/WGSL/#template-lists-sec
399
+ ],
400
+ 'block_comment': [
401
+ # https://www.w3.org/TR/WGSL/#block-comment
402
+ (r'[^*/]+', Comment.Multiline),
403
+ (r'/\*', Comment.Multiline, '#push'),
404
+ (r'\*/', Comment.Multiline, '#pop'),
405
+ (r'[*/]', Comment.Multiline),
406
+ ],
407
+ }
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the Whiley language.
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
 
@@ -22,6 +22,7 @@ class WhileyLexer(RegexLexer):
22
22
  .. versionadded:: 2.2
23
23
  """
24
24
  name = 'Whiley'
25
+ url = 'http://whiley.org/'
25
26
  filenames = ['*.whiley']
26
27
  aliases = ['whiley']
27
28
  mimetypes = ['text/x-whiley']
@@ -0,0 +1,120 @@
1
+ """
2
+ pygments.lexers.wowtoc
3
+ ~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for World of Warcraft TOC files
6
+
7
+ TOC files describe game addons.
8
+
9
+ :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
10
+ :license: BSD, see LICENSE for details.
11
+ """
12
+
13
+ import re
14
+
15
+ from pygments.lexer import RegexLexer, bygroups
16
+ from pygments.token import Comment, Name, Text, Punctuation, String, Keyword
17
+
18
+ __all__ = ["WoWTocLexer"]
19
+
20
+ def _create_tag_line_pattern(inner_pattern, ignore_case=False):
21
+ return ((r"(?i)" if ignore_case else r"")
22
+ + r"^(##)( *)" # groups 1, 2
23
+ + inner_pattern # group 3
24
+ + r"( *)(:)( *)(.*?)( *)$") # groups 4, 5, 6, 7, 8
25
+
26
+
27
+ def _create_tag_line_token(inner_pattern, inner_token, ignore_case=False):
28
+ # this function template-izes the tag line for a specific type of tag, which will
29
+ # have a different pattern and different token. otherwise, everything about a tag
30
+ # line is the same
31
+ return (
32
+ _create_tag_line_pattern(inner_pattern, ignore_case=ignore_case),
33
+ bygroups(
34
+ Keyword.Declaration,
35
+ Text.Whitespace,
36
+ inner_token,
37
+ Text.Whitespace,
38
+ Punctuation,
39
+ Text.Whitespace,
40
+ String,
41
+ Text.Whitespace,
42
+ ),
43
+ )
44
+
45
+
46
+ class WoWTocLexer(RegexLexer):
47
+ """
48
+ Lexer for World of Warcraft TOC files.
49
+
50
+ .. versionadded:: 2.14
51
+ """
52
+
53
+ name = "World of Warcraft TOC"
54
+ aliases = ["wowtoc"]
55
+ filenames = ["*.toc"]
56
+
57
+ tokens = {
58
+ "root": [
59
+ # official localized tags, Notes and Title
60
+ # (normal part is insensitive, locale part is sensitive)
61
+ _create_tag_line_token(
62
+ r"((?:[nN][oO][tT][eE][sS]|[tT][iI][tT][lL][eE])-(?:ptBR|zhCN|"
63
+ r"enCN|frFR|deDE|itIT|esMX|ptPT|koKR|ruRU|esES|zhTW|enTW|enGB|enUS))",
64
+ Name.Builtin,
65
+ ),
66
+ # other official tags
67
+ _create_tag_line_token(
68
+ r"(Interface|Title|Notes|RequiredDeps|Dep[^: ]*|OptionalDeps|"
69
+ r"LoadOnDemand|LoadWith|LoadManagers|SavedVariablesPerCharacter|"
70
+ r"SavedVariables|DefaultState|Secure|Author|Version)",
71
+ Name.Builtin,
72
+ ignore_case=True,
73
+ ),
74
+ # user-defined tags
75
+ _create_tag_line_token(
76
+ r"(X-[^: ]*)",
77
+ Name.Variable,
78
+ ignore_case=True,
79
+ ),
80
+ # non-conforming tags, but still valid
81
+ _create_tag_line_token(
82
+ r"([^: ]*)",
83
+ Name.Other,
84
+ ),
85
+
86
+ # Comments
87
+ (r"^#.*$", Comment),
88
+
89
+ # Addon Files
90
+ (r"^.+$", Name),
91
+ ]
92
+ }
93
+
94
+ def analyse_text(text):
95
+ # at time of writing, this file suffix conflict's with one of Tex's in
96
+ # markup.py. Tex's anaylse_text() appears to be definitive (binary) and does not
97
+ # share any likeness to WoW TOCs, which means we wont have to compete with it by
98
+ # abitrary increments in score.
99
+
100
+ result = 0
101
+
102
+ # while not required, an almost certain marker of WoW TOC's is the interface tag
103
+ # if this tag is omitted, players will need to opt-in to loading the addon with
104
+ # an options change ("Load out of date addons"). the value is also standardized:
105
+ # `<major><minor><patch>`, with minor and patch being two-digit zero-padded.
106
+ interface_pattern = _create_tag_line_pattern(r"(Interface)", ignore_case=True)
107
+ match = re.search(interface_pattern, text)
108
+ if match and re.match(r"(\d+)(\d{2})(\d{2})", match.group(7)):
109
+ result += 0.8
110
+
111
+ casefolded = text.casefold()
112
+ # Lua file listing is good marker too, but probably conflicts with many other
113
+ # lexers
114
+ if ".lua" in casefolded:
115
+ result += 0.1
116
+ # ditto for XML files, but they're less used in WoW TOCs
117
+ if ".xml" in casefolded:
118
+ result += 0.05
119
+
120
+ return result
@@ -0,0 +1,99 @@
1
+ """
2
+ pygments.lexers.wren
3
+ ~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for Wren.
6
+
7
+ :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.lexer import include, RegexLexer, words
14
+ from pygments.token import Whitespace, Punctuation, Keyword, Name, Comment, \
15
+ Operator, Number, String, Error
16
+
17
+ __all__ = ['WrenLexer']
18
+
19
+ class WrenLexer(RegexLexer):
20
+ """
21
+ For Wren source code, version 0.4.0.
22
+
23
+ .. versionadded:: 2.14.0
24
+ """
25
+ name = 'Wren'
26
+ url = 'https://wren.io'
27
+ aliases = ['wren']
28
+ filenames = ['*.wren']
29
+
30
+ flags = re.MULTILINE | re.DOTALL
31
+
32
+ tokens = {
33
+ 'root': [
34
+ # Whitespace.
35
+ (r'\s+', Whitespace),
36
+ (r'[,\\\[\]{}]', Punctuation),
37
+
38
+ # Really 'root', not '#push': in 'interpolation',
39
+ # parentheses inside the interpolation expression are
40
+ # Punctuation, not String.Interpol.
41
+ (r'\(', Punctuation, 'root'),
42
+ (r'\)', Punctuation, '#pop'),
43
+
44
+ # Keywords.
45
+ (words((
46
+ 'as', 'break', 'class', 'construct', 'continue', 'else',
47
+ 'for', 'foreign', 'if', 'import', 'return', 'static', 'super',
48
+ 'this', 'var', 'while'), prefix = r'(?<!\.)',
49
+ suffix = r'\b'), Keyword),
50
+
51
+ (words((
52
+ 'true', 'false', 'null'), prefix = r'(?<!\.)',
53
+ suffix = r'\b'), Keyword.Constant),
54
+
55
+ (words((
56
+ 'in', 'is'), prefix = r'(?<!\.)',
57
+ suffix = r'\b'), Operator.Word),
58
+
59
+ # Comments.
60
+ (r'/\*', Comment.Multiline, 'comment'), # Multiline, can nest.
61
+ (r'//.*?$', Comment.Single), # Single line.
62
+ (r'#.*?(\(.*?\))?$', Comment.Special), # Attribute or shebang.
63
+
64
+ # Names and operators.
65
+ (r'[!%&*+\-./:<=>?\\^|~]+', Operator),
66
+ (r'[a-z][a-zA-Z_0-9]*', Name),
67
+ (r'[A-Z][a-zA-Z_0-9]*', Name.Class),
68
+ (r'__[a-zA-Z_0-9]*', Name.Variable.Class),
69
+ (r'_[a-zA-Z_0-9]*', Name.Variable.Instance),
70
+
71
+ # Numbers.
72
+ (r'0x[0-9a-fA-F]+', Number.Hex),
73
+ (r'\d+(\.\d+)?([eE][-+]?\d+)?', Number.Float),
74
+
75
+ # Strings.
76
+ (r'""".*?"""', String), # Raw string
77
+ (r'"', String, 'string'), # Other string
78
+ ],
79
+ 'comment': [
80
+ (r'/\*', Comment.Multiline, '#push'),
81
+ (r'\*/', Comment.Multiline, '#pop'),
82
+ (r'([^*/]|\*(?!/)|/(?!\*))+', Comment.Multiline),
83
+ ],
84
+ 'string': [
85
+ (r'"', String, '#pop'),
86
+ (r'\\[\\%"0abefnrtv]', String.Escape), # Escape.
87
+ (r'\\x[a-fA-F0-9]{2}', String.Escape), # Byte escape.
88
+ (r'\\u[a-fA-F0-9]{4}', String.Escape), # Unicode escape.
89
+ (r'\\U[a-fA-F0-9]{8}', String.Escape), # Long Unicode escape.
90
+
91
+ (r'%\(', String.Interpol, 'interpolation'),
92
+ (r'[^\\"%]+', String), # All remaining characters.
93
+ ],
94
+ 'interpolation': [
95
+ # redefine closing paren to be String.Interpol
96
+ (r'\)', String.Interpol, '#pop'),
97
+ include('root'),
98
+ ],
99
+ }
@@ -4,26 +4,25 @@
4
4
 
5
5
  Lexers for the X10 programming language.
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
- import re
12
-
13
11
  from pygments.lexer import RegexLexer
14
- from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
15
- Number, Punctuation, Error
12
+ from pygments.token import Text, Comment, Keyword, String
16
13
 
17
14
  __all__ = ['X10Lexer']
18
15
 
16
+
19
17
  class X10Lexer(RegexLexer):
20
18
  """
21
19
  For the X10 language.
22
20
 
23
- .. versionadded:: 0.1
21
+ .. versionadded:: 2.2
24
22
  """
25
23
 
26
24
  name = 'X10'
25
+ url = 'http://x10-lang.org/'
27
26
  aliases = ['x10', 'xten']
28
27
  filenames = ['*.x10']
29
28
  mimetypes = ['text/x-x10']
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for Xorg configs.
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
 
@@ -15,8 +15,9 @@ __all__ = ['XorgLexer']
15
15
 
16
16
 
17
17
  class XorgLexer(RegexLexer):
18
- """Lexer for xorg.conf file."""
18
+ """Lexer for xorg.conf files."""
19
19
  name = 'Xorg'
20
+ url = 'https://www.x.org/wiki/'
20
21
  aliases = ['xorg.conf']
21
22
  filenames = ['xorg.conf']
22
23
  mimetypes = []