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._lasso_builtins
4
3
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Built-in Lasso types, traits, methods, and members.
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
 
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers._lua_builtins
4
3
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -9,12 +8,10 @@
9
8
 
10
9
  Do not edit the MODULES dict by hand.
11
10
 
12
- :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
11
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
13
12
  :license: BSD, see LICENSE for details.
14
13
  """
15
14
 
16
- from __future__ import print_function
17
-
18
15
  MODULES = {'basic': ('_G',
19
16
  '_VERSION',
20
17
  'assert',
@@ -288,7 +285,7 @@ if __name__ == '__main__': # pragma: no cover
288
285
  print('>> %s' % full_function_name)
289
286
  m = get_function_module(full_function_name)
290
287
  modules.setdefault(m, []).append(full_function_name)
291
- modules = {k: tuple(v) for k, v in modules.iteritems()}
288
+ modules = {k: tuple(v) for k, v in modules.items()}
292
289
 
293
290
  regenerate(__file__, modules)
294
291
 
@@ -1,4 +1,3 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers._mapping
4
3
  ~~~~~~~~~~~~~~~~~~~~~~~~
@@ -13,10 +12,9 @@
13
12
  :license: BSD, see LICENSE for details.
14
13
  """
15
14
 
16
- from __future__ import print_function
17
-
18
15
  LEXERS = {
19
16
  'ABAPLexer': ('pygments.lexers.business', 'ABAP', ('abap',), ('*.abap', '*.ABAP'), ('text/x-abap',)),
17
+ 'AMDGPULexer': ('pygments.lexers.amdgpu', 'AMDGPU', ('amdgpu',), ('*.isa',), ()),
20
18
  'APLLexer': ('pygments.lexers.apl', 'APL', ('apl',), ('*.apl',), ()),
21
19
  'AbnfLexer': ('pygments.lexers.grammar_notation', 'ABNF', ('abnf',), ('*.abnf',), ('text/x-abnf',)),
22
20
  'ActionScript3Lexer': ('pygments.lexers.actionscript', 'ActionScript 3', ('as3', 'actionscript3'), ('*.as',), ('application/x-actionscript3', 'text/x-actionscript3', 'text/actionscript3')),
@@ -42,17 +40,20 @@ LEXERS = {
42
40
  'ApacheConfLexer': ('pygments.lexers.configs', 'ApacheConf', ('apacheconf', 'aconf', 'apache'), ('.htaccess', 'apache.conf', 'apache2.conf'), ('text/x-apacheconf',)),
43
41
  'AppleScriptLexer': ('pygments.lexers.scripting', 'AppleScript', ('applescript',), ('*.applescript',), ()),
44
42
  'ArduinoLexer': ('pygments.lexers.c_like', 'Arduino', ('arduino',), ('*.ino',), ('text/x-arduino',)),
43
+ 'ArrowLexer': ('pygments.lexers.arrow', 'Arrow', ('arrow',), ('*.arw',), ()),
45
44
  'AspectJLexer': ('pygments.lexers.jvm', 'AspectJ', ('aspectj',), ('*.aj',), ('text/x-aspectj',)),
46
45
  'AsymptoteLexer': ('pygments.lexers.graphics', 'Asymptote', ('asy', 'asymptote'), ('*.asy',), ('text/x-asymptote',)),
47
- 'AugeasLexer': ('pygments.lexers.github', 'Augeas', ('augeas',), ('*.aug',), ()),
46
+ 'AugeasLexer': ('pygments.lexers.configs', 'Augeas', ('augeas',), ('*.aug',), ()),
48
47
  'AutoItLexer': ('pygments.lexers.automation', 'AutoIt', ('autoit',), ('*.au3',), ('text/x-autoit',)),
49
48
  'AutohotkeyLexer': ('pygments.lexers.automation', 'autohotkey', ('ahk', 'autohotkey'), ('*.ahk', '*.ahkl'), ('text/x-autohotkey',)),
50
49
  'AwkLexer': ('pygments.lexers.textedit', 'Awk', ('awk', 'gawk', 'mawk', 'nawk'), ('*.awk',), ('application/x-awk',)),
50
+ 'BBCBasicLexer': ('pygments.lexers.basic', 'BBC Basic', ('bbcbasic',), ('*.bbc',), ()),
51
51
  'BBCodeLexer': ('pygments.lexers.markup', 'BBCode', ('bbcode',), (), ('text/x-bbcode',)),
52
52
  'BCLexer': ('pygments.lexers.algebra', 'BC', ('bc',), ('*.bc',), ()),
53
53
  'BSTLexer': ('pygments.lexers.bibtex', 'BST', ('bst', 'bst-pybtex'), ('*.bst',), ()),
54
+ 'BareLexer': ('pygments.lexers.bare', 'BARE', ('bare',), ('*.bare',), ()),
54
55
  'BaseMakefileLexer': ('pygments.lexers.make', 'Base Makefile', ('basemake',), (), ()),
55
- 'BashLexer': ('pygments.lexers.shell', 'Bash', ('bash', 'sh', 'ksh', 'zsh', 'shell'), ('*.sh', '*.ksh', '*.bash', '*.ebuild', '*.eclass', '*.exheres-0', '*.exlib', '*.zsh', '.bashrc', 'bashrc', '.bash_*', 'bash_*', 'zshrc', '.zshrc', 'PKGBUILD'), ('application/x-sh', 'application/x-shellscript')),
56
+ 'BashLexer': ('pygments.lexers.shell', 'Bash', ('bash', 'sh', 'ksh', 'zsh', 'shell'), ('*.sh', '*.ksh', '*.bash', '*.ebuild', '*.eclass', '*.exheres-0', '*.exlib', '*.zsh', '.bashrc', 'bashrc', '.bash_*', 'bash_*', 'zshrc', '.zshrc', 'PKGBUILD'), ('application/x-sh', 'application/x-shellscript', 'text/x-shellscript')),
56
57
  'BashSessionLexer': ('pygments.lexers.shell', 'Bash Session', ('console', 'shell-session'), ('*.sh-session', '*.shell-session'), ('application/x-shell-session', 'application/x-sh-session')),
57
58
  'BatchLexer': ('pygments.lexers.shell', 'Batchfile', ('bat', 'batch', 'dosbatch', 'winbatch'), ('*.bat', '*.cmd'), ('application/x-dos-batch',)),
58
59
  'BefungeLexer': ('pygments.lexers.esoteric', 'Befunge', ('befunge',), ('*.befunge',), ('application/x-befunge',)),
@@ -60,10 +61,10 @@ LEXERS = {
60
61
  'BlitzBasicLexer': ('pygments.lexers.basic', 'BlitzBasic', ('blitzbasic', 'b3d', 'bplus'), ('*.bb', '*.decls'), ('text/x-bb',)),
61
62
  'BlitzMaxLexer': ('pygments.lexers.basic', 'BlitzMax', ('blitzmax', 'bmax'), ('*.bmx',), ('text/x-bmx',)),
62
63
  'BnfLexer': ('pygments.lexers.grammar_notation', 'BNF', ('bnf',), ('*.bnf',), ('text/x-bnf',)),
64
+ 'BoaLexer': ('pygments.lexers.boa', 'Boa', ('boa',), ('*.boa',), ()),
63
65
  'BooLexer': ('pygments.lexers.dotnet', 'Boo', ('boo',), ('*.boo',), ('text/x-boo',)),
64
66
  'BoogieLexer': ('pygments.lexers.verification', 'Boogie', ('boogie',), ('*.bpl',), ()),
65
67
  'BrainfuckLexer': ('pygments.lexers.esoteric', 'Brainfuck', ('brainfuck', 'bf'), ('*.bf', '*.b'), ('application/x-brainfuck',)),
66
- 'BroLexer': ('pygments.lexers.dsls', 'Bro', ('bro',), ('*.bro',), ()),
67
68
  'BugsLexer': ('pygments.lexers.modeling', 'BUGS', ('bugs', 'winbugs', 'openbugs'), ('*.bug',), ()),
68
69
  'CAmkESLexer': ('pygments.lexers.esoteric', 'CAmkES', ('camkes', 'idl4'), ('*.camkes', '*.idl4'), ()),
69
70
  'CLexer': ('pygments.lexers.c_cpp', 'C', ('c',), ('*.c', '*.h', '*.idc'), ('text/x-chdr', 'text/x-csrc')),
@@ -77,10 +78,12 @@ LEXERS = {
77
78
  'CapDLLexer': ('pygments.lexers.esoteric', 'CapDL', ('capdl',), ('*.cdl',), ()),
78
79
  'CapnProtoLexer': ('pygments.lexers.capnproto', "Cap'n Proto", ('capnp',), ('*.capnp',), ()),
79
80
  'CbmBasicV2Lexer': ('pygments.lexers.basic', 'CBM BASIC V2', ('cbmbas',), ('*.bas',), ()),
81
+ 'CddlLexer': ('pygments.lexers.cddl', 'CDDL', ('cddl',), ('*.cddl',), ('text/x-cddl',)),
80
82
  'CeylonLexer': ('pygments.lexers.jvm', 'Ceylon', ('ceylon',), ('*.ceylon',), ('text/x-ceylon',)),
81
83
  'Cfengine3Lexer': ('pygments.lexers.configs', 'CFEngine3', ('cfengine3', 'cf3'), ('*.cf',), ()),
82
84
  'ChaiscriptLexer': ('pygments.lexers.scripting', 'ChaiScript', ('chai', 'chaiscript'), ('*.chai',), ('text/x-chaiscript', 'application/x-chaiscript')),
83
85
  'ChapelLexer': ('pygments.lexers.chapel', 'Chapel', ('chapel', 'chpl'), ('*.chpl',), ()),
86
+ 'CharmciLexer': ('pygments.lexers.c_like', 'Charmci', ('charmci',), ('*.ci',), ()),
84
87
  'CheetahHtmlLexer': ('pygments.lexers.templates', 'HTML+Cheetah', ('html+cheetah', 'html+spitfire', 'htmlcheetah'), (), ('text/html+cheetah', 'text/html+spitfire')),
85
88
  'CheetahJavascriptLexer': ('pygments.lexers.templates', 'JavaScript+Cheetah', ('js+cheetah', 'javascript+cheetah', 'js+spitfire', 'javascript+spitfire'), (), ('application/x-javascript+cheetah', 'text/x-javascript+cheetah', 'text/javascript+cheetah', 'application/x-javascript+spitfire', 'text/x-javascript+spitfire', 'text/javascript+spitfire')),
86
89
  'CheetahLexer': ('pygments.lexers.templates', 'Cheetah', ('cheetah', 'spitfire'), ('*.tmpl', '*.spt'), ('application/x-cheetah', 'application/x-spitfire')),
@@ -106,7 +109,7 @@ LEXERS = {
106
109
  'CryptolLexer': ('pygments.lexers.haskell', 'Cryptol', ('cryptol', 'cry'), ('*.cry',), ('text/x-cryptol',)),
107
110
  'CrystalLexer': ('pygments.lexers.crystal', 'Crystal', ('cr', 'crystal'), ('*.cr',), ('text/x-crystal',)),
108
111
  'CsoundDocumentLexer': ('pygments.lexers.csound', 'Csound Document', ('csound-document', 'csound-csd'), ('*.csd',), ()),
109
- 'CsoundOrchestraLexer': ('pygments.lexers.csound', 'Csound Orchestra', ('csound', 'csound-orc'), ('*.orc',), ()),
112
+ 'CsoundOrchestraLexer': ('pygments.lexers.csound', 'Csound Orchestra', ('csound', 'csound-orc'), ('*.orc', '*.udo'), ()),
110
113
  'CsoundScoreLexer': ('pygments.lexers.csound', 'Csound Score', ('csound-score', 'csound-sco'), ('*.sco',), ()),
111
114
  'CssDjangoLexer': ('pygments.lexers.templates', 'CSS+Django/Jinja', ('css+django', 'css+jinja'), (), ('text/css+django', 'text/css+jinja')),
112
115
  'CssErbLexer': ('pygments.lexers.templates', 'CSS+Ruby', ('css+erb', 'css+ruby'), (), ('text/css+ruby',)),
@@ -121,9 +124,10 @@ LEXERS = {
121
124
  'DObjdumpLexer': ('pygments.lexers.asm', 'd-objdump', ('d-objdump',), ('*.d-objdump',), ('text/x-d-objdump',)),
122
125
  'DarcsPatchLexer': ('pygments.lexers.diff', 'Darcs Patch', ('dpatch',), ('*.dpatch', '*.darcspatch'), ()),
123
126
  'DartLexer': ('pygments.lexers.javascript', 'Dart', ('dart',), ('*.dart',), ('text/x-dart',)),
124
- 'Dasm16Lexer': ('pygments.lexers.github', 'dasm16', ('DASM16',), ('*.dasm16', '*.dasm'), ('text/x-dasm16',)),
127
+ 'Dasm16Lexer': ('pygments.lexers.asm', 'DASM16', ('dasm16',), ('*.dasm16', '*.dasm'), ('text/x-dasm16',)),
125
128
  'DebianControlLexer': ('pygments.lexers.installers', 'Debian Control file', ('control', 'debcontrol'), ('control',), ()),
126
129
  'DelphiLexer': ('pygments.lexers.pascal', 'Delphi', ('delphi', 'pas', 'pascal', 'objectpascal'), ('*.pas', '*.dpr'), ('text/x-pascal',)),
130
+ 'DevicetreeLexer': ('pygments.lexers.devicetree', 'Devicetree', ('devicetree', 'dts'), ('*.dts', '*.dtsi'), ('text/x-c',)),
127
131
  'DgLexer': ('pygments.lexers.python', 'dg', ('dg',), ('*.dg',), ('text/x-dg',)),
128
132
  'DiffLexer': ('pygments.lexers.diff', 'Diff', ('diff', 'udiff'), ('*.diff', '*.patch'), ('text/x-diff', 'text/x-patch')),
129
133
  'DjangoLexer': ('pygments.lexers.templates', 'Django/Jinja', ('django', 'jinja'), (), ('application/x-django-templating', 'application/x-jinja')),
@@ -140,28 +144,36 @@ LEXERS = {
140
144
  'EbnfLexer': ('pygments.lexers.parsers', 'EBNF', ('ebnf',), ('*.ebnf',), ('text/x-ebnf',)),
141
145
  'EiffelLexer': ('pygments.lexers.eiffel', 'Eiffel', ('eiffel',), ('*.e',), ('text/x-eiffel',)),
142
146
  'ElixirConsoleLexer': ('pygments.lexers.erlang', 'Elixir iex session', ('iex',), (), ('text/x-elixir-shellsession',)),
143
- 'ElixirLexer': ('pygments.lexers.erlang', 'Elixir', ('elixir', 'ex', 'exs'), ('*.ex', '*.exs'), ('text/x-elixir',)),
147
+ 'ElixirLexer': ('pygments.lexers.erlang', 'Elixir', ('elixir', 'ex', 'exs'), ('*.ex', '*.eex', '*.exs'), ('text/x-elixir',)),
144
148
  'ElmLexer': ('pygments.lexers.elm', 'Elm', ('elm',), ('*.elm',), ('text/x-elm',)),
145
149
  'EmacsLispLexer': ('pygments.lexers.lisp', 'EmacsLisp', ('emacs', 'elisp', 'emacs-lisp'), ('*.el',), ('text/x-elisp', 'application/x-elisp')),
150
+ 'EmailLexer': ('pygments.lexers.email', 'E-mail', ('email', 'eml'), ('*.eml',), ('message/rfc822',)),
146
151
  'ErbLexer': ('pygments.lexers.templates', 'ERB', ('erb',), (), ('application/x-ruby-templating',)),
147
152
  'ErlangLexer': ('pygments.lexers.erlang', 'Erlang', ('erlang',), ('*.erl', '*.hrl', '*.es', '*.escript'), ('text/x-erlang',)),
148
153
  'ErlangShellLexer': ('pygments.lexers.erlang', 'Erlang erl session', ('erl',), ('*.erl-sh',), ('text/x-erl-shellsession',)),
149
154
  'EvoqueHtmlLexer': ('pygments.lexers.templates', 'HTML+Evoque', ('html+evoque',), ('*.html',), ('text/html+evoque',)),
150
155
  'EvoqueLexer': ('pygments.lexers.templates', 'Evoque', ('evoque',), ('*.evoque',), ('application/x-evoque',)),
151
156
  'EvoqueXmlLexer': ('pygments.lexers.templates', 'XML+Evoque', ('xml+evoque',), ('*.xml',), ('application/xml+evoque',)),
157
+ 'ExeclineLexer': ('pygments.lexers.shell', 'execline', ('execline',), ('*.exec',), ()),
152
158
  'EzhilLexer': ('pygments.lexers.ezhil', 'Ezhil', ('ezhil',), ('*.n',), ('text/x-ezhil',)),
153
- 'FSharpLexer': ('pygments.lexers.dotnet', 'FSharp', ('fsharp',), ('*.fs', '*.fsi'), ('text/x-fsharp',)),
159
+ 'FSharpLexer': ('pygments.lexers.dotnet', 'F#', ('fsharp', 'f#'), ('*.fs', '*.fsi'), ('text/x-fsharp',)),
160
+ 'FStarLexer': ('pygments.lexers.ml', 'FStar', ('fstar',), ('*.fst', '*.fsti'), ('text/x-fstar',)),
154
161
  'FactorLexer': ('pygments.lexers.factor', 'Factor', ('factor',), ('*.factor',), ('text/x-factor',)),
155
162
  'FancyLexer': ('pygments.lexers.ruby', 'Fancy', ('fancy', 'fy'), ('*.fy', '*.fancypack'), ('text/x-fancysrc',)),
156
163
  'FantomLexer': ('pygments.lexers.fantom', 'Fantom', ('fan',), ('*.fan',), ('application/x-fantom',)),
157
164
  'FelixLexer': ('pygments.lexers.felix', 'Felix', ('felix', 'flx'), ('*.flx', '*.flxh'), ('text/x-felix',)),
165
+ 'FennelLexer': ('pygments.lexers.lisp', 'Fennel', ('fennel', 'fnl'), ('*.fnl',), ()),
158
166
  'FishShellLexer': ('pygments.lexers.shell', 'Fish', ('fish', 'fishshell'), ('*.fish', '*.load'), ('application/x-fish',)),
159
167
  'FlatlineLexer': ('pygments.lexers.dsls', 'Flatline', ('flatline',), (), ('text/x-flatline',)),
168
+ 'FloScriptLexer': ('pygments.lexers.floscript', 'FloScript', ('floscript', 'flo'), ('*.flo',), ()),
160
169
  'ForthLexer': ('pygments.lexers.forth', 'Forth', ('forth',), ('*.frt', '*.fs'), ('application/x-forth',)),
161
170
  'FortranFixedLexer': ('pygments.lexers.fortran', 'FortranFixed', ('fortranfixed',), ('*.f', '*.F'), ()),
162
171
  'FortranLexer': ('pygments.lexers.fortran', 'Fortran', ('fortran',), ('*.f03', '*.f90', '*.F03', '*.F90'), ('text/x-fortran',)),
163
172
  'FoxProLexer': ('pygments.lexers.foxpro', 'FoxPro', ('foxpro', 'vfp', 'clipper', 'xbase'), ('*.PRG', '*.prg'), ()),
173
+ 'FreeFemLexer': ('pygments.lexers.freefem', 'Freefem', ('freefem',), ('*.edp',), ('text/x-freefem',)),
174
+ 'FutharkLexer': ('pygments.lexers.futhark', 'Futhark', ('futhark',), ('*.fut',), ('text/x-futhark',)),
164
175
  'GAPLexer': ('pygments.lexers.algebra', 'GAP', ('gap',), ('*.g', '*.gd', '*.gi', '*.gap'), ()),
176
+ 'GDScriptLexer': ('pygments.lexers.gdscript', 'GDScript', ('gdscript', 'gd'), ('*.gd',), ('text/x-gdscript', 'application/x-gdscript')),
165
177
  'GLShaderLexer': ('pygments.lexers.graphics', 'GLSL', ('glsl',), ('*.vert', '*.frag', '*.geo'), ('text/x-glslsrc',)),
166
178
  'GasLexer': ('pygments.lexers.asm', 'GAS', ('gas', 'asm'), ('*.s', '*.S'), ('text/x-gas',)),
167
179
  'GenshiLexer': ('pygments.lexers.templates', 'Genshi', ('genshi', 'kid', 'xml+genshi', 'xml+kid'), ('*.kid',), ('application/x-genshi', 'application/x-kid')),
@@ -174,8 +186,10 @@ LEXERS = {
174
186
  'GoodDataCLLexer': ('pygments.lexers.business', 'GoodData-CL', ('gooddata-cl',), ('*.gdc',), ('text/x-gooddata-cl',)),
175
187
  'GosuLexer': ('pygments.lexers.jvm', 'Gosu', ('gosu',), ('*.gs', '*.gsx', '*.gsp', '*.vark'), ('text/x-gosu',)),
176
188
  'GosuTemplateLexer': ('pygments.lexers.jvm', 'Gosu Template', ('gst',), ('*.gst',), ('text/x-gosu-template',)),
189
+ 'GraphvizLexer': ('pygments.lexers.graphviz', 'Graphviz', ('graphviz', 'dot'), ('*.gv', '*.dot'), ('text/x-graphviz', 'text/vnd.graphviz')),
177
190
  'GroffLexer': ('pygments.lexers.markup', 'Groff', ('groff', 'nroff', 'man'), ('*.[1234567]', '*.man'), ('application/x-troff', 'text/troff')),
178
191
  'GroovyLexer': ('pygments.lexers.jvm', 'Groovy', ('groovy',), ('*.groovy', '*.gradle'), ('text/x-groovy',)),
192
+ 'HLSLShaderLexer': ('pygments.lexers.graphics', 'HLSL', ('hlsl',), ('*.hlsl', '*.hlsli'), ('text/x-hlsl',)),
179
193
  'HamlLexer': ('pygments.lexers.html', 'Haml', ('haml',), ('*.haml',), ('text/x-haml',)),
180
194
  'HandlebarsHtmlLexer': ('pygments.lexers.templates', 'HTML+Handlebars', ('html+handlebars',), ('*.handlebars', '*.hbs'), ('text/html+handlebars', 'text/x-handlebars-template')),
181
195
  'HandlebarsLexer': ('pygments.lexers.templates', 'Handlebars', ('handlebars',), (), ()),
@@ -183,6 +197,7 @@ LEXERS = {
183
197
  'HaxeLexer': ('pygments.lexers.haxe', 'Haxe', ('hx', 'haxe', 'hxsl'), ('*.hx', '*.hxsl'), ('text/haxe', 'text/x-haxe', 'text/x-hx')),
184
198
  'HexdumpLexer': ('pygments.lexers.hexdump', 'Hexdump', ('hexdump',), (), ()),
185
199
  'HsailLexer': ('pygments.lexers.asm', 'HSAIL', ('hsail', 'hsa'), ('*.hsail',), ('text/x-hsail',)),
200
+ 'HspecLexer': ('pygments.lexers.haskell', 'Hspec', ('hspec',), (), ()),
186
201
  'HtmlDjangoLexer': ('pygments.lexers.templates', 'HTML+Django/Jinja', ('html+django', 'html+jinja', 'htmldjango'), (), ('text/html+django', 'text/html+jinja')),
187
202
  'HtmlGenshiLexer': ('pygments.lexers.templates', 'HTML+Genshi', ('html+genshi', 'html+kid'), (), ('text/html+genshi',)),
188
203
  'HtmlLexer': ('pygments.lexers.html', 'HTML', ('html',), ('*.html', '*.htm', '*.xhtml', '*.xslt'), ('text/html', 'application/xhtml+xml')),
@@ -193,6 +208,7 @@ LEXERS = {
193
208
  'HyLexer': ('pygments.lexers.lisp', 'Hy', ('hylang',), ('*.hy',), ('text/x-hy', 'application/x-hy')),
194
209
  'HybrisLexer': ('pygments.lexers.scripting', 'Hybris', ('hybris', 'hy'), ('*.hy', '*.hyb'), ('text/x-hybris', 'application/x-hybris')),
195
210
  'IDLLexer': ('pygments.lexers.idl', 'IDL', ('idl',), ('*.pro',), ('text/idl',)),
211
+ 'IconLexer': ('pygments.lexers.unicon', 'Icon', ('icon',), ('*.icon', '*.ICON'), ()),
196
212
  'IdrisLexer': ('pygments.lexers.haskell', 'Idris', ('idris', 'idr'), ('*.idr',), ('text/x-idris',)),
197
213
  'IgorLexer': ('pygments.lexers.igor', 'Igor', ('igor', 'igorpro'), ('*.ipf',), ('text/ipf',)),
198
214
  'Inform6Lexer': ('pygments.lexers.int_fiction', 'Inform 6', ('inform6', 'i6'), ('*.inf',), ()),
@@ -210,22 +226,23 @@ LEXERS = {
210
226
  'JavascriptDjangoLexer': ('pygments.lexers.templates', 'JavaScript+Django/Jinja', ('js+django', 'javascript+django', 'js+jinja', 'javascript+jinja'), (), ('application/x-javascript+django', 'application/x-javascript+jinja', 'text/x-javascript+django', 'text/x-javascript+jinja', 'text/javascript+django', 'text/javascript+jinja')),
211
227
  'JavascriptErbLexer': ('pygments.lexers.templates', 'JavaScript+Ruby', ('js+erb', 'javascript+erb', 'js+ruby', 'javascript+ruby'), (), ('application/x-javascript+ruby', 'text/x-javascript+ruby', 'text/javascript+ruby')),
212
228
  'JavascriptGenshiLexer': ('pygments.lexers.templates', 'JavaScript+Genshi Text', ('js+genshitext', 'js+genshi', 'javascript+genshitext', 'javascript+genshi'), (), ('application/x-javascript+genshi', 'text/x-javascript+genshi', 'text/javascript+genshi')),
213
- 'JavascriptLexer': ('pygments.lexers.javascript', 'JavaScript', ('js', 'javascript'), ('*.js', '*.jsm'), ('application/javascript', 'application/x-javascript', 'text/x-javascript', 'text/javascript')),
229
+ 'JavascriptLexer': ('pygments.lexers.javascript', 'JavaScript', ('js', 'javascript'), ('*.js', '*.jsm', '*.mjs'), ('application/javascript', 'application/x-javascript', 'text/x-javascript', 'text/javascript')),
214
230
  'JavascriptPhpLexer': ('pygments.lexers.templates', 'JavaScript+PHP', ('js+php', 'javascript+php'), (), ('application/x-javascript+php', 'text/x-javascript+php', 'text/javascript+php')),
215
231
  'JavascriptSmartyLexer': ('pygments.lexers.templates', 'JavaScript+Smarty', ('js+smarty', 'javascript+smarty'), (), ('application/x-javascript+smarty', 'text/x-javascript+smarty', 'text/javascript+smarty')),
216
232
  'JclLexer': ('pygments.lexers.scripting', 'JCL', ('jcl',), ('*.jcl',), ('text/x-jcl',)),
217
233
  'JsgfLexer': ('pygments.lexers.grammar_notation', 'JSGF', ('jsgf',), ('*.jsgf',), ('application/jsgf', 'application/x-jsgf', 'text/jsgf')),
218
- 'JsonBareObjectLexer': ('pygments.lexers.data', 'JSONBareObject', ('json-object',), (), ('application/json-object',)),
234
+ 'JsonBareObjectLexer': ('pygments.lexers.data', 'JSONBareObject', (), (), ()),
219
235
  'JsonLdLexer': ('pygments.lexers.data', 'JSON-LD', ('jsonld', 'json-ld'), ('*.jsonld',), ('application/ld+json',)),
220
- 'JsonLexer': ('pygments.lexers.data', 'JSON', ('json',), ('*.json',), ('application/json',)),
236
+ 'JsonLexer': ('pygments.lexers.data', 'JSON', ('json', 'json-object'), ('*.json', 'Pipfile.lock'), ('application/json', 'application/json-object')),
221
237
  'JspLexer': ('pygments.lexers.templates', 'Java Server Page', ('jsp',), ('*.jsp',), ('application/x-jsp',)),
222
238
  'JuliaConsoleLexer': ('pygments.lexers.julia', 'Julia console', ('jlcon',), (), ()),
223
239
  'JuliaLexer': ('pygments.lexers.julia', 'Julia', ('julia', 'jl'), ('*.jl',), ('text/x-julia', 'application/x-julia')),
224
- 'JuttleLexer': ('pygments.lexers.javascript', 'Juttle', ('juttle', 'juttle'), ('*.juttle',), ('application/juttle', 'application/x-juttle', 'text/x-juttle', 'text/juttle')),
240
+ 'JuttleLexer': ('pygments.lexers.javascript', 'Juttle', ('juttle',), ('*.juttle',), ('application/juttle', 'application/x-juttle', 'text/x-juttle', 'text/juttle')),
225
241
  'KalLexer': ('pygments.lexers.javascript', 'Kal', ('kal',), ('*.kal',), ('text/kal', 'application/kal')),
226
- 'KconfigLexer': ('pygments.lexers.configs', 'Kconfig', ('kconfig', 'menuconfig', 'linux-config', 'kernel-config'), ('Kconfig', '*Config.in*', 'external.in*', 'standard-modules.in'), ('text/x-kconfig',)),
242
+ 'KconfigLexer': ('pygments.lexers.configs', 'Kconfig', ('kconfig', 'menuconfig', 'linux-config', 'kernel-config'), ('Kconfig*', '*Config.in*', 'external.in*', 'standard-modules.in'), ('text/x-kconfig',)),
243
+ 'KernelLogLexer': ('pygments.lexers.textfmts', 'Kernel log', ('kmsg', 'dmesg'), ('*.kmsg', '*.dmesg'), ()),
227
244
  'KokaLexer': ('pygments.lexers.haskell', 'Koka', ('koka',), ('*.kk', '*.kki'), ('text/x-koka',)),
228
- 'KotlinLexer': ('pygments.lexers.jvm', 'Kotlin', ('kotlin',), ('*.kt',), ('text/x-kotlin',)),
245
+ 'KotlinLexer': ('pygments.lexers.jvm', 'Kotlin', ('kotlin',), ('*.kt', '*.kts'), ('text/x-kotlin',)),
229
246
  'LSLLexer': ('pygments.lexers.scripting', 'LSL', ('lsl',), ('*.lsl',), ('text/x-lsl',)),
230
247
  'LassoCssLexer': ('pygments.lexers.templates', 'CSS+Lasso', ('css+lasso',), (), ('text/css+lasso',)),
231
248
  'LassoHtmlLexer': ('pygments.lexers.templates', 'HTML+Lasso', ('html+lasso',), (), ('text/html+lasso', 'application/x-httpd-lasso', 'application/x-httpd-lasso[89]')),
@@ -243,9 +260,12 @@ LEXERS = {
243
260
  'LiterateIdrisLexer': ('pygments.lexers.haskell', 'Literate Idris', ('lidr', 'literate-idris', 'lidris'), ('*.lidr',), ('text/x-literate-idris',)),
244
261
  'LiveScriptLexer': ('pygments.lexers.javascript', 'LiveScript', ('live-script', 'livescript'), ('*.ls',), ('text/livescript',)),
245
262
  'LlvmLexer': ('pygments.lexers.asm', 'LLVM', ('llvm',), ('*.ll',), ('text/x-llvm',)),
263
+ 'LlvmMirBodyLexer': ('pygments.lexers.asm', 'LLVM-MIR Body', ('llvm-mir-body',), (), ()),
264
+ 'LlvmMirLexer': ('pygments.lexers.asm', 'LLVM-MIR', ('llvm-mir',), ('*.mir',), ()),
246
265
  'LogosLexer': ('pygments.lexers.objective', 'Logos', ('logos',), ('*.x', '*.xi', '*.xm', '*.xmi'), ('text/x-logos',)),
247
266
  'LogtalkLexer': ('pygments.lexers.prolog', 'Logtalk', ('logtalk',), ('*.lgt', '*.logtalk'), ('text/x-logtalk',)),
248
267
  'LuaLexer': ('pygments.lexers.scripting', 'Lua', ('lua',), ('*.lua', '*.wlua'), ('text/x-lua', 'application/x-lua')),
268
+ 'MIMELexer': ('pygments.lexers.mime', 'MIME', ('mime',), (), ('multipart/mixed', 'multipart/related', 'multipart/alternative')),
249
269
  'MOOCodeLexer': ('pygments.lexers.scripting', 'MOOCode', ('moocode', 'moo'), ('*.moo',), ('text/x-moocode',)),
250
270
  'MSDOSSessionLexer': ('pygments.lexers.shell', 'MSDOS Session', ('doscon',), (), ()),
251
271
  'MakefileLexer': ('pygments.lexers.make', 'Makefile', ('make', 'makefile', 'mf', 'bsdmake'), ('*.mak', '*.mk', 'Makefile', 'makefile', 'Makefile.*', 'GNUmakefile'), ('text/x-makefile',)),
@@ -255,19 +275,21 @@ LEXERS = {
255
275
  'MakoLexer': ('pygments.lexers.templates', 'Mako', ('mako',), ('*.mao',), ('application/x-mako',)),
256
276
  'MakoXmlLexer': ('pygments.lexers.templates', 'XML+Mako', ('xml+mako',), (), ('application/xml+mako',)),
257
277
  'MaqlLexer': ('pygments.lexers.business', 'MAQL', ('maql',), ('*.maql',), ('text/x-gooddata-maql', 'application/x-gooddata-maql')),
258
- 'MarkdownLexer': ('pygments.lexers.markup', 'markdown', ('md',), ('*.md',), ('text/x-markdown',)),
278
+ 'MarkdownLexer': ('pygments.lexers.markup', 'markdown', ('md', 'markdown'), ('*.md', '*.markdown'), ('text/x-markdown',)),
259
279
  'MaskLexer': ('pygments.lexers.javascript', 'Mask', ('mask',), ('*.mask',), ('text/x-mask',)),
260
280
  'MasonLexer': ('pygments.lexers.templates', 'Mason', ('mason',), ('*.m', '*.mhtml', '*.mc', '*.mi', 'autohandler', 'dhandler'), ('application/x-mason',)),
261
281
  'MathematicaLexer': ('pygments.lexers.algebra', 'Mathematica', ('mathematica', 'mma', 'nb'), ('*.nb', '*.cdf', '*.nbp', '*.ma'), ('application/mathematica', 'application/vnd.wolfram.mathematica', 'application/vnd.wolfram.mathematica.package', 'application/vnd.wolfram.cdf')),
262
282
  'MatlabLexer': ('pygments.lexers.matlab', 'Matlab', ('matlab',), ('*.m',), ('text/matlab',)),
263
283
  'MatlabSessionLexer': ('pygments.lexers.matlab', 'Matlab session', ('matlabsession',), (), ()),
264
284
  'MiniDLexer': ('pygments.lexers.d', 'MiniD', ('minid',), (), ('text/x-minidsrc',)),
285
+ 'MiniScriptLexer': ('pygments.lexers.scripting', 'MiniScript', ('ms', 'miniscript'), ('*.ms',), ('text/x-minicript', 'application/x-miniscript')),
265
286
  'ModelicaLexer': ('pygments.lexers.modeling', 'Modelica', ('modelica',), ('*.mo',), ('text/x-modelica',)),
266
287
  'Modula2Lexer': ('pygments.lexers.modula2', 'Modula-2', ('modula2', 'm2'), ('*.def', '*.mod'), ('text/x-modula2',)),
267
288
  'MoinWikiLexer': ('pygments.lexers.markup', 'MoinMoin/Trac Wiki markup', ('trac-wiki', 'moin'), (), ('text/x-trac-wiki',)),
268
289
  'MonkeyLexer': ('pygments.lexers.basic', 'Monkey', ('monkey',), ('*.monkey',), ('text/x-monkey',)),
269
290
  'MonteLexer': ('pygments.lexers.monte', 'Monte', ('monte',), ('*.mt',), ()),
270
291
  'MoonScriptLexer': ('pygments.lexers.scripting', 'MoonScript', ('moon', 'moonscript'), ('*.moon',), ('text/x-moonscript', 'application/x-moonscript')),
292
+ 'MoselLexer': ('pygments.lexers.mosel', 'Mosel', ('mosel',), ('*.mos',), ()),
271
293
  'MozPreprocCssLexer': ('pygments.lexers.markup', 'CSS+mozpreproc', ('css+mozpreproc',), ('*.css.in',), ()),
272
294
  'MozPreprocHashLexer': ('pygments.lexers.markup', 'mozhashpreproc', ('mozhashpreproc',), (), ()),
273
295
  'MozPreprocJavascriptLexer': ('pygments.lexers.markup', 'Javascript+mozpreproc', ('javascript+mozpreproc',), ('*.js.in',), ()),
@@ -295,6 +317,7 @@ LEXERS = {
295
317
  'NimrodLexer': ('pygments.lexers.nimrod', 'Nimrod', ('nim', 'nimrod'), ('*.nim', '*.nimrod'), ('text/x-nim',)),
296
318
  'NitLexer': ('pygments.lexers.nit', 'Nit', ('nit',), ('*.nit',), ()),
297
319
  'NixLexer': ('pygments.lexers.nix', 'Nix', ('nixos', 'nix'), ('*.nix',), ('text/x-nix',)),
320
+ 'NotmuchLexer': ('pygments.lexers.textfmts', 'Notmuch', ('notmuch',), (), ()),
298
321
  'NuSMVLexer': ('pygments.lexers.smv', 'NuSMV', ('nusmv',), ('*.smv',), ()),
299
322
  'NumPyLexer': ('pygments.lexers.python', 'NumPy', ('numpy',), (), ()),
300
323
  'ObjdumpLexer': ('pygments.lexers.asm', 'objdump', ('objdump',), ('*.objdump',), ('text/x-objdump',)),
@@ -311,13 +334,16 @@ LEXERS = {
311
334
  'PanLexer': ('pygments.lexers.dsls', 'Pan', ('pan',), ('*.pan',), ()),
312
335
  'ParaSailLexer': ('pygments.lexers.parasail', 'ParaSail', ('parasail',), ('*.psi', '*.psl'), ('text/x-parasail',)),
313
336
  'PawnLexer': ('pygments.lexers.pawn', 'Pawn', ('pawn',), ('*.p', '*.pwn', '*.inc'), ('text/x-pawn',)),
314
- 'Perl6Lexer': ('pygments.lexers.perl', 'Perl6', ('perl6', 'pl6'), ('*.pl', '*.pm', '*.nqp', '*.p6', '*.6pl', '*.p6l', '*.pl6', '*.6pm', '*.p6m', '*.pm6', '*.t'), ('text/x-perl6', 'application/x-perl6')),
315
- 'PerlLexer': ('pygments.lexers.perl', 'Perl', ('perl', 'pl'), ('*.pl', '*.pm', '*.t'), ('text/x-perl', 'application/x-perl')),
337
+ 'PegLexer': ('pygments.lexers.grammar_notation', 'PEG', ('peg',), ('*.peg',), ('text/x-peg',)),
338
+ 'Perl6Lexer': ('pygments.lexers.perl', 'Perl6', ('perl6', 'pl6', 'raku'), ('*.pl', '*.pm', '*.nqp', '*.p6', '*.6pl', '*.p6l', '*.pl6', '*.6pm', '*.p6m', '*.pm6', '*.t', '*.raku', '*.rakumod', '*.rakutest', '*.rakudoc'), ('text/x-perl6', 'application/x-perl6')),
339
+ 'PerlLexer': ('pygments.lexers.perl', 'Perl', ('perl', 'pl'), ('*.pl', '*.pm', '*.t', '*.perl'), ('text/x-perl', 'application/x-perl')),
316
340
  'PhpLexer': ('pygments.lexers.php', 'PHP', ('php', 'php3', 'php4', 'php5'), ('*.php', '*.php[345]', '*.inc'), ('text/x-php',)),
317
341
  'PigLexer': ('pygments.lexers.jvm', 'Pig', ('pig',), ('*.pig',), ('text/x-pig',)),
318
342
  'PikeLexer': ('pygments.lexers.c_like', 'Pike', ('pike',), ('*.pike', '*.pmod'), ('text/x-pike',)),
319
343
  'PkgConfigLexer': ('pygments.lexers.configs', 'PkgConfig', ('pkgconfig',), ('*.pc',), ()),
320
344
  'PlPgsqlLexer': ('pygments.lexers.sql', 'PL/pgSQL', ('plpgsql',), (), ('text/x-plpgsql',)),
345
+ 'PointlessLexer': ('pygments.lexers.pointless', 'Pointless', ('pointless',), ('*.ptls',), ()),
346
+ 'PonyLexer': ('pygments.lexers.pony', 'Pony', ('pony',), ('*.pony',), ()),
321
347
  'PostScriptLexer': ('pygments.lexers.graphics', 'PostScript', ('postscript', 'postscr'), ('*.ps', '*.eps'), ('application/postscript',)),
322
348
  'PostgresConsoleLexer': ('pygments.lexers.sql', 'PostgreSQL console (psql)', ('psql', 'postgresql-console', 'postgres-console'), (), ('text/x-postgresql-psql',)),
323
349
  'PostgresLexer': ('pygments.lexers.sql', 'PostgreSQL SQL dialect', ('postgresql', 'postgres'), (), ('text/x-postgresql',)),
@@ -326,17 +352,18 @@ LEXERS = {
326
352
  'PowerShellSessionLexer': ('pygments.lexers.shell', 'PowerShell Session', ('ps1con',), (), ()),
327
353
  'PraatLexer': ('pygments.lexers.praat', 'Praat', ('praat',), ('*.praat', '*.proc', '*.psc'), ()),
328
354
  'PrologLexer': ('pygments.lexers.prolog', 'Prolog', ('prolog',), ('*.ecl', '*.prolog', '*.pro', '*.pl'), ('text/x-prolog',)),
355
+ 'PromQLLexer': ('pygments.lexers.promql', 'PromQL', ('promql',), ('*.promql',), ()),
329
356
  'PropertiesLexer': ('pygments.lexers.configs', 'Properties', ('properties', 'jproperties'), ('*.properties',), ('text/x-java-properties',)),
330
357
  'ProtoBufLexer': ('pygments.lexers.dsls', 'Protocol Buffer', ('protobuf', 'proto'), ('*.proto',), ()),
358
+ 'PsyshConsoleLexer': ('pygments.lexers.php', 'PsySH console session for PHP', ('psysh',), (), ()),
331
359
  'PugLexer': ('pygments.lexers.html', 'Pug', ('pug', 'jade'), ('*.pug', '*.jade'), ('text/x-pug', 'text/x-jade')),
332
360
  'PuppetLexer': ('pygments.lexers.dsls', 'Puppet', ('puppet',), ('*.pp',), ()),
333
- 'PuppetLexer': ('pygments.lexers.github', 'Puppet', ('puppet',), ('*.pp',), ()),
334
361
  'PyPyLogLexer': ('pygments.lexers.console', 'PyPy Log', ('pypylog', 'pypy'), ('*.pypylog',), ('application/x-pypylog',)),
335
- 'Python3Lexer': ('pygments.lexers.python', 'Python 3', ('python3', 'py3'), (), ('text/x-python3', 'application/x-python3')),
336
- 'Python3TracebackLexer': ('pygments.lexers.python', 'Python 3.0 Traceback', ('py3tb',), ('*.py3tb',), ('text/x-python3-traceback',)),
362
+ 'Python2Lexer': ('pygments.lexers.python', 'Python 2.x', ('python2', 'py2'), (), ('text/x-python2', 'application/x-python2')),
363
+ 'Python2TracebackLexer': ('pygments.lexers.python', 'Python 2.x Traceback', ('py2tb',), ('*.py2tb',), ('text/x-python2-traceback',)),
337
364
  'PythonConsoleLexer': ('pygments.lexers.python', 'Python console session', ('pycon',), (), ('text/x-python-doctest',)),
338
- 'PythonLexer': ('pygments.lexers.python', 'Python', ('python', 'py', 'sage'), ('*.py', '*.pyw', '*.sc', 'SConstruct', 'SConscript', '*.tac', '*.sage'), ('text/x-python', 'application/x-python')),
339
- 'PythonTracebackLexer': ('pygments.lexers.python', 'Python Traceback', ('pytb',), ('*.pytb',), ('text/x-python-traceback',)),
365
+ 'PythonLexer': ('pygments.lexers.python', 'Python', ('python', 'py', 'sage', 'python3', 'py3'), ('*.py', '*.pyw', '*.jy', '*.sage', '*.sc', 'SConstruct', 'SConscript', '*.bzl', 'BUCK', 'BUILD', 'BUILD.bazel', 'WORKSPACE', '*.tac'), ('text/x-python', 'application/x-python', 'text/x-python3', 'application/x-python3')),
366
+ 'PythonTracebackLexer': ('pygments.lexers.python', 'Python Traceback', ('pytb', 'py3tb'), ('*.pytb', '*.py3tb'), ('text/x-python-traceback', 'text/x-python3-traceback')),
340
367
  'QBasicLexer': ('pygments.lexers.basic', 'QBasic', ('qbasic', 'basic'), ('*.BAS', '*.bas'), ('text/basic',)),
341
368
  'QVToLexer': ('pygments.lexers.qvt', 'QVTO', ('qvto', 'qvt'), ('*.qvto',), ()),
342
369
  'QmlLexer': ('pygments.lexers.webmisc', 'QML', ('qml', 'qbs'), ('*.qml', '*.qbs'), ('application/x-qml', 'application/x-qt.qbs+qml')),
@@ -352,43 +379,53 @@ LEXERS = {
352
379
  'RagelLexer': ('pygments.lexers.parsers', 'Ragel', ('ragel',), (), ()),
353
380
  'RagelObjectiveCLexer': ('pygments.lexers.parsers', 'Ragel in Objective C Host', ('ragel-objc',), ('*.rl',), ()),
354
381
  'RagelRubyLexer': ('pygments.lexers.parsers', 'Ragel in Ruby Host', ('ragel-ruby', 'ragel-rb'), ('*.rl',), ()),
355
- 'RawTokenLexer': ('pygments.lexers.special', 'Raw token data', ('raw',), (), ('application/x-pygments-tokens',)),
382
+ 'RawTokenLexer': ('pygments.lexers.special', 'Raw token data', (), (), ('application/x-pygments-tokens',)),
356
383
  'RdLexer': ('pygments.lexers.r', 'Rd', ('rd',), ('*.Rd',), ('text/x-r-doc',)),
384
+ 'ReasonLexer': ('pygments.lexers.ml', 'ReasonML', ('reason', 'reasonml'), ('*.re', '*.rei'), ('text/x-reasonml',)),
357
385
  'RebolLexer': ('pygments.lexers.rebol', 'REBOL', ('rebol',), ('*.r', '*.r3', '*.reb'), ('text/x-rebol',)),
358
386
  'RedLexer': ('pygments.lexers.rebol', 'Red', ('red', 'red/system'), ('*.red', '*.reds'), ('text/x-red', 'text/x-red-system')),
359
387
  'RedcodeLexer': ('pygments.lexers.esoteric', 'Redcode', ('redcode',), ('*.cw',), ()),
360
388
  'RegeditLexer': ('pygments.lexers.configs', 'reg', ('registry',), ('*.reg',), ('text/x-windows-registry',)),
361
- 'ResourceLexer': ('pygments.lexers.resource', 'ResourceBundle', ('resource', 'resourcebundle'), ('*.txt',), ()),
389
+ 'ResourceLexer': ('pygments.lexers.resource', 'ResourceBundle', ('resource', 'resourcebundle'), (), ()),
362
390
  'RexxLexer': ('pygments.lexers.scripting', 'Rexx', ('rexx', 'arexx'), ('*.rexx', '*.rex', '*.rx', '*.arexx'), ('text/x-rexx',)),
363
391
  'RhtmlLexer': ('pygments.lexers.templates', 'RHTML', ('rhtml', 'html+erb', 'html+ruby'), ('*.rhtml',), ('text/html+ruby',)),
392
+ 'RideLexer': ('pygments.lexers.ride', 'Ride', ('ride',), ('*.ride',), ('text/x-ride',)),
364
393
  'RoboconfGraphLexer': ('pygments.lexers.roboconf', 'Roboconf Graph', ('roboconf-graph',), ('*.graph',), ()),
365
394
  'RoboconfInstancesLexer': ('pygments.lexers.roboconf', 'Roboconf Instances', ('roboconf-instances',), ('*.instances',), ()),
366
- 'RobotFrameworkLexer': ('pygments.lexers.robotframework', 'RobotFramework', ('robotframework',), ('*.txt', '*.robot'), ('text/x-robotframework',)),
395
+ 'RobotFrameworkLexer': ('pygments.lexers.robotframework', 'RobotFramework', ('robotframework',), ('*.robot',), ('text/x-robotframework',)),
367
396
  'RqlLexer': ('pygments.lexers.sql', 'RQL', ('rql',), ('*.rql',), ('text/x-rql',)),
368
397
  'RslLexer': ('pygments.lexers.dsls', 'RSL', ('rsl',), ('*.rsl',), ('text/rsl',)),
369
398
  'RstLexer': ('pygments.lexers.markup', 'reStructuredText', ('rst', 'rest', 'restructuredtext'), ('*.rst', '*.rest'), ('text/x-rst', 'text/prs.fallenstein.rst')),
370
399
  'RtsLexer': ('pygments.lexers.trafficscript', 'TrafficScript', ('rts', 'trafficscript'), ('*.rts',), ()),
371
400
  'RubyConsoleLexer': ('pygments.lexers.ruby', 'Ruby irb session', ('rbcon', 'irb'), (), ('text/x-ruby-shellsession',)),
372
401
  'RubyLexer': ('pygments.lexers.ruby', 'Ruby', ('rb', 'ruby', 'duby'), ('*.rb', '*.rbw', 'Rakefile', '*.rake', '*.gemspec', '*.rbx', '*.duby', 'Gemfile'), ('text/x-ruby', 'application/x-ruby')),
373
- 'RustLexer': ('pygments.lexers.rust', 'Rust', ('rust',), ('*.rs', '*.rs.in'), ('text/rust',)),
402
+ 'RustLexer': ('pygments.lexers.rust', 'Rust', ('rust', 'rs'), ('*.rs', '*.rs.in'), ('text/rust', 'text/x-rust')),
374
403
  'SASLexer': ('pygments.lexers.sas', 'SAS', ('sas',), ('*.SAS', '*.sas'), ('text/x-sas', 'text/sas', 'application/x-sas')),
375
404
  'SLexer': ('pygments.lexers.r', 'S', ('splus', 's', 'r'), ('*.S', '*.R', '.Rhistory', '.Rprofile', '.Renviron'), ('text/S-plus', 'text/S', 'text/x-r-source', 'text/x-r', 'text/x-R', 'text/x-r-history', 'text/x-r-profile')),
376
405
  'SMLLexer': ('pygments.lexers.ml', 'Standard ML', ('sml',), ('*.sml', '*.sig', '*.fun'), ('text/x-standardml', 'application/x-standardml')),
406
+ 'SarlLexer': ('pygments.lexers.jvm', 'SARL', ('sarl',), ('*.sarl',), ('text/x-sarl',)),
377
407
  'SassLexer': ('pygments.lexers.css', 'Sass', ('sass',), ('*.sass',), ('text/x-sass',)),
378
408
  'ScalaLexer': ('pygments.lexers.jvm', 'Scala', ('scala',), ('*.scala',), ('text/x-scala',)),
379
409
  'ScamlLexer': ('pygments.lexers.html', 'Scaml', ('scaml',), ('*.scaml',), ('text/x-scaml',)),
410
+ 'ScdocLexer': ('pygments.lexers.scdoc', 'scdoc', ('scdoc', 'scd'), ('*.scd', '*.scdoc'), ()),
380
411
  'SchemeLexer': ('pygments.lexers.lisp', 'Scheme', ('scheme', 'scm'), ('*.scm', '*.ss'), ('text/x-scheme', 'application/x-scheme')),
381
412
  'ScilabLexer': ('pygments.lexers.matlab', 'Scilab', ('scilab',), ('*.sci', '*.sce', '*.tst'), ('text/scilab',)),
382
413
  'ScssLexer': ('pygments.lexers.css', 'SCSS', ('scss',), ('*.scss',), ('text/x-scss',)),
414
+ 'ShExCLexer': ('pygments.lexers.rdf', 'ShExC', ('shexc', 'shex'), ('*.shex',), ('text/shex',)),
383
415
  'ShenLexer': ('pygments.lexers.lisp', 'Shen', ('shen',), ('*.shen',), ('text/x-shen', 'application/x-shen')),
416
+ 'SieveLexer': ('pygments.lexers.sieve', 'Sieve', ('sieve',), ('*.siv', '*.sieve'), ()),
384
417
  'SilverLexer': ('pygments.lexers.verification', 'Silver', ('silver',), ('*.sil', '*.vpr'), ()),
385
- 'SlashLexer': ('pygments.lexers.github', 'Slash', ('slash',), ('*.sl',), ()),
418
+ 'SingularityLexer': ('pygments.lexers.configs', 'Singularity', ('singularity',), ('*.def', 'Singularity'), ()),
419
+ 'SlashLexer': ('pygments.lexers.slash', 'Slash', ('slash',), ('*.sla',), ()),
386
420
  'SlimLexer': ('pygments.lexers.webmisc', 'Slim', ('slim',), ('*.slim',), ('text/x-slim',)),
421
+ 'SlurmBashLexer': ('pygments.lexers.shell', 'Slurm', ('slurm', 'sbatch'), ('*.sl',), ()),
387
422
  'SmaliLexer': ('pygments.lexers.dalvik', 'Smali', ('smali',), ('*.smali',), ('text/smali',)),
388
423
  'SmalltalkLexer': ('pygments.lexers.smalltalk', 'Smalltalk', ('smalltalk', 'squeak', 'st'), ('*.st',), ('text/x-smalltalk',)),
424
+ 'SmartGameFormatLexer': ('pygments.lexers.sgf', 'SmartGameFormat', ('sgf',), ('*.sgf',), ()),
389
425
  'SmartyLexer': ('pygments.lexers.templates', 'Smarty', ('smarty',), ('*.tpl',), ('application/x-smarty',)),
390
426
  'SnobolLexer': ('pygments.lexers.snobol', 'Snobol', ('snobol',), ('*.snobol',), ('text/x-snobol',)),
391
427
  'SnowballLexer': ('pygments.lexers.dsls', 'Snowball', ('snowball',), ('*.sbl',), ()),
428
+ 'SolidityLexer': ('pygments.lexers.solidity', 'Solidity', ('solidity',), ('*.sol',), ()),
392
429
  'SourcePawnLexer': ('pygments.lexers.pawn', 'SourcePawn', ('sp',), ('*.sp',), ('text/x-sourcepawn',)),
393
430
  'SourcesListLexer': ('pygments.lexers.installers', 'Debian Sourcelist', ('sourceslist', 'sources.list', 'debsources'), ('sources.list',), ()),
394
431
  'SparqlLexer': ('pygments.lexers.rdf', 'SPARQL', ('sparql',), ('*.rq', '*.sparql'), ('application/sparql-query',)),
@@ -403,19 +440,22 @@ LEXERS = {
403
440
  'SwigLexer': ('pygments.lexers.c_like', 'SWIG', ('swig',), ('*.swg', '*.i'), ('text/swig',)),
404
441
  'SystemVerilogLexer': ('pygments.lexers.hdl', 'systemverilog', ('systemverilog', 'sv'), ('*.sv', '*.svh'), ('text/x-systemverilog',)),
405
442
  'TAPLexer': ('pygments.lexers.testing', 'TAP', ('tap',), ('*.tap',), ()),
406
- 'TOMLLexer': ('pygments.lexers.github', 'TOML', ('toml',), ('*.toml',), ()),
443
+ 'TNTLexer': ('pygments.lexers.tnt', 'Typographic Number Theory', ('tnt',), ('*.tnt',), ()),
444
+ 'TOMLLexer': ('pygments.lexers.configs', 'TOML', ('toml',), ('*.toml', 'Pipfile', 'poetry.lock'), ()),
407
445
  'Tads3Lexer': ('pygments.lexers.int_fiction', 'TADS 3', ('tads3',), ('*.t',), ()),
408
446
  'TasmLexer': ('pygments.lexers.asm', 'TASM', ('tasm',), ('*.asm', '*.ASM', '*.tasm'), ('text/x-tasm',)),
409
447
  'TclLexer': ('pygments.lexers.tcl', 'Tcl', ('tcl',), ('*.tcl', '*.rvt'), ('text/x-tcl', 'text/x-script.tcl', 'application/x-tcl')),
410
448
  'TcshLexer': ('pygments.lexers.shell', 'Tcsh', ('tcsh', 'csh'), ('*.tcsh', '*.csh'), ('application/x-csh',)),
411
449
  'TcshSessionLexer': ('pygments.lexers.shell', 'Tcsh Session', ('tcshcon',), (), ()),
412
450
  'TeaTemplateLexer': ('pygments.lexers.templates', 'Tea', ('tea',), ('*.tea',), ('text/x-tea',)),
451
+ 'TeraTermLexer': ('pygments.lexers.teraterm', 'Tera Term macro', ('ttl', 'teraterm', 'teratermmacro'), ('*.ttl',), ('text/x-teratermmacro',)),
413
452
  'TermcapLexer': ('pygments.lexers.configs', 'Termcap', ('termcap',), ('termcap', 'termcap.src'), ()),
414
453
  'TerminfoLexer': ('pygments.lexers.configs', 'Terminfo', ('terminfo',), ('terminfo', 'terminfo.src'), ()),
415
454
  'TerraformLexer': ('pygments.lexers.configs', 'Terraform', ('terraform', 'tf'), ('*.tf',), ('application/x-tf', 'application/x-terraform')),
416
455
  'TexLexer': ('pygments.lexers.markup', 'TeX', ('tex', 'latex'), ('*.tex', '*.aux', '*.toc'), ('text/x-tex', 'text/x-latex')),
417
456
  'TextLexer': ('pygments.lexers.special', 'Text only', ('text',), ('*.txt',), ('text/plain',)),
418
457
  'ThriftLexer': ('pygments.lexers.dsls', 'Thrift', ('thrift',), ('*.thrift',), ('application/x-thrift',)),
458
+ 'TiddlyWiki5Lexer': ('pygments.lexers.markup', 'tiddler', ('tid',), ('*.tid',), ('text/vnd.tiddlywiki',)),
419
459
  'TodotxtLexer': ('pygments.lexers.textfmts', 'Todotxt', ('todotxt',), ('todo.txt', '*.todotxt'), ('text/x-todo',)),
420
460
  'TransactSqlLexer': ('pygments.lexers.sql', 'Transact-SQL', ('tsql', 't-sql'), ('*.sql',), ('text/x-tsql',)),
421
461
  'TreetopLexer': ('pygments.lexers.parsers', 'Treetop', ('treetop',), ('*.treetop', '*.tt'), ()),
@@ -425,8 +465,12 @@ LEXERS = {
425
465
  'TypeScriptLexer': ('pygments.lexers.javascript', 'TypeScript', ('ts', 'typescript'), ('*.ts', '*.tsx'), ('text/x-typescript',)),
426
466
  'TypoScriptCssDataLexer': ('pygments.lexers.typoscript', 'TypoScriptCssData', ('typoscriptcssdata',), (), ()),
427
467
  'TypoScriptHtmlDataLexer': ('pygments.lexers.typoscript', 'TypoScriptHtmlData', ('typoscripthtmldata',), (), ()),
428
- 'TypoScriptLexer': ('pygments.lexers.typoscript', 'TypoScript', ('typoscript',), ('*.ts', '*.txt'), ('text/x-typoscript',)),
468
+ 'TypoScriptLexer': ('pygments.lexers.typoscript', 'TypoScript', ('typoscript',), ('*.typoscript',), ('text/x-typoscript',)),
469
+ 'UcodeLexer': ('pygments.lexers.unicon', 'ucode', ('ucode',), ('*.u', '*.u1', '*.u2'), ()),
470
+ 'UniconLexer': ('pygments.lexers.unicon', 'Unicon', ('unicon',), ('*.icn',), ('text/unicon',)),
429
471
  'UrbiscriptLexer': ('pygments.lexers.urbi', 'UrbiScript', ('urbiscript',), ('*.u',), ('application/x-urbiscript',)),
472
+ 'UsdLexer': ('pygments.lexers.usd', 'USD', ('usd', 'usda'), ('*.usd', '*.usda'), ()),
473
+ 'VBScriptLexer': ('pygments.lexers.basic', 'VBScript', ('vbscript',), ('*.vbs', '*.VBS'), ()),
430
474
  'VCLLexer': ('pygments.lexers.varnish', 'VCL', ('vcl',), ('*.vcl',), ('text/x-vclsrc',)),
431
475
  'VCLSnippetLexer': ('pygments.lexers.varnish', 'VCLSnippets', ('vclsnippets', 'vclsnippet'), (), ('text/x-vclsnippet',)),
432
476
  'VCTreeStatusLexer': ('pygments.lexers.console', 'VCTreeStatus', ('vctreestatus',), (), ()),
@@ -441,6 +485,7 @@ LEXERS = {
441
485
  'VhdlLexer': ('pygments.lexers.hdl', 'vhdl', ('vhdl',), ('*.vhdl', '*.vhd'), ('text/x-vhdl',)),
442
486
  'VimLexer': ('pygments.lexers.textedit', 'VimL', ('vim',), ('*.vim', '.vimrc', '.exrc', '.gvimrc', '_vimrc', '_exrc', '_gvimrc', 'vimrc', 'gvimrc'), ('text/x-vim',)),
443
487
  'WDiffLexer': ('pygments.lexers.diff', 'WDiff', ('wdiff',), ('*.wdiff',), ()),
488
+ 'WebIDLLexer': ('pygments.lexers.webidl', 'Web IDL', ('webidl',), ('*.webidl',), ()),
444
489
  'WhileyLexer': ('pygments.lexers.whiley', 'Whiley', ('whiley',), ('*.whiley',), ('text/x-whiley',)),
445
490
  'X10Lexer': ('pygments.lexers.x10', 'X10', ('x10', 'xten'), ('*.x10',), ('text/x-x10',)),
446
491
  'XQueryLexer': ('pygments.lexers.webmisc', 'XQuery', ('xquery', 'xqy', 'xq', 'xql', 'xqm'), ('*.xqy', '*.xquery', '*.xq', '*.xql', '*.xqm'), ('text/xquery', 'application/xquery')),
@@ -455,7 +500,10 @@ LEXERS = {
455
500
  'XtlangLexer': ('pygments.lexers.lisp', 'xtlang', ('extempore',), ('*.xtm',), ()),
456
501
  'YamlJinjaLexer': ('pygments.lexers.templates', 'YAML+Jinja', ('yaml+jinja', 'salt', 'sls'), ('*.sls',), ('text/x-yaml+jinja', 'text/x-sls')),
457
502
  'YamlLexer': ('pygments.lexers.data', 'YAML', ('yaml',), ('*.yaml', '*.yml'), ('text/x-yaml',)),
503
+ 'YangLexer': ('pygments.lexers.yang', 'YANG', ('yang',), ('*.yang',), ('application/yang',)),
504
+ 'ZeekLexer': ('pygments.lexers.dsls', 'Zeek', ('zeek', 'bro'), ('*.zeek', '*.bro'), ()),
458
505
  'ZephirLexer': ('pygments.lexers.php', 'Zephir', ('zephir',), ('*.zep',), ()),
506
+ 'ZigLexer': ('pygments.lexers.zig', 'Zig', ('zig',), ('*.zig',), ('text/zig',)),
459
507
  }
460
508
 
461
509
  if __name__ == '__main__': # pragma: no cover
@@ -1,11 +1,10 @@
1
- # -*- coding: utf-8 -*-
2
1
  """
3
2
  pygments.lexers._mql_builtins
4
3
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5
4
 
6
5
  Builtins for the MqlLexer.
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
  types = (
@@ -884,7 +883,7 @@ constants = (
884
883
  'PERIOD_W1',
885
884
  'POINTER_AUTOMATIC',
886
885
  'POINTER_DYNAMIC',
887
- 'POINTER_INVALID'
886
+ 'POINTER_INVALID',
888
887
  'PRICE_CLOSE',
889
888
  'PRICE_HIGH',
890
889
  'PRICE_LOW',
@@ -0,0 +1,1281 @@
1
+ """
2
+ pygments.lexers._mysql_builtins
3
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4
+
5
+ Self-updating data files for the MySQL lexer.
6
+
7
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
8
+ :license: BSD, see LICENSE for details.
9
+ """
10
+
11
+
12
+ MYSQL_CONSTANTS = (
13
+ 'false',
14
+ 'null',
15
+ 'true',
16
+ 'unknown',
17
+ )
18
+
19
+
20
+ # At this time, no easily-parsed, definitive list of data types
21
+ # has been found in the MySQL source code or documentation. (The
22
+ # `sql/sql_yacc.yy` file is definitive but is difficult to parse.)
23
+ # Therefore these types are currently maintained manually.
24
+ #
25
+ # Some words in this list -- like "long", "national", "precision",
26
+ # and "varying" -- appear to only occur in combination with other
27
+ # data type keywords. Therefore they are included as separate words
28
+ # even though they do not naturally occur in syntax separately.
29
+ #
30
+ # This list is also used to strip data types out of the list of
31
+ # MySQL keywords, which is automatically updated later in the file.
32
+ #
33
+ MYSQL_DATATYPES = (
34
+ # Numeric data types
35
+ 'bigint',
36
+ 'bit',
37
+ 'bool',
38
+ 'boolean',
39
+ 'dec',
40
+ 'decimal',
41
+ 'double',
42
+ 'fixed',
43
+ 'float',
44
+ 'float4',
45
+ 'float8',
46
+ 'int',
47
+ 'int1',
48
+ 'int2',
49
+ 'int3',
50
+ 'int4',
51
+ 'int8',
52
+ 'integer',
53
+ 'mediumint',
54
+ 'middleint',
55
+ 'numeric',
56
+ 'precision',
57
+ 'real',
58
+ 'serial',
59
+ 'smallint',
60
+ 'tinyint',
61
+
62
+ # Date and time data types
63
+ 'date',
64
+ 'datetime',
65
+ 'time',
66
+ 'timestamp',
67
+ 'year',
68
+
69
+ # String data types
70
+ 'binary',
71
+ 'blob',
72
+ 'char',
73
+ 'enum',
74
+ 'long',
75
+ 'longblob',
76
+ 'longtext',
77
+ 'mediumblob',
78
+ 'mediumtext',
79
+ 'national',
80
+ 'nchar',
81
+ 'nvarchar',
82
+ 'set',
83
+ 'text',
84
+ 'tinyblob',
85
+ 'tinytext',
86
+ 'varbinary',
87
+ 'varchar',
88
+ 'varcharacter',
89
+ 'varying',
90
+
91
+ # Spatial data types
92
+ 'geometry',
93
+ 'geometrycollection',
94
+ 'linestring',
95
+ 'multilinestring',
96
+ 'multipoint',
97
+ 'multipolygon',
98
+ 'point',
99
+ 'polygon',
100
+
101
+ # JSON data types
102
+ 'json',
103
+ )
104
+
105
+ # Everything below this line is auto-generated from the MySQL source code.
106
+ # Run this file in Python and it will update itself.
107
+ # -----------------------------------------------------------------------------
108
+
109
+ MYSQL_FUNCTIONS = (
110
+ 'abs',
111
+ 'acos',
112
+ 'adddate',
113
+ 'addtime',
114
+ 'aes_decrypt',
115
+ 'aes_encrypt',
116
+ 'any_value',
117
+ 'asin',
118
+ 'atan',
119
+ 'atan2',
120
+ 'benchmark',
121
+ 'bin',
122
+ 'bin_to_uuid',
123
+ 'bit_and',
124
+ 'bit_count',
125
+ 'bit_length',
126
+ 'bit_or',
127
+ 'bit_xor',
128
+ 'can_access_column',
129
+ 'can_access_database',
130
+ 'can_access_event',
131
+ 'can_access_resource_group',
132
+ 'can_access_routine',
133
+ 'can_access_table',
134
+ 'can_access_trigger',
135
+ 'can_access_view',
136
+ 'cast',
137
+ 'ceil',
138
+ 'ceiling',
139
+ 'char_length',
140
+ 'character_length',
141
+ 'coercibility',
142
+ 'compress',
143
+ 'concat',
144
+ 'concat_ws',
145
+ 'connection_id',
146
+ 'conv',
147
+ 'convert_cpu_id_mask',
148
+ 'convert_interval_to_user_interval',
149
+ 'convert_tz',
150
+ 'cos',
151
+ 'cot',
152
+ 'count',
153
+ 'crc32',
154
+ 'curdate',
155
+ 'current_role',
156
+ 'curtime',
157
+ 'date_add',
158
+ 'date_format',
159
+ 'date_sub',
160
+ 'datediff',
161
+ 'dayname',
162
+ 'dayofmonth',
163
+ 'dayofweek',
164
+ 'dayofyear',
165
+ 'degrees',
166
+ 'elt',
167
+ 'exp',
168
+ 'export_set',
169
+ 'extract',
170
+ 'extractvalue',
171
+ 'field',
172
+ 'find_in_set',
173
+ 'floor',
174
+ 'format_bytes',
175
+ 'format_pico_time',
176
+ 'found_rows',
177
+ 'from_base64',
178
+ 'from_days',
179
+ 'from_unixtime',
180
+ 'get_dd_column_privileges',
181
+ 'get_dd_create_options',
182
+ 'get_dd_index_private_data',
183
+ 'get_dd_index_sub_part_length',
184
+ 'get_dd_property_key_value',
185
+ 'get_dd_tablespace_private_data',
186
+ 'get_lock',
187
+ 'greatest',
188
+ 'group_concat',
189
+ 'gtid_subset',
190
+ 'gtid_subtract',
191
+ 'hex',
192
+ 'icu_version',
193
+ 'ifnull',
194
+ 'inet6_aton',
195
+ 'inet6_ntoa',
196
+ 'inet_aton',
197
+ 'inet_ntoa',
198
+ 'instr',
199
+ 'internal_auto_increment',
200
+ 'internal_avg_row_length',
201
+ 'internal_check_time',
202
+ 'internal_checksum',
203
+ 'internal_data_free',
204
+ 'internal_data_length',
205
+ 'internal_dd_char_length',
206
+ 'internal_get_comment_or_error',
207
+ 'internal_get_dd_column_extra',
208
+ 'internal_get_enabled_role_json',
209
+ 'internal_get_hostname',
210
+ 'internal_get_mandatory_roles_json',
211
+ 'internal_get_partition_nodegroup',
212
+ 'internal_get_username',
213
+ 'internal_get_view_warning_or_error',
214
+ 'internal_index_column_cardinality',
215
+ 'internal_index_length',
216
+ 'internal_is_enabled_role',
217
+ 'internal_is_mandatory_role',
218
+ 'internal_keys_disabled',
219
+ 'internal_max_data_length',
220
+ 'internal_table_rows',
221
+ 'internal_tablespace_autoextend_size',
222
+ 'internal_tablespace_data_free',
223
+ 'internal_tablespace_extent_size',
224
+ 'internal_tablespace_extra',
225
+ 'internal_tablespace_free_extents',
226
+ 'internal_tablespace_id',
227
+ 'internal_tablespace_initial_size',
228
+ 'internal_tablespace_logfile_group_name',
229
+ 'internal_tablespace_logfile_group_number',
230
+ 'internal_tablespace_maximum_size',
231
+ 'internal_tablespace_row_format',
232
+ 'internal_tablespace_status',
233
+ 'internal_tablespace_total_extents',
234
+ 'internal_tablespace_type',
235
+ 'internal_tablespace_version',
236
+ 'internal_update_time',
237
+ 'is_free_lock',
238
+ 'is_ipv4',
239
+ 'is_ipv4_compat',
240
+ 'is_ipv4_mapped',
241
+ 'is_ipv6',
242
+ 'is_used_lock',
243
+ 'is_uuid',
244
+ 'is_visible_dd_object',
245
+ 'isnull',
246
+ 'json_array',
247
+ 'json_array_append',
248
+ 'json_array_insert',
249
+ 'json_arrayagg',
250
+ 'json_contains',
251
+ 'json_contains_path',
252
+ 'json_depth',
253
+ 'json_extract',
254
+ 'json_insert',
255
+ 'json_keys',
256
+ 'json_length',
257
+ 'json_merge',
258
+ 'json_merge_patch',
259
+ 'json_merge_preserve',
260
+ 'json_object',
261
+ 'json_objectagg',
262
+ 'json_overlaps',
263
+ 'json_pretty',
264
+ 'json_quote',
265
+ 'json_remove',
266
+ 'json_replace',
267
+ 'json_schema_valid',
268
+ 'json_schema_validation_report',
269
+ 'json_search',
270
+ 'json_set',
271
+ 'json_storage_free',
272
+ 'json_storage_size',
273
+ 'json_type',
274
+ 'json_unquote',
275
+ 'json_valid',
276
+ 'last_day',
277
+ 'last_insert_id',
278
+ 'lcase',
279
+ 'least',
280
+ 'length',
281
+ 'like_range_max',
282
+ 'like_range_min',
283
+ 'ln',
284
+ 'load_file',
285
+ 'locate',
286
+ 'log',
287
+ 'log10',
288
+ 'log2',
289
+ 'lower',
290
+ 'lpad',
291
+ 'ltrim',
292
+ 'make_set',
293
+ 'makedate',
294
+ 'maketime',
295
+ 'master_pos_wait',
296
+ 'max',
297
+ 'mbrcontains',
298
+ 'mbrcoveredby',
299
+ 'mbrcovers',
300
+ 'mbrdisjoint',
301
+ 'mbrequals',
302
+ 'mbrintersects',
303
+ 'mbroverlaps',
304
+ 'mbrtouches',
305
+ 'mbrwithin',
306
+ 'md5',
307
+ 'mid',
308
+ 'min',
309
+ 'monthname',
310
+ 'name_const',
311
+ 'now',
312
+ 'nullif',
313
+ 'oct',
314
+ 'octet_length',
315
+ 'ord',
316
+ 'period_add',
317
+ 'period_diff',
318
+ 'pi',
319
+ 'position',
320
+ 'pow',
321
+ 'power',
322
+ 'ps_current_thread_id',
323
+ 'ps_thread_id',
324
+ 'quote',
325
+ 'radians',
326
+ 'rand',
327
+ 'random_bytes',
328
+ 'regexp_instr',
329
+ 'regexp_like',
330
+ 'regexp_replace',
331
+ 'regexp_substr',
332
+ 'release_all_locks',
333
+ 'release_lock',
334
+ 'remove_dd_property_key',
335
+ 'reverse',
336
+ 'roles_graphml',
337
+ 'round',
338
+ 'rpad',
339
+ 'rtrim',
340
+ 'sec_to_time',
341
+ 'session_user',
342
+ 'sha',
343
+ 'sha1',
344
+ 'sha2',
345
+ 'sign',
346
+ 'sin',
347
+ 'sleep',
348
+ 'soundex',
349
+ 'space',
350
+ 'sqrt',
351
+ 'st_area',
352
+ 'st_asbinary',
353
+ 'st_asgeojson',
354
+ 'st_astext',
355
+ 'st_aswkb',
356
+ 'st_aswkt',
357
+ 'st_buffer',
358
+ 'st_buffer_strategy',
359
+ 'st_centroid',
360
+ 'st_contains',
361
+ 'st_convexhull',
362
+ 'st_crosses',
363
+ 'st_difference',
364
+ 'st_dimension',
365
+ 'st_disjoint',
366
+ 'st_distance',
367
+ 'st_distance_sphere',
368
+ 'st_endpoint',
369
+ 'st_envelope',
370
+ 'st_equals',
371
+ 'st_exteriorring',
372
+ 'st_geohash',
373
+ 'st_geomcollfromtext',
374
+ 'st_geomcollfromtxt',
375
+ 'st_geomcollfromwkb',
376
+ 'st_geometrycollectionfromtext',
377
+ 'st_geometrycollectionfromwkb',
378
+ 'st_geometryfromtext',
379
+ 'st_geometryfromwkb',
380
+ 'st_geometryn',
381
+ 'st_geometrytype',
382
+ 'st_geomfromgeojson',
383
+ 'st_geomfromtext',
384
+ 'st_geomfromwkb',
385
+ 'st_interiorringn',
386
+ 'st_intersection',
387
+ 'st_intersects',
388
+ 'st_isclosed',
389
+ 'st_isempty',
390
+ 'st_issimple',
391
+ 'st_isvalid',
392
+ 'st_latfromgeohash',
393
+ 'st_latitude',
394
+ 'st_length',
395
+ 'st_linefromtext',
396
+ 'st_linefromwkb',
397
+ 'st_linestringfromtext',
398
+ 'st_linestringfromwkb',
399
+ 'st_longfromgeohash',
400
+ 'st_longitude',
401
+ 'st_makeenvelope',
402
+ 'st_mlinefromtext',
403
+ 'st_mlinefromwkb',
404
+ 'st_mpointfromtext',
405
+ 'st_mpointfromwkb',
406
+ 'st_mpolyfromtext',
407
+ 'st_mpolyfromwkb',
408
+ 'st_multilinestringfromtext',
409
+ 'st_multilinestringfromwkb',
410
+ 'st_multipointfromtext',
411
+ 'st_multipointfromwkb',
412
+ 'st_multipolygonfromtext',
413
+ 'st_multipolygonfromwkb',
414
+ 'st_numgeometries',
415
+ 'st_numinteriorring',
416
+ 'st_numinteriorrings',
417
+ 'st_numpoints',
418
+ 'st_overlaps',
419
+ 'st_pointfromgeohash',
420
+ 'st_pointfromtext',
421
+ 'st_pointfromwkb',
422
+ 'st_pointn',
423
+ 'st_polyfromtext',
424
+ 'st_polyfromwkb',
425
+ 'st_polygonfromtext',
426
+ 'st_polygonfromwkb',
427
+ 'st_simplify',
428
+ 'st_srid',
429
+ 'st_startpoint',
430
+ 'st_swapxy',
431
+ 'st_symdifference',
432
+ 'st_touches',
433
+ 'st_transform',
434
+ 'st_union',
435
+ 'st_validate',
436
+ 'st_within',
437
+ 'st_x',
438
+ 'st_y',
439
+ 'statement_digest',
440
+ 'statement_digest_text',
441
+ 'std',
442
+ 'stddev',
443
+ 'stddev_pop',
444
+ 'stddev_samp',
445
+ 'str_to_date',
446
+ 'strcmp',
447
+ 'subdate',
448
+ 'substr',
449
+ 'substring',
450
+ 'substring_index',
451
+ 'subtime',
452
+ 'sum',
453
+ 'sysdate',
454
+ 'system_user',
455
+ 'tan',
456
+ 'time_format',
457
+ 'time_to_sec',
458
+ 'timediff',
459
+ 'to_base64',
460
+ 'to_days',
461
+ 'to_seconds',
462
+ 'trim',
463
+ 'ucase',
464
+ 'uncompress',
465
+ 'uncompressed_length',
466
+ 'unhex',
467
+ 'unix_timestamp',
468
+ 'updatexml',
469
+ 'upper',
470
+ 'uuid',
471
+ 'uuid_short',
472
+ 'uuid_to_bin',
473
+ 'validate_password_strength',
474
+ 'var_pop',
475
+ 'var_samp',
476
+ 'variance',
477
+ 'version',
478
+ 'wait_for_executed_gtid_set',
479
+ 'wait_until_sql_thread_after_gtids',
480
+ 'weekday',
481
+ 'weekofyear',
482
+ 'yearweek',
483
+ )
484
+
485
+
486
+ MYSQL_OPTIMIZER_HINTS = (
487
+ 'bka',
488
+ 'bnl',
489
+ 'dupsweedout',
490
+ 'firstmatch',
491
+ 'group_index',
492
+ 'hash_join',
493
+ 'index',
494
+ 'index_merge',
495
+ 'intoexists',
496
+ 'join_fixed_order',
497
+ 'join_index',
498
+ 'join_order',
499
+ 'join_prefix',
500
+ 'join_suffix',
501
+ 'loosescan',
502
+ 'materialization',
503
+ 'max_execution_time',
504
+ 'merge',
505
+ 'mrr',
506
+ 'no_bka',
507
+ 'no_bnl',
508
+ 'no_group_index',
509
+ 'no_hash_join',
510
+ 'no_icp',
511
+ 'no_index',
512
+ 'no_index_merge',
513
+ 'no_join_index',
514
+ 'no_merge',
515
+ 'no_mrr',
516
+ 'no_order_index',
517
+ 'no_range_optimization',
518
+ 'no_semijoin',
519
+ 'no_skip_scan',
520
+ 'order_index',
521
+ 'qb_name',
522
+ 'resource_group',
523
+ 'semijoin',
524
+ 'set_var',
525
+ 'skip_scan',
526
+ 'subquery',
527
+ )
528
+
529
+
530
+ MYSQL_KEYWORDS = (
531
+ 'accessible',
532
+ 'account',
533
+ 'action',
534
+ 'active',
535
+ 'add',
536
+ 'admin',
537
+ 'after',
538
+ 'against',
539
+ 'aggregate',
540
+ 'algorithm',
541
+ 'all',
542
+ 'alter',
543
+ 'always',
544
+ 'analyze',
545
+ 'and',
546
+ 'any',
547
+ 'array',
548
+ 'as',
549
+ 'asc',
550
+ 'ascii',
551
+ 'asensitive',
552
+ 'at',
553
+ 'attribute',
554
+ 'auto_increment',
555
+ 'autoextend_size',
556
+ 'avg',
557
+ 'avg_row_length',
558
+ 'backup',
559
+ 'before',
560
+ 'begin',
561
+ 'between',
562
+ 'binlog',
563
+ 'block',
564
+ 'both',
565
+ 'btree',
566
+ 'buckets',
567
+ 'by',
568
+ 'byte',
569
+ 'cache',
570
+ 'call',
571
+ 'cascade',
572
+ 'cascaded',
573
+ 'case',
574
+ 'catalog_name',
575
+ 'chain',
576
+ 'change',
577
+ 'changed',
578
+ 'channel',
579
+ 'character',
580
+ 'charset',
581
+ 'check',
582
+ 'checksum',
583
+ 'cipher',
584
+ 'class_origin',
585
+ 'client',
586
+ 'clone',
587
+ 'close',
588
+ 'coalesce',
589
+ 'code',
590
+ 'collate',
591
+ 'collation',
592
+ 'column',
593
+ 'column_format',
594
+ 'column_name',
595
+ 'columns',
596
+ 'comment',
597
+ 'commit',
598
+ 'committed',
599
+ 'compact',
600
+ 'completion',
601
+ 'component',
602
+ 'compressed',
603
+ 'compression',
604
+ 'concurrent',
605
+ 'condition',
606
+ 'connection',
607
+ 'consistent',
608
+ 'constraint',
609
+ 'constraint_catalog',
610
+ 'constraint_name',
611
+ 'constraint_schema',
612
+ 'contains',
613
+ 'context',
614
+ 'continue',
615
+ 'convert',
616
+ 'cpu',
617
+ 'create',
618
+ 'cross',
619
+ 'cube',
620
+ 'cume_dist',
621
+ 'current',
622
+ 'current_date',
623
+ 'current_time',
624
+ 'current_timestamp',
625
+ 'current_user',
626
+ 'cursor',
627
+ 'cursor_name',
628
+ 'data',
629
+ 'database',
630
+ 'databases',
631
+ 'datafile',
632
+ 'day',
633
+ 'day_hour',
634
+ 'day_microsecond',
635
+ 'day_minute',
636
+ 'day_second',
637
+ 'deallocate',
638
+ 'declare',
639
+ 'default',
640
+ 'default_auth',
641
+ 'definer',
642
+ 'definition',
643
+ 'delay_key_write',
644
+ 'delayed',
645
+ 'delete',
646
+ 'dense_rank',
647
+ 'desc',
648
+ 'describe',
649
+ 'description',
650
+ 'deterministic',
651
+ 'diagnostics',
652
+ 'directory',
653
+ 'disable',
654
+ 'discard',
655
+ 'disk',
656
+ 'distinct',
657
+ 'distinctrow',
658
+ 'div',
659
+ 'do',
660
+ 'drop',
661
+ 'dual',
662
+ 'dumpfile',
663
+ 'duplicate',
664
+ 'dynamic',
665
+ 'each',
666
+ 'else',
667
+ 'elseif',
668
+ 'empty',
669
+ 'enable',
670
+ 'enclosed',
671
+ 'encryption',
672
+ 'end',
673
+ 'ends',
674
+ 'enforced',
675
+ 'engine',
676
+ 'engine_attribute',
677
+ 'engines',
678
+ 'error',
679
+ 'errors',
680
+ 'escape',
681
+ 'escaped',
682
+ 'event',
683
+ 'events',
684
+ 'every',
685
+ 'except',
686
+ 'exchange',
687
+ 'exclude',
688
+ 'execute',
689
+ 'exists',
690
+ 'exit',
691
+ 'expansion',
692
+ 'expire',
693
+ 'explain',
694
+ 'export',
695
+ 'extended',
696
+ 'extent_size',
697
+ 'failed_login_attempts',
698
+ 'false',
699
+ 'fast',
700
+ 'faults',
701
+ 'fetch',
702
+ 'fields',
703
+ 'file',
704
+ 'file_block_size',
705
+ 'filter',
706
+ 'first',
707
+ 'first_value',
708
+ 'flush',
709
+ 'following',
710
+ 'follows',
711
+ 'for',
712
+ 'force',
713
+ 'foreign',
714
+ 'format',
715
+ 'found',
716
+ 'from',
717
+ 'full',
718
+ 'fulltext',
719
+ 'function',
720
+ 'general',
721
+ 'generated',
722
+ 'geomcollection',
723
+ 'get',
724
+ 'get_format',
725
+ 'get_master_public_key',
726
+ 'global',
727
+ 'grant',
728
+ 'grants',
729
+ 'group',
730
+ 'group_replication',
731
+ 'grouping',
732
+ 'groups',
733
+ 'handler',
734
+ 'hash',
735
+ 'having',
736
+ 'help',
737
+ 'high_priority',
738
+ 'histogram',
739
+ 'history',
740
+ 'host',
741
+ 'hosts',
742
+ 'hour',
743
+ 'hour_microsecond',
744
+ 'hour_minute',
745
+ 'hour_second',
746
+ 'identified',
747
+ 'if',
748
+ 'ignore',
749
+ 'ignore_server_ids',
750
+ 'import',
751
+ 'in',
752
+ 'inactive',
753
+ 'index',
754
+ 'indexes',
755
+ 'infile',
756
+ 'initial_size',
757
+ 'inner',
758
+ 'inout',
759
+ 'insensitive',
760
+ 'insert',
761
+ 'insert_method',
762
+ 'install',
763
+ 'instance',
764
+ 'interval',
765
+ 'into',
766
+ 'invisible',
767
+ 'invoker',
768
+ 'io',
769
+ 'io_after_gtids',
770
+ 'io_before_gtids',
771
+ 'io_thread',
772
+ 'ipc',
773
+ 'is',
774
+ 'isolation',
775
+ 'issuer',
776
+ 'iterate',
777
+ 'join',
778
+ 'json_table',
779
+ 'json_value',
780
+ 'key',
781
+ 'key_block_size',
782
+ 'keys',
783
+ 'kill',
784
+ 'lag',
785
+ 'language',
786
+ 'last',
787
+ 'last_value',
788
+ 'lateral',
789
+ 'lead',
790
+ 'leading',
791
+ 'leave',
792
+ 'leaves',
793
+ 'left',
794
+ 'less',
795
+ 'level',
796
+ 'like',
797
+ 'limit',
798
+ 'linear',
799
+ 'lines',
800
+ 'list',
801
+ 'load',
802
+ 'local',
803
+ 'localtime',
804
+ 'localtimestamp',
805
+ 'lock',
806
+ 'locked',
807
+ 'locks',
808
+ 'logfile',
809
+ 'logs',
810
+ 'loop',
811
+ 'low_priority',
812
+ 'master',
813
+ 'master_auto_position',
814
+ 'master_bind',
815
+ 'master_compression_algorithms',
816
+ 'master_connect_retry',
817
+ 'master_delay',
818
+ 'master_heartbeat_period',
819
+ 'master_host',
820
+ 'master_log_file',
821
+ 'master_log_pos',
822
+ 'master_password',
823
+ 'master_port',
824
+ 'master_public_key_path',
825
+ 'master_retry_count',
826
+ 'master_server_id',
827
+ 'master_ssl',
828
+ 'master_ssl_ca',
829
+ 'master_ssl_capath',
830
+ 'master_ssl_cert',
831
+ 'master_ssl_cipher',
832
+ 'master_ssl_crl',
833
+ 'master_ssl_crlpath',
834
+ 'master_ssl_key',
835
+ 'master_ssl_verify_server_cert',
836
+ 'master_tls_ciphersuites',
837
+ 'master_tls_version',
838
+ 'master_user',
839
+ 'master_zstd_compression_level',
840
+ 'match',
841
+ 'max_connections_per_hour',
842
+ 'max_queries_per_hour',
843
+ 'max_rows',
844
+ 'max_size',
845
+ 'max_updates_per_hour',
846
+ 'max_user_connections',
847
+ 'maxvalue',
848
+ 'medium',
849
+ 'member',
850
+ 'memory',
851
+ 'merge',
852
+ 'message_text',
853
+ 'microsecond',
854
+ 'migrate',
855
+ 'min_rows',
856
+ 'minute',
857
+ 'minute_microsecond',
858
+ 'minute_second',
859
+ 'mod',
860
+ 'mode',
861
+ 'modifies',
862
+ 'modify',
863
+ 'month',
864
+ 'mutex',
865
+ 'mysql_errno',
866
+ 'name',
867
+ 'names',
868
+ 'natural',
869
+ 'ndb',
870
+ 'ndbcluster',
871
+ 'nested',
872
+ 'network_namespace',
873
+ 'never',
874
+ 'new',
875
+ 'next',
876
+ 'no',
877
+ 'no_wait',
878
+ 'no_write_to_binlog',
879
+ 'nodegroup',
880
+ 'none',
881
+ 'not',
882
+ 'nowait',
883
+ 'nth_value',
884
+ 'ntile',
885
+ 'null',
886
+ 'nulls',
887
+ 'number',
888
+ 'of',
889
+ 'off',
890
+ 'offset',
891
+ 'oj',
892
+ 'old',
893
+ 'on',
894
+ 'one',
895
+ 'only',
896
+ 'open',
897
+ 'optimize',
898
+ 'optimizer_costs',
899
+ 'option',
900
+ 'optional',
901
+ 'optionally',
902
+ 'options',
903
+ 'or',
904
+ 'order',
905
+ 'ordinality',
906
+ 'organization',
907
+ 'others',
908
+ 'out',
909
+ 'outer',
910
+ 'outfile',
911
+ 'over',
912
+ 'owner',
913
+ 'pack_keys',
914
+ 'page',
915
+ 'parser',
916
+ 'partial',
917
+ 'partition',
918
+ 'partitioning',
919
+ 'partitions',
920
+ 'password',
921
+ 'password_lock_time',
922
+ 'path',
923
+ 'percent_rank',
924
+ 'persist',
925
+ 'persist_only',
926
+ 'phase',
927
+ 'plugin',
928
+ 'plugin_dir',
929
+ 'plugins',
930
+ 'port',
931
+ 'precedes',
932
+ 'preceding',
933
+ 'prepare',
934
+ 'preserve',
935
+ 'prev',
936
+ 'primary',
937
+ 'privilege_checks_user',
938
+ 'privileges',
939
+ 'procedure',
940
+ 'process',
941
+ 'processlist',
942
+ 'profile',
943
+ 'profiles',
944
+ 'proxy',
945
+ 'purge',
946
+ 'quarter',
947
+ 'query',
948
+ 'quick',
949
+ 'random',
950
+ 'range',
951
+ 'rank',
952
+ 'read',
953
+ 'read_only',
954
+ 'read_write',
955
+ 'reads',
956
+ 'rebuild',
957
+ 'recover',
958
+ 'recursive',
959
+ 'redo_buffer_size',
960
+ 'redundant',
961
+ 'reference',
962
+ 'references',
963
+ 'regexp',
964
+ 'relay',
965
+ 'relay_log_file',
966
+ 'relay_log_pos',
967
+ 'relay_thread',
968
+ 'relaylog',
969
+ 'release',
970
+ 'reload',
971
+ 'remove',
972
+ 'rename',
973
+ 'reorganize',
974
+ 'repair',
975
+ 'repeat',
976
+ 'repeatable',
977
+ 'replace',
978
+ 'replicate_do_db',
979
+ 'replicate_do_table',
980
+ 'replicate_ignore_db',
981
+ 'replicate_ignore_table',
982
+ 'replicate_rewrite_db',
983
+ 'replicate_wild_do_table',
984
+ 'replicate_wild_ignore_table',
985
+ 'replication',
986
+ 'require',
987
+ 'require_row_format',
988
+ 'require_table_primary_key_check',
989
+ 'reset',
990
+ 'resignal',
991
+ 'resource',
992
+ 'respect',
993
+ 'restart',
994
+ 'restore',
995
+ 'restrict',
996
+ 'resume',
997
+ 'retain',
998
+ 'return',
999
+ 'returned_sqlstate',
1000
+ 'returning',
1001
+ 'returns',
1002
+ 'reuse',
1003
+ 'reverse',
1004
+ 'revoke',
1005
+ 'right',
1006
+ 'rlike',
1007
+ 'role',
1008
+ 'rollback',
1009
+ 'rollup',
1010
+ 'rotate',
1011
+ 'routine',
1012
+ 'row',
1013
+ 'row_count',
1014
+ 'row_format',
1015
+ 'row_number',
1016
+ 'rows',
1017
+ 'rtree',
1018
+ 'savepoint',
1019
+ 'schedule',
1020
+ 'schema',
1021
+ 'schema_name',
1022
+ 'schemas',
1023
+ 'second',
1024
+ 'second_microsecond',
1025
+ 'secondary',
1026
+ 'secondary_engine',
1027
+ 'secondary_engine_attribute',
1028
+ 'secondary_load',
1029
+ 'secondary_unload',
1030
+ 'security',
1031
+ 'select',
1032
+ 'sensitive',
1033
+ 'separator',
1034
+ 'serializable',
1035
+ 'server',
1036
+ 'session',
1037
+ 'share',
1038
+ 'show',
1039
+ 'shutdown',
1040
+ 'signal',
1041
+ 'signed',
1042
+ 'simple',
1043
+ 'skip',
1044
+ 'slave',
1045
+ 'slow',
1046
+ 'snapshot',
1047
+ 'socket',
1048
+ 'some',
1049
+ 'soname',
1050
+ 'sounds',
1051
+ 'source',
1052
+ 'spatial',
1053
+ 'specific',
1054
+ 'sql',
1055
+ 'sql_after_gtids',
1056
+ 'sql_after_mts_gaps',
1057
+ 'sql_before_gtids',
1058
+ 'sql_big_result',
1059
+ 'sql_buffer_result',
1060
+ 'sql_calc_found_rows',
1061
+ 'sql_no_cache',
1062
+ 'sql_small_result',
1063
+ 'sql_thread',
1064
+ 'sql_tsi_day',
1065
+ 'sql_tsi_hour',
1066
+ 'sql_tsi_minute',
1067
+ 'sql_tsi_month',
1068
+ 'sql_tsi_quarter',
1069
+ 'sql_tsi_second',
1070
+ 'sql_tsi_week',
1071
+ 'sql_tsi_year',
1072
+ 'sqlexception',
1073
+ 'sqlstate',
1074
+ 'sqlwarning',
1075
+ 'srid',
1076
+ 'ssl',
1077
+ 'stacked',
1078
+ 'start',
1079
+ 'starting',
1080
+ 'starts',
1081
+ 'stats_auto_recalc',
1082
+ 'stats_persistent',
1083
+ 'stats_sample_pages',
1084
+ 'status',
1085
+ 'stop',
1086
+ 'storage',
1087
+ 'stored',
1088
+ 'straight_join',
1089
+ 'stream',
1090
+ 'string',
1091
+ 'subclass_origin',
1092
+ 'subject',
1093
+ 'subpartition',
1094
+ 'subpartitions',
1095
+ 'super',
1096
+ 'suspend',
1097
+ 'swaps',
1098
+ 'switches',
1099
+ 'system',
1100
+ 'table',
1101
+ 'table_checksum',
1102
+ 'table_name',
1103
+ 'tables',
1104
+ 'tablespace',
1105
+ 'temporary',
1106
+ 'temptable',
1107
+ 'terminated',
1108
+ 'than',
1109
+ 'then',
1110
+ 'thread_priority',
1111
+ 'ties',
1112
+ 'timestampadd',
1113
+ 'timestampdiff',
1114
+ 'tls',
1115
+ 'to',
1116
+ 'trailing',
1117
+ 'transaction',
1118
+ 'trigger',
1119
+ 'triggers',
1120
+ 'true',
1121
+ 'truncate',
1122
+ 'type',
1123
+ 'types',
1124
+ 'unbounded',
1125
+ 'uncommitted',
1126
+ 'undefined',
1127
+ 'undo',
1128
+ 'undo_buffer_size',
1129
+ 'undofile',
1130
+ 'unicode',
1131
+ 'uninstall',
1132
+ 'union',
1133
+ 'unique',
1134
+ 'unknown',
1135
+ 'unlock',
1136
+ 'unsigned',
1137
+ 'until',
1138
+ 'update',
1139
+ 'upgrade',
1140
+ 'usage',
1141
+ 'use',
1142
+ 'use_frm',
1143
+ 'user',
1144
+ 'user_resources',
1145
+ 'using',
1146
+ 'utc_date',
1147
+ 'utc_time',
1148
+ 'utc_timestamp',
1149
+ 'validation',
1150
+ 'value',
1151
+ 'values',
1152
+ 'variables',
1153
+ 'vcpu',
1154
+ 'view',
1155
+ 'virtual',
1156
+ 'visible',
1157
+ 'wait',
1158
+ 'warnings',
1159
+ 'week',
1160
+ 'weight_string',
1161
+ 'when',
1162
+ 'where',
1163
+ 'while',
1164
+ 'window',
1165
+ 'with',
1166
+ 'without',
1167
+ 'work',
1168
+ 'wrapper',
1169
+ 'write',
1170
+ 'x509',
1171
+ 'xa',
1172
+ 'xid',
1173
+ 'xml',
1174
+ 'xor',
1175
+ 'year_month',
1176
+ 'zerofill',
1177
+ )
1178
+
1179
+
1180
+ if __name__ == '__main__': # pragma: no cover
1181
+ import re
1182
+ from urllib.request import urlopen
1183
+
1184
+ from pygments.util import format_lines
1185
+
1186
+ # MySQL source code
1187
+ SOURCE_URL = 'https://github.com/mysql/mysql-server/raw/8.0'
1188
+ LEX_URL = SOURCE_URL + '/sql/lex.h'
1189
+ ITEM_CREATE_URL = SOURCE_URL + '/sql/item_create.cc'
1190
+
1191
+
1192
+ def update_myself():
1193
+ # Pull content from lex.h.
1194
+ lex_file = urlopen(LEX_URL).read().decode('utf8', errors='ignore')
1195
+ keywords = parse_lex_keywords(lex_file)
1196
+ functions = parse_lex_functions(lex_file)
1197
+ optimizer_hints = parse_lex_optimizer_hints(lex_file)
1198
+
1199
+ # Parse content in item_create.cc.
1200
+ item_create_file = urlopen(ITEM_CREATE_URL).read().decode('utf8', errors='ignore')
1201
+ functions.update(parse_item_create_functions(item_create_file))
1202
+
1203
+ # Remove data types from the set of keywords.
1204
+ keywords -= set(MYSQL_DATATYPES)
1205
+
1206
+ update_content('MYSQL_FUNCTIONS', tuple(sorted(functions)))
1207
+ update_content('MYSQL_KEYWORDS', tuple(sorted(keywords)))
1208
+ update_content('MYSQL_OPTIMIZER_HINTS', tuple(sorted(optimizer_hints)))
1209
+
1210
+
1211
+ def parse_lex_keywords(f):
1212
+ """Parse keywords in lex.h."""
1213
+
1214
+ results = set()
1215
+ for m in re.finditer(r'{SYM(?:_HK)?\("(?P<keyword>[a-z0-9_]+)",', f, flags=re.I):
1216
+ results.add(m.group('keyword').lower())
1217
+
1218
+ if not results:
1219
+ raise ValueError('No keywords found')
1220
+
1221
+ return results
1222
+
1223
+
1224
+ def parse_lex_optimizer_hints(f):
1225
+ """Parse optimizer hints in lex.h."""
1226
+
1227
+ results = set()
1228
+ for m in re.finditer(r'{SYM_H\("(?P<keyword>[a-z0-9_]+)",', f, flags=re.I):
1229
+ results.add(m.group('keyword').lower())
1230
+
1231
+ if not results:
1232
+ raise ValueError('No optimizer hints found')
1233
+
1234
+ return results
1235
+
1236
+
1237
+ def parse_lex_functions(f):
1238
+ """Parse MySQL function names from lex.h."""
1239
+
1240
+ results = set()
1241
+ for m in re.finditer(r'{SYM_FN?\("(?P<function>[a-z0-9_]+)",', f, flags=re.I):
1242
+ results.add(m.group('function').lower())
1243
+
1244
+ if not results:
1245
+ raise ValueError('No lex functions found')
1246
+
1247
+ return results
1248
+
1249
+
1250
+ def parse_item_create_functions(f):
1251
+ """Parse MySQL function names from item_create.cc."""
1252
+
1253
+ results = set()
1254
+ for m in re.finditer(r'{"(?P<function>[^"]+?)",\s*SQL_F[^(]+?\(', f, flags=re.I):
1255
+ results.add(m.group('function').lower())
1256
+
1257
+ if not results:
1258
+ raise ValueError('No item_create functions found')
1259
+
1260
+ return results
1261
+
1262
+
1263
+ def update_content(field_name, content):
1264
+ """Overwrite this file with content parsed from MySQL's source code."""
1265
+
1266
+ with open(__file__) as f:
1267
+ data = f.read()
1268
+
1269
+ # Line to start/end inserting
1270
+ re_match = re.compile(r'^%s\s*=\s*\($.*?^\s*\)$' % field_name, re.M | re.S)
1271
+ m = re_match.search(data)
1272
+ if not m:
1273
+ raise ValueError('Could not find an existing definition for %s' % field_name)
1274
+
1275
+ new_block = format_lines(field_name, content)
1276
+ data = data[:m.start()] + new_block + data[m.end():]
1277
+
1278
+ with open(__file__, 'w', newline='\n') as f:
1279
+ f.write(data)
1280
+
1281
+ update_myself()