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