pygments.rb 1.1.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. checksums.yaml +5 -5
  2. data/.github/dependabot.yml +13 -0
  3. data/.github/workflows/ci.yml +28 -0
  4. data/.github/workflows/release.yml +24 -0
  5. data/.gitignore +5 -5
  6. data/CHANGELOG.adoc +128 -0
  7. data/Gemfile +3 -1
  8. data/LICENSE +1 -1
  9. data/README.adoc +160 -0
  10. data/Rakefile +13 -19
  11. data/bench.rb +8 -7
  12. data/cache-lexers.rb +3 -2
  13. data/lexers +0 -0
  14. data/lib/pygments.rb +10 -11
  15. data/lib/pygments/lexer.rb +5 -5
  16. data/lib/pygments/mentos.py +23 -110
  17. data/lib/pygments/popen.rb +148 -229
  18. data/lib/pygments/version.rb +2 -2
  19. data/pygments.rb.gemspec +12 -11
  20. data/test/test_pygments.rb +46 -104
  21. data/vendor/pygments-main/{AUTHORS → Pygments-2.7.3.dist-info/AUTHORS} +23 -3
  22. data/vendor/pygments-main/Pygments-2.7.3.dist-info/INSTALLER +1 -0
  23. data/vendor/pygments-main/{LICENSE → Pygments-2.7.3.dist-info/LICENSE} +1 -1
  24. data/vendor/pygments-main/Pygments-2.7.3.dist-info/METADATA +49 -0
  25. data/vendor/pygments-main/Pygments-2.7.3.dist-info/RECORD +482 -0
  26. data/vendor/pygments-main/Pygments-2.7.3.dist-info/REQUESTED +0 -0
  27. data/vendor/pygments-main/Pygments-2.7.3.dist-info/WHEEL +5 -0
  28. data/vendor/pygments-main/Pygments-2.7.3.dist-info/entry_points.txt +3 -0
  29. data/vendor/pygments-main/Pygments-2.7.3.dist-info/top_level.txt +1 -0
  30. data/vendor/pygments-main/bin/pygmentize +8 -0
  31. data/vendor/pygments-main/pygments/__init__.py +6 -11
  32. data/vendor/pygments-main/pygments/__main__.py +18 -0
  33. data/vendor/pygments-main/pygments/cmdline.py +94 -41
  34. data/vendor/pygments-main/pygments/console.py +6 -9
  35. data/vendor/pygments-main/pygments/filter.py +4 -6
  36. data/vendor/pygments-main/pygments/filters/__init__.py +609 -21
  37. data/vendor/pygments-main/pygments/formatter.py +4 -4
  38. data/vendor/pygments-main/pygments/formatters/__init__.py +42 -6
  39. data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -3
  40. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
  41. data/vendor/pygments-main/pygments/formatters/html.py +223 -135
  42. data/vendor/pygments-main/pygments/formatters/img.py +102 -38
  43. data/vendor/pygments-main/pygments/formatters/irc.py +39 -39
  44. data/vendor/pygments-main/pygments/formatters/latex.py +56 -26
  45. data/vendor/pygments-main/pygments/formatters/other.py +12 -8
  46. data/vendor/pygments-main/pygments/formatters/rtf.py +29 -29
  47. data/vendor/pygments-main/pygments/formatters/svg.py +38 -4
  48. data/vendor/pygments-main/pygments/formatters/terminal.py +25 -31
  49. data/vendor/pygments-main/pygments/formatters/terminal256.py +22 -12
  50. data/vendor/pygments-main/pygments/lexer.py +41 -39
  51. data/vendor/pygments-main/pygments/lexers/__init__.py +62 -15
  52. data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +5 -5
  53. data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +15 -15
  54. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +11 -12
  55. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1717 -1338
  56. data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +8 -1
  57. data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +2 -4
  58. data/vendor/pygments-main/pygments/lexers/_mapping.py +79 -33
  59. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +2 -2
  60. data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +1282 -0
  61. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +1 -1
  62. data/vendor/pygments-main/pygments/lexers/_php_builtins.py +17 -20
  63. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +73 -16
  64. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +2 -2
  65. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1 -3
  66. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +151 -125
  67. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +6 -4
  68. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1 -1
  69. data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +113 -0
  70. data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +280 -0
  71. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1 -1
  72. data/vendor/pygments-main/pygments/lexers/actionscript.py +8 -3
  73. data/vendor/pygments-main/pygments/lexers/agile.py +1 -1
  74. data/vendor/pygments-main/pygments/lexers/algebra.py +20 -1
  75. data/vendor/pygments-main/pygments/lexers/ambient.py +1 -1
  76. data/vendor/pygments-main/pygments/lexers/ampl.py +3 -3
  77. data/vendor/pygments-main/pygments/lexers/apl.py +15 -15
  78. data/vendor/pygments-main/pygments/lexers/archetype.py +3 -3
  79. data/vendor/pygments-main/pygments/lexers/arrow.py +117 -0
  80. data/vendor/pygments-main/pygments/lexers/asm.py +445 -70
  81. data/vendor/pygments-main/pygments/lexers/automation.py +3 -3
  82. data/vendor/pygments-main/pygments/lexers/bare.py +104 -0
  83. data/vendor/pygments-main/pygments/lexers/basic.py +166 -4
  84. data/vendor/pygments-main/pygments/lexers/bibtex.py +13 -9
  85. data/vendor/pygments-main/pygments/lexers/boa.py +102 -0
  86. data/vendor/pygments-main/pygments/lexers/business.py +69 -36
  87. data/vendor/pygments-main/pygments/lexers/c_cpp.py +137 -45
  88. data/vendor/pygments-main/pygments/lexers/c_like.py +68 -43
  89. data/vendor/pygments-main/pygments/lexers/capnproto.py +20 -21
  90. data/vendor/pygments-main/pygments/lexers/chapel.py +25 -14
  91. data/vendor/pygments-main/pygments/lexers/clean.py +135 -244
  92. data/vendor/pygments-main/pygments/lexers/compiled.py +1 -1
  93. data/vendor/pygments-main/pygments/lexers/configs.py +188 -37
  94. data/vendor/pygments-main/pygments/lexers/console.py +1 -1
  95. data/vendor/pygments-main/pygments/lexers/crystal.py +31 -23
  96. data/vendor/pygments-main/pygments/lexers/csound.py +288 -187
  97. data/vendor/pygments-main/pygments/lexers/css.py +18 -16
  98. data/vendor/pygments-main/pygments/lexers/d.py +10 -5
  99. data/vendor/pygments-main/pygments/lexers/dalvik.py +1 -1
  100. data/vendor/pygments-main/pygments/lexers/data.py +240 -97
  101. data/vendor/pygments-main/pygments/lexers/devicetree.py +109 -0
  102. data/vendor/pygments-main/pygments/lexers/diff.py +4 -4
  103. data/vendor/pygments-main/pygments/lexers/dotnet.py +40 -24
  104. data/vendor/pygments-main/pygments/lexers/dsls.py +147 -65
  105. data/vendor/pygments-main/pygments/lexers/dylan.py +16 -18
  106. data/vendor/pygments-main/pygments/lexers/ecl.py +16 -2
  107. data/vendor/pygments-main/pygments/lexers/eiffel.py +1 -1
  108. data/vendor/pygments-main/pygments/lexers/elm.py +5 -5
  109. data/vendor/pygments-main/pygments/lexers/email.py +151 -0
  110. data/vendor/pygments-main/pygments/lexers/erlang.py +29 -32
  111. data/vendor/pygments-main/pygments/lexers/esoteric.py +54 -25
  112. data/vendor/pygments-main/pygments/lexers/ezhil.py +24 -15
  113. data/vendor/pygments-main/pygments/lexers/factor.py +1 -1
  114. data/vendor/pygments-main/pygments/lexers/fantom.py +1 -1
  115. data/vendor/pygments-main/pygments/lexers/felix.py +1 -1
  116. data/vendor/pygments-main/pygments/lexers/floscript.py +83 -0
  117. data/vendor/pygments-main/pygments/lexers/forth.py +41 -40
  118. data/vendor/pygments-main/pygments/lexers/fortran.py +5 -4
  119. data/vendor/pygments-main/pygments/lexers/foxpro.py +2 -2
  120. data/vendor/pygments-main/pygments/lexers/freefem.py +898 -0
  121. data/vendor/pygments-main/pygments/lexers/functional.py +1 -1
  122. data/vendor/pygments-main/pygments/lexers/gdscript.py +346 -0
  123. data/vendor/pygments-main/pygments/lexers/go.py +1 -1
  124. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +63 -6
  125. data/vendor/pygments-main/pygments/lexers/graph.py +14 -9
  126. data/vendor/pygments-main/pygments/lexers/graphics.py +272 -25
  127. data/vendor/pygments-main/pygments/lexers/haskell.py +52 -22
  128. data/vendor/pygments-main/pygments/lexers/haxe.py +6 -6
  129. data/vendor/pygments-main/pygments/lexers/hdl.py +176 -86
  130. data/vendor/pygments-main/pygments/lexers/hexdump.py +18 -12
  131. data/vendor/pygments-main/pygments/lexers/html.py +31 -19
  132. data/vendor/pygments-main/pygments/lexers/idl.py +20 -9
  133. data/vendor/pygments-main/pygments/lexers/igor.py +244 -112
  134. data/vendor/pygments-main/pygments/lexers/inferno.py +2 -2
  135. data/vendor/pygments-main/pygments/lexers/installers.py +1 -1
  136. data/vendor/pygments-main/pygments/lexers/int_fiction.py +40 -15
  137. data/vendor/pygments-main/pygments/lexers/iolang.py +2 -2
  138. data/vendor/pygments-main/pygments/lexers/j.py +3 -3
  139. data/vendor/pygments-main/pygments/lexers/javascript.py +100 -66
  140. data/vendor/pygments-main/pygments/lexers/julia.py +46 -48
  141. data/vendor/pygments-main/pygments/lexers/jvm.py +265 -165
  142. data/vendor/pygments-main/pygments/lexers/lisp.py +882 -804
  143. data/vendor/pygments-main/pygments/lexers/make.py +10 -6
  144. data/vendor/pygments-main/pygments/lexers/markup.py +213 -43
  145. data/vendor/pygments-main/pygments/lexers/math.py +1 -1
  146. data/vendor/pygments-main/pygments/lexers/matlab.py +98 -41
  147. data/vendor/pygments-main/pygments/lexers/mime.py +226 -0
  148. data/vendor/pygments-main/pygments/lexers/ml.py +198 -9
  149. data/vendor/pygments-main/pygments/lexers/modeling.py +26 -18
  150. data/vendor/pygments-main/pygments/lexers/modula2.py +25 -6
  151. data/vendor/pygments-main/pygments/lexers/monte.py +4 -3
  152. data/vendor/pygments-main/pygments/lexers/mosel.py +448 -0
  153. data/vendor/pygments-main/pygments/lexers/ncl.py +85 -244
  154. data/vendor/pygments-main/pygments/lexers/nimrod.py +4 -4
  155. data/vendor/pygments-main/pygments/lexers/nit.py +1 -1
  156. data/vendor/pygments-main/pygments/lexers/nix.py +1 -1
  157. data/vendor/pygments-main/pygments/lexers/oberon.py +17 -1
  158. data/vendor/pygments-main/pygments/lexers/objective.py +16 -16
  159. data/vendor/pygments-main/pygments/lexers/ooc.py +1 -1
  160. data/vendor/pygments-main/pygments/lexers/other.py +1 -1
  161. data/vendor/pygments-main/pygments/lexers/parasail.py +1 -1
  162. data/vendor/pygments-main/pygments/lexers/parsers.py +23 -58
  163. data/vendor/pygments-main/pygments/lexers/pascal.py +23 -23
  164. data/vendor/pygments-main/pygments/lexers/pawn.py +30 -24
  165. data/vendor/pygments-main/pygments/lexers/perl.py +276 -160
  166. data/vendor/pygments-main/pygments/lexers/php.py +64 -10
  167. data/vendor/pygments-main/pygments/lexers/pointless.py +71 -0
  168. data/vendor/pygments-main/pygments/lexers/pony.py +94 -0
  169. data/vendor/pygments-main/pygments/lexers/praat.py +38 -30
  170. data/vendor/pygments-main/pygments/lexers/prolog.py +36 -36
  171. data/vendor/pygments-main/pygments/lexers/promql.py +183 -0
  172. data/vendor/pygments-main/pygments/lexers/python.py +439 -226
  173. data/vendor/pygments-main/pygments/lexers/qvt.py +6 -6
  174. data/vendor/pygments-main/pygments/lexers/r.py +13 -275
  175. data/vendor/pygments-main/pygments/lexers/rdf.py +232 -39
  176. data/vendor/pygments-main/pygments/lexers/rebol.py +8 -8
  177. data/vendor/pygments-main/pygments/lexers/resource.py +2 -2
  178. data/vendor/pygments-main/pygments/lexers/ride.py +139 -0
  179. data/vendor/pygments-main/pygments/lexers/rnc.py +1 -1
  180. data/vendor/pygments-main/pygments/lexers/roboconf.py +1 -1
  181. data/vendor/pygments-main/pygments/lexers/robotframework.py +23 -31
  182. data/vendor/pygments-main/pygments/lexers/ruby.py +22 -24
  183. data/vendor/pygments-main/pygments/lexers/rust.py +86 -71
  184. data/vendor/pygments-main/pygments/lexers/sas.py +7 -7
  185. data/vendor/pygments-main/pygments/lexers/scdoc.py +83 -0
  186. data/vendor/pygments-main/pygments/lexers/scripting.py +75 -13
  187. data/vendor/pygments-main/pygments/lexers/sgf.py +61 -0
  188. data/vendor/pygments-main/pygments/lexers/shell.py +175 -51
  189. data/vendor/pygments-main/pygments/lexers/sieve.py +69 -0
  190. data/vendor/pygments-main/pygments/lexers/slash.py +185 -0
  191. data/vendor/pygments-main/pygments/lexers/smalltalk.py +2 -2
  192. data/vendor/pygments-main/pygments/lexers/smv.py +30 -26
  193. data/vendor/pygments-main/pygments/lexers/snobol.py +1 -1
  194. data/vendor/pygments-main/pygments/lexers/solidity.py +92 -0
  195. data/vendor/pygments-main/pygments/lexers/special.py +5 -3
  196. data/vendor/pygments-main/pygments/lexers/sql.py +333 -177
  197. data/vendor/pygments-main/pygments/lexers/stata.py +107 -42
  198. data/vendor/pygments-main/pygments/lexers/supercollider.py +6 -1
  199. data/vendor/pygments-main/pygments/lexers/tcl.py +1 -1
  200. data/vendor/pygments-main/pygments/lexers/templates.py +144 -132
  201. data/vendor/pygments-main/pygments/lexers/teraterm.py +335 -0
  202. data/vendor/pygments-main/pygments/lexers/testing.py +6 -6
  203. data/vendor/pygments-main/pygments/lexers/text.py +2 -1
  204. data/vendor/pygments-main/pygments/lexers/textedit.py +4 -4
  205. data/vendor/pygments-main/pygments/lexers/textfmts.py +146 -13
  206. data/vendor/pygments-main/pygments/lexers/theorem.py +69 -53
  207. data/vendor/pygments-main/pygments/lexers/tnt.py +263 -0
  208. data/vendor/pygments-main/pygments/lexers/trafficscript.py +1 -1
  209. data/vendor/pygments-main/pygments/lexers/typoscript.py +8 -14
  210. data/vendor/pygments-main/pygments/lexers/unicon.py +412 -0
  211. data/vendor/pygments-main/pygments/lexers/urbi.py +14 -1
  212. data/vendor/pygments-main/pygments/lexers/usd.py +90 -0
  213. data/vendor/pygments-main/pygments/lexers/varnish.py +5 -5
  214. data/vendor/pygments-main/pygments/lexers/verification.py +15 -12
  215. data/vendor/pygments-main/pygments/lexers/web.py +1 -1
  216. data/vendor/pygments-main/pygments/lexers/webidl.py +299 -0
  217. data/vendor/pygments-main/pygments/lexers/webmisc.py +50 -38
  218. data/vendor/pygments-main/pygments/lexers/whiley.py +11 -12
  219. data/vendor/pygments-main/pygments/lexers/x10.py +1 -1
  220. data/vendor/pygments-main/pygments/lexers/xorg.py +37 -0
  221. data/vendor/pygments-main/pygments/lexers/yang.py +104 -0
  222. data/vendor/pygments-main/pygments/lexers/zig.py +124 -0
  223. data/vendor/pygments-main/pygments/modeline.py +6 -5
  224. data/vendor/pygments-main/pygments/plugin.py +14 -18
  225. data/vendor/pygments-main/pygments/regexopt.py +1 -1
  226. data/vendor/pygments-main/pygments/scanner.py +2 -2
  227. data/vendor/pygments-main/pygments/sphinxext.py +2 -4
  228. data/vendor/pygments-main/pygments/style.py +61 -24
  229. data/vendor/pygments-main/pygments/styles/__init__.py +13 -5
  230. data/vendor/pygments-main/pygments/styles/abap.py +29 -0
  231. data/vendor/pygments-main/pygments/styles/algol.py +1 -1
  232. data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -1
  233. data/vendor/pygments-main/pygments/styles/arduino.py +2 -2
  234. data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
  235. data/vendor/pygments-main/pygments/styles/borland.py +1 -1
  236. data/vendor/pygments-main/pygments/styles/bw.py +1 -1
  237. data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
  238. data/vendor/pygments-main/pygments/styles/default.py +1 -1
  239. data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
  240. data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
  241. data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
  242. data/vendor/pygments-main/pygments/styles/igor.py +1 -1
  243. data/vendor/pygments-main/pygments/styles/inkpot.py +67 -0
  244. data/vendor/pygments-main/pygments/styles/lovelace.py +1 -1
  245. data/vendor/pygments-main/pygments/styles/manni.py +1 -1
  246. data/vendor/pygments-main/pygments/styles/monokai.py +4 -3
  247. data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
  248. data/vendor/pygments-main/pygments/styles/native.py +1 -1
  249. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -1
  250. data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -1
  251. data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
  252. data/vendor/pygments-main/pygments/styles/perldoc.py +1 -1
  253. data/vendor/pygments-main/pygments/styles/rainbow_dash.py +89 -0
  254. data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
  255. data/vendor/pygments-main/pygments/styles/sas.py +3 -0
  256. data/vendor/pygments-main/pygments/styles/solarized.py +134 -0
  257. data/vendor/pygments-main/pygments/styles/stata_dark.py +41 -0
  258. data/vendor/pygments-main/pygments/styles/stata_light.py +39 -0
  259. data/vendor/pygments-main/pygments/styles/tango.py +1 -1
  260. data/vendor/pygments-main/pygments/styles/trac.py +1 -1
  261. data/vendor/pygments-main/pygments/styles/vim.py +1 -1
  262. data/vendor/pygments-main/pygments/styles/vs.py +1 -1
  263. data/vendor/pygments-main/pygments/styles/xcode.py +1 -1
  264. data/vendor/pygments-main/pygments/token.py +1 -1
  265. data/vendor/pygments-main/pygments/unistring.py +47 -108
  266. data/vendor/pygments-main/pygments/util.py +19 -95
  267. metadata +71 -137
  268. data/CHANGELOG.md +0 -98
  269. data/README.md +0 -121
  270. data/circle.yml +0 -20
  271. data/test/test_data.c +0 -2581
  272. data/test/test_data.py +0 -514
  273. data/test/test_data_generated +0 -2582
  274. data/vendor/custom_lexers/github.py +0 -565
  275. data/vendor/pygments-main/CHANGES +0 -1163
  276. data/vendor/pygments-main/MANIFEST.in +0 -6
  277. data/vendor/pygments-main/Makefile +0 -65
  278. data/vendor/pygments-main/README.rst +0 -39
  279. data/vendor/pygments-main/REVISION +0 -1
  280. data/vendor/pygments-main/TODO +0 -12
  281. data/vendor/pygments-main/doc/Makefile +0 -153
  282. data/vendor/pygments-main/doc/_static/favicon.ico +0 -0
  283. data/vendor/pygments-main/doc/_static/logo_new.png +0 -0
  284. data/vendor/pygments-main/doc/_static/logo_only.png +0 -0
  285. data/vendor/pygments-main/doc/_templates/docssidebar.html +0 -3
  286. data/vendor/pygments-main/doc/_templates/indexsidebar.html +0 -25
  287. data/vendor/pygments-main/doc/_themes/pygments14/layout.html +0 -98
  288. data/vendor/pygments-main/doc/_themes/pygments14/static/bodybg.png +0 -0
  289. data/vendor/pygments-main/doc/_themes/pygments14/static/docbg.png +0 -0
  290. data/vendor/pygments-main/doc/_themes/pygments14/static/listitem.png +0 -0
  291. data/vendor/pygments-main/doc/_themes/pygments14/static/logo.png +0 -0
  292. data/vendor/pygments-main/doc/_themes/pygments14/static/pocoo.png +0 -0
  293. data/vendor/pygments-main/doc/_themes/pygments14/static/pygments14.css_t +0 -401
  294. data/vendor/pygments-main/doc/_themes/pygments14/theme.conf +0 -15
  295. data/vendor/pygments-main/doc/conf.py +0 -241
  296. data/vendor/pygments-main/doc/docs/api.rst +0 -331
  297. data/vendor/pygments-main/doc/docs/authors.rst +0 -4
  298. data/vendor/pygments-main/doc/docs/changelog.rst +0 -1
  299. data/vendor/pygments-main/doc/docs/cmdline.rst +0 -149
  300. data/vendor/pygments-main/doc/docs/filterdevelopment.rst +0 -71
  301. data/vendor/pygments-main/doc/docs/filters.rst +0 -41
  302. data/vendor/pygments-main/doc/docs/formatterdevelopment.rst +0 -169
  303. data/vendor/pygments-main/doc/docs/formatters.rst +0 -48
  304. data/vendor/pygments-main/doc/docs/index.rst +0 -66
  305. data/vendor/pygments-main/doc/docs/integrate.rst +0 -40
  306. data/vendor/pygments-main/doc/docs/java.rst +0 -70
  307. data/vendor/pygments-main/doc/docs/lexerdevelopment.rst +0 -689
  308. data/vendor/pygments-main/doc/docs/lexers.rst +0 -69
  309. data/vendor/pygments-main/doc/docs/moinmoin.rst +0 -39
  310. data/vendor/pygments-main/doc/docs/plugins.rst +0 -93
  311. data/vendor/pygments-main/doc/docs/quickstart.rst +0 -205
  312. data/vendor/pygments-main/doc/docs/rstdirective.rst +0 -22
  313. data/vendor/pygments-main/doc/docs/styles.rst +0 -201
  314. data/vendor/pygments-main/doc/docs/tokens.rst +0 -372
  315. data/vendor/pygments-main/doc/docs/unicode.rst +0 -58
  316. data/vendor/pygments-main/doc/download.rst +0 -41
  317. data/vendor/pygments-main/doc/faq.rst +0 -139
  318. data/vendor/pygments-main/doc/index.rst +0 -54
  319. data/vendor/pygments-main/doc/languages.rst +0 -154
  320. data/vendor/pygments-main/doc/make.bat +0 -190
  321. data/vendor/pygments-main/doc/pygmentize.1 +0 -94
  322. data/vendor/pygments-main/external/autopygmentize +0 -84
  323. data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +0 -162
  324. data/vendor/pygments-main/external/markdown-processor.py +0 -67
  325. data/vendor/pygments-main/external/moin-parser.py +0 -112
  326. data/vendor/pygments-main/external/pygments.bashcomp +0 -38
  327. data/vendor/pygments-main/external/rst-directive.py +0 -82
  328. data/vendor/pygments-main/pygmentize +0 -8
  329. data/vendor/pygments-main/pygments/lexers/github.py +0 -565
  330. data/vendor/pygments-main/pygments/styles/stata.py +0 -37
  331. data/vendor/pygments-main/requirements.txt +0 -5
  332. data/vendor/pygments-main/scripts/check_sources.py +0 -211
  333. data/vendor/pygments-main/scripts/debug_lexer.py +0 -246
  334. data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +0 -33
  335. data/vendor/pygments-main/scripts/epydoc.css +0 -280
  336. data/vendor/pygments-main/scripts/find_error.py +0 -1
  337. data/vendor/pygments-main/scripts/get_vimkw.py +0 -74
  338. data/vendor/pygments-main/scripts/pylintrc +0 -301
  339. data/vendor/pygments-main/scripts/vim2pygments.py +0 -935
  340. data/vendor/pygments-main/setup.cfg +0 -10
  341. data/vendor/pygments-main/setup.py +0 -77
  342. data/vendor/pygments-main/tox.ini +0 -7
  343. data/vendor/simplejson/.gitignore +0 -10
  344. data/vendor/simplejson/.travis.yml +0 -5
  345. data/vendor/simplejson/CHANGES.txt +0 -291
  346. data/vendor/simplejson/LICENSE.txt +0 -19
  347. data/vendor/simplejson/MANIFEST.in +0 -5
  348. data/vendor/simplejson/README.rst +0 -19
  349. data/vendor/simplejson/conf.py +0 -179
  350. data/vendor/simplejson/index.rst +0 -628
  351. data/vendor/simplejson/scripts/make_docs.py +0 -18
  352. data/vendor/simplejson/setup.py +0 -104
  353. data/vendor/simplejson/simplejson/__init__.py +0 -510
  354. data/vendor/simplejson/simplejson/_speedups.c +0 -2745
  355. data/vendor/simplejson/simplejson/decoder.py +0 -425
  356. data/vendor/simplejson/simplejson/encoder.py +0 -567
  357. data/vendor/simplejson/simplejson/ordered_dict.py +0 -119
  358. data/vendor/simplejson/simplejson/scanner.py +0 -77
  359. data/vendor/simplejson/simplejson/tests/__init__.py +0 -67
  360. data/vendor/simplejson/simplejson/tests/test_bigint_as_string.py +0 -55
  361. data/vendor/simplejson/simplejson/tests/test_check_circular.py +0 -30
  362. data/vendor/simplejson/simplejson/tests/test_decimal.py +0 -66
  363. data/vendor/simplejson/simplejson/tests/test_decode.py +0 -83
  364. data/vendor/simplejson/simplejson/tests/test_default.py +0 -9
  365. data/vendor/simplejson/simplejson/tests/test_dump.py +0 -67
  366. data/vendor/simplejson/simplejson/tests/test_encode_basestring_ascii.py +0 -46
  367. data/vendor/simplejson/simplejson/tests/test_encode_for_html.py +0 -32
  368. data/vendor/simplejson/simplejson/tests/test_errors.py +0 -34
  369. data/vendor/simplejson/simplejson/tests/test_fail.py +0 -91
  370. data/vendor/simplejson/simplejson/tests/test_float.py +0 -19
  371. data/vendor/simplejson/simplejson/tests/test_indent.py +0 -86
  372. data/vendor/simplejson/simplejson/tests/test_item_sort_key.py +0 -20
  373. data/vendor/simplejson/simplejson/tests/test_namedtuple.py +0 -121
  374. data/vendor/simplejson/simplejson/tests/test_pass1.py +0 -76
  375. data/vendor/simplejson/simplejson/tests/test_pass2.py +0 -14
  376. data/vendor/simplejson/simplejson/tests/test_pass3.py +0 -20
  377. data/vendor/simplejson/simplejson/tests/test_recursion.py +0 -67
  378. data/vendor/simplejson/simplejson/tests/test_scanstring.py +0 -117
  379. data/vendor/simplejson/simplejson/tests/test_separators.py +0 -42
  380. data/vendor/simplejson/simplejson/tests/test_speedups.py +0 -20
  381. data/vendor/simplejson/simplejson/tests/test_tuple.py +0 -49
  382. data/vendor/simplejson/simplejson/tests/test_unicode.py +0 -109
  383. data/vendor/simplejson/simplejson/tool.py +0 -39
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexers for theorem-proving languages.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -93,12 +93,11 @@ class CoqLexer(RegexLexer):
93
93
  '<->', '=', '>', '>]', r'>\}', r'\?', r'\?\?', r'\[', r'\[<', r'\[>',
94
94
  r'\[\|', ']', '_', '`', r'\{', r'\{<', r'\|', r'\|]', r'\}', '~', '=>',
95
95
  r'/\\', r'\\/', r'\{\|', r'\|\}',
96
- u'Π', u'λ',
96
+ 'Π', 'λ',
97
97
  )
98
98
  operators = r'[!$%&*+\./:<=>?@^|~-]'
99
99
  prefix_syms = r'[!?~]'
100
100
  infix_syms = r'[=<>@^|&+\*/$%-]'
101
- primitives = ('unit', 'nat', 'bool', 'string', 'ascii', 'list')
102
101
 
103
102
  tokens = {
104
103
  'root': [
@@ -115,7 +114,6 @@ class CoqLexer(RegexLexer):
115
114
  (r'\b([A-Z][\w\']*)', Name),
116
115
  (r'(%s)' % '|'.join(keyopts[::-1]), Operator),
117
116
  (r'(%s|%s)?%s' % (infix_syms, prefix_syms, operators), Operator),
118
- (r'\b(%s)\b' % '|'.join(primitives), Keyword.Type),
119
117
 
120
118
  (r"[^\W\d][\w']*", Name),
121
119
 
@@ -156,8 +154,8 @@ class CoqLexer(RegexLexer):
156
154
  }
157
155
 
158
156
  def analyse_text(text):
159
- if text.startswith('(*'):
160
- return True
157
+ if 'qed' in text and 'tauto' in text:
158
+ return 1
161
159
 
162
160
 
163
161
  class IsabelleLexer(RegexLexer):
@@ -390,69 +388,87 @@ class LeanLexer(RegexLexer):
390
388
 
391
389
  flags = re.MULTILINE | re.UNICODE
392
390
 
393
- keywords1 = (
394
- 'import', 'abbreviation', 'opaque_hint', 'tactic_hint', 'definition',
395
- 'renaming', 'inline', 'hiding', 'exposing', 'parameter', 'parameters',
396
- 'conjecture', 'hypothesis', 'lemma', 'corollary', 'variable', 'variables',
397
- 'theorem', 'axiom', 'inductive', 'structure', 'universe', 'alias',
398
- 'help', 'options', 'precedence', 'postfix', 'prefix', 'calc_trans',
399
- 'calc_subst', 'calc_refl', 'infix', 'infixl', 'infixr', 'notation', 'eval',
400
- 'check', 'exit', 'coercion', 'end', 'private', 'using', 'namespace',
401
- 'including', 'instance', 'section', 'context', 'protected', 'expose',
402
- 'export', 'set_option', 'add_rewrite', 'extends', 'open', 'example',
403
- 'constant', 'constants', 'print', 'opaque', 'reducible', 'irreducible',
404
- )
405
-
406
- keywords2 = (
407
- 'forall', 'fun', 'Pi', 'obtain', 'from', 'have', 'show', 'assume',
408
- 'take', 'let', 'if', 'else', 'then', 'by', 'in', 'with', 'begin',
409
- 'proof', 'qed', 'calc', 'match',
410
- )
411
-
412
- keywords3 = (
413
- # Sorts
414
- 'Type', 'Prop',
415
- )
416
-
417
- operators = (
418
- u'!=', u'#', u'&', u'&&', u'*', u'+', u'-', u'/', u'@', u'!', u'`',
419
- u'-.', u'->', u'.', u'..', u'...', u'::', u':>', u';', u';;', u'<',
420
- u'<-', u'=', u'==', u'>', u'_', u'|', u'||', u'~', u'=>', u'<=', u'>=',
421
- u'/\\', u'\\/', u'∀', u'Π', u'λ', u'↔', u'∧', u'∨', u'≠', u'≤', u'≥',
422
- u'¬', u'⁻¹', u'⬝', u'▸', u'→', u'∃', u'ℕ', u'ℤ', u'≈', u'×', u'⌞',
423
- u'⌟', u'≡', u'⟨', u'⟩',
424
- )
425
-
426
- punctuation = (u'(', u')', u':', u'{', u'}', u'[', u']', u'⦃', u'⦄',
427
- u':=', u',')
428
-
429
391
  tokens = {
430
392
  'root': [
431
393
  (r'\s+', Text),
394
+ (r'/--', String.Doc, 'docstring'),
432
395
  (r'/-', Comment, 'comment'),
433
396
  (r'--.*?$', Comment.Single),
434
- (words(keywords1, prefix=r'\b', suffix=r'\b'), Keyword.Namespace),
435
- (words(keywords2, prefix=r'\b', suffix=r'\b'), Keyword),
436
- (words(keywords3, prefix=r'\b', suffix=r'\b'), Keyword.Type),
437
- (words(operators), Name.Builtin.Pseudo),
438
- (words(punctuation), Operator),
439
- (u"[A-Za-z_\u03b1-\u03ba\u03bc-\u03fb\u1f00-\u1ffe\u2100-\u214f]"
440
- u"[A-Za-z_'\u03b1-\u03ba\u03bc-\u03fb\u1f00-\u1ffe\u2070-\u2079"
441
- u"\u207f-\u2089\u2090-\u209c\u2100-\u214f0-9]*", Name),
397
+ (words((
398
+ 'import', 'renaming', 'hiding',
399
+ 'namespace',
400
+ 'local',
401
+ 'private', 'protected', 'section',
402
+ 'include', 'omit', 'section',
403
+ 'protected', 'export',
404
+ 'open',
405
+ 'attribute',
406
+ ), prefix=r'\b', suffix=r'\b'), Keyword.Namespace),
407
+ (words((
408
+ 'lemma', 'theorem', 'def', 'definition', 'example',
409
+ 'axiom', 'axioms', 'constant', 'constants',
410
+ 'universe', 'universes',
411
+ 'inductive', 'coinductive', 'structure', 'extends',
412
+ 'class', 'instance',
413
+ 'abbreviation',
414
+
415
+ 'noncomputable theory',
416
+
417
+ 'noncomputable', 'mutual', 'meta',
418
+
419
+ 'attribute',
420
+
421
+ 'parameter', 'parameters',
422
+ 'variable', 'variables',
423
+
424
+ 'reserve', 'precedence',
425
+ 'postfix', 'prefix', 'notation', 'infix', 'infixl', 'infixr',
426
+
427
+ 'begin', 'by', 'end',
428
+
429
+ 'set_option',
430
+ 'run_cmd',
431
+ ), prefix=r'\b', suffix=r'\b'), Keyword.Declaration),
432
+ (r'@\[[^\]]*\]', Keyword.Declaration),
433
+ (words((
434
+ 'forall', 'fun', 'Pi', 'from', 'have', 'show', 'assume', 'suffices',
435
+ 'let', 'if', 'else', 'then', 'in', 'with', 'calc', 'match',
436
+ 'do'
437
+ ), prefix=r'\b', suffix=r'\b'), Keyword),
438
+ (words(('sorry', 'admit'), prefix=r'\b', suffix=r'\b'), Generic.Error),
439
+ (words(('Sort', 'Prop', 'Type'), prefix=r'\b', suffix=r'\b'), Keyword.Type),
440
+ (words((
441
+ '#eval', '#check', '#reduce', '#exit',
442
+ '#print', '#help',
443
+ ), suffix=r'\b'), Keyword),
444
+ (words((
445
+ '(', ')', ':', '{', '}', '[', ']', '⟨', '⟩', '‹', '›', '⦃', '⦄', ':=', ',',
446
+ )), Operator),
447
+ (r'[A-Za-z_\u03b1-\u03ba\u03bc-\u03fb\u1f00-\u1ffe\u2100-\u214f]'
448
+ r'[.A-Za-z_\'\u03b1-\u03ba\u03bc-\u03fb\u1f00-\u1ffe\u2070-\u2079'
449
+ r'\u207f-\u2089\u2090-\u209c\u2100-\u214f0-9]*', Name),
450
+ (r'0x[A-Za-z0-9]+', Number.Integer),
451
+ (r'0b[01]+', Number.Integer),
442
452
  (r'\d+', Number.Integer),
443
453
  (r'"', String.Double, 'string'),
444
- (r'[~?][a-z][\w\']*:', Name.Variable)
454
+ (r"'(?:(\\[\\\"'nt])|(\\x[0-9a-fA-F]{2})|(\\u[0-9a-fA-F]{4})|.)'", String.Char),
455
+ (r'[~?][a-z][\w\']*:', Name.Variable),
456
+ (r'\S', Name.Builtin.Pseudo),
445
457
  ],
446
458
  'comment': [
447
- # Multiline Comments
448
459
  (r'[^/-]', Comment.Multiline),
449
460
  (r'/-', Comment.Multiline, '#push'),
450
461
  (r'-/', Comment.Multiline, '#pop'),
451
462
  (r'[/-]', Comment.Multiline)
452
463
  ],
464
+ 'docstring': [
465
+ (r'[^/-]', String.Doc),
466
+ (r'-/', String.Doc, '#pop'),
467
+ (r'[/-]', String.Doc)
468
+ ],
453
469
  'string': [
454
470
  (r'[^\\"]+', String.Double),
455
- (r'\\[n"\\]', String.Escape),
471
+ (r"(?:(\\[\\\"'nt])|(\\x[0-9a-fA-F]{2})|(\\u[0-9a-fA-F]{4}))", String.Escape),
456
472
  ('"', String.Double, '#pop'),
457
473
  ],
458
474
  }
@@ -0,0 +1,263 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ pygments.lexers.tnt
4
+ ~~~~~~~~~~~~~~~~~~~
5
+
6
+ Lexer for Typographic Number Theory.
7
+
8
+ :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
9
+ :license: BSD, see LICENSE for details.
10
+ """
11
+
12
+ import re
13
+
14
+ from pygments.lexer import Lexer
15
+ from pygments.token import Text, Comment, Operator, Keyword, Name, Number, \
16
+ Punctuation, Error
17
+
18
+ __all__ = ['TNTLexer']
19
+
20
+
21
+ class TNTLexer(Lexer):
22
+ """
23
+ Lexer for Typographic Number Theory, as described in the book
24
+ Gödel, Escher, Bach, by Douglas R. Hofstadter,
25
+ or as summarized here:
26
+ https://github.com/Kenny2github/language-tnt/blob/master/README.md#summary-of-tnt
27
+
28
+ .. versionadded:: 2.7
29
+ """
30
+
31
+ name = 'Typographic Number Theory'
32
+ aliases = ['tnt']
33
+ filenames = ['*.tnt']
34
+
35
+ cur = []
36
+
37
+ LOGIC = set('⊃→]&∧^|∨Vv')
38
+ OPERATORS = set('+.⋅*')
39
+ VARIABLES = set('abcde')
40
+ PRIMES = set("'′")
41
+ NEGATORS = set('~!')
42
+ QUANTIFIERS = set('AE∀∃')
43
+ NUMBERS = set('0123456789')
44
+ WHITESPACE = set('\t \v\n')
45
+
46
+ RULES = re.compile('''(?xi)
47
+ joining | separation | double-tilde | fantasy\\ rule
48
+ | carry[- ]over(?:\\ of)?(?:\\ line)?\\ ([0-9]+) | detachment
49
+ | contrapositive | De\\ Morgan | switcheroo
50
+ | specification | generalization | interchange
51
+ | existence | symmetry | transitivity
52
+ | add\\ S | drop\\ S | induction
53
+ | axiom\\ ([1-5]) | premise | push | pop
54
+ ''')
55
+ LINENOS = re.compile(r'(?:[0-9]+)(?:(?:, ?|,? and )(?:[0-9]+))*')
56
+ COMMENT = re.compile(r'\[[^\n\]]+\]')
57
+
58
+ def __init__(self, *args, **kwargs):
59
+ Lexer.__init__(self, *args, **kwargs)
60
+ self.cur = []
61
+
62
+ def whitespace(self, start, text, required=False):
63
+ """Tokenize whitespace."""
64
+ end = start
65
+ try:
66
+ while text[end] in self.WHITESPACE:
67
+ end += 1
68
+ except IndexError:
69
+ end = len(text)
70
+ if required:
71
+ assert end != start
72
+ if end != start:
73
+ self.cur.append((start, Text, text[start:end]))
74
+ return end
75
+
76
+ def variable(self, start, text):
77
+ """Tokenize a variable."""
78
+ assert text[start] in self.VARIABLES
79
+ end = start+1
80
+ while text[end] in self.PRIMES:
81
+ end += 1
82
+ self.cur.append((start, Name.Variable, text[start:end]))
83
+ return end
84
+
85
+ def term(self, start, text):
86
+ """Tokenize a term."""
87
+ if text[start] == 'S': # S...S(...) or S...0
88
+ end = start+1
89
+ while text[end] == 'S':
90
+ end += 1
91
+ self.cur.append((start, Number.Integer, text[start:end]))
92
+ return self.term(end, text)
93
+ if text[start] == '0': # the singleton 0
94
+ self.cur.append((start, Number.Integer, text[start]))
95
+ return start+1
96
+ if text[start] in self.VARIABLES: # a''...
97
+ return self.variable(start, text)
98
+ if text[start] == '(': # (...+...)
99
+ self.cur.append((start, Punctuation, text[start]))
100
+ start = self.term(start+1, text)
101
+ assert text[start] in self.OPERATORS
102
+ self.cur.append((start, Operator, text[start]))
103
+ start = self.term(start+1, text)
104
+ assert text[start] == ')'
105
+ self.cur.append((start, Punctuation, text[start]))
106
+ return start+1
107
+ raise AssertionError # no matches
108
+
109
+ def formula(self, start, text):
110
+ """Tokenize a formula."""
111
+ if text[start] in self.NEGATORS: # ~<...>
112
+ end = start+1
113
+ while text[end] in self.NEGATORS:
114
+ end += 1
115
+ self.cur.append((start, Operator, text[start:end]))
116
+ return self.formula(end, text)
117
+ if text[start] in self.QUANTIFIERS: # Aa:<...>
118
+ self.cur.append((start, Keyword.Declaration, text[start]))
119
+ start = self.variable(start+1, text)
120
+ assert text[start] == ':'
121
+ self.cur.append((start, Punctuation, text[start]))
122
+ return self.formula(start+1, text)
123
+ if text[start] == '<': # <...&...>
124
+ self.cur.append((start, Punctuation, text[start]))
125
+ start = self.formula(start+1, text)
126
+ assert text[start] in self.LOGIC
127
+ self.cur.append((start, Operator, text[start]))
128
+ start = self.formula(start+1, text)
129
+ assert text[start] == '>'
130
+ self.cur.append((start, Punctuation, text[start]))
131
+ return start+1
132
+ # ...=...
133
+ start = self.term(start, text)
134
+ assert text[start] == '='
135
+ self.cur.append((start, Operator, text[start]))
136
+ start = self.term(start+1, text)
137
+ return start
138
+
139
+ def rule(self, start, text):
140
+ """Tokenize a rule."""
141
+ match = self.RULES.match(text, start)
142
+ assert match is not None
143
+ groups = sorted(match.regs[1:]) # exclude whole match
144
+ for group in groups:
145
+ if group[0] >= 0: # this group matched
146
+ self.cur.append((start, Keyword, text[start:group[0]]))
147
+ self.cur.append((group[0], Number.Integer,
148
+ text[group[0]:group[1]]))
149
+ if group[1] != match.end():
150
+ self.cur.append((group[1], Keyword,
151
+ text[group[1]:match.end()]))
152
+ break
153
+ else:
154
+ self.cur.append((start, Keyword, text[start:match.end()]))
155
+ return match.end()
156
+
157
+ def lineno(self, start, text):
158
+ """Tokenize a line referral."""
159
+ end = start
160
+ while text[end] not in self.NUMBERS:
161
+ end += 1
162
+ self.cur.append((start, Punctuation, text[start]))
163
+ self.cur.append((start+1, Text, text[start+1:end]))
164
+ start = end
165
+ match = self.LINENOS.match(text, start)
166
+ assert match is not None
167
+ assert text[match.end()] == ')'
168
+ self.cur.append((match.start(), Number.Integer, match.group(0)))
169
+ self.cur.append((match.end(), Punctuation, text[match.end()]))
170
+ return match.end() + 1
171
+
172
+ def error_till_line_end(self, start, text):
173
+ """Mark everything from ``start`` to the end of the line as Error."""
174
+ end = start
175
+ try:
176
+ while text[end] != '\n': # there's whitespace in rules
177
+ end += 1
178
+ except IndexError:
179
+ end = len(text)
180
+ if end != start:
181
+ self.cur.append((start, Error, text[start:end]))
182
+ end = self.whitespace(end, text)
183
+ return end
184
+
185
+ def get_tokens_unprocessed(self, text):
186
+ """Returns a list of TNT tokens."""
187
+ self.cur = []
188
+ start = end = self.whitespace(0, text)
189
+ while start <= end < len(text):
190
+ try:
191
+ # try line number
192
+ while text[end] in self.NUMBERS:
193
+ end += 1
194
+ if end != start: # actual number present
195
+ self.cur.append((start, Number.Integer, text[start:end]))
196
+ # whitespace is required after a line number
197
+ orig = len(self.cur)
198
+ try:
199
+ start = end = self.whitespace(end, text, True)
200
+ except AssertionError:
201
+ del self.cur[orig:]
202
+ start = end = self.error_till_line_end(end, text)
203
+ continue
204
+ # at this point it could be a comment
205
+ match = self.COMMENT.match(text, start)
206
+ if match is not None:
207
+ self.cur.append((start, Comment, text[start:match.end()]))
208
+ start = end = match.end()
209
+ # anything after the closing bracket is invalid
210
+ start = end = self.error_till_line_end(start, text)
211
+ # do not attempt to process the rest
212
+ continue
213
+ del match
214
+ if text[start] in '[]': # fantasy push or pop
215
+ self.cur.append((start, Keyword, text[start]))
216
+ start += 1
217
+ end += 1
218
+ else:
219
+ # one formula, possibly containing subformulae
220
+ orig = len(self.cur)
221
+ try:
222
+ start = end = self.formula(start, text)
223
+ except AssertionError: # not well-formed
224
+ del self.cur[orig:]
225
+ while text[end] not in self.WHITESPACE:
226
+ end += 1
227
+ self.cur.append((start, Error, text[start:end]))
228
+ start = end
229
+ # skip whitespace after formula
230
+ orig = len(self.cur)
231
+ try:
232
+ start = end = self.whitespace(end, text, True)
233
+ except AssertionError:
234
+ del self.cur[orig:]
235
+ start = end = self.error_till_line_end(start, text)
236
+ continue
237
+ # rule proving this formula a theorem
238
+ orig = len(self.cur)
239
+ try:
240
+ start = end = self.rule(start, text)
241
+ except AssertionError:
242
+ del self.cur[orig:]
243
+ start = end = self.error_till_line_end(start, text)
244
+ continue
245
+ # skip whitespace after rule
246
+ start = end = self.whitespace(end, text)
247
+ # line marker
248
+ if text[start] == '(':
249
+ orig = len(self.cur)
250
+ try:
251
+ start = end = self.lineno(start, text)
252
+ except AssertionError:
253
+ del self.cur[orig:]
254
+ start = end = self.error_till_line_end(start, text)
255
+ continue
256
+ start = end = self.whitespace(start, text)
257
+ except IndexError:
258
+ try:
259
+ del self.cur[orig:]
260
+ except NameError:
261
+ pass # if orig was never defined, fine
262
+ self.error_till_line_end(start, text)
263
+ return self.cur
@@ -5,7 +5,7 @@
5
5
 
6
6
  Lexer for RiverBed's TrafficScript (RTS) language.
7
7
 
8
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
@@ -14,17 +14,15 @@
14
14
  `TypoScriptHtmlDataLexer`
15
15
  Lexer that highlights markers, constants and registers within html tags.
16
16
 
17
- :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
17
+ :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
18
18
  :license: BSD, see LICENSE for details.
19
19
  """
20
20
 
21
21
  import re
22
22
 
23
23
  from pygments.lexer import RegexLexer, include, bygroups, using
24
- from pygments.token import Keyword, Text, Comment, Name, String, Number, \
24
+ from pygments.token import Text, Comment, Name, String, Number, \
25
25
  Operator, Punctuation
26
- from pygments.lexer import DelegatingLexer
27
- from pygments.lexers.web import HtmlLexer, CssLexer
28
26
 
29
27
  __all__ = ['TypoScriptLexer', 'TypoScriptCssDataLexer', 'TypoScriptHtmlDataLexer']
30
28
 
@@ -110,7 +108,7 @@ class TypoScriptLexer(RegexLexer):
110
108
 
111
109
  name = 'TypoScript'
112
110
  aliases = ['typoscript']
113
- filenames = ['*.ts', '*.txt']
111
+ filenames = ['*.typoscript']
114
112
  mimetypes = ['text/x-typoscript']
115
113
 
116
114
  flags = re.DOTALL | re.MULTILINE
@@ -131,7 +129,7 @@ class TypoScriptLexer(RegexLexer):
131
129
  ],
132
130
  'keywords': [
133
131
  # Conditions
134
- (r'(\[)(?i)(browser|compatVersion|dayofmonth|dayofweek|dayofyear|'
132
+ (r'(?i)(\[)(browser|compatVersion|dayofmonth|dayofweek|dayofyear|'
135
133
  r'device|ELSE|END|GLOBAL|globalString|globalVar|hostname|hour|IP|'
136
134
  r'language|loginUser|loginuser|minute|month|page|PIDinRootline|'
137
135
  r'PIDupinRootline|system|treeLevel|useragent|userFunc|usergroup|'
@@ -168,14 +166,14 @@ class TypoScriptLexer(RegexLexer):
168
166
  'whitespace': [
169
167
  (r'\s+', Text),
170
168
  ],
171
- 'html':[
169
+ 'html': [
172
170
  (r'<\S[^\n>]*>', using(TypoScriptHtmlDataLexer)),
173
171
  (r'&[^;\n]*;', String),
174
- (r'(_CSS_DEFAULT_STYLE)(\s*)(\()(?s)(.*(?=\n\)))',
175
- bygroups(Name.Class, Text, String.Symbol, using(TypoScriptCssDataLexer))),
172
+ (r'(?s)(_CSS_DEFAULT_STYLE)(\s*)(\()(.*(?=\n\)))',
173
+ bygroups(Name.Class, Text, String.Symbol, using(TypoScriptCssDataLexer))),
176
174
  ],
177
175
  'literal': [
178
- (r'0x[0-9A-Fa-f]+t?',Number.Hex),
176
+ (r'0x[0-9A-Fa-f]+t?', Number.Hex),
179
177
  # (r'[0-9]*\.[0-9]+([eE][0-9]+)?[fd]?\s*(?:[^=])', Number.Float),
180
178
  (r'[0-9]+', Number.Integer),
181
179
  (r'(###\w+###)', Name.Constant),
@@ -219,7 +217,3 @@ class TypoScriptLexer(RegexLexer):
219
217
  (r'[\w"\-!/&;]+', Text),
220
218
  ],
221
219
  }
222
-
223
- def analyse_text(text):
224
- if '<INCLUDE_TYPOSCRIPT:' in text:
225
- return 1.0