pygments.rb 1.2.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. checksums.yaml +5 -5
  2. data/.github/dependabot.yml +13 -0
  3. data/.github/workflows/ci.yml +28 -0
  4. data/.github/workflows/release.yml +24 -0
  5. data/.gitignore +5 -6
  6. data/CHANGELOG.adoc +128 -0
  7. data/Gemfile +3 -1
  8. data/LICENSE +1 -1
  9. data/README.adoc +160 -0
  10. data/Rakefile +11 -21
  11. data/bench.rb +8 -7
  12. data/cache-lexers.rb +3 -2
  13. data/lexers +0 -0
  14. data/lib/pygments/lexer.rb +5 -5
  15. data/lib/pygments/mentos.py +23 -110
  16. data/lib/pygments/popen.rb +148 -229
  17. data/lib/pygments/version.rb +2 -2
  18. data/lib/pygments.rb +10 -11
  19. data/pygments.rb.gemspec +12 -10
  20. data/test/test_pygments.rb +46 -104
  21. data/vendor/pygments-main/{AUTHORS → Pygments-2.7.3.dist-info/AUTHORS} +21 -3
  22. data/vendor/pygments-main/Pygments-2.7.3.dist-info/INSTALLER +1 -0
  23. data/vendor/pygments-main/{LICENSE → Pygments-2.7.3.dist-info/LICENSE} +1 -1
  24. data/vendor/pygments-main/Pygments-2.7.3.dist-info/METADATA +49 -0
  25. data/vendor/pygments-main/Pygments-2.7.3.dist-info/RECORD +482 -0
  26. data/vendor/pygments-main/Pygments-2.7.3.dist-info/REQUESTED +0 -0
  27. data/vendor/pygments-main/Pygments-2.7.3.dist-info/WHEEL +5 -0
  28. data/vendor/pygments-main/Pygments-2.7.3.dist-info/entry_points.txt +3 -0
  29. data/vendor/pygments-main/Pygments-2.7.3.dist-info/top_level.txt +1 -0
  30. data/vendor/pygments-main/bin/pygmentize +8 -0
  31. data/vendor/pygments-main/pygments/__init__.py +6 -11
  32. data/vendor/pygments-main/pygments/__main__.py +18 -0
  33. data/vendor/pygments-main/pygments/cmdline.py +38 -29
  34. data/vendor/pygments-main/pygments/console.py +6 -9
  35. data/vendor/pygments-main/pygments/filter.py +4 -6
  36. data/vendor/pygments-main/pygments/filters/__init__.py +609 -21
  37. data/vendor/pygments-main/pygments/formatter.py +4 -4
  38. data/vendor/pygments-main/pygments/formatters/__init__.py +9 -8
  39. data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -3
  40. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
  41. data/vendor/pygments-main/pygments/formatters/html.py +223 -135
  42. data/vendor/pygments-main/pygments/formatters/img.py +68 -41
  43. data/vendor/pygments-main/pygments/formatters/irc.py +39 -39
  44. data/vendor/pygments-main/pygments/formatters/latex.py +56 -26
  45. data/vendor/pygments-main/pygments/formatters/other.py +12 -8
  46. data/vendor/pygments-main/pygments/formatters/rtf.py +29 -29
  47. data/vendor/pygments-main/pygments/formatters/svg.py +38 -4
  48. data/vendor/pygments-main/pygments/formatters/terminal.py +25 -31
  49. data/vendor/pygments-main/pygments/formatters/terminal256.py +22 -12
  50. data/vendor/pygments-main/pygments/lexer.py +41 -39
  51. data/vendor/pygments-main/pygments/lexers/__init__.py +28 -15
  52. data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +5 -5
  53. data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +15 -15
  54. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +11 -12
  55. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1717 -1338
  56. data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +1 -1
  57. data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +2 -4
  58. data/vendor/pygments-main/pygments/lexers/_mapping.py +74 -29
  59. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +2 -2
  60. data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +1282 -0
  61. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +1 -1
  62. data/vendor/pygments-main/pygments/lexers/_php_builtins.py +17 -20
  63. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +73 -16
  64. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +2 -2
  65. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1 -3
  66. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +151 -125
  67. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +6 -4
  68. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -1
  69. data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +113 -0
  70. data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +280 -0
  71. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -1
  72. data/vendor/pygments-main/pygments/lexers/actionscript.py +8 -3
  73. data/vendor/pygments-main/pygments/lexers/agile.py +1 -1
  74. data/vendor/pygments-main/pygments/lexers/algebra.py +20 -1
  75. data/vendor/pygments-main/pygments/lexers/ambient.py +1 -1
  76. data/vendor/pygments-main/pygments/lexers/ampl.py +3 -3
  77. data/vendor/pygments-main/pygments/lexers/apl.py +15 -15
  78. data/vendor/pygments-main/pygments/lexers/archetype.py +3 -3
  79. data/vendor/pygments-main/pygments/lexers/arrow.py +117 -0
  80. data/vendor/pygments-main/pygments/lexers/asm.py +440 -76
  81. data/vendor/pygments-main/pygments/lexers/automation.py +1 -1
  82. data/vendor/pygments-main/pygments/lexers/bare.py +104 -0
  83. data/vendor/pygments-main/pygments/lexers/basic.py +166 -4
  84. data/vendor/pygments-main/pygments/lexers/bibtex.py +5 -5
  85. data/vendor/pygments-main/pygments/lexers/boa.py +102 -0
  86. data/vendor/pygments-main/pygments/lexers/business.py +17 -2
  87. data/vendor/pygments-main/pygments/lexers/c_cpp.py +137 -45
  88. data/vendor/pygments-main/pygments/lexers/c_like.py +67 -42
  89. data/vendor/pygments-main/pygments/lexers/capnproto.py +7 -7
  90. data/vendor/pygments-main/pygments/lexers/chapel.py +23 -13
  91. data/vendor/pygments-main/pygments/lexers/clean.py +135 -244
  92. data/vendor/pygments-main/pygments/lexers/compiled.py +1 -1
  93. data/vendor/pygments-main/pygments/lexers/configs.py +187 -36
  94. data/vendor/pygments-main/pygments/lexers/console.py +1 -1
  95. data/vendor/pygments-main/pygments/lexers/crystal.py +3 -4
  96. data/vendor/pygments-main/pygments/lexers/csound.py +288 -187
  97. data/vendor/pygments-main/pygments/lexers/css.py +18 -16
  98. data/vendor/pygments-main/pygments/lexers/d.py +10 -5
  99. data/vendor/pygments-main/pygments/lexers/dalvik.py +1 -1
  100. data/vendor/pygments-main/pygments/lexers/data.py +240 -97
  101. data/vendor/pygments-main/pygments/lexers/devicetree.py +109 -0
  102. data/vendor/pygments-main/pygments/lexers/diff.py +4 -4
  103. data/vendor/pygments-main/pygments/lexers/dotnet.py +40 -24
  104. data/vendor/pygments-main/pygments/lexers/dsls.py +144 -62
  105. data/vendor/pygments-main/pygments/lexers/dylan.py +16 -18
  106. data/vendor/pygments-main/pygments/lexers/ecl.py +16 -2
  107. data/vendor/pygments-main/pygments/lexers/eiffel.py +1 -1
  108. data/vendor/pygments-main/pygments/lexers/elm.py +5 -5
  109. data/vendor/pygments-main/pygments/lexers/email.py +151 -0
  110. data/vendor/pygments-main/pygments/lexers/erlang.py +29 -32
  111. data/vendor/pygments-main/pygments/lexers/esoteric.py +46 -19
  112. data/vendor/pygments-main/pygments/lexers/ezhil.py +21 -13
  113. data/vendor/pygments-main/pygments/lexers/factor.py +1 -1
  114. data/vendor/pygments-main/pygments/lexers/fantom.py +1 -1
  115. data/vendor/pygments-main/pygments/lexers/felix.py +1 -1
  116. data/vendor/pygments-main/pygments/lexers/floscript.py +83 -0
  117. data/vendor/pygments-main/pygments/lexers/forth.py +41 -40
  118. data/vendor/pygments-main/pygments/lexers/fortran.py +5 -4
  119. data/vendor/pygments-main/pygments/lexers/foxpro.py +2 -2
  120. data/vendor/pygments-main/pygments/lexers/freefem.py +898 -0
  121. data/vendor/pygments-main/pygments/lexers/functional.py +1 -1
  122. data/vendor/pygments-main/pygments/lexers/gdscript.py +346 -0
  123. data/vendor/pygments-main/pygments/lexers/go.py +1 -1
  124. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +62 -5
  125. data/vendor/pygments-main/pygments/lexers/graph.py +14 -9
  126. data/vendor/pygments-main/pygments/lexers/graphics.py +272 -25
  127. data/vendor/pygments-main/pygments/lexers/haskell.py +48 -21
  128. data/vendor/pygments-main/pygments/lexers/haxe.py +6 -6
  129. data/vendor/pygments-main/pygments/lexers/hdl.py +176 -86
  130. data/vendor/pygments-main/pygments/lexers/hexdump.py +1 -1
  131. data/vendor/pygments-main/pygments/lexers/html.py +31 -19
  132. data/vendor/pygments-main/pygments/lexers/idl.py +19 -8
  133. data/vendor/pygments-main/pygments/lexers/igor.py +244 -112
  134. data/vendor/pygments-main/pygments/lexers/inferno.py +2 -2
  135. data/vendor/pygments-main/pygments/lexers/installers.py +1 -1
  136. data/vendor/pygments-main/pygments/lexers/int_fiction.py +40 -15
  137. data/vendor/pygments-main/pygments/lexers/iolang.py +2 -2
  138. data/vendor/pygments-main/pygments/lexers/j.py +3 -3
  139. data/vendor/pygments-main/pygments/lexers/javascript.py +60 -45
  140. data/vendor/pygments-main/pygments/lexers/julia.py +44 -46
  141. data/vendor/pygments-main/pygments/lexers/jvm.py +265 -165
  142. data/vendor/pygments-main/pygments/lexers/lisp.py +882 -804
  143. data/vendor/pygments-main/pygments/lexers/make.py +10 -6
  144. data/vendor/pygments-main/pygments/lexers/markup.py +213 -43
  145. data/vendor/pygments-main/pygments/lexers/math.py +1 -1
  146. data/vendor/pygments-main/pygments/lexers/matlab.py +98 -41
  147. data/vendor/pygments-main/pygments/lexers/mime.py +226 -0
  148. data/vendor/pygments-main/pygments/lexers/ml.py +198 -9
  149. data/vendor/pygments-main/pygments/lexers/modeling.py +26 -18
  150. data/vendor/pygments-main/pygments/lexers/modula2.py +25 -6
  151. data/vendor/pygments-main/pygments/lexers/monte.py +1 -1
  152. data/vendor/pygments-main/pygments/lexers/mosel.py +448 -0
  153. data/vendor/pygments-main/pygments/lexers/ncl.py +1 -1
  154. data/vendor/pygments-main/pygments/lexers/nimrod.py +4 -4
  155. data/vendor/pygments-main/pygments/lexers/nit.py +1 -1
  156. data/vendor/pygments-main/pygments/lexers/nix.py +1 -1
  157. data/vendor/pygments-main/pygments/lexers/oberon.py +17 -1
  158. data/vendor/pygments-main/pygments/lexers/objective.py +16 -16
  159. data/vendor/pygments-main/pygments/lexers/ooc.py +1 -1
  160. data/vendor/pygments-main/pygments/lexers/other.py +1 -1
  161. data/vendor/pygments-main/pygments/lexers/parasail.py +1 -1
  162. data/vendor/pygments-main/pygments/lexers/parsers.py +23 -58
  163. data/vendor/pygments-main/pygments/lexers/pascal.py +22 -22
  164. data/vendor/pygments-main/pygments/lexers/pawn.py +30 -24
  165. data/vendor/pygments-main/pygments/lexers/perl.py +260 -148
  166. data/vendor/pygments-main/pygments/lexers/php.py +64 -10
  167. data/vendor/pygments-main/pygments/lexers/pointless.py +71 -0
  168. data/vendor/pygments-main/pygments/lexers/pony.py +94 -0
  169. data/vendor/pygments-main/pygments/lexers/praat.py +38 -30
  170. data/vendor/pygments-main/pygments/lexers/prolog.py +36 -36
  171. data/vendor/pygments-main/pygments/lexers/promql.py +183 -0
  172. data/vendor/pygments-main/pygments/lexers/python.py +439 -227
  173. data/vendor/pygments-main/pygments/lexers/qvt.py +6 -6
  174. data/vendor/pygments-main/pygments/lexers/r.py +13 -275
  175. data/vendor/pygments-main/pygments/lexers/rdf.py +232 -39
  176. data/vendor/pygments-main/pygments/lexers/rebol.py +8 -8
  177. data/vendor/pygments-main/pygments/lexers/resource.py +2 -2
  178. data/vendor/pygments-main/pygments/lexers/ride.py +139 -0
  179. data/vendor/pygments-main/pygments/lexers/rnc.py +1 -1
  180. data/vendor/pygments-main/pygments/lexers/roboconf.py +1 -1
  181. data/vendor/pygments-main/pygments/lexers/robotframework.py +23 -31
  182. data/vendor/pygments-main/pygments/lexers/ruby.py +22 -24
  183. data/vendor/pygments-main/pygments/lexers/rust.py +76 -72
  184. data/vendor/pygments-main/pygments/lexers/sas.py +1 -1
  185. data/vendor/pygments-main/pygments/lexers/scdoc.py +83 -0
  186. data/vendor/pygments-main/pygments/lexers/scripting.py +75 -13
  187. data/vendor/pygments-main/pygments/lexers/sgf.py +61 -0
  188. data/vendor/pygments-main/pygments/lexers/shell.py +162 -42
  189. data/vendor/pygments-main/pygments/lexers/sieve.py +69 -0
  190. data/vendor/pygments-main/pygments/lexers/slash.py +185 -0
  191. data/vendor/pygments-main/pygments/lexers/smalltalk.py +2 -2
  192. data/vendor/pygments-main/pygments/lexers/smv.py +3 -3
  193. data/vendor/pygments-main/pygments/lexers/snobol.py +1 -1
  194. data/vendor/pygments-main/pygments/lexers/solidity.py +92 -0
  195. data/vendor/pygments-main/pygments/lexers/special.py +5 -3
  196. data/vendor/pygments-main/pygments/lexers/sql.py +333 -177
  197. data/vendor/pygments-main/pygments/lexers/stata.py +107 -44
  198. data/vendor/pygments-main/pygments/lexers/supercollider.py +6 -1
  199. data/vendor/pygments-main/pygments/lexers/tcl.py +1 -1
  200. data/vendor/pygments-main/pygments/lexers/templates.py +102 -121
  201. data/vendor/pygments-main/pygments/lexers/teraterm.py +335 -0
  202. data/vendor/pygments-main/pygments/lexers/testing.py +6 -6
  203. data/vendor/pygments-main/pygments/lexers/text.py +2 -1
  204. data/vendor/pygments-main/pygments/lexers/textedit.py +4 -4
  205. data/vendor/pygments-main/pygments/lexers/textfmts.py +146 -13
  206. data/vendor/pygments-main/pygments/lexers/theorem.py +69 -53
  207. data/vendor/pygments-main/pygments/lexers/tnt.py +263 -0
  208. data/vendor/pygments-main/pygments/lexers/trafficscript.py +1 -1
  209. data/vendor/pygments-main/pygments/lexers/typoscript.py +4 -11
  210. data/vendor/pygments-main/pygments/lexers/unicon.py +412 -0
  211. data/vendor/pygments-main/pygments/lexers/urbi.py +14 -1
  212. data/vendor/pygments-main/pygments/lexers/usd.py +90 -0
  213. data/vendor/pygments-main/pygments/lexers/varnish.py +3 -3
  214. data/vendor/pygments-main/pygments/lexers/verification.py +13 -10
  215. data/vendor/pygments-main/pygments/lexers/web.py +1 -1
  216. data/vendor/pygments-main/pygments/lexers/webidl.py +299 -0
  217. data/vendor/pygments-main/pygments/lexers/webmisc.py +31 -28
  218. data/vendor/pygments-main/pygments/lexers/whiley.py +5 -5
  219. data/vendor/pygments-main/pygments/lexers/x10.py +1 -1
  220. data/vendor/pygments-main/pygments/lexers/xorg.py +5 -4
  221. data/vendor/pygments-main/pygments/lexers/yang.py +104 -0
  222. data/vendor/pygments-main/pygments/lexers/zig.py +124 -0
  223. data/vendor/pygments-main/pygments/modeline.py +1 -1
  224. data/vendor/pygments-main/pygments/plugin.py +4 -2
  225. data/vendor/pygments-main/pygments/regexopt.py +1 -1
  226. data/vendor/pygments-main/pygments/scanner.py +2 -2
  227. data/vendor/pygments-main/pygments/sphinxext.py +2 -4
  228. data/vendor/pygments-main/pygments/style.py +61 -24
  229. data/vendor/pygments-main/pygments/styles/__init__.py +10 -4
  230. data/vendor/pygments-main/pygments/styles/abap.py +1 -1
  231. data/vendor/pygments-main/pygments/styles/algol.py +1 -1
  232. data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -1
  233. data/vendor/pygments-main/pygments/styles/arduino.py +2 -2
  234. data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
  235. data/vendor/pygments-main/pygments/styles/borland.py +1 -1
  236. data/vendor/pygments-main/pygments/styles/bw.py +1 -1
  237. data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
  238. data/vendor/pygments-main/pygments/styles/default.py +1 -1
  239. data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
  240. data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
  241. data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
  242. data/vendor/pygments-main/pygments/styles/igor.py +1 -1
  243. data/vendor/pygments-main/pygments/styles/inkpot.py +67 -0
  244. data/vendor/pygments-main/pygments/styles/lovelace.py +1 -1
  245. data/vendor/pygments-main/pygments/styles/manni.py +1 -1
  246. data/vendor/pygments-main/pygments/styles/monokai.py +4 -3
  247. data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
  248. data/vendor/pygments-main/pygments/styles/native.py +1 -1
  249. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -1
  250. data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -1
  251. data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
  252. data/vendor/pygments-main/pygments/styles/perldoc.py +1 -1
  253. data/vendor/pygments-main/pygments/styles/rainbow_dash.py +1 -1
  254. data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
  255. data/vendor/pygments-main/pygments/styles/sas.py +1 -1
  256. data/vendor/pygments-main/pygments/styles/solarized.py +134 -0
  257. data/vendor/pygments-main/pygments/styles/stata_dark.py +41 -0
  258. data/vendor/pygments-main/pygments/styles/{stata.py → stata_light.py} +14 -15
  259. data/vendor/pygments-main/pygments/styles/tango.py +1 -1
  260. data/vendor/pygments-main/pygments/styles/trac.py +1 -1
  261. data/vendor/pygments-main/pygments/styles/vim.py +1 -1
  262. data/vendor/pygments-main/pygments/styles/vs.py +1 -1
  263. data/vendor/pygments-main/pygments/styles/xcode.py +1 -1
  264. data/vendor/pygments-main/pygments/token.py +1 -1
  265. data/vendor/pygments-main/pygments/unistring.py +47 -108
  266. data/vendor/pygments-main/pygments/util.py +15 -92
  267. metadata +68 -136
  268. data/CHANGELOG.md +0 -111
  269. data/README.md +0 -121
  270. data/circle.yml +0 -20
  271. data/test/test_data.c +0 -2581
  272. data/test/test_data.py +0 -514
  273. data/test/test_data_generated +0 -2582
  274. data/vendor/custom_lexers/github.py +0 -565
  275. data/vendor/pygments-main/CHANGES +0 -1186
  276. data/vendor/pygments-main/MANIFEST.in +0 -6
  277. data/vendor/pygments-main/Makefile +0 -65
  278. data/vendor/pygments-main/README.rst +0 -39
  279. data/vendor/pygments-main/REVISION +0 -1
  280. data/vendor/pygments-main/TODO +0 -12
  281. data/vendor/pygments-main/doc/Makefile +0 -153
  282. data/vendor/pygments-main/doc/_static/favicon.ico +0 -0
  283. data/vendor/pygments-main/doc/_static/logo_new.png +0 -0
  284. data/vendor/pygments-main/doc/_static/logo_only.png +0 -0
  285. data/vendor/pygments-main/doc/_templates/docssidebar.html +0 -3
  286. data/vendor/pygments-main/doc/_templates/indexsidebar.html +0 -25
  287. data/vendor/pygments-main/doc/_themes/pygments14/layout.html +0 -98
  288. data/vendor/pygments-main/doc/_themes/pygments14/static/bodybg.png +0 -0
  289. data/vendor/pygments-main/doc/_themes/pygments14/static/docbg.png +0 -0
  290. data/vendor/pygments-main/doc/_themes/pygments14/static/listitem.png +0 -0
  291. data/vendor/pygments-main/doc/_themes/pygments14/static/logo.png +0 -0
  292. data/vendor/pygments-main/doc/_themes/pygments14/static/pocoo.png +0 -0
  293. data/vendor/pygments-main/doc/_themes/pygments14/static/pygments14.css_t +0 -401
  294. data/vendor/pygments-main/doc/_themes/pygments14/theme.conf +0 -15
  295. data/vendor/pygments-main/doc/conf.py +0 -241
  296. data/vendor/pygments-main/doc/docs/api.rst +0 -354
  297. data/vendor/pygments-main/doc/docs/authors.rst +0 -4
  298. data/vendor/pygments-main/doc/docs/changelog.rst +0 -1
  299. data/vendor/pygments-main/doc/docs/cmdline.rst +0 -166
  300. data/vendor/pygments-main/doc/docs/filterdevelopment.rst +0 -71
  301. data/vendor/pygments-main/doc/docs/filters.rst +0 -41
  302. data/vendor/pygments-main/doc/docs/formatterdevelopment.rst +0 -169
  303. data/vendor/pygments-main/doc/docs/formatters.rst +0 -48
  304. data/vendor/pygments-main/doc/docs/index.rst +0 -66
  305. data/vendor/pygments-main/doc/docs/integrate.rst +0 -40
  306. data/vendor/pygments-main/doc/docs/java.rst +0 -70
  307. data/vendor/pygments-main/doc/docs/lexerdevelopment.rst +0 -728
  308. data/vendor/pygments-main/doc/docs/lexers.rst +0 -69
  309. data/vendor/pygments-main/doc/docs/moinmoin.rst +0 -39
  310. data/vendor/pygments-main/doc/docs/plugins.rst +0 -93
  311. data/vendor/pygments-main/doc/docs/quickstart.rst +0 -205
  312. data/vendor/pygments-main/doc/docs/rstdirective.rst +0 -22
  313. data/vendor/pygments-main/doc/docs/styles.rst +0 -201
  314. data/vendor/pygments-main/doc/docs/tokens.rst +0 -372
  315. data/vendor/pygments-main/doc/docs/unicode.rst +0 -58
  316. data/vendor/pygments-main/doc/download.rst +0 -41
  317. data/vendor/pygments-main/doc/faq.rst +0 -139
  318. data/vendor/pygments-main/doc/index.rst +0 -54
  319. data/vendor/pygments-main/doc/languages.rst +0 -154
  320. data/vendor/pygments-main/doc/make.bat +0 -190
  321. data/vendor/pygments-main/doc/pygmentize.1 +0 -94
  322. data/vendor/pygments-main/external/autopygmentize +0 -101
  323. data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +0 -162
  324. data/vendor/pygments-main/external/markdown-processor.py +0 -67
  325. data/vendor/pygments-main/external/moin-parser.py +0 -112
  326. data/vendor/pygments-main/external/pygments.bashcomp +0 -38
  327. data/vendor/pygments-main/external/rst-directive.py +0 -82
  328. data/vendor/pygments-main/pygmentize +0 -8
  329. data/vendor/pygments-main/pygments/lexers/github.py +0 -565
  330. data/vendor/pygments-main/requirements.txt +0 -5
  331. data/vendor/pygments-main/scripts/check_sources.py +0 -211
  332. data/vendor/pygments-main/scripts/debug_lexer.py +0 -246
  333. data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +0 -33
  334. data/vendor/pygments-main/scripts/epydoc.css +0 -280
  335. data/vendor/pygments-main/scripts/get_vimkw.py +0 -74
  336. data/vendor/pygments-main/scripts/pylintrc +0 -301
  337. data/vendor/pygments-main/scripts/vim2pygments.py +0 -935
  338. data/vendor/pygments-main/setup.cfg +0 -10
  339. data/vendor/pygments-main/setup.py +0 -77
  340. data/vendor/pygments-main/tox.ini +0 -7
  341. data/vendor/simplejson/.gitignore +0 -10
  342. data/vendor/simplejson/.travis.yml +0 -5
  343. data/vendor/simplejson/CHANGES.txt +0 -291
  344. data/vendor/simplejson/LICENSE.txt +0 -19
  345. data/vendor/simplejson/MANIFEST.in +0 -5
  346. data/vendor/simplejson/README.rst +0 -19
  347. data/vendor/simplejson/conf.py +0 -179
  348. data/vendor/simplejson/index.rst +0 -628
  349. data/vendor/simplejson/scripts/make_docs.py +0 -18
  350. data/vendor/simplejson/setup.py +0 -104
  351. data/vendor/simplejson/simplejson/__init__.py +0 -510
  352. data/vendor/simplejson/simplejson/_speedups.c +0 -2745
  353. data/vendor/simplejson/simplejson/decoder.py +0 -425
  354. data/vendor/simplejson/simplejson/encoder.py +0 -567
  355. data/vendor/simplejson/simplejson/ordered_dict.py +0 -119
  356. data/vendor/simplejson/simplejson/scanner.py +0 -77
  357. data/vendor/simplejson/simplejson/tests/__init__.py +0 -67
  358. data/vendor/simplejson/simplejson/tests/test_bigint_as_string.py +0 -55
  359. data/vendor/simplejson/simplejson/tests/test_check_circular.py +0 -30
  360. data/vendor/simplejson/simplejson/tests/test_decimal.py +0 -66
  361. data/vendor/simplejson/simplejson/tests/test_decode.py +0 -83
  362. data/vendor/simplejson/simplejson/tests/test_default.py +0 -9
  363. data/vendor/simplejson/simplejson/tests/test_dump.py +0 -67
  364. data/vendor/simplejson/simplejson/tests/test_encode_basestring_ascii.py +0 -46
  365. data/vendor/simplejson/simplejson/tests/test_encode_for_html.py +0 -32
  366. data/vendor/simplejson/simplejson/tests/test_errors.py +0 -34
  367. data/vendor/simplejson/simplejson/tests/test_fail.py +0 -91
  368. data/vendor/simplejson/simplejson/tests/test_float.py +0 -19
  369. data/vendor/simplejson/simplejson/tests/test_indent.py +0 -86
  370. data/vendor/simplejson/simplejson/tests/test_item_sort_key.py +0 -20
  371. data/vendor/simplejson/simplejson/tests/test_namedtuple.py +0 -121
  372. data/vendor/simplejson/simplejson/tests/test_pass1.py +0 -76
  373. data/vendor/simplejson/simplejson/tests/test_pass2.py +0 -14
  374. data/vendor/simplejson/simplejson/tests/test_pass3.py +0 -20
  375. data/vendor/simplejson/simplejson/tests/test_recursion.py +0 -67
  376. data/vendor/simplejson/simplejson/tests/test_scanstring.py +0 -117
  377. data/vendor/simplejson/simplejson/tests/test_separators.py +0 -42
  378. data/vendor/simplejson/simplejson/tests/test_speedups.py +0 -20
  379. data/vendor/simplejson/simplejson/tests/test_tuple.py +0 -49
  380. data/vendor/simplejson/simplejson/tests/test_unicode.py +0 -109
  381. data/vendor/simplejson/simplejson/tool.py +0 -39
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for semantic web and RDF query languages and markup.
7
7
 
8
- :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -15,12 +15,12 @@ from pygments.lexer import RegexLexer, bygroups, default
15
15
  from pygments.token import Keyword, Punctuation, String, Number, Operator, Generic, \
16
16
  Whitespace, Name, Literal, Comment, Text
17
17
 
18
- __all__ = ['SparqlLexer', 'TurtleLexer']
18
+ __all__ = ['SparqlLexer', 'TurtleLexer', 'ShExCLexer']
19
19
 
20
20
 
21
21
  class SparqlLexer(RegexLexer):
22
22
  """
23
- Lexer for `SPARQL <http://www.w3.org/TR/rdf-sparql-query/>`_ query language.
23
+ Lexer for `SPARQL <https://www.w3.org/TR/sparql11-query/>`_ query language.
24
24
 
25
25
  .. versionadded:: 2.0
26
26
  """
@@ -31,27 +31,27 @@ class SparqlLexer(RegexLexer):
31
31
 
32
32
  # character group definitions ::
33
33
 
34
- PN_CHARS_BASE_GRP = (u'a-zA-Z'
35
- u'\u00c0-\u00d6'
36
- u'\u00d8-\u00f6'
37
- u'\u00f8-\u02ff'
38
- u'\u0370-\u037d'
39
- u'\u037f-\u1fff'
40
- u'\u200c-\u200d'
41
- u'\u2070-\u218f'
42
- u'\u2c00-\u2fef'
43
- u'\u3001-\ud7ff'
44
- u'\uf900-\ufdcf'
45
- u'\ufdf0-\ufffd')
34
+ PN_CHARS_BASE_GRP = ('a-zA-Z'
35
+ '\u00c0-\u00d6'
36
+ '\u00d8-\u00f6'
37
+ '\u00f8-\u02ff'
38
+ '\u0370-\u037d'
39
+ '\u037f-\u1fff'
40
+ '\u200c-\u200d'
41
+ '\u2070-\u218f'
42
+ '\u2c00-\u2fef'
43
+ '\u3001-\ud7ff'
44
+ '\uf900-\ufdcf'
45
+ '\ufdf0-\ufffd')
46
46
 
47
47
  PN_CHARS_U_GRP = (PN_CHARS_BASE_GRP + '_')
48
48
 
49
49
  PN_CHARS_GRP = (PN_CHARS_U_GRP +
50
50
  r'\-' +
51
51
  r'0-9' +
52
- u'\u00b7' +
53
- u'\u0300-\u036f' +
54
- u'\u203f-\u2040')
52
+ '\u00b7' +
53
+ '\u0300-\u036f' +
54
+ '\u203f-\u2040')
55
55
 
56
56
  HEX_GRP = '0-9A-Fa-f'
57
57
 
@@ -76,8 +76,8 @@ class SparqlLexer(RegexLexer):
76
76
 
77
77
  PN_PREFIX = PN_CHARS_BASE + '(?:[' + PN_CHARS_GRP + '.]*' + PN_CHARS + ')?'
78
78
 
79
- VARNAME = u'[0-9' + PN_CHARS_U_GRP + '][' + PN_CHARS_U_GRP + \
80
- u'0-9\u00b7\u0300-\u036f\u203f-\u2040]*'
79
+ VARNAME = '[0-9' + PN_CHARS_U_GRP + '][' + PN_CHARS_U_GRP + \
80
+ '0-9\u00b7\u0300-\u036f\u203f-\u2040]*'
81
81
 
82
82
  PERCENT = '%' + HEX + HEX
83
83
 
@@ -97,12 +97,12 @@ class SparqlLexer(RegexLexer):
97
97
  'root': [
98
98
  (r'\s+', Text),
99
99
  # keywords ::
100
- (r'((?i)select|construct|describe|ask|where|filter|group\s+by|minus|'
100
+ (r'(?i)(select|construct|describe|ask|where|filter|group\s+by|minus|'
101
101
  r'distinct|reduced|from\s+named|from|order\s+by|desc|asc|limit|'
102
- r'offset|bindings|load|clear|drop|create|add|move|copy|'
103
- r'insert\s+data|delete\s+data|delete\s+where|delete|insert|'
102
+ r'offset|values|bindings|load|into|clear|drop|create|add|move|copy|'
103
+ r'insert\s+data|delete\s+data|delete\s+where|with|delete|insert|'
104
104
  r'using\s+named|using|graph|default|named|all|optional|service|'
105
- r'silent|bind|union|not\s+in|in|as|having|to|prefix|base)\b', Keyword),
105
+ r'silent|bind|undef|union|not\s+in|in|as|having|to|prefix|base)\b', Keyword),
106
106
  (r'(a)\b', Keyword),
107
107
  # IRIs ::
108
108
  ('(' + IRIREF + ')', Name.Label),
@@ -111,13 +111,13 @@ class SparqlLexer(RegexLexer):
111
111
  # # variables ::
112
112
  ('[?$]' + VARNAME, Name.Variable),
113
113
  # prefixed names ::
114
- (r'(' + PN_PREFIX + ')?(\:)(' + PN_LOCAL + ')?',
114
+ (r'(' + PN_PREFIX + r')?(\:)(' + PN_LOCAL + r')?',
115
115
  bygroups(Name.Namespace, Punctuation, Name.Tag)),
116
116
  # function names ::
117
- (r'((?i)str|lang|langmatches|datatype|bound|iri|uri|bnode|rand|abs|'
117
+ (r'(?i)(str|lang|langmatches|datatype|bound|iri|uri|bnode|rand|abs|'
118
118
  r'ceil|floor|round|concat|strlen|ucase|lcase|encode_for_uri|'
119
119
  r'contains|strstarts|strends|strbefore|strafter|year|month|day|'
120
- r'hours|minutes|seconds|timezone|tz|now|md5|sha1|sha256|sha384|'
120
+ r'hours|minutes|seconds|timezone|tz|now|uuid|struuid|md5|sha1|sha256|sha384|'
121
121
  r'sha512|coalesce|if|strlang|strdt|sameterm|isiri|isuri|isblank|'
122
122
  r'isliteral|isnumeric|regex|substr|replace|exists|not\s+exists|'
123
123
  r'count|sum|min|max|avg|sample|group_concat|separator)\b',
@@ -125,7 +125,7 @@ class SparqlLexer(RegexLexer):
125
125
  # boolean literals ::
126
126
  (r'(true|false)', Keyword.Constant),
127
127
  # double literals ::
128
- (r'[+\-]?(\d+\.\d*' + EXPONENT + '|\.?\d+' + EXPONENT + ')', Number.Float),
128
+ (r'[+\-]?(\d+\.\d*' + EXPONENT + r'|\.?\d+' + EXPONENT + ')', Number.Float),
129
129
  # decimal literals ::
130
130
  (r'[+\-]?(\d+\.\d*|\.\d+)', Number.Float),
131
131
  # integer literals ::
@@ -187,19 +187,61 @@ class TurtleLexer(RegexLexer):
187
187
  filenames = ['*.ttl']
188
188
  mimetypes = ['text/turtle', 'application/x-turtle']
189
189
 
190
- flags = re.IGNORECASE
190
+ # character group definitions ::
191
+ PN_CHARS_BASE_GRP = ('a-zA-Z'
192
+ '\u00c0-\u00d6'
193
+ '\u00d8-\u00f6'
194
+ '\u00f8-\u02ff'
195
+ '\u0370-\u037d'
196
+ '\u037f-\u1fff'
197
+ '\u200c-\u200d'
198
+ '\u2070-\u218f'
199
+ '\u2c00-\u2fef'
200
+ '\u3001-\ud7ff'
201
+ '\uf900-\ufdcf'
202
+ '\ufdf0-\ufffd')
203
+
204
+ PN_CHARS_U_GRP = (PN_CHARS_BASE_GRP + '_')
205
+
206
+ PN_CHARS_GRP = (PN_CHARS_U_GRP +
207
+ r'\-' +
208
+ r'0-9' +
209
+ '\u00b7' +
210
+ '\u0300-\u036f' +
211
+ '\u203f-\u2040')
212
+
213
+ PN_CHARS = '[' + PN_CHARS_GRP + ']'
214
+
215
+ PN_CHARS_BASE = '[' + PN_CHARS_BASE_GRP + ']'
216
+
217
+ PN_PREFIX = PN_CHARS_BASE + '(?:[' + PN_CHARS_GRP + '.]*' + PN_CHARS + ')?'
218
+
219
+ HEX_GRP = '0-9A-Fa-f'
220
+
221
+ HEX = '[' + HEX_GRP + ']'
222
+
223
+ PERCENT = '%' + HEX + HEX
224
+
225
+ PN_LOCAL_ESC_CHARS_GRP = r' _~.\-!$&"()*+,;=/?#@%'
226
+
227
+ PN_LOCAL_ESC_CHARS = '[' + PN_LOCAL_ESC_CHARS_GRP + ']'
228
+
229
+ PN_LOCAL_ESC = r'\\' + PN_LOCAL_ESC_CHARS
230
+
231
+ PLX = '(?:' + PERCENT + ')|(?:' + PN_LOCAL_ESC + ')'
232
+
233
+ PN_LOCAL = ('(?:[' + PN_CHARS_U_GRP + ':0-9' + ']|' + PLX + ')' +
234
+ '(?:(?:[' + PN_CHARS_GRP + '.:]|' + PLX + ')*(?:[' +
235
+ PN_CHARS_GRP + ':]|' + PLX + '))?')
191
236
 
192
237
  patterns = {
193
- 'PNAME_NS': r'((?:[a-z][\w-]*)?\:)', # Simplified character range
238
+ 'PNAME_NS': r'((?:[a-zA-Z][\w-]*)?\:)', # Simplified character range
194
239
  'IRIREF': r'(<[^<>"{}|^`\\\x00-\x20]*>)'
195
240
  }
196
241
 
197
- # PNAME_NS PN_LOCAL (with simplified character range)
198
- patterns['PrefixedName'] = r'%(PNAME_NS)s([a-z][\w-]*)' % patterns
199
-
200
242
  tokens = {
201
243
  'root': [
202
- (r'\s+', Whitespace),
244
+ (r'\s+', Text),
203
245
 
204
246
  # Base / prefix
205
247
  (r'(@base|BASE)(\s+)%(IRIREF)s(\s*)(\.?)' % patterns,
@@ -216,8 +258,8 @@ class TurtleLexer(RegexLexer):
216
258
  (r'%(IRIREF)s' % patterns, Name.Variable),
217
259
 
218
260
  # PrefixedName
219
- (r'%(PrefixedName)s' % patterns,
220
- bygroups(Name.Namespace, Name.Tag)),
261
+ (r'(' + PN_PREFIX + r')?(\:)(' + PN_LOCAL + r')?',
262
+ bygroups(Name.Namespace, Punctuation, Name.Tag)),
221
263
 
222
264
  # Comment
223
265
  (r'#[^\n]+', Comment),
@@ -257,14 +299,165 @@ class TurtleLexer(RegexLexer):
257
299
  (r'.', String, '#pop'),
258
300
  ],
259
301
  'end-of-string': [
260
- (r'(@)([a-z]+(:?-[a-z0-9]+)*)',
302
+ (r'(@)([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)',
261
303
  bygroups(Operator, Generic.Emph), '#pop:2'),
262
304
 
263
305
  (r'(\^\^)%(IRIREF)s' % patterns, bygroups(Operator, Generic.Emph), '#pop:2'),
264
- (r'(\^\^)%(PrefixedName)s' % patterns,
265
- bygroups(Operator, Generic.Emph, Generic.Emph), '#pop:2'),
266
306
 
267
307
  default('#pop:2'),
268
308
 
269
309
  ],
270
310
  }
311
+
312
+ # Turtle and Tera Term macro files share the same file extension
313
+ # but each has a recognizable and distinct syntax.
314
+ def analyse_text(text):
315
+ for t in ('@base ', 'BASE ', '@prefix ', 'PREFIX '):
316
+ if re.search(r'^\s*%s' % t, text):
317
+ return 0.80
318
+
319
+
320
+ class ShExCLexer(RegexLexer):
321
+ """
322
+ Lexer for `ShExC <https://shex.io/shex-semantics/#shexc>`_ shape expressions language syntax.
323
+ """
324
+ name = 'ShExC'
325
+ aliases = ['shexc', 'shex']
326
+ filenames = ['*.shex']
327
+ mimetypes = ['text/shex']
328
+
329
+ # character group definitions ::
330
+
331
+ PN_CHARS_BASE_GRP = ('a-zA-Z'
332
+ '\u00c0-\u00d6'
333
+ '\u00d8-\u00f6'
334
+ '\u00f8-\u02ff'
335
+ '\u0370-\u037d'
336
+ '\u037f-\u1fff'
337
+ '\u200c-\u200d'
338
+ '\u2070-\u218f'
339
+ '\u2c00-\u2fef'
340
+ '\u3001-\ud7ff'
341
+ '\uf900-\ufdcf'
342
+ '\ufdf0-\ufffd')
343
+
344
+ PN_CHARS_U_GRP = (PN_CHARS_BASE_GRP + '_')
345
+
346
+ PN_CHARS_GRP = (PN_CHARS_U_GRP +
347
+ r'\-' +
348
+ r'0-9' +
349
+ '\u00b7' +
350
+ '\u0300-\u036f' +
351
+ '\u203f-\u2040')
352
+
353
+ HEX_GRP = '0-9A-Fa-f'
354
+
355
+ PN_LOCAL_ESC_CHARS_GRP = r"_~.\-!$&'()*+,;=/?#@%"
356
+
357
+ # terminal productions ::
358
+
359
+ PN_CHARS_BASE = '[' + PN_CHARS_BASE_GRP + ']'
360
+
361
+ PN_CHARS_U = '[' + PN_CHARS_U_GRP + ']'
362
+
363
+ PN_CHARS = '[' + PN_CHARS_GRP + ']'
364
+
365
+ HEX = '[' + HEX_GRP + ']'
366
+
367
+ PN_LOCAL_ESC_CHARS = '[' + PN_LOCAL_ESC_CHARS_GRP + ']'
368
+
369
+ UCHAR_NO_BACKSLASH = '(?:u' + HEX + '{4}|U' + HEX + '{8})'
370
+
371
+ UCHAR = r'\\' + UCHAR_NO_BACKSLASH
372
+
373
+ IRIREF = r'<(?:[^\x00-\x20<>"{}|^`\\]|' + UCHAR + ')*>'
374
+
375
+ BLANK_NODE_LABEL = '_:[0-9' + PN_CHARS_U_GRP + '](?:[' + PN_CHARS_GRP + \
376
+ '.]*' + PN_CHARS + ')?'
377
+
378
+ PN_PREFIX = PN_CHARS_BASE + '(?:[' + PN_CHARS_GRP + '.]*' + PN_CHARS + ')?'
379
+
380
+ PERCENT = '%' + HEX + HEX
381
+
382
+ PN_LOCAL_ESC = r'\\' + PN_LOCAL_ESC_CHARS
383
+
384
+ PLX = '(?:' + PERCENT + ')|(?:' + PN_LOCAL_ESC + ')'
385
+
386
+ PN_LOCAL = ('(?:[' + PN_CHARS_U_GRP + ':0-9' + ']|' + PLX + ')' +
387
+ '(?:(?:[' + PN_CHARS_GRP + '.:]|' + PLX + ')*(?:[' +
388
+ PN_CHARS_GRP + ':]|' + PLX + '))?')
389
+
390
+ EXPONENT = r'[eE][+-]?\d+'
391
+
392
+ # Lexer token definitions ::
393
+
394
+ tokens = {
395
+ 'root': [
396
+ (r'\s+', Text),
397
+ # keywords ::
398
+ (r'(?i)(base|prefix|start|external|'
399
+ r'literal|iri|bnode|nonliteral|length|minlength|maxlength|'
400
+ r'mininclusive|minexclusive|maxinclusive|maxexclusive|'
401
+ r'totaldigits|fractiondigits|'
402
+ r'closed|extra)\b', Keyword),
403
+ (r'(a)\b', Keyword),
404
+ # IRIs ::
405
+ ('(' + IRIREF + ')', Name.Label),
406
+ # blank nodes ::
407
+ ('(' + BLANK_NODE_LABEL + ')', Name.Label),
408
+ # prefixed names ::
409
+ (r'(' + PN_PREFIX + r')?(\:)(' + PN_LOCAL + ')?',
410
+ bygroups(Name.Namespace, Punctuation, Name.Tag)),
411
+ # boolean literals ::
412
+ (r'(true|false)', Keyword.Constant),
413
+ # double literals ::
414
+ (r'[+\-]?(\d+\.\d*' + EXPONENT + r'|\.?\d+' + EXPONENT + ')', Number.Float),
415
+ # decimal literals ::
416
+ (r'[+\-]?(\d+\.\d*|\.\d+)', Number.Float),
417
+ # integer literals ::
418
+ (r'[+\-]?\d+', Number.Integer),
419
+ # operators ::
420
+ (r'[@|$&=*+?^\-~]', Operator),
421
+ # operator keywords ::
422
+ (r'(?i)(and|or|not)\b', Operator.Word),
423
+ # punctuation characters ::
424
+ (r'[(){}.;,:^\[\]]', Punctuation),
425
+ # line comments ::
426
+ (r'#[^\n]*', Comment),
427
+ # strings ::
428
+ (r'"""', String, 'triple-double-quoted-string'),
429
+ (r'"', String, 'single-double-quoted-string'),
430
+ (r"'''", String, 'triple-single-quoted-string'),
431
+ (r"'", String, 'single-single-quoted-string'),
432
+ ],
433
+ 'triple-double-quoted-string': [
434
+ (r'"""', String, 'end-of-string'),
435
+ (r'[^\\]+', String),
436
+ (r'\\', String, 'string-escape'),
437
+ ],
438
+ 'single-double-quoted-string': [
439
+ (r'"', String, 'end-of-string'),
440
+ (r'[^"\\\n]+', String),
441
+ (r'\\', String, 'string-escape'),
442
+ ],
443
+ 'triple-single-quoted-string': [
444
+ (r"'''", String, 'end-of-string'),
445
+ (r'[^\\]+', String),
446
+ (r'\\', String.Escape, 'string-escape'),
447
+ ],
448
+ 'single-single-quoted-string': [
449
+ (r"'", String, 'end-of-string'),
450
+ (r"[^'\\\n]+", String),
451
+ (r'\\', String, 'string-escape'),
452
+ ],
453
+ 'string-escape': [
454
+ (UCHAR_NO_BACKSLASH, String.Escape, '#pop'),
455
+ (r'.', String.Escape, '#pop'),
456
+ ],
457
+ 'end-of-string': [
458
+ (r'(@)([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)',
459
+ bygroups(Operator, Name.Function), '#pop:2'),
460
+ (r'\^\^', Operator, '#pop:2'),
461
+ default('#pop:2'),
462
+ ],
463
+ }
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for the REBOL and related languages.
7
7
 
8
- :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -102,12 +102,12 @@ class RebolLexer(RegexLexer):
102
102
  yield match.start(), Generic.Heading, word
103
103
  elif re.match("to-.*", word):
104
104
  yield match.start(), Keyword, word
105
- elif re.match('(\+|-|\*|/|//|\*\*|and|or|xor|=\?|=|==|<>|<|>|<=|>=)$',
105
+ elif re.match(r'(\+|-|\*|/|//|\*\*|and|or|xor|=\?|=|==|<>|<|>|<=|>=)$',
106
106
  word):
107
107
  yield match.start(), Operator, word
108
- elif re.match(".*\?$", word):
108
+ elif re.match(r".*\?$", word):
109
109
  yield match.start(), Keyword, word
110
- elif re.match(".*\!$", word):
110
+ elif re.match(r".*\!$", word):
111
111
  yield match.start(), Keyword.Type, word
112
112
  elif re.match("'.*", word):
113
113
  yield match.start(), Name.Variable.Instance, word # lit-word
@@ -239,7 +239,7 @@ class RebolLexer(RegexLexer):
239
239
  if re.match(r'^\s*REBOL\s*\[', text, re.IGNORECASE):
240
240
  # The code starts with REBOL header
241
241
  return 1.0
242
- elif re.search(r'\s*REBOL\s*[', text, re.IGNORECASE):
242
+ elif re.search(r'\s*REBOL\s*\[', text, re.IGNORECASE):
243
243
  # The code contains REBOL header but also some text before it
244
244
  return 0.5
245
245
 
@@ -297,10 +297,10 @@ class RedLexer(RegexLexer):
297
297
  yield match.start(), Keyword.Namespace, word
298
298
  elif re.match("to-.*", word):
299
299
  yield match.start(), Keyword, word
300
- elif re.match('(\+|-\*\*|-|\*\*|//|/|\*|and|or|xor|=\?|===|==|=|<>|<=|>=|'
301
- '<<<|>>>|<<|>>|<|>%)$', word):
300
+ elif re.match(r'(\+|-\*\*|-|\*\*|//|/|\*|and|or|xor|=\?|===|==|=|<>|<=|>=|'
301
+ r'<<<|>>>|<<|>>|<|>%)$', word):
302
302
  yield match.start(), Operator, word
303
- elif re.match(".*\!$", word):
303
+ elif re.match(r".*\!$", word):
304
304
  yield match.start(), Keyword.Type, word
305
305
  elif re.match("'.*", word):
306
306
  yield match.start(), Name.Variable.Instance, word # lit-word
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexer for resource definition files.
7
7
 
8
- :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -26,7 +26,7 @@ class ResourceLexer(RegexLexer):
26
26
  """
27
27
  name = 'ResourceBundle'
28
28
  aliases = ['resource', 'resourcebundle']
29
- filenames = ['*.txt']
29
+ filenames = []
30
30
 
31
31
  _types = (':table', ':array', ':string', ':bin', ':import', ':intvector',
32
32
  ':int', ':alias')
@@ -0,0 +1,139 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ pygments.lexers.ride
4
+ ~~~~~~~~~~~~~~~~~~~~
5
+
6
+ Lexer for the Ride programming language.
7
+
8
+ :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
9
+ :license: BSD, see LICENSE for details.
10
+ """
11
+
12
+ from pygments.lexer import RegexLexer, words, include
13
+ from pygments.token import Comment, Keyword, Name, Number, Punctuation, String, Text
14
+
15
+ __all__ = ['RideLexer']
16
+
17
+
18
+ class RideLexer(RegexLexer):
19
+ """
20
+ For `Ride <https://docs.wavesplatform.com/en/ride/about-ride.html>`_
21
+ source code.
22
+
23
+ .. versionadded:: 2.6
24
+ """
25
+
26
+ name = 'Ride'
27
+ aliases = ['ride']
28
+ filenames = ['*.ride']
29
+ mimetypes = ['text/x-ride']
30
+
31
+ validName = r'[a-zA-Z_][a-zA-Z0-9_\']*'
32
+
33
+ builtinOps = (
34
+ '||', '|', '>=', '>', '==', '!',
35
+ '=', '<=', '<', '::', ':+', ':', '!=', '/',
36
+ '.', '=>', '-', '+', '*', '&&', '%', '++',
37
+ )
38
+
39
+ globalVariablesName = (
40
+ 'NOALG', 'MD5', 'SHA1', 'SHA224', 'SHA256', 'SHA384', 'SHA512',
41
+ 'SHA3224', 'SHA3256', 'SHA3384', 'SHA3512', 'nil', 'this', 'unit',
42
+ 'height', 'lastBlock', 'Buy', 'Sell', 'CEILING', 'FLOOR', 'DOWN',
43
+ 'HALFDOWN', 'HALFEVEN', 'HALFUP', 'UP',
44
+ )
45
+
46
+ typesName = (
47
+ 'Unit', 'Int', 'Boolean', 'ByteVector', 'String', 'Address', 'Alias',
48
+ 'Transfer', 'AssetPair', 'DataEntry', 'Order', 'Transaction',
49
+ 'GenesisTransaction', 'PaymentTransaction', 'ReissueTransaction',
50
+ 'BurnTransaction', 'MassTransferTransaction', 'ExchangeTransaction',
51
+ 'TransferTransaction', 'SetAssetScriptTransaction',
52
+ 'InvokeScriptTransaction', 'IssueTransaction', 'LeaseTransaction',
53
+ 'LeaseCancelTransaction', 'CreateAliasTransaction',
54
+ 'SetScriptTransaction', 'SponsorFeeTransaction', 'DataTransaction',
55
+ 'WriteSet', 'AttachedPayment', 'ScriptTransfer', 'TransferSet',
56
+ 'ScriptResult', 'Invocation', 'Asset', 'BlockInfo', 'Issue', 'Reissue',
57
+ 'Burn', 'NoAlg', 'Md5', 'Sha1', 'Sha224', 'Sha256', 'Sha384', 'Sha512',
58
+ 'Sha3224', 'Sha3256', 'Sha3384', 'Sha3512', 'BinaryEntry',
59
+ 'BooleanEntry', 'IntegerEntry', 'StringEntry', 'List', 'Ceiling',
60
+ 'Down', 'Floor', 'HalfDown', 'HalfEven', 'HalfUp', 'Up',
61
+ )
62
+
63
+ functionsName = (
64
+ 'fraction', 'size', 'toBytes', 'take', 'drop', 'takeRight', 'dropRight',
65
+ 'toString', 'isDefined', 'extract', 'throw', 'getElement', 'value',
66
+ 'cons', 'toUtf8String', 'toInt', 'indexOf', 'lastIndexOf', 'split',
67
+ 'parseInt', 'parseIntValue', 'keccak256', 'blake2b256', 'sha256',
68
+ 'sigVerify', 'toBase58String', 'fromBase58String', 'toBase64String',
69
+ 'fromBase64String', 'transactionById', 'transactionHeightById',
70
+ 'getInteger', 'getBoolean', 'getBinary', 'getString',
71
+ 'addressFromPublicKey', 'addressFromString', 'addressFromRecipient',
72
+ 'assetBalance', 'wavesBalance', 'getIntegerValue', 'getBooleanValue',
73
+ 'getBinaryValue', 'getStringValue', 'addressFromStringValue',
74
+ 'assetInfo', 'rsaVerify', 'checkMerkleProof', 'median',
75
+ 'valueOrElse', 'valueOrErrorMessage', 'contains', 'log', 'pow',
76
+ 'toBase16String', 'fromBase16String', 'blockInfoByHeight',
77
+ 'transferTransactionById',
78
+ )
79
+
80
+ reservedWords = words((
81
+ 'match', 'case', 'else', 'func', 'if',
82
+ 'let', 'then', '@Callable', '@Verifier',
83
+ ), suffix=r'\b')
84
+
85
+ tokens = {
86
+ 'root': [
87
+ # Comments
88
+ (r'#.*', Comment.Single),
89
+ # Whitespace
90
+ (r'\s+', Text),
91
+ # Strings
92
+ (r'"', String, 'doublequote'),
93
+ (r'utf8\'', String, 'utf8quote'),
94
+ (r'base(58|64|16)\'', String, 'singlequote'),
95
+ # Keywords
96
+ (reservedWords, Keyword.Reserved),
97
+ (r'\{-#.*?#-\}', Keyword.Reserved),
98
+ (r'FOLD<\d+>', Keyword.Reserved),
99
+ # Types
100
+ (words(typesName), Keyword.Type),
101
+ # Main
102
+ # (specialName, Keyword.Reserved),
103
+ # Prefix Operators
104
+ (words(builtinOps, prefix=r'\(', suffix=r'\)'), Name.Function),
105
+ # Infix Operators
106
+ (words(builtinOps), Name.Function),
107
+ (words(globalVariablesName), Name.Function),
108
+ (words(functionsName), Name.Function),
109
+ # Numbers
110
+ include('numbers'),
111
+ # Variable Names
112
+ (validName, Name.Variable),
113
+ # Parens
114
+ (r'[,()\[\]{}]', Punctuation),
115
+ ],
116
+
117
+ 'doublequote': [
118
+ (r'\\u[0-9a-fA-F]{4}', String.Escape),
119
+ (r'\\[nrfvb\\"]', String.Escape),
120
+ (r'[^"]', String),
121
+ (r'"', String, '#pop'),
122
+ ],
123
+
124
+ 'utf8quote': [
125
+ (r'\\u[0-9a-fA-F]{4}', String.Escape),
126
+ (r'\\[nrfvb\\\']', String.Escape),
127
+ (r'[^\']', String),
128
+ (r'\'', String, '#pop'),
129
+ ],
130
+
131
+ 'singlequote': [
132
+ (r'[^\']', String),
133
+ (r'\'', String, '#pop'),
134
+ ],
135
+
136
+ 'numbers': [
137
+ (r'_?\d+', Number.Integer),
138
+ ],
139
+ }
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexer for Relax-NG Compact syntax
7
7
 
8
- :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for Roboconf DSL.
7
7
 
8
- :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11