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,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']