pygments.rb 1.2.0 → 2.1.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 (388) hide show
  1. checksums.yaml +5 -5
  2. data/.github/dependabot.yml +13 -0
  3. data/.github/workflows/ci.yml +40 -0
  4. data/.github/workflows/release.yml +24 -0
  5. data/.gitignore +5 -5
  6. data/.rubocop.yml +18 -0
  7. data/CHANGELOG.adoc +132 -0
  8. data/Gemfile +3 -1
  9. data/LICENSE +1 -1
  10. data/README.adoc +160 -0
  11. data/Rakefile +12 -21
  12. data/bench.rb +14 -8
  13. data/{cache-lexers.rb → cache_lexers.rb} +3 -2
  14. data/lexers +0 -0
  15. data/lib/pygments.rb +10 -11
  16. data/lib/pygments/lexer.rb +6 -6
  17. data/lib/pygments/mentos.py +23 -110
  18. data/lib/pygments/popen.rb +196 -275
  19. data/lib/pygments/version.rb +2 -2
  20. data/pygments.rb.gemspec +12 -10
  21. data/test/test_pygments.rb +50 -110
  22. data/vendor/pygments-main/{AUTHORS → Pygments-2.8.0.dist-info/AUTHORS} +26 -3
  23. data/vendor/pygments-main/Pygments-2.8.0.dist-info/INSTALLER +1 -0
  24. data/vendor/pygments-main/{LICENSE → Pygments-2.8.0.dist-info/LICENSE} +1 -1
  25. data/vendor/pygments-main/Pygments-2.8.0.dist-info/METADATA +48 -0
  26. data/vendor/pygments-main/Pygments-2.8.0.dist-info/RECORD +494 -0
  27. data/vendor/pygments-main/Pygments-2.8.0.dist-info/REQUESTED +0 -0
  28. data/vendor/pygments-main/Pygments-2.8.0.dist-info/WHEEL +5 -0
  29. data/vendor/pygments-main/Pygments-2.8.0.dist-info/entry_points.txt +3 -0
  30. data/vendor/pygments-main/Pygments-2.8.0.dist-info/top_level.txt +1 -0
  31. data/vendor/pygments-main/bin/pygmentize +8 -0
  32. data/vendor/pygments-main/pygments/__init__.py +6 -12
  33. data/vendor/pygments-main/pygments/__main__.py +17 -0
  34. data/vendor/pygments-main/pygments/cmdline.py +213 -184
  35. data/vendor/pygments-main/pygments/console.py +6 -10
  36. data/vendor/pygments-main/pygments/filter.py +4 -7
  37. data/vendor/pygments-main/pygments/filters/__init__.py +609 -22
  38. data/vendor/pygments-main/pygments/formatter.py +4 -5
  39. data/vendor/pygments-main/pygments/formatters/__init__.py +10 -10
  40. data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -4
  41. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -2
  42. data/vendor/pygments-main/pygments/formatters/html.py +242 -139
  43. data/vendor/pygments-main/pygments/formatters/img.py +91 -50
  44. data/vendor/pygments-main/pygments/formatters/irc.py +39 -40
  45. data/vendor/pygments-main/pygments/formatters/latex.py +62 -33
  46. data/vendor/pygments-main/pygments/formatters/other.py +18 -17
  47. data/vendor/pygments-main/pygments/formatters/rtf.py +29 -30
  48. data/vendor/pygments-main/pygments/formatters/svg.py +40 -5
  49. data/vendor/pygments-main/pygments/formatters/terminal.py +25 -32
  50. data/vendor/pygments-main/pygments/formatters/terminal256.py +45 -14
  51. data/vendor/pygments-main/pygments/lexer.py +47 -44
  52. data/vendor/pygments-main/pygments/lexers/__init__.py +29 -17
  53. data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +5 -6
  54. data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +15 -16
  55. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +21 -18
  56. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1717 -1339
  57. data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +1 -2
  58. data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +2 -5
  59. data/vendor/pygments-main/pygments/lexers/_mapping.py +79 -31
  60. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +2 -3
  61. data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +1281 -0
  62. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +439 -386
  63. data/vendor/pygments-main/pygments/lexers/_php_builtins.py +17 -21
  64. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +73 -17
  65. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +2 -3
  66. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1 -4
  67. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +151 -126
  68. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +96 -58
  69. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -2
  70. data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +112 -0
  71. data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +279 -0
  72. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -2
  73. data/vendor/pygments-main/pygments/lexers/actionscript.py +14 -10
  74. data/vendor/pygments-main/pygments/lexers/agile.py +1 -2
  75. data/vendor/pygments-main/pygments/lexers/algebra.py +20 -2
  76. data/vendor/pygments-main/pygments/lexers/ambient.py +2 -3
  77. data/vendor/pygments-main/pygments/lexers/amdgpu.py +48 -0
  78. data/vendor/pygments-main/pygments/lexers/ampl.py +3 -4
  79. data/vendor/pygments-main/pygments/lexers/apl.py +15 -16
  80. data/vendor/pygments-main/pygments/lexers/archetype.py +4 -5
  81. data/vendor/pygments-main/pygments/lexers/arrow.py +116 -0
  82. data/vendor/pygments-main/pygments/lexers/asm.py +440 -77
  83. data/vendor/pygments-main/pygments/lexers/automation.py +7 -2
  84. data/vendor/pygments-main/pygments/lexers/bare.py +103 -0
  85. data/vendor/pygments-main/pygments/lexers/basic.py +168 -7
  86. data/vendor/pygments-main/pygments/lexers/bibtex.py +5 -6
  87. data/vendor/pygments-main/pygments/lexers/boa.py +101 -0
  88. data/vendor/pygments-main/pygments/lexers/business.py +19 -5
  89. data/vendor/pygments-main/pygments/lexers/c_cpp.py +138 -48
  90. data/vendor/pygments-main/pygments/lexers/c_like.py +67 -43
  91. data/vendor/pygments-main/pygments/lexers/capnproto.py +7 -8
  92. data/vendor/pygments-main/pygments/lexers/cddl.py +190 -0
  93. data/vendor/pygments-main/pygments/lexers/chapel.py +25 -16
  94. data/vendor/pygments-main/pygments/lexers/clean.py +135 -245
  95. data/vendor/pygments-main/pygments/lexers/compiled.py +1 -2
  96. data/vendor/pygments-main/pygments/lexers/configs.py +190 -38
  97. data/vendor/pygments-main/pygments/lexers/console.py +1 -2
  98. data/vendor/pygments-main/pygments/lexers/crystal.py +54 -81
  99. data/vendor/pygments-main/pygments/lexers/csound.py +288 -188
  100. data/vendor/pygments-main/pygments/lexers/css.py +28 -23
  101. data/vendor/pygments-main/pygments/lexers/d.py +12 -8
  102. data/vendor/pygments-main/pygments/lexers/dalvik.py +1 -2
  103. data/vendor/pygments-main/pygments/lexers/data.py +240 -98
  104. data/vendor/pygments-main/pygments/lexers/devicetree.py +108 -0
  105. data/vendor/pygments-main/pygments/lexers/diff.py +4 -5
  106. data/vendor/pygments-main/pygments/lexers/dotnet.py +46 -31
  107. data/vendor/pygments-main/pygments/lexers/dsls.py +146 -65
  108. data/vendor/pygments-main/pygments/lexers/dylan.py +16 -19
  109. data/vendor/pygments-main/pygments/lexers/ecl.py +17 -5
  110. data/vendor/pygments-main/pygments/lexers/eiffel.py +2 -3
  111. data/vendor/pygments-main/pygments/lexers/elm.py +5 -6
  112. data/vendor/pygments-main/pygments/lexers/email.py +150 -0
  113. data/vendor/pygments-main/pygments/lexers/erlang.py +29 -33
  114. data/vendor/pygments-main/pygments/lexers/esoteric.py +46 -20
  115. data/vendor/pygments-main/pygments/lexers/ezhil.py +21 -14
  116. data/vendor/pygments-main/pygments/lexers/factor.py +3 -4
  117. data/vendor/pygments-main/pygments/lexers/fantom.py +1 -2
  118. data/vendor/pygments-main/pygments/lexers/felix.py +1 -2
  119. data/vendor/pygments-main/pygments/lexers/floscript.py +82 -0
  120. data/vendor/pygments-main/pygments/lexers/forth.py +41 -41
  121. data/vendor/pygments-main/pygments/lexers/fortran.py +13 -10
  122. data/vendor/pygments-main/pygments/lexers/foxpro.py +2 -3
  123. data/vendor/pygments-main/pygments/lexers/freefem.py +897 -0
  124. data/vendor/pygments-main/pygments/lexers/functional.py +1 -2
  125. data/vendor/pygments-main/pygments/lexers/futhark.py +110 -0
  126. data/vendor/pygments-main/pygments/lexers/gdscript.py +345 -0
  127. data/vendor/pygments-main/pygments/lexers/go.py +2 -3
  128. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +62 -6
  129. data/vendor/pygments-main/pygments/lexers/graph.py +14 -10
  130. data/vendor/pygments-main/pygments/lexers/graphics.py +274 -28
  131. data/vendor/pygments-main/pygments/lexers/graphviz.py +57 -0
  132. data/vendor/pygments-main/pygments/lexers/haskell.py +48 -22
  133. data/vendor/pygments-main/pygments/lexers/haxe.py +8 -9
  134. data/vendor/pygments-main/pygments/lexers/hdl.py +176 -90
  135. data/vendor/pygments-main/pygments/lexers/hexdump.py +1 -2
  136. data/vendor/pygments-main/pygments/lexers/html.py +37 -26
  137. data/vendor/pygments-main/pygments/lexers/idl.py +19 -9
  138. data/vendor/pygments-main/pygments/lexers/igor.py +244 -113
  139. data/vendor/pygments-main/pygments/lexers/inferno.py +2 -3
  140. data/vendor/pygments-main/pygments/lexers/installers.py +1 -2
  141. data/vendor/pygments-main/pygments/lexers/int_fiction.py +40 -16
  142. data/vendor/pygments-main/pygments/lexers/iolang.py +3 -4
  143. data/vendor/pygments-main/pygments/lexers/j.py +4 -5
  144. data/vendor/pygments-main/pygments/lexers/javascript.py +115 -104
  145. data/vendor/pygments-main/pygments/lexers/julia.py +44 -47
  146. data/vendor/pygments-main/pygments/lexers/jvm.py +368 -202
  147. data/vendor/pygments-main/pygments/lexers/lisp.py +887 -810
  148. data/vendor/pygments-main/pygments/lexers/make.py +12 -9
  149. data/vendor/pygments-main/pygments/lexers/markup.py +212 -45
  150. data/vendor/pygments-main/pygments/lexers/math.py +1 -2
  151. data/vendor/pygments-main/pygments/lexers/matlab.py +2705 -88
  152. data/vendor/pygments-main/pygments/lexers/mime.py +225 -0
  153. data/vendor/pygments-main/pygments/lexers/ml.py +203 -15
  154. data/vendor/pygments-main/pygments/lexers/modeling.py +26 -19
  155. data/vendor/pygments-main/pygments/lexers/modula2.py +27 -9
  156. data/vendor/pygments-main/pygments/lexers/monte.py +1 -2
  157. data/vendor/pygments-main/pygments/lexers/mosel.py +447 -0
  158. data/vendor/pygments-main/pygments/lexers/ncl.py +1 -2
  159. data/vendor/pygments-main/pygments/lexers/nimrod.py +4 -5
  160. data/vendor/pygments-main/pygments/lexers/nit.py +1 -2
  161. data/vendor/pygments-main/pygments/lexers/nix.py +1 -2
  162. data/vendor/pygments-main/pygments/lexers/oberon.py +17 -2
  163. data/vendor/pygments-main/pygments/lexers/objective.py +18 -19
  164. data/vendor/pygments-main/pygments/lexers/ooc.py +1 -2
  165. data/vendor/pygments-main/pygments/lexers/other.py +1 -2
  166. data/vendor/pygments-main/pygments/lexers/parasail.py +1 -2
  167. data/vendor/pygments-main/pygments/lexers/parsers.py +47 -83
  168. data/vendor/pygments-main/pygments/lexers/pascal.py +22 -23
  169. data/vendor/pygments-main/pygments/lexers/pawn.py +31 -28
  170. data/vendor/pygments-main/pygments/lexers/perl.py +260 -149
  171. data/vendor/pygments-main/pygments/lexers/php.py +66 -13
  172. data/vendor/pygments-main/pygments/lexers/pointless.py +70 -0
  173. data/vendor/pygments-main/pygments/lexers/pony.py +93 -0
  174. data/vendor/pygments-main/pygments/lexers/praat.py +38 -31
  175. data/vendor/pygments-main/pygments/lexers/prolog.py +38 -39
  176. data/vendor/pygments-main/pygments/lexers/promql.py +182 -0
  177. data/vendor/pygments-main/pygments/lexers/python.py +450 -231
  178. data/vendor/pygments-main/pygments/lexers/qvt.py +6 -7
  179. data/vendor/pygments-main/pygments/lexers/r.py +13 -276
  180. data/vendor/pygments-main/pygments/lexers/rdf.py +232 -40
  181. data/vendor/pygments-main/pygments/lexers/rebol.py +8 -9
  182. data/vendor/pygments-main/pygments/lexers/resource.py +2 -3
  183. data/vendor/pygments-main/pygments/lexers/ride.py +138 -0
  184. data/vendor/pygments-main/pygments/lexers/rnc.py +1 -2
  185. data/vendor/pygments-main/pygments/lexers/roboconf.py +1 -2
  186. data/vendor/pygments-main/pygments/lexers/robotframework.py +23 -32
  187. data/vendor/pygments-main/pygments/lexers/ruby.py +50 -46
  188. data/vendor/pygments-main/pygments/lexers/rust.py +76 -73
  189. data/vendor/pygments-main/pygments/lexers/sas.py +1 -2
  190. data/vendor/pygments-main/pygments/lexers/scdoc.py +82 -0
  191. data/vendor/pygments-main/pygments/lexers/scripting.py +79 -18
  192. data/vendor/pygments-main/pygments/lexers/sgf.py +60 -0
  193. data/vendor/pygments-main/pygments/lexers/shell.py +164 -49
  194. data/vendor/pygments-main/pygments/lexers/sieve.py +68 -0
  195. data/vendor/pygments-main/pygments/lexers/slash.py +184 -0
  196. data/vendor/pygments-main/pygments/lexers/smalltalk.py +2 -3
  197. data/vendor/pygments-main/pygments/lexers/smv.py +3 -4
  198. data/vendor/pygments-main/pygments/lexers/snobol.py +1 -2
  199. data/vendor/pygments-main/pygments/lexers/solidity.py +91 -0
  200. data/vendor/pygments-main/pygments/lexers/special.py +31 -28
  201. data/vendor/pygments-main/pygments/lexers/sql.py +330 -179
  202. data/vendor/pygments-main/pygments/lexers/stata.py +107 -45
  203. data/vendor/pygments-main/pygments/lexers/supercollider.py +8 -4
  204. data/vendor/pygments-main/pygments/lexers/tcl.py +1 -2
  205. data/vendor/pygments-main/pygments/lexers/templates.py +116 -136
  206. data/vendor/pygments-main/pygments/lexers/teraterm.py +334 -0
  207. data/vendor/pygments-main/pygments/lexers/testing.py +6 -7
  208. data/vendor/pygments-main/pygments/lexers/text.py +2 -2
  209. data/vendor/pygments-main/pygments/lexers/textedit.py +6 -7
  210. data/vendor/pygments-main/pygments/lexers/textfmts.py +146 -14
  211. data/vendor/pygments-main/pygments/lexers/theorem.py +74 -56
  212. data/vendor/pygments-main/pygments/lexers/tnt.py +262 -0
  213. data/vendor/pygments-main/pygments/lexers/trafficscript.py +1 -2
  214. data/vendor/pygments-main/pygments/lexers/typoscript.py +4 -12
  215. data/vendor/pygments-main/pygments/lexers/unicon.py +411 -0
  216. data/vendor/pygments-main/pygments/lexers/urbi.py +16 -4
  217. data/vendor/pygments-main/pygments/lexers/usd.py +89 -0
  218. data/vendor/pygments-main/pygments/lexers/varnish.py +4 -5
  219. data/vendor/pygments-main/pygments/lexers/verification.py +13 -11
  220. data/vendor/pygments-main/pygments/lexers/web.py +1 -2
  221. data/vendor/pygments-main/pygments/lexers/webidl.py +298 -0
  222. data/vendor/pygments-main/pygments/lexers/webmisc.py +35 -32
  223. data/vendor/pygments-main/pygments/lexers/whiley.py +5 -6
  224. data/vendor/pygments-main/pygments/lexers/x10.py +2 -3
  225. data/vendor/pygments-main/pygments/lexers/xorg.py +5 -5
  226. data/vendor/pygments-main/pygments/lexers/yang.py +103 -0
  227. data/vendor/pygments-main/pygments/lexers/zig.py +123 -0
  228. data/vendor/pygments-main/pygments/modeline.py +1 -2
  229. data/vendor/pygments-main/pygments/plugin.py +4 -3
  230. data/vendor/pygments-main/pygments/regexopt.py +1 -2
  231. data/vendor/pygments-main/pygments/scanner.py +2 -3
  232. data/vendor/pygments-main/pygments/sphinxext.py +2 -5
  233. data/vendor/pygments-main/pygments/style.py +61 -25
  234. data/vendor/pygments-main/pygments/styles/__init__.py +12 -5
  235. data/vendor/pygments-main/pygments/styles/abap.py +1 -2
  236. data/vendor/pygments-main/pygments/styles/algol.py +1 -2
  237. data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -2
  238. data/vendor/pygments-main/pygments/styles/arduino.py +2 -3
  239. data/vendor/pygments-main/pygments/styles/autumn.py +1 -2
  240. data/vendor/pygments-main/pygments/styles/borland.py +1 -2
  241. data/vendor/pygments-main/pygments/styles/bw.py +1 -2
  242. data/vendor/pygments-main/pygments/styles/colorful.py +1 -2
  243. data/vendor/pygments-main/pygments/styles/default.py +1 -2
  244. data/vendor/pygments-main/pygments/styles/emacs.py +1 -2
  245. data/vendor/pygments-main/pygments/styles/friendly.py +1 -2
  246. data/vendor/pygments-main/pygments/styles/fruity.py +1 -2
  247. data/vendor/pygments-main/pygments/styles/igor.py +1 -2
  248. data/vendor/pygments-main/pygments/styles/inkpot.py +66 -0
  249. data/vendor/pygments-main/pygments/styles/lovelace.py +1 -2
  250. data/vendor/pygments-main/pygments/styles/manni.py +1 -2
  251. data/vendor/pygments-main/pygments/styles/material.py +118 -0
  252. data/vendor/pygments-main/pygments/styles/monokai.py +4 -4
  253. data/vendor/pygments-main/pygments/styles/murphy.py +1 -2
  254. data/vendor/pygments-main/pygments/styles/native.py +1 -2
  255. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -2
  256. data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -2
  257. data/vendor/pygments-main/pygments/styles/pastie.py +1 -2
  258. data/vendor/pygments-main/pygments/styles/perldoc.py +1 -2
  259. data/vendor/pygments-main/pygments/styles/rainbow_dash.py +1 -2
  260. data/vendor/pygments-main/pygments/styles/rrt.py +1 -2
  261. data/vendor/pygments-main/pygments/styles/sas.py +1 -2
  262. data/vendor/pygments-main/pygments/styles/solarized.py +136 -0
  263. data/vendor/pygments-main/pygments/styles/stata_dark.py +40 -0
  264. data/vendor/pygments-main/pygments/styles/{stata.py → stata_light.py} +14 -16
  265. data/vendor/pygments-main/pygments/styles/tango.py +1 -2
  266. data/vendor/pygments-main/pygments/styles/trac.py +1 -2
  267. data/vendor/pygments-main/pygments/styles/vim.py +1 -2
  268. data/vendor/pygments-main/pygments/styles/vs.py +1 -2
  269. data/vendor/pygments-main/pygments/styles/xcode.py +1 -2
  270. data/vendor/pygments-main/pygments/styles/zenburn.py +80 -0
  271. data/vendor/pygments-main/pygments/token.py +1 -2
  272. data/vendor/pygments-main/pygments/unistring.py +47 -109
  273. data/vendor/pygments-main/pygments/util.py +16 -96
  274. metadata +76 -137
  275. data/CHANGELOG.md +0 -105
  276. data/README.md +0 -121
  277. data/circle.yml +0 -20
  278. data/test/test_data.c +0 -2581
  279. data/test/test_data.py +0 -514
  280. data/test/test_data_generated +0 -2582
  281. data/vendor/custom_lexers/github.py +0 -565
  282. data/vendor/pygments-main/CHANGES +0 -1186
  283. data/vendor/pygments-main/MANIFEST.in +0 -6
  284. data/vendor/pygments-main/Makefile +0 -65
  285. data/vendor/pygments-main/README.rst +0 -39
  286. data/vendor/pygments-main/REVISION +0 -1
  287. data/vendor/pygments-main/TODO +0 -12
  288. data/vendor/pygments-main/doc/Makefile +0 -153
  289. data/vendor/pygments-main/doc/_static/favicon.ico +0 -0
  290. data/vendor/pygments-main/doc/_static/logo_new.png +0 -0
  291. data/vendor/pygments-main/doc/_static/logo_only.png +0 -0
  292. data/vendor/pygments-main/doc/_templates/docssidebar.html +0 -3
  293. data/vendor/pygments-main/doc/_templates/indexsidebar.html +0 -25
  294. data/vendor/pygments-main/doc/_themes/pygments14/layout.html +0 -98
  295. data/vendor/pygments-main/doc/_themes/pygments14/static/bodybg.png +0 -0
  296. data/vendor/pygments-main/doc/_themes/pygments14/static/docbg.png +0 -0
  297. data/vendor/pygments-main/doc/_themes/pygments14/static/listitem.png +0 -0
  298. data/vendor/pygments-main/doc/_themes/pygments14/static/logo.png +0 -0
  299. data/vendor/pygments-main/doc/_themes/pygments14/static/pocoo.png +0 -0
  300. data/vendor/pygments-main/doc/_themes/pygments14/static/pygments14.css_t +0 -401
  301. data/vendor/pygments-main/doc/_themes/pygments14/theme.conf +0 -15
  302. data/vendor/pygments-main/doc/conf.py +0 -241
  303. data/vendor/pygments-main/doc/docs/api.rst +0 -354
  304. data/vendor/pygments-main/doc/docs/authors.rst +0 -4
  305. data/vendor/pygments-main/doc/docs/changelog.rst +0 -1
  306. data/vendor/pygments-main/doc/docs/cmdline.rst +0 -166
  307. data/vendor/pygments-main/doc/docs/filterdevelopment.rst +0 -71
  308. data/vendor/pygments-main/doc/docs/filters.rst +0 -41
  309. data/vendor/pygments-main/doc/docs/formatterdevelopment.rst +0 -169
  310. data/vendor/pygments-main/doc/docs/formatters.rst +0 -48
  311. data/vendor/pygments-main/doc/docs/index.rst +0 -66
  312. data/vendor/pygments-main/doc/docs/integrate.rst +0 -40
  313. data/vendor/pygments-main/doc/docs/java.rst +0 -70
  314. data/vendor/pygments-main/doc/docs/lexerdevelopment.rst +0 -728
  315. data/vendor/pygments-main/doc/docs/lexers.rst +0 -69
  316. data/vendor/pygments-main/doc/docs/moinmoin.rst +0 -39
  317. data/vendor/pygments-main/doc/docs/plugins.rst +0 -93
  318. data/vendor/pygments-main/doc/docs/quickstart.rst +0 -205
  319. data/vendor/pygments-main/doc/docs/rstdirective.rst +0 -22
  320. data/vendor/pygments-main/doc/docs/styles.rst +0 -201
  321. data/vendor/pygments-main/doc/docs/tokens.rst +0 -372
  322. data/vendor/pygments-main/doc/docs/unicode.rst +0 -58
  323. data/vendor/pygments-main/doc/download.rst +0 -41
  324. data/vendor/pygments-main/doc/faq.rst +0 -139
  325. data/vendor/pygments-main/doc/index.rst +0 -54
  326. data/vendor/pygments-main/doc/languages.rst +0 -154
  327. data/vendor/pygments-main/doc/make.bat +0 -190
  328. data/vendor/pygments-main/doc/pygmentize.1 +0 -94
  329. data/vendor/pygments-main/external/autopygmentize +0 -101
  330. data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +0 -162
  331. data/vendor/pygments-main/external/markdown-processor.py +0 -67
  332. data/vendor/pygments-main/external/moin-parser.py +0 -112
  333. data/vendor/pygments-main/external/pygments.bashcomp +0 -38
  334. data/vendor/pygments-main/external/rst-directive.py +0 -82
  335. data/vendor/pygments-main/pygmentize +0 -8
  336. data/vendor/pygments-main/pygments/lexers/github.py +0 -565
  337. data/vendor/pygments-main/requirements.txt +0 -5
  338. data/vendor/pygments-main/scripts/check_sources.py +0 -211
  339. data/vendor/pygments-main/scripts/debug_lexer.py +0 -246
  340. data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +0 -33
  341. data/vendor/pygments-main/scripts/epydoc.css +0 -280
  342. data/vendor/pygments-main/scripts/get_vimkw.py +0 -74
  343. data/vendor/pygments-main/scripts/pylintrc +0 -301
  344. data/vendor/pygments-main/scripts/vim2pygments.py +0 -935
  345. data/vendor/pygments-main/setup.cfg +0 -10
  346. data/vendor/pygments-main/setup.py +0 -77
  347. data/vendor/pygments-main/tox.ini +0 -7
  348. data/vendor/simplejson/.gitignore +0 -10
  349. data/vendor/simplejson/.travis.yml +0 -5
  350. data/vendor/simplejson/CHANGES.txt +0 -291
  351. data/vendor/simplejson/LICENSE.txt +0 -19
  352. data/vendor/simplejson/MANIFEST.in +0 -5
  353. data/vendor/simplejson/README.rst +0 -19
  354. data/vendor/simplejson/conf.py +0 -179
  355. data/vendor/simplejson/index.rst +0 -628
  356. data/vendor/simplejson/scripts/make_docs.py +0 -18
  357. data/vendor/simplejson/setup.py +0 -104
  358. data/vendor/simplejson/simplejson/__init__.py +0 -510
  359. data/vendor/simplejson/simplejson/_speedups.c +0 -2745
  360. data/vendor/simplejson/simplejson/decoder.py +0 -425
  361. data/vendor/simplejson/simplejson/encoder.py +0 -567
  362. data/vendor/simplejson/simplejson/ordered_dict.py +0 -119
  363. data/vendor/simplejson/simplejson/scanner.py +0 -77
  364. data/vendor/simplejson/simplejson/tests/__init__.py +0 -67
  365. data/vendor/simplejson/simplejson/tests/test_bigint_as_string.py +0 -55
  366. data/vendor/simplejson/simplejson/tests/test_check_circular.py +0 -30
  367. data/vendor/simplejson/simplejson/tests/test_decimal.py +0 -66
  368. data/vendor/simplejson/simplejson/tests/test_decode.py +0 -83
  369. data/vendor/simplejson/simplejson/tests/test_default.py +0 -9
  370. data/vendor/simplejson/simplejson/tests/test_dump.py +0 -67
  371. data/vendor/simplejson/simplejson/tests/test_encode_basestring_ascii.py +0 -46
  372. data/vendor/simplejson/simplejson/tests/test_encode_for_html.py +0 -32
  373. data/vendor/simplejson/simplejson/tests/test_errors.py +0 -34
  374. data/vendor/simplejson/simplejson/tests/test_fail.py +0 -91
  375. data/vendor/simplejson/simplejson/tests/test_float.py +0 -19
  376. data/vendor/simplejson/simplejson/tests/test_indent.py +0 -86
  377. data/vendor/simplejson/simplejson/tests/test_item_sort_key.py +0 -20
  378. data/vendor/simplejson/simplejson/tests/test_namedtuple.py +0 -121
  379. data/vendor/simplejson/simplejson/tests/test_pass1.py +0 -76
  380. data/vendor/simplejson/simplejson/tests/test_pass2.py +0 -14
  381. data/vendor/simplejson/simplejson/tests/test_pass3.py +0 -20
  382. data/vendor/simplejson/simplejson/tests/test_recursion.py +0 -67
  383. data/vendor/simplejson/simplejson/tests/test_scanstring.py +0 -117
  384. data/vendor/simplejson/simplejson/tests/test_separators.py +0 -42
  385. data/vendor/simplejson/simplejson/tests/test_speedups.py +0 -20
  386. data/vendor/simplejson/simplejson/tests/test_tuple.py +0 -49
  387. data/vendor/simplejson/simplejson/tests/test_unicode.py +0 -109
  388. data/vendor/simplejson/simplejson/tool.py +0 -39
@@ -1,11 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.rust
4
3
  ~~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Lexers for the Rust language.
7
6
 
8
- :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9
8
  :license: BSD, see LICENSE for details.
10
9
  """
11
10
 
@@ -18,48 +17,56 @@ __all__ = ['RustLexer']
18
17
 
19
18
  class RustLexer(RegexLexer):
20
19
  """
21
- Lexer for the Rust programming language (version 1.10).
20
+ Lexer for the Rust programming language (version 1.47).
22
21
 
23
22
  .. versionadded:: 1.6
24
23
  """
25
24
  name = 'Rust'
26
25
  filenames = ['*.rs', '*.rs.in']
27
- aliases = ['rust']
28
- mimetypes = ['text/rust']
29
-
30
- keyword_types = (
31
- words(('u8', 'u16', 'u32', 'u64', 'i8', 'i16', 'i32', 'i64',
32
- 'usize', 'isize', 'f32', 'f64', 'str', 'bool'),
33
- suffix=r'\b'),
34
- Keyword.Type)
35
-
36
- builtin_types = (words((
37
- # Reexported core operators
38
- 'Copy', 'Send', 'Sized', 'Sync',
39
- 'Drop', 'Fn', 'FnMut', 'FnOnce',
40
-
41
- # Reexported types and traits
42
- 'Box',
43
- 'ToOwned',
44
- 'Clone',
26
+ aliases = ['rust', 'rs']
27
+ mimetypes = ['text/rust', 'text/x-rust']
28
+
29
+ keyword_types = (words((
30
+ 'u8', 'u16', 'u32', 'u64', 'u128', 'i8', 'i16', 'i32', 'i64', 'i128',
31
+ 'usize', 'isize', 'f32', 'f64', 'char', 'str', 'bool',
32
+ ), suffix=r'\b'), Keyword.Type)
33
+
34
+ builtin_funcs_types = (words((
35
+ 'Copy', 'Send', 'Sized', 'Sync', 'Unpin',
36
+ 'Drop', 'Fn', 'FnMut', 'FnOnce', 'drop',
37
+ 'Box', 'ToOwned', 'Clone',
45
38
  'PartialEq', 'PartialOrd', 'Eq', 'Ord',
46
- 'AsRef', 'AsMut', 'Into', 'From',
47
- 'Default',
48
- 'Iterator', 'Extend', 'IntoIterator',
49
- 'DoubleEndedIterator', 'ExactSizeIterator',
50
- 'Option',
51
- 'Some', 'None',
52
- 'Result',
53
- 'Ok', 'Err',
54
- 'SliceConcatExt',
55
- 'String', 'ToString',
56
- 'Vec'), suffix=r'\b'),
57
- Name.Builtin)
39
+ 'AsRef', 'AsMut', 'Into', 'From', 'Default',
40
+ 'Iterator', 'Extend', 'IntoIterator', 'DoubleEndedIterator',
41
+ 'ExactSizeIterator',
42
+ 'Option', 'Some', 'None',
43
+ 'Result', 'Ok', 'Err',
44
+ 'String', 'ToString', 'Vec',
45
+ ), suffix=r'\b'), Name.Builtin)
46
+
47
+ builtin_macros = (words((
48
+ 'asm', 'assert', 'assert_eq', 'assert_ne', 'cfg', 'column',
49
+ 'compile_error', 'concat', 'concat_idents', 'dbg', 'debug_assert',
50
+ 'debug_assert_eq', 'debug_assert_ne', 'env', 'eprint', 'eprintln',
51
+ 'file', 'format', 'format_args', 'format_args_nl', 'global_asm',
52
+ 'include', 'include_bytes', 'include_str',
53
+ 'is_aarch64_feature_detected',
54
+ 'is_arm_feature_detected',
55
+ 'is_mips64_feature_detected',
56
+ 'is_mips_feature_detected',
57
+ 'is_powerpc64_feature_detected',
58
+ 'is_powerpc_feature_detected',
59
+ 'is_x86_feature_detected',
60
+ 'line', 'llvm_asm', 'log_syntax', 'macro_rules', 'matches',
61
+ 'module_path', 'option_env', 'panic', 'print', 'println', 'stringify',
62
+ 'thread_local', 'todo', 'trace_macros', 'unimplemented', 'unreachable',
63
+ 'vec', 'write', 'writeln',
64
+ ), suffix=r'!'), Name.Function.Magic)
58
65
 
59
66
  tokens = {
60
67
  'root': [
61
68
  # rust allows a file to start with a shebang, but if the first line
62
- # starts with #![ then its not a shebang but a crate attribute.
69
+ # starts with #![ then it's not a shebang but a crate attribute.
63
70
  (r'#![^[\r\n].*$', Comment.Preproc),
64
71
  default('base'),
65
72
  ],
@@ -77,26 +84,26 @@ class RustLexer(RegexLexer):
77
84
  # Macro parameters
78
85
  (r"""\$([a-zA-Z_]\w*|\(,?|\),?|,?)""", Comment.Preproc),
79
86
  # Keywords
80
- (words((
81
- 'as', 'box', 'const', 'crate', 'else', 'extern',
82
- 'for', 'if', 'impl', 'in', 'loop', 'match', 'move',
83
- 'mut', 'pub', 'ref', 'return', 'static', 'super',
84
- 'trait', 'unsafe', 'use', 'where', 'while'), suffix=r'\b'),
85
- Keyword),
86
- (words(('abstract', 'alignof', 'become', 'do', 'final', 'macro',
87
- 'offsetof', 'override', 'priv', 'proc', 'pure', 'sizeof',
88
- 'typeof', 'unsized', 'virtual', 'yield'), suffix=r'\b'),
89
- Keyword.Reserved),
87
+ (words(('as', 'async', 'await', 'box', 'const', 'crate', 'dyn',
88
+ 'else', 'extern', 'for', 'if', 'impl', 'in', 'loop',
89
+ 'match', 'move', 'mut', 'pub', 'ref', 'return', 'static',
90
+ 'super', 'trait', 'unsafe', 'use', 'where', 'while'),
91
+ suffix=r'\b'), Keyword),
92
+ (words(('abstract', 'become', 'do', 'final', 'macro', 'override',
93
+ 'priv', 'typeof', 'try', 'unsized', 'virtual', 'yield'),
94
+ suffix=r'\b'), Keyword.Reserved),
90
95
  (r'(true|false)\b', Keyword.Constant),
96
+ (r'self\b', Name.Builtin.Pseudo),
91
97
  (r'mod\b', Keyword, 'modname'),
92
98
  (r'let\b', Keyword.Declaration),
93
99
  (r'fn\b', Keyword, 'funcname'),
94
100
  (r'(struct|enum|type|union)\b', Keyword, 'typename'),
95
101
  (r'(default)(\s+)(type|fn)\b', bygroups(Keyword, Text, Keyword)),
96
102
  keyword_types,
97
- (r'self\b', Name.Builtin.Pseudo),
98
- # Prelude (taken from Rusts src/libstd/prelude.rs)
99
- builtin_types,
103
+ (r'[sS]elf\b', Name.Builtin.Pseudo),
104
+ # Prelude (taken from Rust's src/libstd/prelude.rs)
105
+ builtin_funcs_types,
106
+ builtin_macros,
100
107
  # Path seperators, so types don't catch them.
101
108
  (r'::\b', Text),
102
109
  # Types in positions.
@@ -104,49 +111,47 @@ class RustLexer(RegexLexer):
104
111
  # Labels
105
112
  (r'(break|continue)(\s*)(\'[A-Za-z_]\w*)?',
106
113
  bygroups(Keyword, Text.Whitespace, Name.Label)),
107
- # Character Literal
114
+
115
+ # Character literals
108
116
  (r"""'(\\['"\\nrt]|\\x[0-7][0-9a-fA-F]|\\0"""
109
117
  r"""|\\u\{[0-9a-fA-F]{1,6}\}|.)'""",
110
118
  String.Char),
111
119
  (r"""b'(\\['"\\nrt]|\\x[0-9a-fA-F]{2}|\\0"""
112
120
  r"""|\\u\{[0-9a-fA-F]{1,6}\}|.)'""",
113
121
  String.Char),
114
- # Binary Literal
122
+
123
+ # Binary literals
115
124
  (r'0b[01_]+', Number.Bin, 'number_lit'),
116
- # Octal Literal
125
+ # Octal literals
117
126
  (r'0o[0-7_]+', Number.Oct, 'number_lit'),
118
- # Hexadecimal Literal
127
+ # Hexadecimal literals
119
128
  (r'0[xX][0-9a-fA-F_]+', Number.Hex, 'number_lit'),
120
- # Decimal Literal
129
+ # Decimal literals
121
130
  (r'[0-9][0-9_]*(\.[0-9_]+[eE][+\-]?[0-9_]+|'
122
131
  r'\.[0-9_]*(?!\.)|[eE][+\-]?[0-9_]+)', Number.Float,
123
132
  'number_lit'),
124
133
  (r'[0-9][0-9_]*', Number.Integer, 'number_lit'),
125
- # String Literal
134
+
135
+ # String literals
126
136
  (r'b"', String, 'bytestring'),
127
137
  (r'"', String, 'string'),
128
138
  (r'b?r(#*)".*?"\1', String),
129
139
 
130
- # Lifetime
131
- (r"""'static""", Name.Builtin),
132
- (r"""'[a-zA-Z_]\w*""", Name.Attribute),
140
+ # Lifetime names
141
+ (r"'", Operator, 'lifetime'),
133
142
 
134
143
  # Operators and Punctuation
144
+ (r'\.\.=?', Operator),
135
145
  (r'[{}()\[\],.;]', Punctuation),
136
146
  (r'[+\-*/%&|<>^!~@=:?]', Operator),
137
147
 
138
- # Identifier
148
+ # Identifiers
139
149
  (r'[a-zA-Z_]\w*', Name),
150
+ # Raw identifiers
151
+ (r'r#[a-zA-Z_]\w*', Name),
140
152
 
141
153
  # Attributes
142
154
  (r'#!?\[', Comment.Preproc, 'attribute['),
143
- # Macros
144
- (r'([A-Za-z_]\w*)(!)(\s*)([A-Za-z_]\w*)?(\s*)(\{)',
145
- bygroups(Comment.Preproc, Punctuation, Whitespace, Name,
146
- Whitespace, Punctuation), 'macro{'),
147
- (r'([A-Za-z_]\w*)(!)(\s*)([A-Za-z_]\w*)?(\()',
148
- bygroups(Comment.Preproc, Punctuation, Whitespace, Name,
149
- Punctuation), 'macro('),
150
155
  ],
151
156
  'comment': [
152
157
  (r'[^*/]+', Comment.Multiline),
@@ -173,11 +178,17 @@ class RustLexer(RegexLexer):
173
178
  'typename': [
174
179
  (r'\s+', Text),
175
180
  (r'&', Keyword.Pseudo),
176
- builtin_types,
181
+ (r"'", Operator, 'lifetime'),
182
+ builtin_funcs_types,
177
183
  keyword_types,
178
184
  (r'[a-zA-Z_]\w*', Name.Class, '#pop'),
179
185
  default('#pop'),
180
186
  ],
187
+ 'lifetime': [
188
+ (r"(static|_)", Name.Builtin),
189
+ (r"[a-zA-Z_]+\w*", Name.Attribute),
190
+ default('#pop'),
191
+ ],
181
192
  'number_lit': [
182
193
  (r'[ui](8|16|32|64|size)', Keyword, '#pop'),
183
194
  (r'f(32|64)', Keyword, '#pop'),
@@ -194,14 +205,6 @@ class RustLexer(RegexLexer):
194
205
  (r"""\\x[89a-fA-F][0-9a-fA-F]""", String.Escape),
195
206
  include('string'),
196
207
  ],
197
- 'macro{': [
198
- (r'\{', Operator, '#push'),
199
- (r'\}', Operator, '#pop'),
200
- ],
201
- 'macro(': [
202
- (r'\(', Operator, '#push'),
203
- (r'\)', Operator, '#pop'),
204
- ],
205
208
  'attribute_common': [
206
209
  (r'"', String, 'string'),
207
210
  (r'\[', Comment.Preproc, 'attribute['),
@@ -1,11 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.sas
4
3
  ~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Lexer for SAS.
7
6
 
8
- :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9
8
  :license: BSD, see LICENSE for details.
10
9
  """
11
10
 
@@ -0,0 +1,82 @@
1
+ """
2
+ pygments.lexers.scdoc
3
+ ~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for scdoc, a simple man page generator.
6
+
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+ import re
12
+
13
+ from pygments.lexer import RegexLexer, include, bygroups, \
14
+ using, this
15
+ from pygments.token import Text, Comment, Keyword, String, \
16
+ Generic
17
+
18
+
19
+ __all__ = ['ScdocLexer']
20
+
21
+
22
+ class ScdocLexer(RegexLexer):
23
+ """
24
+ `scdoc` is a simple man page generator for POSIX systems written in C99.
25
+ https://git.sr.ht/~sircmpwn/scdoc
26
+
27
+ .. versionadded:: 2.5
28
+ """
29
+ name = 'scdoc'
30
+ aliases = ['scdoc', 'scd']
31
+ filenames = ['*.scd', '*.scdoc']
32
+ flags = re.MULTILINE
33
+
34
+ tokens = {
35
+ 'root': [
36
+ # comment
37
+ (r'^(;.+\n)', bygroups(Comment)),
38
+
39
+ # heading with pound prefix
40
+ (r'^(#)([^#].+\n)', bygroups(Generic.Heading, Text)),
41
+ (r'^(#{2})(.+\n)', bygroups(Generic.Subheading, Text)),
42
+ # bulleted lists
43
+ (r'^(\s*)([*-])(\s)(.+\n)',
44
+ bygroups(Text, Keyword, Text, using(this, state='inline'))),
45
+ # numbered lists
46
+ (r'^(\s*)(\.+\.)( .+\n)',
47
+ bygroups(Text, Keyword, using(this, state='inline'))),
48
+ # quote
49
+ (r'^(\s*>\s)(.+\n)', bygroups(Keyword, Generic.Emph)),
50
+ # text block
51
+ (r'^(```\n)([\w\W]*?)(^```$)', bygroups(String, Text, String)),
52
+
53
+ include('inline'),
54
+ ],
55
+ 'inline': [
56
+ # escape
57
+ (r'\\.', Text),
58
+ # underlines
59
+ (r'(\s)(_[^_]+_)(\W|\n)', bygroups(Text, Generic.Emph, Text)),
60
+ # bold
61
+ (r'(\s)(\*[^*]+\*)(\W|\n)', bygroups(Text, Generic.Strong, Text)),
62
+ # inline code
63
+ (r'`[^`]+`', String.Backtick),
64
+
65
+ # general text, must come last!
66
+ (r'[^\\\s]+', Text),
67
+ (r'.', Text),
68
+ ],
69
+ }
70
+
71
+ def analyse_text(text):
72
+ """This is very similar to markdown, save for the escape characters
73
+ needed for * and _."""
74
+ result = 0
75
+
76
+ if '\\*' in text:
77
+ result += 0.01
78
+
79
+ if '\\_' in text:
80
+ result += 0.01
81
+
82
+ return result
@@ -1,11 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.scripting
4
3
  ~~~~~~~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Lexer for scripting and embedded languages.
7
6
 
8
- :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
9
8
  :license: BSD, see LICENSE for details.
10
9
  """
11
10
 
@@ -15,11 +14,11 @@ from pygments.lexer import RegexLexer, include, bygroups, default, combined, \
15
14
  words
16
15
  from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
17
16
  Number, Punctuation, Error, Whitespace, Other
18
- from pygments.util import get_bool_opt, get_list_opt, iteritems
17
+ from pygments.util import get_bool_opt, get_list_opt
19
18
 
20
19
  __all__ = ['LuaLexer', 'MoonScriptLexer', 'ChaiscriptLexer', 'LSLLexer',
21
20
  'AppleScriptLexer', 'RexxLexer', 'MOOCodeLexer', 'HybrisLexer',
22
- 'EasytrieveLexer', 'JclLexer']
21
+ 'EasytrieveLexer', 'JclLexer', 'MiniScriptLexer']
23
22
 
24
23
 
25
24
  class LuaLexer(RegexLexer):
@@ -104,7 +103,7 @@ class LuaLexer(RegexLexer):
104
103
  (r'%s(?=%s*[.:])' % (_name, _s), Name.Class),
105
104
  (_name, Name.Function, '#pop'),
106
105
  # inline function
107
- ('\(', Punctuation, '#pop'),
106
+ (r'\(', Punctuation, '#pop'),
108
107
  ],
109
108
 
110
109
  'goto': [
@@ -142,7 +141,7 @@ class LuaLexer(RegexLexer):
142
141
  self._functions = set()
143
142
  if self.func_name_highlighting:
144
143
  from pygments.lexers._lua_builtins import MODULES
145
- for mod, func in iteritems(MODULES):
144
+ for mod, func in MODULES.items():
146
145
  if mod not in self.disabled_modules:
147
146
  self._functions.update(func)
148
147
  RegexLexer.__init__(self, **options)
@@ -157,12 +156,11 @@ class LuaLexer(RegexLexer):
157
156
  elif '.' in value:
158
157
  a, b = value.split('.')
159
158
  yield index, Name, a
160
- yield index + len(a), Punctuation, u'.'
159
+ yield index + len(a), Punctuation, '.'
161
160
  yield index + len(a) + 1, Name, b
162
161
  continue
163
162
  yield index, token, value
164
163
 
165
-
166
164
  class MoonScriptLexer(LuaLexer):
167
165
  """
168
166
  For `MoonScript <http://moonscript.org>`_ source code.
@@ -284,7 +282,7 @@ class ChaiscriptLexer(RegexLexer):
284
282
  (r'0x[0-9a-fA-F]+', Number.Hex),
285
283
  (r'[0-9]+', Number.Integer),
286
284
  (r'"', String.Double, 'dqstring'),
287
- (r"'(\\\\|\\'|[^'])*'", String.Single),
285
+ (r"'(\\\\|\\[^\\]|[^'\\])*'", String.Single),
288
286
  ],
289
287
  'dqstring': [
290
288
  (r'\$\{[^"}]+?\}', String.Interpol),
@@ -660,18 +658,18 @@ class AppleScriptLexer(RegexLexer):
660
658
  tokens = {
661
659
  'root': [
662
660
  (r'\s+', Text),
663
- (u'¬\\n', String.Escape),
661
+ (r'¬\n', String.Escape),
664
662
  (r"'s\s+", Text), # This is a possessive, consider moving
665
663
  (r'(--|#).*?$', Comment),
666
664
  (r'\(\*', Comment.Multiline, 'comment'),
667
665
  (r'[(){}!,.:]', Punctuation),
668
- (u'(«)([^»]+)(»)',
666
+ (r'(«)([^»]+)(»)',
669
667
  bygroups(Text, Name.Builtin, Text)),
670
668
  (r'\b((?:considering|ignoring)\s*)'
671
669
  r'(application responses|case|diacriticals|hyphens|'
672
670
  r'numeric strings|punctuation|white space)',
673
671
  bygroups(Keyword, Name.Builtin)),
674
- (u'(-|\\*|\\+|&|≠|>=?|<=?|=|≥|≤|/|÷|\\^)', Operator),
672
+ (r'(-|\*|\+|&|≠|>=?|<=?|=|≥|≤|/|÷|\^)', Operator),
675
673
  (r"\b(%s)\b" % '|'.join(Operators), Operator.Word),
676
674
  (r'^(\s*(?:on|end)\s+)'
677
675
  r'(%s)' % '|'.join(StudioEvents[::-1]),
@@ -690,14 +688,14 @@ class AppleScriptLexer(RegexLexer):
690
688
  (r'\b(%s)s?\b' % '|'.join(StudioClasses), Name.Builtin),
691
689
  (r'\b(%s)\b' % '|'.join(StudioCommands), Name.Builtin),
692
690
  (r'\b(%s)\b' % '|'.join(References), Name.Builtin),
693
- (r'"(\\\\|\\"|[^"])*"', String.Double),
691
+ (r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
694
692
  (r'\b(%s)\b' % Identifiers, Name.Variable),
695
693
  (r'[-+]?(\d+\.\d*|\d*\.\d+)(E[-+][0-9]+)?', Number.Float),
696
694
  (r'[-+]?\d+', Number.Integer),
697
695
  ],
698
696
  'comment': [
699
- ('\(\*', Comment.Multiline, '#push'),
700
- ('\*\)', Comment.Multiline, '#pop'),
697
+ (r'\(\*', Comment.Multiline, '#push'),
698
+ (r'\*\)', Comment.Multiline, '#pop'),
701
699
  ('[^*(]+', Comment.Multiline),
702
700
  ('[*(]', Comment.Multiline),
703
701
  ],
@@ -834,7 +832,7 @@ class MOOCodeLexer(RegexLexer):
834
832
  # Numbers
835
833
  (r'(0|[1-9][0-9_]*)', Number.Integer),
836
834
  # Strings
837
- (r'"(\\\\|\\"|[^"])*"', String),
835
+ (r'"(\\\\|\\[^\\]|[^"\\])*"', String),
838
836
  # exceptions
839
837
  (r'(E_PERM|E_DIV)', Name.Exception),
840
838
  # db-refs
@@ -925,7 +923,7 @@ class HybrisLexer(RegexLexer):
925
923
  'Runnable', 'CGI', 'ClientSocket', 'Socket', 'ServerSocket',
926
924
  'File', 'Console', 'Directory', 'Exception'), suffix=r'\b'),
927
925
  Keyword.Type),
928
- (r'"(\\\\|\\"|[^"])*"', String),
926
+ (r'"(\\\\|\\[^\\]|[^"\\])*"', String),
929
927
  (r"'\\.'|'[^\\]'|'\\u[0-9a-f]{4}'", String.Char),
930
928
  (r'(\.)([a-zA-Z_]\w*)',
931
929
  bygroups(Operator, Name.Attribute)),
@@ -945,6 +943,15 @@ class HybrisLexer(RegexLexer):
945
943
  ],
946
944
  }
947
945
 
946
+ def analyse_text(text):
947
+ """public method and private method don't seem to be quite common
948
+ elsewhere."""
949
+ result = 0
950
+ if re.search(r'\b(?:public|private)\s+method\b', text):
951
+ result += 0.01
952
+ return result
953
+
954
+
948
955
 
949
956
  class EasytrieveLexer(RegexLexer):
950
957
  """
@@ -977,7 +984,7 @@ class EasytrieveLexer(RegexLexer):
977
984
  _DELIMITER_PATTERN = '[' + _DELIMITERS + ']'
978
985
  _DELIMITER_PATTERN_CAPTURE = '(' + _DELIMITER_PATTERN + ')'
979
986
  _NON_DELIMITER_OR_COMMENT_PATTERN = '[^' + _DELIMITERS_OR_COMENT + ']'
980
- _OPERATORS_PATTERN = u'[.+\\-/=\\[\\](){}<>;,&%¬]'
987
+ _OPERATORS_PATTERN = '[.+\\-/=\\[\\](){}<>;,&%¬]'
981
988
  _KEYWORDS = [
982
989
  'AFTER-BREAK', 'AFTER-LINE', 'AFTER-SCREEN', 'AIM', 'AND', 'ATTR',
983
990
  'BEFORE', 'BEFORE-BREAK', 'BEFORE-LINE', 'BEFORE-SCREEN', 'BUSHU',
@@ -1220,3 +1227,57 @@ class JclLexer(RegexLexer):
1220
1227
  result = 1.0
1221
1228
  assert 0.0 <= result <= 1.0
1222
1229
  return result
1230
+
1231
+
1232
+ class MiniScriptLexer(RegexLexer):
1233
+ """
1234
+ For `MiniScript <https://miniscript.org>`_ source code.
1235
+
1236
+ .. versionadded:: 2.6
1237
+ """
1238
+
1239
+ name = "MiniScript"
1240
+ aliases = ["ms", "miniscript"]
1241
+ filenames = ["*.ms"]
1242
+ mimetypes = ['text/x-minicript', 'application/x-miniscript']
1243
+
1244
+ tokens = {
1245
+ 'root': [
1246
+ (r'#!(.*?)$', Comment.Preproc),
1247
+ default('base'),
1248
+ ],
1249
+ 'base': [
1250
+ ('//.*$', Comment.Single),
1251
+ (r'(?i)(\d*\.\d+|\d+\.\d*)(e[+-]?\d+)?', Number),
1252
+ (r'(?i)\d+e[+-]?\d+', Number),
1253
+ (r'\d+', Number),
1254
+ (r'\n', Text),
1255
+ (r'[^\S\n]+', Text),
1256
+ (r'"', String, 'string_double'),
1257
+ (r'(==|!=|<=|>=|[=+\-*/%^<>.:])', Operator),
1258
+ (r'[;,\[\]{}()]', Punctuation),
1259
+ (words((
1260
+ 'break', 'continue', 'else', 'end', 'for', 'function', 'if',
1261
+ 'in', 'isa', 'then', 'repeat', 'return', 'while'), suffix=r'\b'),
1262
+ Keyword),
1263
+ (words((
1264
+ 'abs', 'acos', 'asin', 'atan', 'ceil', 'char', 'cos', 'floor',
1265
+ 'log', 'round', 'rnd', 'pi', 'sign', 'sin', 'sqrt', 'str', 'tan',
1266
+ 'hasIndex', 'indexOf', 'len', 'val', 'code', 'remove', 'lower',
1267
+ 'upper', 'replace', 'split', 'indexes', 'values', 'join', 'sum',
1268
+ 'sort', 'shuffle', 'push', 'pop', 'pull', 'range',
1269
+ 'print', 'input', 'time', 'wait', 'locals', 'globals', 'outer',
1270
+ 'yield'), suffix=r'\b'),
1271
+ Name.Builtin),
1272
+ (r'(true|false|null)\b', Keyword.Constant),
1273
+ (r'(and|or|not|new)\b', Operator.Word),
1274
+ (r'(self|super|__isa)\b', Name.Builtin.Pseudo),
1275
+ (r'[a-zA-Z_]\w*', Name.Variable)
1276
+ ],
1277
+ 'string_double': [
1278
+ (r'[^"\n]+', String),
1279
+ (r'""', String),
1280
+ (r'"', String, '#pop'),
1281
+ (r'\n', Text, '#pop'), # Stray linefeed also terminates strings.
1282
+ ]
1283
+ }