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
@@ -0,0 +1,128 @@
1
+ """
2
+ pygments.lexers.mips
3
+ ~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for MIPS assembly.
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, words
12
+ from pygments.token import Whitespace, Comment, String, Keyword, Name, Text
13
+
14
+ __all__ = ["MIPSLexer"]
15
+
16
+
17
+ class MIPSLexer(RegexLexer):
18
+ """
19
+ A MIPS Assembly Lexer.
20
+
21
+ Based on the Emacs major mode by hlissner:
22
+ https://github.com/hlissner/emacs-mips-mode
23
+ """
24
+
25
+ name = 'MIPS'
26
+ aliases = ['mips']
27
+ # TODO: add '*.s' and '*.asm', which will require designing an analyse_text
28
+ # method for this lexer and refactoring those from Gas and Nasm in order to
29
+ # have relatively reliable detection
30
+ filenames = ['*.mips', '*.MIPS']
31
+
32
+ keywords = [
33
+ # Arithmetic insturctions
34
+ "add", "sub", "subu", "addi", "subi", "addu", "addiu",
35
+ # Multiplication/division
36
+ "mul", "mult", "multu", "mulu", "madd", "maddu", "msub", "msubu", "div", "divu",
37
+ # Bitwise operations
38
+ "and", "or", "nor", "xor", "andi", "ori", "xori", "clo", "clz",
39
+ # Shifts
40
+ "sll", "srl", "sllv", "srlv", "sra", "srav",
41
+ # Comparisons
42
+ "slt", "sltu", "slti", "sltiu",
43
+ # Move data
44
+ "mfhi", "mthi", "mflo", "mtlo", "movn", "movz", "movf", "movt",
45
+ # Jump
46
+ "j", "jal", "jalr", "jr",
47
+ # branch
48
+ "bc1f", "bc1t", "beq", "bgez", "bgezal", "bgtz", "blez", "bltzal", "bltz", "bne",
49
+ # Load
50
+ "lui", "lb", "lbu", "lh", "lhu", "lw", "lwcl", "lwl", "lwr",
51
+ # Store
52
+ "sb", "sh", "sw", "swl", "swr", # coproc: swc1 sdc1
53
+ # Concurrent load/store
54
+ "ll", "sc",
55
+ # Trap handling
56
+ "teq", "teqi", "tne", "tneqi", "tge", "tgeu", "tgei", "tgeiu", "tlt", "tltu", "tlti",
57
+ "tltiu",
58
+ # Exception / Interrupt
59
+ "eret", "break", "bop", "syscall",
60
+ # --- Floats -----------------------------------------------------
61
+ # Arithmetic
62
+ "add.s", "add.d", "sub.s", "sub.d", "mul.s", "mul.d", "div.s", "div.d", "neg.d",
63
+ "neg.s",
64
+ # Comparison
65
+ "c.e.d", "c.e.s", "c.le.d", "c.le.s", "c.lt.s", "c.lt.d", # "c.gt.s", "c.gt.d",
66
+ "madd.s", "madd.d", "msub.s", "msub.d",
67
+ # Move Floats
68
+ "mov.d", "move.s", "movf.d", "movf.s", "movt.d", "movt.s", "movn.d", "movn.s",
69
+ "movnzd", "movz.s", "movz.d",
70
+ # Conversion
71
+ "cvt.d.s", "cvt.d.w", "cvt.s.d", "cvt.s.w", "cvt.w.d", "cvt.w.s", "trunc.w.d",
72
+ "trunc.w.s",
73
+ # Math
74
+ "abs.s", "abs.d", "sqrt.s", "sqrt.d", "ceil.w.d", "ceil.w.s", "floor.w.d",
75
+ "floor.w.s", "round.w.d", "round.w.s",
76
+ ]
77
+
78
+ pseudoinstructions = [
79
+ # Arithmetic & logical
80
+ "rem", "remu", "mulo", "mulou", "abs", "neg", "negu", "not", "rol", "ror",
81
+ # branches
82
+ "b", "beqz", "bge", "bgeu", "bgt", "bgtu", "ble", "bleu", "blt", "bltu", "bnez",
83
+ # loads
84
+ "la", "li", "ld", "ulh", "ulhu", "ulw",
85
+ # Store
86
+ "sd", "ush", "usw",
87
+ # move
88
+ "move", # coproc: "mfc1.d",
89
+ # comparisons
90
+ "sgt", "sgtu", "sge", "sgeu", "sle", "sleu", "sne", "seq",
91
+ # --- Floats -----------------------------------------------------
92
+ # load-store
93
+ "l.d", "l.s", "s.d", "s.s",
94
+ ]
95
+
96
+ directives = [
97
+ ".align", ".ascii", ".asciiz", ".byte", ".data", ".double", ".extern", ".float",
98
+ ".globl", ".half", ".kdata", ".ktext", ".space", ".text", ".word",
99
+ ]
100
+
101
+ deprecated = [
102
+ "beql", "bnel", "bgtzl", "bgezl", "bltzl", "blezl", "bltzall", "bgezall",
103
+ ]
104
+
105
+ tokens = {
106
+ 'root': [
107
+ (r'\s+', Whitespace),
108
+ (r'#.*', Comment),
109
+ (r'"', String, 'string'),
110
+ (r'-?[0-9]+?', Keyword.Constant),
111
+ (r'\w*:', Name.Function),
112
+ (words(deprecated, suffix=r'\b'), Keyword.Pseudo), # need warning face
113
+ (words(pseudoinstructions, suffix=r'\b'), Name.Variable),
114
+ (words(keywords, suffix=r'\b'), Keyword),
115
+ (r'[slm][ftwd]c[0-9]([.]d)?', Keyword),
116
+ (r'\$(f?[0-2][0-9]|f?3[01]|[ft]?[0-9]|[vk][01]|a[0-3]|s[0-7]|[gsf]p|ra|at|zero)',
117
+ Keyword.Type),
118
+ (words(directives, suffix=r'\b'), Name.Entity), # Preprocessor?
119
+ (r':|,|;|\{|\}|=>|@|\$|=', Name.Builtin),
120
+ (r'\w+', Text),
121
+ (r'.', Text),
122
+ ],
123
+ 'string': [
124
+ (r'\\.', String.Escape),
125
+ (r'"', String, '#pop'),
126
+ (r'[^\\"]+', String),
127
+ ],
128
+ }
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for ML family 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
 
@@ -55,7 +55,7 @@ class SMLLexer(RegexLexer):
55
55
  # A character constant is a sequence of the form #s, where s is a string
56
56
  # constant denoting a string of size one character. This setup just parses
57
57
  # the entire string as either a String.Double or a String.Char (depending
58
- # on the argument), even if the String.Char is an erronous
58
+ # on the argument), even if the String.Char is an erroneous
59
59
  # multiple-character string.
60
60
  def stringy(whatkind):
61
61
  return [
@@ -360,6 +360,7 @@ class OcamlLexer(RegexLexer):
360
360
  """
361
361
 
362
362
  name = 'OCaml'
363
+ url = 'https://ocaml.org/'
363
364
  aliases = ['ocaml']
364
365
  filenames = ['*.ml', '*.mli', '*.mll', '*.mly']
365
366
  mimetypes = ['text/x-ocaml']
@@ -446,7 +447,7 @@ class OcamlLexer(RegexLexer):
446
447
 
447
448
  class OpaLexer(RegexLexer):
448
449
  """
449
- Lexer for the Opa language (http://opalang.org).
450
+ Lexer for the Opa language.
450
451
 
451
452
  .. versionadded:: 1.5
452
453
  """
@@ -769,12 +770,13 @@ class OpaLexer(RegexLexer):
769
770
 
770
771
  class ReasonLexer(RegexLexer):
771
772
  """
772
- For the ReasonML language (https://reasonml.github.io/).
773
+ For the ReasonML language.
773
774
 
774
775
  .. versionadded:: 2.6
775
776
  """
776
777
 
777
778
  name = 'ReasonML'
779
+ url = 'https://reasonml.github.io/'
778
780
  aliases = ['reasonml', 'reason']
779
781
  filenames = ['*.re', '*.rei']
780
782
  mimetypes = ['text/x-reasonml']
@@ -861,11 +863,12 @@ class ReasonLexer(RegexLexer):
861
863
 
862
864
  class FStarLexer(RegexLexer):
863
865
  """
864
- For the F* language (https://www.fstar-lang.org/).
866
+ For the F* language.
865
867
  .. versionadded:: 2.7
866
868
  """
867
869
 
868
870
  name = 'FStar'
871
+ url = 'https://www.fstar-lang.org/'
869
872
  aliases = ['fstar']
870
873
  filenames = ['*.fst', '*.fsti']
871
874
  mimetypes = ['text/x-fstar']
@@ -908,7 +911,7 @@ class FStarLexer(RegexLexer):
908
911
  (r'\b([A-Z][\w\']*)(?=\s*\.)', Name.Namespace, 'dotted'),
909
912
  (r'\b([A-Z][\w\']*)', Name.Class),
910
913
  (r'\(\*(?![)])', Comment, 'comment'),
911
- (r'^\/\/.+$', Comment),
914
+ (r'\/\/.+$', Comment),
912
915
  (r'\b(%s)\b' % '|'.join(keywords), Keyword),
913
916
  (r'\b(%s)\b' % '|'.join(assume_keywords), Name.Exception),
914
917
  (r'\b(%s)\b' % '|'.join(decl_keywords), Keyword.Declaration),
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for modeling 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
 
@@ -22,11 +22,12 @@ __all__ = ['ModelicaLexer', 'BugsLexer', 'JagsLexer', 'StanLexer']
22
22
 
23
23
  class ModelicaLexer(RegexLexer):
24
24
  """
25
- For `Modelica <http://www.modelica.org/>`_ source code.
25
+ For Modelica source code.
26
26
 
27
27
  .. versionadded:: 1.1
28
28
  """
29
29
  name = 'Modelica'
30
+ url = 'http://www.modelica.org/'
30
31
  aliases = ['modelica']
31
32
  filenames = ['*.mo']
32
33
  mimetypes = ['text/x-modelica']
@@ -97,7 +98,7 @@ class ModelicaLexer(RegexLexer):
97
98
 
98
99
  class BugsLexer(RegexLexer):
99
100
  """
100
- Pygments Lexer for `OpenBugs <http://www.openbugs.net/>`_ and WinBugs
101
+ Pygments Lexer for OpenBugs and WinBugs
101
102
  models.
102
103
 
103
104
  .. versionadded:: 1.6
@@ -303,7 +304,6 @@ class StanLexer(RegexLexer):
303
304
  (r'(//|#).*$', Comment.Single),
304
305
  ],
305
306
  'root': [
306
- # Stan is more restrictive on strings than this regex
307
307
  (r'"[^"]*"', String),
308
308
  # Comments
309
309
  include('comments'),
@@ -325,7 +325,7 @@ class StanLexer(RegexLexer):
325
325
  (r'(%s)\b' % r'|'.join(_stan_builtins.TYPES), Keyword.Type),
326
326
  # < should be punctuation, but elsewhere I can't tell if it is in
327
327
  # a range constraint
328
- (r'(<)(\s*)(upper|lower)(\s*)(=)',
328
+ (r'(<)(\s*)(upper|lower|offset|multiplier)(\s*)(=)',
329
329
  bygroups(Operator, Whitespace, Keyword, Whitespace, Punctuation)),
330
330
  (r'(,)(\s*)(upper)(\s*)(=)',
331
331
  bygroups(Punctuation, Whitespace, Keyword, Whitespace, Punctuation)),
@@ -340,17 +340,21 @@ class StanLexer(RegexLexer):
340
340
  (r'(%s)\b' % r'|'.join(_stan_builtins.RESERVED), Keyword.Reserved),
341
341
  # user-defined functions
342
342
  (r'[A-Za-z]\w*(?=\s*\()]', Name.Function),
343
- # Regular variable names
344
- (r'[A-Za-z]\w*\b', Name),
343
+ # Imaginary Literals
344
+ (r'[0-9]+(\.[0-9]*)?([eE][+-]?[0-9]+)?i', Number.Float),
345
+ (r'\.[0-9]+([eE][+-]?[0-9]+)?i', Number.Float),
346
+ (r'[0-9]+i', Number.Float),
345
347
  # Real Literals
346
348
  (r'[0-9]+(\.[0-9]*)?([eE][+-]?[0-9]+)?', Number.Float),
347
349
  (r'\.[0-9]+([eE][+-]?[0-9]+)?', Number.Float),
348
350
  # Integer Literals
349
351
  (r'[0-9]+', Number.Integer),
352
+ # Regular variable names
353
+ (r'[A-Za-z]\w*\b', Name),
350
354
  # Assignment operators
351
355
  (r'<-|(?:\+|-|\.?/|\.?\*|=)?=|~', Operator),
352
356
  # Infix, prefix and postfix operators (and = )
353
- (r"\+|-|\.?\*|\.?/|\\|'|\^|!=?|<=?|>=?|\|\||&&|%|\?|:", Operator),
357
+ (r"\+|-|\.?\*|\.?/|\\|'|\.?\^|!=?|<=?|>=?|\|\||&&|%|\?|:|%/%|!", Operator),
354
358
  # Block delimiters
355
359
  (r'[{}]', Punctuation),
356
360
  # Distribution |
@@ -4,7 +4,7 @@
4
4
 
5
5
  Multi-Dialect Lexer for Modula-2.
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
 
@@ -21,7 +21,7 @@ __all__ = ['Modula2Lexer']
21
21
  # Multi-Dialect Modula-2 Lexer
22
22
  class Modula2Lexer(RegexLexer):
23
23
  """
24
- For `Modula-2 <http://www.modula2.org/>`_ source code.
24
+ For Modula-2 source code.
25
25
 
26
26
  The Modula-2 lexer supports several dialects. By default, it operates in
27
27
  fallback mode, recognising the *combined* literals, punctuation symbols
@@ -159,6 +159,7 @@ class Modula2Lexer(RegexLexer):
159
159
  Added multi-dialect support.
160
160
  """
161
161
  name = 'Modula-2'
162
+ url = 'http://www.modula2.org/'
162
163
  aliases = ['modula2', 'm2']
163
164
  filenames = ['*.def', '*.mod']
164
165
  mimetypes = ['text/x-modula2']
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for the Monte 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
 
@@ -77,11 +77,12 @@ _safeScope = [
77
77
 
78
78
  class MonteLexer(RegexLexer):
79
79
  """
80
- Lexer for the `Monte <https://monte.readthedocs.io/>`_ programming language.
80
+ Lexer for the Monte programming language.
81
81
 
82
82
  .. versionadded:: 2.2
83
83
  """
84
84
  name = 'Monte'
85
+ url = 'https://monte.readthedocs.io/'
85
86
  aliases = ['monte']
86
87
  filenames = ['*.mt']
87
88
 
@@ -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-2021 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for NCAR Command 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
 
@@ -4,13 +4,13 @@
4
4
 
5
5
  Lexer for the Nim language (formerly known as Nimrod).
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
 
13
- from pygments.lexer import RegexLexer, include, default
13
+ from pygments.lexer import RegexLexer, include, default, bygroups
14
14
  from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
15
15
  Number, Punctuation, Error
16
16
 
@@ -19,36 +19,38 @@ __all__ = ['NimrodLexer']
19
19
 
20
20
  class NimrodLexer(RegexLexer):
21
21
  """
22
- For `Nim <http://nim-lang.org/>`_ source code.
22
+ For Nim source code.
23
23
 
24
24
  .. versionadded:: 1.5
25
25
  """
26
26
 
27
27
  name = 'Nimrod'
28
+ url = 'http://nim-lang.org/'
28
29
  aliases = ['nimrod', 'nim']
29
30
  filenames = ['*.nim', '*.nimrod']
30
31
  mimetypes = ['text/x-nim']
31
32
 
32
- flags = re.MULTILINE | re.IGNORECASE | re.UNICODE
33
+ flags = re.MULTILINE | re.IGNORECASE
33
34
 
34
35
  def underscorize(words):
35
36
  newWords = []
36
- new = ""
37
+ new = []
37
38
  for word in words:
38
39
  for ch in word:
39
- new += (ch + "_?")
40
- newWords.append(new)
41
- new = ""
40
+ new.append(ch)
41
+ new.append("_?")
42
+ newWords.append(''.join(new))
43
+ new = []
42
44
  return "|".join(newWords)
43
45
 
44
46
  keywords = [
45
47
  'addr', 'and', 'as', 'asm', 'bind', 'block', 'break', 'case',
46
48
  'cast', 'concept', 'const', 'continue', 'converter', 'defer', 'discard',
47
49
  'distinct', 'div', 'do', 'elif', 'else', 'end', 'enum', 'except',
48
- 'export', 'finally', 'for', 'func', 'if', 'in', 'yield', 'interface',
49
- 'is', 'isnot', 'iterator', 'let', 'macro', 'method', 'mixin', 'mod',
50
- 'not', 'notin', 'object', 'of', 'or', 'out', 'proc', 'ptr', 'raise',
51
- 'ref', 'return', 'shl', 'shr', 'static', 'template', 'try',
50
+ 'export', 'finally', 'for', 'if', 'in', 'yield', 'interface',
51
+ 'is', 'isnot', 'iterator', 'let', 'mixin', 'mod',
52
+ 'not', 'notin', 'object', 'of', 'or', 'out', 'ptr', 'raise',
53
+ 'ref', 'return', 'shl', 'shr', 'static', 'try',
52
54
  'tuple', 'type', 'using', 'when', 'while', 'xor'
53
55
  ]
54
56
 
@@ -68,15 +70,27 @@ class NimrodLexer(RegexLexer):
68
70
 
69
71
  tokens = {
70
72
  'root': [
73
+ # Comments
74
+ (r'##\[', String.Doc, 'doccomment'),
71
75
  (r'##.*$', String.Doc),
76
+ (r'#\[', Comment.Multiline, 'comment'),
72
77
  (r'#.*$', Comment),
78
+
79
+ # Pragmas
80
+ (r'\{\.', String.Other, 'pragma'),
81
+
82
+ # Operators
73
83
  (r'[*=><+\-/@$~&%!?|\\\[\]]', Operator),
74
84
  (r'\.\.|\.|,|\[\.|\.\]|\{\.|\.\}|\(\.|\.\)|\{|\}|\(|\)|:|\^|`|;',
75
85
  Punctuation),
76
86
 
87
+ # Case statement branch
88
+ (r'(\n\s*)(of)(\s)', bygroups(Text.Whitespace, Keyword,
89
+ Text.Whitespace), 'casebranch'),
90
+
77
91
  # Strings
78
92
  (r'(?:[\w]+)"', String, 'rdqs'),
79
- (r'"""', String, 'tdqs'),
93
+ (r'"""', String.Double, 'tdqs'),
80
94
  ('"', String, 'dqs'),
81
95
 
82
96
  # Char
@@ -84,15 +98,18 @@ class NimrodLexer(RegexLexer):
84
98
 
85
99
  # Keywords
86
100
  (r'(%s)\b' % underscorize(opWords), Operator.Word),
87
- (r'(p_?r_?o_?c_?\s)(?![(\[\]])', Keyword, 'funcname'),
101
+ (r'(proc|func|method|macro|template)(\s)(?![(\[\]])',
102
+ bygroups(Keyword, Text.Whitespace), 'funcname'),
88
103
  (r'(%s)\b' % underscorize(keywords), Keyword),
89
- (r'(%s)\b' % underscorize(['from', 'import', 'include']),
104
+ (r'(%s)\b' % underscorize(['from', 'import', 'include', 'export']),
90
105
  Keyword.Namespace),
91
106
  (r'(v_?a_?r)\b', Keyword.Declaration),
92
- (r'(%s)\b' % underscorize(types), Keyword.Type),
107
+ (r'(%s)\b' % underscorize(types), Name.Builtin),
93
108
  (r'(%s)\b' % underscorize(keywordsPseudo), Keyword.Pseudo),
109
+
94
110
  # Identifiers
95
111
  (r'\b((?![_\d])\w)(((?!_)\w)|(_(?!_)\w))*', Name),
112
+
96
113
  # Numbers
97
114
  (r'[0-9][0-9_]*(?=([e.]|\'f(32|64)))',
98
115
  Number.Float, ('float-suffix', 'float-number')),
@@ -100,8 +117,9 @@ class NimrodLexer(RegexLexer):
100
117
  (r'0b[01][01_]*', Number.Bin, 'int-suffix'),
101
118
  (r'0o[0-7][0-7_]*', Number.Oct, 'int-suffix'),
102
119
  (r'[0-9][0-9_]*', Number.Integer, 'int-suffix'),
120
+
103
121
  # Whitespace
104
- (r'\s+', Text),
122
+ (r'\s+', Text.Whitespace),
105
123
  (r'.+$', Error),
106
124
  ],
107
125
  'chars': [
@@ -118,6 +136,18 @@ class NimrodLexer(RegexLexer):
118
136
  (r'\$', String)
119
137
  # newlines are an error (use "nl" state)
120
138
  ],
139
+ 'doccomment': [
140
+ (r'[^\]#]+', String.Doc),
141
+ (r'##\[', String.Doc, '#push'),
142
+ (r'\]##', String.Doc, '#pop'),
143
+ (r'[\]#]', String.Doc),
144
+ ],
145
+ 'comment': [
146
+ (r'[^\]#]+', Comment.Multiline),
147
+ (r'#\[', Comment.Multiline, '#push'),
148
+ (r'\]#', Comment.Multiline, '#pop'),
149
+ (r'[\]#]', Comment.Multiline),
150
+ ],
121
151
  'dqs': [
122
152
  (r'\\([\\abcefnrtvl"\']|\n|x[a-f0-9]{2}|[0-9]{1,3})',
123
153
  String.Escape),
@@ -130,9 +160,9 @@ class NimrodLexer(RegexLexer):
130
160
  include('strings')
131
161
  ],
132
162
  'tdqs': [
133
- (r'"""(?!")', String, '#pop'),
163
+ (r'"""', String.Double, '#pop'),
134
164
  include('strings'),
135
- include('nl')
165
+ (r'\n', String.Double)
136
166
  ],
137
167
  'funcname': [
138
168
  (r'((?![\d_])\w)(((?!_)\w)|(_(?!_)\w))*', Name.Function, '#pop'),
@@ -142,7 +172,7 @@ class NimrodLexer(RegexLexer):
142
172
  (r'\n', String)
143
173
  ],
144
174
  'float-number': [
145
- (r'\.(?!\.)[0-9_]*', Number.Float),
175
+ (r'\.(?!\.)[0-9_]*[f]*', Number.Float),
146
176
  (r'e[+-]?[0-9][0-9_]*', Number.Float),
147
177
  default('#pop')
148
178
  ],
@@ -155,4 +185,16 @@ class NimrodLexer(RegexLexer):
155
185
  (r'\'i(8|16)', Number.Integer),
156
186
  default('#pop')
157
187
  ],
188
+ 'casebranch': [
189
+ (r',', Punctuation),
190
+ (r'[\n ]+', Text.Whitespace),
191
+ (r':', Operator, '#pop'),
192
+ (r'\w+|[^:]', Name.Label),
193
+ ],
194
+ 'pragma': [
195
+ (r'[:,]', Text),
196
+ (r'[\n ]+', Text.Whitespace),
197
+ (r'\.\}', String.Other, '#pop'),
198
+ (r'\w+|\W+|[^.}]', String.Other),
199
+ ],
158
200
  }
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexer for the Nit 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
 
@@ -17,12 +17,13 @@ __all__ = ['NitLexer']
17
17
 
18
18
  class NitLexer(RegexLexer):
19
19
  """
20
- For `nit <http://nitlanguage.org>`_ source.
20
+ For nit source.
21
21
 
22
22
  .. versionadded:: 2.0
23
23
  """
24
24
 
25
25
  name = 'Nit'
26
+ url = 'http://nitlanguage.org'
26
27
  aliases = ['nit']
27
28
  filenames = ['*.nit']
28
29
  tokens = {
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for the NixOS Nix 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
 
@@ -19,18 +19,17 @@ __all__ = ['NixLexer']
19
19
 
20
20
  class NixLexer(RegexLexer):
21
21
  """
22
- For the `Nix language <http://nixos.org/nix/>`_.
22
+ For the Nix language.
23
23
 
24
24
  .. versionadded:: 2.0
25
25
  """
26
26
 
27
27
  name = 'Nix'
28
+ url = 'http://nixos.org/nix/'
28
29
  aliases = ['nixos', 'nix']
29
30
  filenames = ['*.nix']
30
31
  mimetypes = ['text/x-nix']
31
32
 
32
- flags = re.MULTILINE | re.UNICODE
33
-
34
33
  keywords = ['rec', 'with', 'let', 'in', 'inherit', 'assert', 'if',
35
34
  'else', 'then', '...']
36
35
  builtins = ['import', 'abort', 'baseNameOf', 'dirOf', 'isNull', 'builtins',
@@ -103,7 +102,8 @@ class NixLexer(RegexLexer):
103
102
  (r"''\t", String.Escape),
104
103
  (r"''", String.Single, '#pop'),
105
104
  (r'\$\{', String.Interpol, 'antiquote'),
106
- (r"[^']", String.Single),
105
+ (r"['$]", String.Single),
106
+ (r"[^'$]+", String.Single),
107
107
  ],
108
108
  'doublequote': [
109
109
  (r'\\', String.Escape),
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for Oberon family 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
 
@@ -19,7 +19,7 @@ __all__ = ['ComponentPascalLexer']
19
19
 
20
20
  class ComponentPascalLexer(RegexLexer):
21
21
  """
22
- For `Component Pascal <http://www.oberon.ch/pdf/CP-Lang.pdf>`_ source code.
22
+ For Component Pascal source code.
23
23
 
24
24
  .. versionadded:: 2.1
25
25
  """
@@ -4,7 +4,7 @@
4
4
 
5
5
  Lexers for Objective-C family 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
 
@@ -175,12 +175,12 @@ def objective(baselexer):
175
175
  return 0.8
176
176
  return 0
177
177
 
178
- def get_tokens_unprocessed(self, text):
178
+ def get_tokens_unprocessed(self, text, stack=('root',)):
179
179
  from pygments.lexers._cocoa_builtins import COCOA_INTERFACES, \
180
180
  COCOA_PROTOCOLS, COCOA_PRIMITIVES
181
181
 
182
182
  for index, token, value in \
183
- baselexer.get_tokens_unprocessed(self, text):
183
+ baselexer.get_tokens_unprocessed(self, text, stack):
184
184
  if token is Name or token is Name.Class:
185
185
  if value in COCOA_INTERFACES or value in COCOA_PROTOCOLS \
186
186
  or value in COCOA_PRIMITIVES:
@@ -197,6 +197,7 @@ class ObjectiveCLexer(objective(CLexer)):
197
197
  """
198
198
 
199
199
  name = 'Objective-C'
200
+ url = 'https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html'
200
201
  aliases = ['objective-c', 'objectivec', 'obj-c', 'objc']
201
202
  filenames = ['*.m', '*.h']
202
203
  mimetypes = ['text/x-objective-c']
@@ -281,11 +282,12 @@ class LogosLexer(ObjectiveCppLexer):
281
282
 
282
283
  class SwiftLexer(RegexLexer):
283
284
  """
284
- For `Swift <https://developer.apple.com/swift/>`_ source.
285
+ For Swift source.
285
286
 
286
287
  .. versionadded:: 2.0
287
288
  """
288
289
  name = 'Swift'
290
+ url = 'https://www.swift.org/'
289
291
  filenames = ['*.swift']
290
292
  aliases = ['swift']
291
293
  mimetypes = ['text/x-swift']