pygments.rb 1.2.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
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.automation
4
3
  ~~~~~~~~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Lexers for automation scripting 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
 
@@ -327,6 +326,7 @@ class AutoItLexer(RegexLexer):
327
326
  include('builtInFunctions'),
328
327
  include('builtInMarcros'),
329
328
  (r'"', String, combined('stringescape', 'dqs')),
329
+ (r"'", String, 'sqs'),
330
330
  include('numbers'),
331
331
  (r'[a-zA-Z_#@$][\w#@$]*', Name),
332
332
  (r'\\|\'', Text),
@@ -368,6 +368,11 @@ class AutoItLexer(RegexLexer):
368
368
  (r'"', String, '#pop'),
369
369
  include('strings')
370
370
  ],
371
+ 'sqs': [
372
+ (r'\'\'|\`([,%`abfnrtv])', String.Escape),
373
+ (r"'", String, '#pop'),
374
+ (r"[^'\n]+", String)
375
+ ],
371
376
  'garbage': [
372
377
  (r'[^\S\n]', Text),
373
378
  ],
@@ -0,0 +1,103 @@
1
+ """
2
+ pygments.lexers.bare
3
+ ~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexer for the BARE schema.
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, words, bygroups
14
+ from pygments.token import Text, Comment, Keyword, Name, Literal
15
+
16
+ __all__ = ['BareLexer']
17
+
18
+
19
+ class BareLexer(RegexLexer):
20
+ """
21
+ For `BARE schema <https://baremessages.org>`_ schema source.
22
+
23
+ .. versionadded:: 2.7
24
+ """
25
+ name = 'BARE'
26
+ filenames = ['*.bare']
27
+ aliases = ['bare']
28
+
29
+ flags = re.MULTILINE | re.UNICODE
30
+
31
+ keywords = [
32
+ 'type',
33
+ 'enum',
34
+ 'u8',
35
+ 'u16',
36
+ 'u32',
37
+ 'u64',
38
+ 'uint',
39
+ 'i8',
40
+ 'i16',
41
+ 'i32',
42
+ 'i64',
43
+ 'int',
44
+ 'f32',
45
+ 'f64',
46
+ 'bool',
47
+ 'void',
48
+ 'data',
49
+ 'string',
50
+ 'optional',
51
+ 'map',
52
+ ]
53
+
54
+ tokens = {
55
+ 'root': [
56
+ (r'(type)(\s+)([A-Z][a-zA-Z0-9]+)(\s+\{)',
57
+ bygroups(Keyword, Text, Name.Class, Text), 'struct'),
58
+ (r'(type)(\s+)([A-Z][a-zA-Z0-9]+)(\s+\()',
59
+ bygroups(Keyword, Text, Name.Class, Text), 'union'),
60
+ (r'(type)(\s+)([A-Z][a-zA-Z0-9]+)(\s+)',
61
+ bygroups(Keyword, Text, Name, Text), 'typedef'),
62
+ (r'(enum)(\s+)([A-Z][a-zA-Z0-9]+)(\s+\{)',
63
+ bygroups(Keyword, Text, Name.Class, Text), 'enum'),
64
+ (r'#.*?$', Comment),
65
+ (r'\s+', Text),
66
+ ],
67
+ 'struct': [
68
+ (r'\{', Text, '#push'),
69
+ (r'\}', Text, '#pop'),
70
+ (r'([a-zA-Z0-9]+)(:\s*)', bygroups(Name.Attribute, Text), 'typedef'),
71
+ (r'\s+', Text),
72
+ ],
73
+ 'union': [
74
+ (r'\)', Text, '#pop'),
75
+ (r'\s*\|\s*', Text),
76
+ (r'[A-Z][a-zA-Z0-9]+', Name.Class),
77
+ (words(keywords), Keyword),
78
+ (r'\s+', Text),
79
+ ],
80
+ 'typedef': [
81
+ (r'\[\]', Text),
82
+ (r'#.*?$', Comment, '#pop'),
83
+ (r'(\[)(\d+)(\])', bygroups(Text, Literal, Text)),
84
+ (r'<|>', Text),
85
+ (r'\(', Text, 'union'),
86
+ (r'(\[)([a-z][a-z-A-Z0-9]+)(\])', bygroups(Text, Keyword, Text)),
87
+ (r'(\[)([A-Z][a-z-A-Z0-9]+)(\])', bygroups(Text, Name.Class, Text)),
88
+ (r'([A-Z][a-z-A-Z0-9]+)', Name.Class),
89
+ (words(keywords), Keyword),
90
+ (r'\n', Text, '#pop'),
91
+ (r'\{', Text, 'struct'),
92
+ (r'\s+', Text),
93
+ (r'\d+', Literal),
94
+ ],
95
+ 'enum': [
96
+ (r'\{', Text, '#push'),
97
+ (r'\}', Text, '#pop'),
98
+ (r'([A-Z][A-Z0-9_]*)(\s*=\s*)(\d+)', bygroups(Name.Attribute, Text, Literal)),
99
+ (r'([A-Z][A-Z0-9_]*)', bygroups(Name.Attribute)),
100
+ (r'#.*?$', Comment),
101
+ (r'\s+', Text),
102
+ ],
103
+ }
@@ -1,22 +1,23 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.basic
4
3
  ~~~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Lexers for BASIC like languages (other than VB.net).
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
 
12
11
  import re
13
12
 
14
13
  from pygments.lexer import RegexLexer, bygroups, default, words, include
15
- from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
16
- Number, Punctuation
14
+ from pygments.token import Comment, Error, Keyword, Name, Number, \
15
+ Punctuation, Operator, String, Text, Whitespace
16
+ from pygments.lexers import _vbscript_builtins
17
+
17
18
 
18
19
  __all__ = ['BlitzBasicLexer', 'BlitzMaxLexer', 'MonkeyLexer', 'CbmBasicV2Lexer',
19
- 'QBasicLexer']
20
+ 'QBasicLexer', 'VBScriptLexer', 'BBCBasicLexer']
20
21
 
21
22
 
22
23
  class BlitzMaxLexer(RegexLexer):
@@ -350,10 +351,10 @@ class CbmBasicV2Lexer(RegexLexer):
350
351
  ]
351
352
  }
352
353
 
353
- def analyse_text(self, text):
354
+ def analyse_text(text):
354
355
  # if it starts with a line number, it shouldn't be a "modern" Basic
355
356
  # like VB.net
356
- if re.match(r'\d+', text):
357
+ if re.match(r'^\d+', text):
357
358
  return 0.2
358
359
 
359
360
 
@@ -498,3 +499,163 @@ class QBasicLexer(RegexLexer):
498
499
  def analyse_text(text):
499
500
  if '$DYNAMIC' in text or '$STATIC' in text:
500
501
  return 0.9
502
+
503
+
504
+ class VBScriptLexer(RegexLexer):
505
+ """
506
+ VBScript is scripting language that is modeled on Visual Basic.
507
+
508
+ .. versionadded:: 2.4
509
+ """
510
+ name = 'VBScript'
511
+ aliases = ['vbscript']
512
+ filenames = ['*.vbs', '*.VBS']
513
+ flags = re.IGNORECASE
514
+
515
+ tokens = {
516
+ 'root': [
517
+ (r"'[^\n]*", Comment.Single),
518
+ (r'\s+', Whitespace),
519
+ ('"', String.Double, 'string'),
520
+ ('&h[0-9a-f]+', Number.Hex),
521
+ # Float variant 1, for example: 1., 1.e2, 1.2e3
522
+ (r'[0-9]+\.[0-9]*(e[+-]?[0-9]+)?', Number.Float),
523
+ (r'\.[0-9]+(e[+-]?[0-9]+)?', Number.Float), # Float variant 2, for example: .1, .1e2
524
+ (r'[0-9]+e[+-]?[0-9]+', Number.Float), # Float variant 3, for example: 123e45
525
+ (r'[0-9]+', Number.Integer),
526
+ ('#.+#', String), # date or time value
527
+ (r'(dim)(\s+)([a-z_][a-z0-9_]*)',
528
+ bygroups(Keyword.Declaration, Whitespace, Name.Variable), 'dim_more'),
529
+ (r'(function|sub)(\s+)([a-z_][a-z0-9_]*)',
530
+ bygroups(Keyword.Declaration, Whitespace, Name.Function)),
531
+ (r'(class)(\s+)([a-z_][a-z0-9_]*)',
532
+ bygroups(Keyword.Declaration, Whitespace, Name.Class)),
533
+ (r'(const)(\s+)([a-z_][a-z0-9_]*)',
534
+ bygroups(Keyword.Declaration, Whitespace, Name.Constant)),
535
+ (r'(end)(\s+)(class|function|if|property|sub|with)',
536
+ bygroups(Keyword, Whitespace, Keyword)),
537
+ (r'(on)(\s+)(error)(\s+)(goto)(\s+)(0)',
538
+ bygroups(Keyword, Whitespace, Keyword, Whitespace, Keyword, Whitespace, Number.Integer)),
539
+ (r'(on)(\s+)(error)(\s+)(resume)(\s+)(next)',
540
+ bygroups(Keyword, Whitespace, Keyword, Whitespace, Keyword, Whitespace, Keyword)),
541
+ (r'(option)(\s+)(explicit)', bygroups(Keyword, Whitespace, Keyword)),
542
+ (r'(property)(\s+)(get|let|set)(\s+)([a-z_][a-z0-9_]*)',
543
+ bygroups(Keyword.Declaration, Whitespace, Keyword.Declaration, Whitespace, Name.Property)),
544
+ (r'rem\s.*[^\n]*', Comment.Single),
545
+ (words(_vbscript_builtins.KEYWORDS, suffix=r'\b'), Keyword),
546
+ (words(_vbscript_builtins.OPERATORS), Operator),
547
+ (words(_vbscript_builtins.OPERATOR_WORDS, suffix=r'\b'), Operator.Word),
548
+ (words(_vbscript_builtins.BUILTIN_CONSTANTS, suffix=r'\b'), Name.Constant),
549
+ (words(_vbscript_builtins.BUILTIN_FUNCTIONS, suffix=r'\b'), Name.Builtin),
550
+ (words(_vbscript_builtins.BUILTIN_VARIABLES, suffix=r'\b'), Name.Builtin),
551
+ (r'[a-z_][a-z0-9_]*', Name),
552
+ (r'\b_\n', Operator),
553
+ (words(r'(),.:'), Punctuation),
554
+ (r'.+(\n)?', Error)
555
+ ],
556
+ 'dim_more': [
557
+ (r'(\s*)(,)(\s*)([a-z_][a-z0-9]*)',
558
+ bygroups(Whitespace, Punctuation, Whitespace, Name.Variable)),
559
+ default('#pop'),
560
+ ],
561
+ 'string': [
562
+ (r'[^"\n]+', String.Double),
563
+ (r'\"\"', String.Double),
564
+ (r'"', String.Double, '#pop'),
565
+ (r'\n', Error, '#pop'), # Unterminated string
566
+ ],
567
+ }
568
+
569
+
570
+ class BBCBasicLexer(RegexLexer):
571
+ """
572
+ BBC Basic was supplied on the BBC Micro, and later Acorn RISC OS.
573
+ It is also used by BBC Basic For Windows.
574
+
575
+ .. versionadded:: 2.4
576
+ """
577
+ base_keywords = ['OTHERWISE', 'AND', 'DIV', 'EOR', 'MOD', 'OR', 'ERROR',
578
+ 'LINE', 'OFF', 'STEP', 'SPC', 'TAB', 'ELSE', 'THEN',
579
+ 'OPENIN', 'PTR', 'PAGE', 'TIME', 'LOMEM', 'HIMEM', 'ABS',
580
+ 'ACS', 'ADVAL', 'ASC', 'ASN', 'ATN', 'BGET', 'COS', 'COUNT',
581
+ 'DEG', 'ERL', 'ERR', 'EVAL', 'EXP', 'EXT', 'FALSE', 'FN',
582
+ 'GET', 'INKEY', 'INSTR', 'INT', 'LEN', 'LN', 'LOG', 'NOT',
583
+ 'OPENUP', 'OPENOUT', 'PI', 'POINT', 'POS', 'RAD', 'RND',
584
+ 'SGN', 'SIN', 'SQR', 'TAN', 'TO', 'TRUE', 'USR', 'VAL',
585
+ 'VPOS', 'CHR$', 'GET$', 'INKEY$', 'LEFT$', 'MID$',
586
+ 'RIGHT$', 'STR$', 'STRING$', 'EOF', 'PTR', 'PAGE', 'TIME',
587
+ 'LOMEM', 'HIMEM', 'SOUND', 'BPUT', 'CALL', 'CHAIN', 'CLEAR',
588
+ 'CLOSE', 'CLG', 'CLS', 'DATA', 'DEF', 'DIM', 'DRAW', 'END',
589
+ 'ENDPROC', 'ENVELOPE', 'FOR', 'GOSUB', 'GOTO', 'GCOL', 'IF',
590
+ 'INPUT', 'LET', 'LOCAL', 'MODE', 'MOVE', 'NEXT', 'ON',
591
+ 'VDU', 'PLOT', 'PRINT', 'PROC', 'READ', 'REM', 'REPEAT',
592
+ 'REPORT', 'RESTORE', 'RETURN', 'RUN', 'STOP', 'COLOUR',
593
+ 'TRACE', 'UNTIL', 'WIDTH', 'OSCLI']
594
+
595
+ basic5_keywords = ['WHEN', 'OF', 'ENDCASE', 'ENDIF', 'ENDWHILE', 'CASE',
596
+ 'CIRCLE', 'FILL', 'ORIGIN', 'POINT', 'RECTANGLE', 'SWAP',
597
+ 'WHILE', 'WAIT', 'MOUSE', 'QUIT', 'SYS', 'INSTALL',
598
+ 'LIBRARY', 'TINT', 'ELLIPSE', 'BEATS', 'TEMPO', 'VOICES',
599
+ 'VOICE', 'STEREO', 'OVERLAY', 'APPEND', 'AUTO', 'CRUNCH',
600
+ 'DELETE', 'EDIT', 'HELP', 'LIST', 'LOAD', 'LVAR', 'NEW',
601
+ 'OLD', 'RENUMBER', 'SAVE', 'TEXTLOAD', 'TEXTSAVE',
602
+ 'TWIN', 'TWINO', 'INSTALL', 'SUM', 'BEAT']
603
+
604
+
605
+ name = 'BBC Basic'
606
+ aliases = ['bbcbasic']
607
+ filenames = ['*.bbc']
608
+
609
+ tokens = {
610
+ 'root': [
611
+ (r"[0-9]+", Name.Label),
612
+ (r"(\*)([^\n]*)",
613
+ bygroups(Keyword.Pseudo, Comment.Special)),
614
+ default('code'),
615
+ ],
616
+
617
+ 'code': [
618
+ (r"(REM)([^\n]*)",
619
+ bygroups(Keyword.Declaration, Comment.Single)),
620
+ (r'\n', Whitespace, 'root'),
621
+ (r'\s+', Whitespace),
622
+ (r':', Comment.Preproc),
623
+
624
+ # Some special cases to make functions come out nicer
625
+ (r'(DEF)(\s*)(FN|PROC)([A-Za-z_@][\w@]*)',
626
+ bygroups(Keyword.Declaration, Whitespace, Keyword.Declaration, Name.Function)),
627
+ (r'(FN|PROC)([A-Za-z_@][\w@]*)',
628
+ bygroups(Keyword, Name.Function)),
629
+
630
+ (r'(GOTO|GOSUB|THEN|RESTORE)(\s*)(\d+)',
631
+ bygroups(Keyword, Whitespace, Name.Label)),
632
+
633
+ (r'(TRUE|FALSE)', Keyword.Constant),
634
+ (r'(PAGE|LOMEM|HIMEM|TIME|WIDTH|ERL|ERR|REPORT\$|POS|VPOS|VOICES)', Keyword.Pseudo),
635
+
636
+ (words(base_keywords), Keyword),
637
+ (words(basic5_keywords), Keyword),
638
+
639
+ ('"', String.Double, 'string'),
640
+
641
+ ('%[01]{1,32}', Number.Bin),
642
+ ('&[0-9a-f]{1,8}', Number.Hex),
643
+
644
+ (r'[+-]?[0-9]+\.[0-9]*(E[+-]?[0-9]+)?', Number.Float),
645
+ (r'[+-]?\.[0-9]+(E[+-]?[0-9]+)?', Number.Float),
646
+ (r'[+-]?[0-9]+E[+-]?[0-9]+', Number.Float),
647
+ (r'[+-]?\d+', Number.Integer),
648
+
649
+ (r'([A-Za-z_@][\w@]*[%$]?)', Name.Variable),
650
+ (r'([+\-]=|[$!|?+\-*/%^=><();]|>=|<=|<>|<<|>>|>>>|,)', Operator),
651
+ ],
652
+ 'string': [
653
+ (r'[^"\n]+', String.Double),
654
+ (r'"', String.Double, '#pop'),
655
+ (r'\n', Error, 'root'), # Unterminated string
656
+ ],
657
+ }
658
+
659
+ def analyse_text(text):
660
+ if text.startswith('10REM >') or text.startswith('REM >'):
661
+ return 0.9
@@ -1,11 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers.bibtex
4
3
  ~~~~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Lexers for BibTeX bibliography data and styles
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
 
@@ -33,7 +32,7 @@ class BibTeXLexer(ExtendedRegexLexer):
33
32
  flags = re.IGNORECASE
34
33
 
35
34
  ALLOWED_CHARS = r'@!$&*+\-./:;<>?\[\\\]^`|~'
36
- IDENTIFIER = '[{0}][{1}]*'.format('a-z_' + ALLOWED_CHARS, r'\w' + ALLOWED_CHARS)
35
+ IDENTIFIER = '[{}][{}]*'.format('a-z_' + ALLOWED_CHARS, r'\w' + ALLOWED_CHARS)
37
36
 
38
37
  def open_brace_callback(self, match, ctx):
39
38
  opening_brace = match.group()
@@ -101,12 +100,12 @@ class BibTeXLexer(ExtendedRegexLexer):
101
100
  'quoted-string': [
102
101
  (r'\{', String, 'braced-string'),
103
102
  ('"', String, '#pop'),
104
- ('[^\{\"]+', String),
103
+ (r'[^\{\"]+', String),
105
104
  ],
106
105
  'braced-string': [
107
106
  (r'\{', String, '#push'),
108
107
  (r'\}', String, '#pop'),
109
- ('[^\{\}]+', String),
108
+ (r'[^\{\}]+', String),
110
109
  ],
111
110
  'whitespace': [
112
111
  (r'\s+', Text),
@@ -154,7 +153,7 @@ class BSTLexer(RegexLexer):
154
153
  default('#pop'),
155
154
  ],
156
155
  'whitespace': [
157
- ('\s+', Text),
156
+ (r'\s+', Text),
158
157
  ('%.*?$', Comment.SingleLine),
159
158
  ],
160
159
  }
@@ -0,0 +1,101 @@
1
+ """
2
+ pygments.lexers.boa
3
+ ~~~~~~~~~~~~~~~~~~~
4
+
5
+ Lexers for the Boa language.
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, words
14
+ from pygments.token import String, Comment, Keyword, Name, Number, Text, \
15
+ Operator, Punctuation
16
+
17
+ __all__ = ['BoaLexer']
18
+
19
+ line_re = re.compile('.*?\n')
20
+
21
+
22
+ class BoaLexer(RegexLexer):
23
+ """
24
+ Lexer for the `Boa <http://boa.cs.iastate.edu/docs/>`_ language.
25
+
26
+ .. versionadded:: 2.4
27
+ """
28
+ name = 'Boa'
29
+ aliases = ['boa']
30
+ filenames = ['*.boa']
31
+
32
+ reserved = words(
33
+ ('input', 'output', 'of', 'weight', 'before', 'after', 'stop',
34
+ 'ifall', 'foreach', 'exists', 'function', 'break', 'switch', 'case',
35
+ 'visitor', 'default', 'return', 'visit', 'while', 'if', 'else'),
36
+ suffix=r'\b', prefix=r'\b')
37
+ keywords = words(
38
+ ('bottom', 'collection', 'maximum', 'mean', 'minimum', 'set', 'sum',
39
+ 'top', 'string', 'int', 'bool', 'float', 'time', 'false', 'true',
40
+ 'array', 'map', 'stack', 'enum', 'type'), suffix=r'\b', prefix=r'\b')
41
+ classes = words(
42
+ ('Project', 'ForgeKind', 'CodeRepository', 'Revision', 'RepositoryKind',
43
+ 'ChangedFile', 'FileKind', 'ASTRoot', 'Namespace', 'Declaration', 'Type',
44
+ 'Method', 'Variable', 'Statement', 'Expression', 'Modifier',
45
+ 'StatementKind', 'ExpressionKind', 'ModifierKind', 'Visibility',
46
+ 'TypeKind', 'Person', 'ChangeKind'),
47
+ suffix=r'\b', prefix=r'\b')
48
+ operators = ('->', ':=', ':', '=', '<<', '!', '++', '||',
49
+ '&&', '+', '-', '*', ">", "<")
50
+ string_sep = ('`', '\"')
51
+ built_in_functions = words(
52
+ (
53
+ # Array functions
54
+ 'new', 'sort',
55
+ # Date & Time functions
56
+ 'yearof', 'dayofyear', 'hourof', 'minuteof', 'secondof', 'now',
57
+ 'addday', 'addmonth', 'addweek', 'addyear', 'dayofmonth', 'dayofweek',
58
+ 'dayofyear', 'formattime', 'trunctoday', 'trunctohour', 'trunctominute',
59
+ 'trunctomonth', 'trunctosecond', 'trunctoyear',
60
+ # Map functions
61
+ 'clear', 'haskey', 'keys', 'lookup', 'remove', 'values',
62
+ # Math functions
63
+ 'abs', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh',
64
+ 'ceil', 'cos', 'cosh', 'exp', 'floor', 'highbit', 'isfinite', 'isinf',
65
+ 'isnan', 'isnormal', 'log', 'log10', 'max', 'min', 'nrand', 'pow',
66
+ 'rand', 'round', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc',
67
+ # Other functions
68
+ 'def', 'hash', 'len',
69
+ # Set functions
70
+ 'add', 'contains', 'remove',
71
+ # String functions
72
+ 'format', 'lowercase', 'match', 'matchposns', 'matchstrs', 'regex',
73
+ 'split', 'splitall', 'splitn', 'strfind', 'strreplace', 'strrfind',
74
+ 'substring', 'trim', 'uppercase',
75
+ # Type Conversion functions
76
+ 'bool', 'float', 'int', 'string', 'time',
77
+ # Domain-Specific functions
78
+ 'getast', 'getsnapshot', 'hasfiletype', 'isfixingrevision', 'iskind',
79
+ 'isliteral',
80
+ ),
81
+ prefix=r'\b',
82
+ suffix=r'\(')
83
+
84
+ tokens = {
85
+ 'root': [
86
+ (r'#.*?$', Comment.Single),
87
+ (r'/\*.*?\*/', Comment.Multiline),
88
+ (reserved, Keyword.Reserved),
89
+ (built_in_functions, Name.Function),
90
+ (keywords, Keyword.Type),
91
+ (classes, Name.Classes),
92
+ (words(operators), Operator),
93
+ (r'[][(),;{}\\.]', Punctuation),
94
+ (r'"(\\\\|\\[^\\]|[^"\\])*"', String.Double),
95
+ (r"`(\\\\|\\[^\\]|[^`\\])*`", String.Backtick),
96
+ (words(string_sep), String.Delimiter),
97
+ (r'[a-zA-Z_]+', Name.Variable),
98
+ (r'[0-9]+', Number.Integer),
99
+ (r'\s+?', Text), # Whitespace
100
+ ]
101
+ }