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 theorem-proving 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
 
@@ -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-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
 
@@ -14,7 +14,7 @@
14
14
  `TypoScriptHtmlDataLexer`
15
15
  Lexer that highlights markers, constants and registers within html tags.
16
16
 
17
- :copyright: Copyright 2006-2017 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
 
@@ -108,14 +108,11 @@ class TypoScriptLexer(RegexLexer):
108
108
 
109
109
  name = 'TypoScript'
110
110
  aliases = ['typoscript']
111
- filenames = ['*.ts', '*.txt']
111
+ filenames = ['*.typoscript']
112
112
  mimetypes = ['text/x-typoscript']
113
113
 
114
114
  flags = re.DOTALL | re.MULTILINE
115
115
 
116
- # Slightly higher than TypeScript (which is 0).
117
- priority = 0.1
118
-
119
116
  tokens = {
120
117
  'root': [
121
118
  include('comment'),
@@ -132,7 +129,7 @@ class TypoScriptLexer(RegexLexer):
132
129
  ],
133
130
  'keywords': [
134
131
  # Conditions
135
- (r'(\[)(?i)(browser|compatVersion|dayofmonth|dayofweek|dayofyear|'
132
+ (r'(?i)(\[)(browser|compatVersion|dayofmonth|dayofweek|dayofyear|'
136
133
  r'device|ELSE|END|GLOBAL|globalString|globalVar|hostname|hour|IP|'
137
134
  r'language|loginUser|loginuser|minute|month|page|PIDinRootline|'
138
135
  r'PIDupinRootline|system|treeLevel|useragent|userFunc|usergroup|'
@@ -172,7 +169,7 @@ class TypoScriptLexer(RegexLexer):
172
169
  'html': [
173
170
  (r'<\S[^\n>]*>', using(TypoScriptHtmlDataLexer)),
174
171
  (r'&[^;\n]*;', String),
175
- (r'(_CSS_DEFAULT_STYLE)(\s*)(\()(?s)(.*(?=\n\)))',
172
+ (r'(?s)(_CSS_DEFAULT_STYLE)(\s*)(\()(.*(?=\n\)))',
176
173
  bygroups(Name.Class, Text, String.Symbol, using(TypoScriptCssDataLexer))),
177
174
  ],
178
175
  'literal': [
@@ -220,7 +217,3 @@ class TypoScriptLexer(RegexLexer):
220
217
  (r'[\w"\-!/&;]+', Text),
221
218
  ],
222
219
  }
223
-
224
- def analyse_text(text):
225
- if '<INCLUDE_TYPOSCRIPT:' in text:
226
- return 1.0