pygments.rb 1.2.1 → 2.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (378) 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 +119 -0
  7. data/Gemfile +3 -1
  8. data/LICENSE +1 -1
  9. data/README.adoc +161 -0
  10. data/Rakefile +10 -21
  11. data/bench.rb +8 -7
  12. data/cache-lexers.rb +3 -2
  13. data/lib/pygments.rb +10 -11
  14. data/lib/pygments/lexer.rb +5 -5
  15. data/lib/pygments/mentos.py +23 -66
  16. data/lib/pygments/popen.rb +152 -204
  17. data/lib/pygments/version.rb +2 -2
  18. data/pygments.rb.gemspec +11 -9
  19. data/test/test_pygments.rb +51 -84
  20. data/vendor/pygments-main/{AUTHORS → Pygments-2.7.3.dist-info/AUTHORS} +21 -3
  21. data/vendor/pygments-main/Pygments-2.7.3.dist-info/INSTALLER +1 -0
  22. data/vendor/pygments-main/{LICENSE → Pygments-2.7.3.dist-info/LICENSE} +1 -1
  23. data/vendor/pygments-main/Pygments-2.7.3.dist-info/METADATA +49 -0
  24. data/vendor/pygments-main/Pygments-2.7.3.dist-info/RECORD +482 -0
  25. data/vendor/pygments-main/Pygments-2.7.3.dist-info/REQUESTED +0 -0
  26. data/vendor/pygments-main/Pygments-2.7.3.dist-info/WHEEL +5 -0
  27. data/vendor/pygments-main/Pygments-2.7.3.dist-info/entry_points.txt +3 -0
  28. data/vendor/pygments-main/Pygments-2.7.3.dist-info/top_level.txt +1 -0
  29. data/vendor/pygments-main/bin/pygmentize +8 -0
  30. data/vendor/pygments-main/pygments/__init__.py +6 -11
  31. data/vendor/pygments-main/pygments/__main__.py +18 -0
  32. data/vendor/pygments-main/pygments/cmdline.py +38 -29
  33. data/vendor/pygments-main/pygments/console.py +6 -9
  34. data/vendor/pygments-main/pygments/filter.py +4 -6
  35. data/vendor/pygments-main/pygments/filters/__init__.py +609 -21
  36. data/vendor/pygments-main/pygments/formatter.py +4 -4
  37. data/vendor/pygments-main/pygments/formatters/__init__.py +9 -8
  38. data/vendor/pygments-main/pygments/formatters/_mapping.py +1 -3
  39. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
  40. data/vendor/pygments-main/pygments/formatters/html.py +223 -135
  41. data/vendor/pygments-main/pygments/formatters/img.py +68 -41
  42. data/vendor/pygments-main/pygments/formatters/irc.py +39 -39
  43. data/vendor/pygments-main/pygments/formatters/latex.py +56 -26
  44. data/vendor/pygments-main/pygments/formatters/other.py +12 -8
  45. data/vendor/pygments-main/pygments/formatters/rtf.py +29 -29
  46. data/vendor/pygments-main/pygments/formatters/svg.py +38 -4
  47. data/vendor/pygments-main/pygments/formatters/terminal.py +25 -31
  48. data/vendor/pygments-main/pygments/formatters/terminal256.py +22 -12
  49. data/vendor/pygments-main/pygments/lexer.py +41 -39
  50. data/vendor/pygments-main/pygments/lexers/__init__.py +342 -0
  51. data/vendor/pygments-main/pygments/lexers/_asy_builtins.py +1645 -0
  52. data/vendor/pygments-main/pygments/lexers/_cl_builtins.py +232 -0
  53. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +71 -0
  54. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1725 -0
  55. data/vendor/pygments-main/pygments/lexers/_lasso_builtins.py +5327 -0
  56. data/vendor/pygments-main/pygments/lexers/_lua_builtins.py +293 -0
  57. data/vendor/pygments-main/pygments/lexers/_mapping.py +551 -0
  58. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1172 -0
  59. data/vendor/pygments-main/pygments/lexers/_mysql_builtins.py +1282 -0
  60. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +2547 -0
  61. data/vendor/pygments-main/pygments/lexers/_php_builtins.py +4753 -0
  62. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +678 -0
  63. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +3094 -0
  64. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1161 -0
  65. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +558 -0
  66. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +421 -0
  67. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1004 -0
  68. data/vendor/pygments-main/pygments/lexers/_usd_builtins.py +113 -0
  69. data/vendor/pygments-main/pygments/lexers/_vbscript_builtins.py +280 -0
  70. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1939 -0
  71. data/vendor/pygments-main/pygments/lexers/actionscript.py +245 -0
  72. data/vendor/pygments-main/pygments/lexers/agile.py +24 -0
  73. data/vendor/pygments-main/pygments/lexers/algebra.py +240 -0
  74. data/vendor/pygments-main/pygments/lexers/ambient.py +76 -0
  75. data/vendor/pygments-main/pygments/lexers/ampl.py +87 -0
  76. data/vendor/pygments-main/pygments/lexers/apl.py +101 -0
  77. data/vendor/pygments-main/pygments/lexers/archetype.py +318 -0
  78. data/vendor/pygments-main/pygments/lexers/arrow.py +117 -0
  79. data/vendor/pygments-main/pygments/lexers/asm.py +1005 -0
  80. data/vendor/pygments-main/pygments/lexers/automation.py +374 -0
  81. data/vendor/pygments-main/pygments/lexers/bare.py +104 -0
  82. data/vendor/pygments-main/pygments/lexers/basic.py +662 -0
  83. data/vendor/pygments-main/pygments/lexers/bibtex.py +160 -0
  84. data/vendor/pygments-main/pygments/lexers/boa.py +102 -0
  85. data/vendor/pygments-main/pygments/lexers/business.py +627 -0
  86. data/vendor/pygments-main/pygments/lexers/c_cpp.py +344 -0
  87. data/vendor/pygments-main/pygments/lexers/c_like.py +566 -0
  88. data/vendor/pygments-main/pygments/lexers/capnproto.py +78 -0
  89. data/vendor/pygments-main/pygments/lexers/chapel.py +112 -0
  90. data/vendor/pygments-main/pygments/lexers/clean.py +179 -0
  91. data/vendor/pygments-main/pygments/lexers/compiled.py +34 -0
  92. data/vendor/pygments-main/pygments/lexers/configs.py +984 -0
  93. data/vendor/pygments-main/pygments/lexers/console.py +114 -0
  94. data/vendor/pygments-main/pygments/lexers/crystal.py +392 -0
  95. data/vendor/pygments-main/pygments/lexers/csound.py +467 -0
  96. data/vendor/pygments-main/pygments/lexers/css.py +691 -0
  97. data/vendor/pygments-main/pygments/lexers/d.py +256 -0
  98. data/vendor/pygments-main/pygments/lexers/dalvik.py +125 -0
  99. data/vendor/pygments-main/pygments/lexers/data.py +698 -0
  100. data/vendor/pygments-main/pygments/lexers/devicetree.py +109 -0
  101. data/vendor/pygments-main/pygments/lexers/diff.py +165 -0
  102. data/vendor/pygments-main/pygments/lexers/dotnet.py +707 -0
  103. data/vendor/pygments-main/pygments/lexers/dsls.py +960 -0
  104. data/vendor/pygments-main/pygments/lexers/dylan.py +287 -0
  105. data/vendor/pygments-main/pygments/lexers/ecl.py +139 -0
  106. data/vendor/pygments-main/pygments/lexers/eiffel.py +65 -0
  107. data/vendor/pygments-main/pygments/lexers/elm.py +121 -0
  108. data/vendor/pygments-main/pygments/lexers/email.py +151 -0
  109. data/vendor/pygments-main/pygments/lexers/erlang.py +530 -0
  110. data/vendor/pygments-main/pygments/lexers/esoteric.py +304 -0
  111. data/vendor/pygments-main/pygments/lexers/ezhil.py +77 -0
  112. data/vendor/pygments-main/pygments/lexers/factor.py +344 -0
  113. data/vendor/pygments-main/pygments/lexers/fantom.py +250 -0
  114. data/vendor/pygments-main/pygments/lexers/felix.py +273 -0
  115. data/vendor/pygments-main/pygments/lexers/floscript.py +83 -0
  116. data/vendor/pygments-main/pygments/lexers/forth.py +178 -0
  117. data/vendor/pygments-main/pygments/lexers/fortran.py +206 -0
  118. data/vendor/pygments-main/pygments/lexers/foxpro.py +428 -0
  119. data/vendor/pygments-main/pygments/lexers/freefem.py +898 -0
  120. data/vendor/pygments-main/pygments/lexers/functional.py +21 -0
  121. data/vendor/pygments-main/pygments/lexers/gdscript.py +346 -0
  122. data/vendor/pygments-main/pygments/lexers/go.py +101 -0
  123. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +270 -0
  124. data/vendor/pygments-main/pygments/lexers/graph.py +85 -0
  125. data/vendor/pygments-main/pygments/lexers/graphics.py +800 -0
  126. data/vendor/pygments-main/pygments/lexers/haskell.py +870 -0
  127. data/vendor/pygments-main/pygments/lexers/haxe.py +936 -0
  128. data/vendor/pygments-main/pygments/lexers/hdl.py +472 -0
  129. data/vendor/pygments-main/pygments/lexers/hexdump.py +103 -0
  130. data/vendor/pygments-main/pygments/lexers/html.py +614 -0
  131. data/vendor/pygments-main/pygments/lexers/idl.py +281 -0
  132. data/vendor/pygments-main/pygments/lexers/igor.py +420 -0
  133. data/vendor/pygments-main/pygments/lexers/inferno.py +96 -0
  134. data/vendor/pygments-main/pygments/lexers/installers.py +322 -0
  135. data/vendor/pygments-main/pygments/lexers/int_fiction.py +1368 -0
  136. data/vendor/pygments-main/pygments/lexers/iolang.py +63 -0
  137. data/vendor/pygments-main/pygments/lexers/j.py +146 -0
  138. data/vendor/pygments-main/pygments/lexers/javascript.py +1540 -0
  139. data/vendor/pygments-main/pygments/lexers/julia.py +331 -0
  140. data/vendor/pygments-main/pygments/lexers/jvm.py +1673 -0
  141. data/vendor/pygments-main/pygments/lexers/lisp.py +2699 -0
  142. data/vendor/pygments-main/pygments/lexers/make.py +206 -0
  143. data/vendor/pygments-main/pygments/lexers/markup.py +765 -0
  144. data/vendor/pygments-main/pygments/lexers/math.py +21 -0
  145. data/vendor/pygments-main/pygments/lexers/matlab.py +720 -0
  146. data/vendor/pygments-main/pygments/lexers/mime.py +226 -0
  147. data/vendor/pygments-main/pygments/lexers/ml.py +958 -0
  148. data/vendor/pygments-main/pygments/lexers/modeling.py +366 -0
  149. data/vendor/pygments-main/pygments/lexers/modula2.py +1580 -0
  150. data/vendor/pygments-main/pygments/lexers/monte.py +204 -0
  151. data/vendor/pygments-main/pygments/lexers/mosel.py +448 -0
  152. data/vendor/pygments-main/pygments/lexers/ncl.py +894 -0
  153. data/vendor/pygments-main/pygments/lexers/nimrod.py +159 -0
  154. data/vendor/pygments-main/pygments/lexers/nit.py +64 -0
  155. data/vendor/pygments-main/pygments/lexers/nix.py +136 -0
  156. data/vendor/pygments-main/pygments/lexers/oberon.py +121 -0
  157. data/vendor/pygments-main/pygments/lexers/objective.py +504 -0
  158. data/vendor/pygments-main/pygments/lexers/ooc.py +85 -0
  159. data/vendor/pygments-main/pygments/lexers/other.py +41 -0
  160. data/vendor/pygments-main/pygments/lexers/parasail.py +79 -0
  161. data/vendor/pygments-main/pygments/lexers/parsers.py +800 -0
  162. data/vendor/pygments-main/pygments/lexers/pascal.py +644 -0
  163. data/vendor/pygments-main/pygments/lexers/pawn.py +205 -0
  164. data/vendor/pygments-main/pygments/lexers/perl.py +732 -0
  165. data/vendor/pygments-main/pygments/lexers/php.py +321 -0
  166. data/vendor/pygments-main/pygments/lexers/pointless.py +71 -0
  167. data/vendor/pygments-main/pygments/lexers/pony.py +94 -0
  168. data/vendor/pygments-main/pygments/lexers/praat.py +302 -0
  169. data/vendor/pygments-main/pygments/lexers/prolog.py +306 -0
  170. data/vendor/pygments-main/pygments/lexers/promql.py +183 -0
  171. data/vendor/pygments-main/pygments/lexers/python.py +1151 -0
  172. data/vendor/pygments-main/pygments/lexers/qvt.py +152 -0
  173. data/vendor/pygments-main/pygments/lexers/r.py +191 -0
  174. data/vendor/pygments-main/pygments/lexers/rdf.py +463 -0
  175. data/vendor/pygments-main/pygments/lexers/rebol.py +431 -0
  176. data/vendor/pygments-main/pygments/lexers/resource.py +85 -0
  177. data/vendor/pygments-main/pygments/lexers/ride.py +139 -0
  178. data/vendor/pygments-main/pygments/lexers/rnc.py +67 -0
  179. data/vendor/pygments-main/pygments/lexers/roboconf.py +82 -0
  180. data/vendor/pygments-main/pygments/lexers/robotframework.py +552 -0
  181. data/vendor/pygments-main/pygments/lexers/ruby.py +517 -0
  182. data/vendor/pygments-main/pygments/lexers/rust.py +224 -0
  183. data/vendor/pygments-main/pygments/lexers/sas.py +228 -0
  184. data/vendor/pygments-main/pygments/lexers/scdoc.py +83 -0
  185. data/vendor/pygments-main/pygments/lexers/scripting.py +1284 -0
  186. data/vendor/pygments-main/pygments/lexers/sgf.py +61 -0
  187. data/vendor/pygments-main/pygments/lexers/shell.py +914 -0
  188. data/vendor/pygments-main/pygments/lexers/sieve.py +69 -0
  189. data/vendor/pygments-main/pygments/lexers/slash.py +185 -0
  190. data/vendor/pygments-main/pygments/lexers/smalltalk.py +195 -0
  191. data/vendor/pygments-main/pygments/lexers/smv.py +79 -0
  192. data/vendor/pygments-main/pygments/lexers/snobol.py +83 -0
  193. data/vendor/pygments-main/pygments/lexers/solidity.py +92 -0
  194. data/vendor/pygments-main/pygments/lexers/special.py +105 -0
  195. data/vendor/pygments-main/pygments/lexers/sql.py +837 -0
  196. data/vendor/pygments-main/pygments/lexers/stata.py +171 -0
  197. data/vendor/pygments-main/pygments/lexers/supercollider.py +95 -0
  198. data/vendor/pygments-main/pygments/lexers/tcl.py +145 -0
  199. data/vendor/pygments-main/pygments/lexers/templates.py +2264 -0
  200. data/vendor/pygments-main/pygments/lexers/teraterm.py +335 -0
  201. data/vendor/pygments-main/pygments/lexers/testing.py +207 -0
  202. data/vendor/pygments-main/pygments/lexers/text.py +26 -0
  203. data/vendor/pygments-main/pygments/lexers/textedit.py +169 -0
  204. data/vendor/pygments-main/pygments/lexers/textfmts.py +430 -0
  205. data/vendor/pygments-main/pygments/lexers/theorem.py +474 -0
  206. data/vendor/pygments-main/pygments/lexers/tnt.py +263 -0
  207. data/vendor/pygments-main/pygments/lexers/trafficscript.py +54 -0
  208. data/vendor/pygments-main/pygments/lexers/typoscript.py +219 -0
  209. data/vendor/pygments-main/pygments/lexers/unicon.py +412 -0
  210. data/vendor/pygments-main/pygments/lexers/urbi.py +146 -0
  211. data/vendor/pygments-main/pygments/lexers/usd.py +90 -0
  212. data/vendor/pygments-main/pygments/lexers/varnish.py +190 -0
  213. data/vendor/pygments-main/pygments/lexers/verification.py +114 -0
  214. data/vendor/pygments-main/pygments/lexers/web.py +24 -0
  215. data/vendor/pygments-main/pygments/lexers/webidl.py +299 -0
  216. data/vendor/pygments-main/pygments/lexers/webmisc.py +991 -0
  217. data/vendor/pygments-main/pygments/lexers/whiley.py +116 -0
  218. data/vendor/pygments-main/pygments/lexers/x10.py +69 -0
  219. data/vendor/pygments-main/pygments/lexers/xorg.py +37 -0
  220. data/vendor/pygments-main/pygments/lexers/yang.py +104 -0
  221. data/vendor/pygments-main/pygments/lexers/zig.py +124 -0
  222. data/vendor/pygments-main/pygments/modeline.py +1 -1
  223. data/vendor/pygments-main/pygments/plugin.py +4 -2
  224. data/vendor/pygments-main/pygments/regexopt.py +1 -1
  225. data/vendor/pygments-main/pygments/scanner.py +2 -2
  226. data/vendor/pygments-main/pygments/sphinxext.py +2 -4
  227. data/vendor/pygments-main/pygments/style.py +61 -24
  228. data/vendor/pygments-main/pygments/styles/__init__.py +10 -4
  229. data/vendor/pygments-main/pygments/styles/abap.py +1 -1
  230. data/vendor/pygments-main/pygments/styles/algol.py +1 -1
  231. data/vendor/pygments-main/pygments/styles/algol_nu.py +1 -1
  232. data/vendor/pygments-main/pygments/styles/arduino.py +2 -2
  233. data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
  234. data/vendor/pygments-main/pygments/styles/borland.py +1 -1
  235. data/vendor/pygments-main/pygments/styles/bw.py +1 -1
  236. data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
  237. data/vendor/pygments-main/pygments/styles/default.py +1 -1
  238. data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
  239. data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
  240. data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
  241. data/vendor/pygments-main/pygments/styles/igor.py +1 -1
  242. data/vendor/pygments-main/pygments/styles/inkpot.py +67 -0
  243. data/vendor/pygments-main/pygments/styles/lovelace.py +1 -1
  244. data/vendor/pygments-main/pygments/styles/manni.py +1 -1
  245. data/vendor/pygments-main/pygments/styles/monokai.py +4 -3
  246. data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
  247. data/vendor/pygments-main/pygments/styles/native.py +1 -1
  248. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -1
  249. data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -1
  250. data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
  251. data/vendor/pygments-main/pygments/styles/perldoc.py +1 -1
  252. data/vendor/pygments-main/pygments/styles/rainbow_dash.py +1 -1
  253. data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
  254. data/vendor/pygments-main/pygments/styles/sas.py +1 -1
  255. data/vendor/pygments-main/pygments/styles/solarized.py +134 -0
  256. data/vendor/pygments-main/pygments/styles/stata_dark.py +41 -0
  257. data/vendor/pygments-main/pygments/styles/{stata.py → stata_light.py} +14 -15
  258. data/vendor/pygments-main/pygments/styles/tango.py +1 -1
  259. data/vendor/pygments-main/pygments/styles/trac.py +1 -1
  260. data/vendor/pygments-main/pygments/styles/vim.py +1 -1
  261. data/vendor/pygments-main/pygments/styles/vs.py +1 -1
  262. data/vendor/pygments-main/pygments/styles/xcode.py +1 -1
  263. data/vendor/pygments-main/pygments/token.py +1 -1
  264. data/vendor/pygments-main/pygments/unistring.py +47 -108
  265. data/vendor/pygments-main/pygments/util.py +15 -92
  266. metadata +69 -136
  267. data/CHANGELOG.md +0 -111
  268. data/README.md +0 -121
  269. data/circle.yml +0 -20
  270. data/test/test_data.py +0 -514
  271. data/test/test_data_generated +0 -2582
  272. data/vendor/custom_lexers/github.py +0 -565
  273. data/vendor/pygments-main/CHANGES +0 -1186
  274. data/vendor/pygments-main/MANIFEST.in +0 -6
  275. data/vendor/pygments-main/Makefile +0 -65
  276. data/vendor/pygments-main/README.rst +0 -39
  277. data/vendor/pygments-main/REVISION +0 -1
  278. data/vendor/pygments-main/TODO +0 -12
  279. data/vendor/pygments-main/doc/Makefile +0 -153
  280. data/vendor/pygments-main/doc/_static/favicon.ico +0 -0
  281. data/vendor/pygments-main/doc/_static/logo_new.png +0 -0
  282. data/vendor/pygments-main/doc/_static/logo_only.png +0 -0
  283. data/vendor/pygments-main/doc/_templates/docssidebar.html +0 -3
  284. data/vendor/pygments-main/doc/_templates/indexsidebar.html +0 -25
  285. data/vendor/pygments-main/doc/_themes/pygments14/layout.html +0 -98
  286. data/vendor/pygments-main/doc/_themes/pygments14/static/bodybg.png +0 -0
  287. data/vendor/pygments-main/doc/_themes/pygments14/static/docbg.png +0 -0
  288. data/vendor/pygments-main/doc/_themes/pygments14/static/listitem.png +0 -0
  289. data/vendor/pygments-main/doc/_themes/pygments14/static/logo.png +0 -0
  290. data/vendor/pygments-main/doc/_themes/pygments14/static/pocoo.png +0 -0
  291. data/vendor/pygments-main/doc/_themes/pygments14/static/pygments14.css_t +0 -401
  292. data/vendor/pygments-main/doc/_themes/pygments14/theme.conf +0 -15
  293. data/vendor/pygments-main/doc/conf.py +0 -241
  294. data/vendor/pygments-main/doc/docs/api.rst +0 -354
  295. data/vendor/pygments-main/doc/docs/authors.rst +0 -4
  296. data/vendor/pygments-main/doc/docs/changelog.rst +0 -1
  297. data/vendor/pygments-main/doc/docs/cmdline.rst +0 -166
  298. data/vendor/pygments-main/doc/docs/filterdevelopment.rst +0 -71
  299. data/vendor/pygments-main/doc/docs/filters.rst +0 -41
  300. data/vendor/pygments-main/doc/docs/formatterdevelopment.rst +0 -169
  301. data/vendor/pygments-main/doc/docs/formatters.rst +0 -48
  302. data/vendor/pygments-main/doc/docs/index.rst +0 -66
  303. data/vendor/pygments-main/doc/docs/integrate.rst +0 -40
  304. data/vendor/pygments-main/doc/docs/java.rst +0 -70
  305. data/vendor/pygments-main/doc/docs/lexerdevelopment.rst +0 -728
  306. data/vendor/pygments-main/doc/docs/lexers.rst +0 -69
  307. data/vendor/pygments-main/doc/docs/moinmoin.rst +0 -39
  308. data/vendor/pygments-main/doc/docs/plugins.rst +0 -93
  309. data/vendor/pygments-main/doc/docs/quickstart.rst +0 -205
  310. data/vendor/pygments-main/doc/docs/rstdirective.rst +0 -22
  311. data/vendor/pygments-main/doc/docs/styles.rst +0 -201
  312. data/vendor/pygments-main/doc/docs/tokens.rst +0 -372
  313. data/vendor/pygments-main/doc/docs/unicode.rst +0 -58
  314. data/vendor/pygments-main/doc/download.rst +0 -41
  315. data/vendor/pygments-main/doc/faq.rst +0 -139
  316. data/vendor/pygments-main/doc/index.rst +0 -54
  317. data/vendor/pygments-main/doc/languages.rst +0 -154
  318. data/vendor/pygments-main/doc/make.bat +0 -190
  319. data/vendor/pygments-main/doc/pygmentize.1 +0 -94
  320. data/vendor/pygments-main/external/autopygmentize +0 -101
  321. data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +0 -162
  322. data/vendor/pygments-main/external/markdown-processor.py +0 -67
  323. data/vendor/pygments-main/external/moin-parser.py +0 -112
  324. data/vendor/pygments-main/external/pygments.bashcomp +0 -38
  325. data/vendor/pygments-main/external/rst-directive.py +0 -82
  326. data/vendor/pygments-main/pygmentize +0 -8
  327. data/vendor/pygments-main/requirements.txt +0 -5
  328. data/vendor/pygments-main/scripts/check_sources.py +0 -211
  329. data/vendor/pygments-main/scripts/debug_lexer.py +0 -246
  330. data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +0 -33
  331. data/vendor/pygments-main/scripts/epydoc.css +0 -280
  332. data/vendor/pygments-main/scripts/get_vimkw.py +0 -74
  333. data/vendor/pygments-main/scripts/pylintrc +0 -301
  334. data/vendor/pygments-main/scripts/vim2pygments.py +0 -935
  335. data/vendor/pygments-main/setup.cfg +0 -10
  336. data/vendor/pygments-main/setup.py +0 -77
  337. data/vendor/pygments-main/tox.ini +0 -7
  338. data/vendor/simplejson/.gitignore +0 -10
  339. data/vendor/simplejson/.travis.yml +0 -5
  340. data/vendor/simplejson/CHANGES.txt +0 -291
  341. data/vendor/simplejson/LICENSE.txt +0 -19
  342. data/vendor/simplejson/MANIFEST.in +0 -5
  343. data/vendor/simplejson/README.rst +0 -19
  344. data/vendor/simplejson/conf.py +0 -179
  345. data/vendor/simplejson/index.rst +0 -628
  346. data/vendor/simplejson/scripts/make_docs.py +0 -18
  347. data/vendor/simplejson/setup.py +0 -104
  348. data/vendor/simplejson/simplejson/__init__.py +0 -510
  349. data/vendor/simplejson/simplejson/_speedups.c +0 -2745
  350. data/vendor/simplejson/simplejson/decoder.py +0 -425
  351. data/vendor/simplejson/simplejson/encoder.py +0 -567
  352. data/vendor/simplejson/simplejson/ordered_dict.py +0 -119
  353. data/vendor/simplejson/simplejson/scanner.py +0 -77
  354. data/vendor/simplejson/simplejson/tests/__init__.py +0 -67
  355. data/vendor/simplejson/simplejson/tests/test_bigint_as_string.py +0 -55
  356. data/vendor/simplejson/simplejson/tests/test_check_circular.py +0 -30
  357. data/vendor/simplejson/simplejson/tests/test_decimal.py +0 -66
  358. data/vendor/simplejson/simplejson/tests/test_decode.py +0 -83
  359. data/vendor/simplejson/simplejson/tests/test_default.py +0 -9
  360. data/vendor/simplejson/simplejson/tests/test_dump.py +0 -67
  361. data/vendor/simplejson/simplejson/tests/test_encode_basestring_ascii.py +0 -46
  362. data/vendor/simplejson/simplejson/tests/test_encode_for_html.py +0 -32
  363. data/vendor/simplejson/simplejson/tests/test_errors.py +0 -34
  364. data/vendor/simplejson/simplejson/tests/test_fail.py +0 -91
  365. data/vendor/simplejson/simplejson/tests/test_float.py +0 -19
  366. data/vendor/simplejson/simplejson/tests/test_indent.py +0 -86
  367. data/vendor/simplejson/simplejson/tests/test_item_sort_key.py +0 -20
  368. data/vendor/simplejson/simplejson/tests/test_namedtuple.py +0 -121
  369. data/vendor/simplejson/simplejson/tests/test_pass1.py +0 -76
  370. data/vendor/simplejson/simplejson/tests/test_pass2.py +0 -14
  371. data/vendor/simplejson/simplejson/tests/test_pass3.py +0 -20
  372. data/vendor/simplejson/simplejson/tests/test_recursion.py +0 -67
  373. data/vendor/simplejson/simplejson/tests/test_scanstring.py +0 -117
  374. data/vendor/simplejson/simplejson/tests/test_separators.py +0 -42
  375. data/vendor/simplejson/simplejson/tests/test_speedups.py +0 -20
  376. data/vendor/simplejson/simplejson/tests/test_tuple.py +0 -49
  377. data/vendor/simplejson/simplejson/tests/test_unicode.py +0 -109
  378. data/vendor/simplejson/simplejson/tool.py +0 -39
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: bdist_wheel (0.35.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ pygmentize = pygments.cmdline:main
3
+
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/python3.8
2
+ # -*- coding: utf-8 -*-
3
+ import re
4
+ import sys
5
+ from pygments.cmdline import main
6
+ if __name__ == '__main__':
7
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
8
+ sys.exit(main())
@@ -17,19 +17,18 @@
17
17
  * it is usable as a command-line tool and as a library
18
18
  * ... and it highlights even Brainfuck!
19
19
 
20
- The `Pygments tip`_ is installable with ``easy_install Pygments==dev``.
20
+ The `Pygments master branch`_ is installable with ``easy_install Pygments==dev``.
21
21
 
22
- .. _Pygments tip:
23
- http://bitbucket.org/birkenfeld/pygments-main/get/tip.zip#egg=Pygments-dev
22
+ .. _Pygments master branch:
23
+ https://github.com/pygments/pygments/archive/master.zip#egg=Pygments-dev
24
24
 
25
- :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
25
+ :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
26
26
  :license: BSD, see LICENSE for details.
27
27
  """
28
28
  import sys
29
+ from io import StringIO, BytesIO
29
30
 
30
- from pygments.util import StringIO, BytesIO
31
-
32
- __version__ = '2.2.0'
31
+ __version__ = '2.7.3'
33
32
  __docformat__ = 'restructuredtext'
34
33
 
35
34
  __all__ = ['lex', 'format', 'highlight']
@@ -84,7 +83,3 @@ def highlight(code, lexer, formatter, outfile=None):
84
83
  """
85
84
  return format(lex(code, lexer), formatter, outfile)
86
85
 
87
-
88
- if __name__ == '__main__': # pragma: no cover
89
- from pygments.cmdline import main
90
- sys.exit(main(sys.argv))
@@ -0,0 +1,18 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ pygments.__main__
4
+ ~~~~~~~~~~~~~~~~~
5
+
6
+ Main entry point for ``python -m pygments``.
7
+
8
+ :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
9
+ :license: BSD, see LICENSE for details.
10
+ """
11
+
12
+ import sys
13
+ import pygments.cmdline
14
+
15
+ try:
16
+ sys.exit(pygments.cmdline.main(sys.argv))
17
+ except KeyboardInterrupt:
18
+ sys.exit(1)
@@ -5,12 +5,10 @@
5
5
 
6
6
  Command line interface.
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
 
12
- from __future__ import print_function
13
-
14
12
  import os
15
13
  import sys
16
14
  import getopt
@@ -18,7 +16,8 @@ from textwrap import dedent
18
16
 
19
17
  from pygments import __version__, highlight
20
18
  from pygments.util import ClassNotFound, OptionError, docstring_headline, \
21
- guess_decode, guess_decode_from_terminal, terminal_encoding
19
+ guess_decode, guess_decode_from_terminal, terminal_encoding, \
20
+ UnclosingTextIOWrapper
22
21
  from pygments.lexers import get_all_lexers, get_lexer_by_name, guess_lexer, \
23
22
  load_lexer_from_file, get_lexer_for_filename, find_lexer_class_for_filename
24
23
  from pygments.lexers.special import TextLexer
@@ -233,7 +232,7 @@ def main_inner(popts, args, usage):
233
232
  return 0
234
233
 
235
234
  if opts.pop('-V', None) is not None:
236
- print('Pygments version %s, (c) 2006-2017 by Georg Brandl.' % __version__)
235
+ print('Pygments version %s, (c) 2006-2020 by Georg Brandl.' % __version__)
237
236
  return 0
238
237
 
239
238
  # handle ``pygmentize -L``
@@ -338,8 +337,17 @@ def main_inner(popts, args, usage):
338
337
  # custom lexer, located relative to user's cwd
339
338
  if allow_custom_lexer_formatter and '.py' in lexername:
340
339
  try:
340
+ filename = None
341
+ name = None
341
342
  if ':' in lexername:
342
343
  filename, name = lexername.rsplit(':', 1)
344
+
345
+ if '.py' in name:
346
+ # This can happen on Windows: If the lexername is
347
+ # C:\lexer.py -- return to normal load path in that case
348
+ name = None
349
+
350
+ if filename and name:
343
351
  lexer = load_lexer_from_file(filename, name,
344
352
  **parsed_opts)
345
353
  else:
@@ -397,11 +405,7 @@ def main_inner(popts, args, usage):
397
405
  elif '-s' not in opts: # treat stdin as full file (-s support is later)
398
406
  # read code from terminal, always in binary mode since we want to
399
407
  # decode ourselves and be tolerant with it
400
- if sys.version_info > (3,):
401
- # Python 3: we have to use .buffer to get a binary stream
402
- code = sys.stdin.buffer.read()
403
- else:
404
- code = sys.stdin.read()
408
+ code = sys.stdin.buffer.read() # use .buffer to get a binary stream
405
409
  if not inencoding:
406
410
  code, inencoding = guess_decode_from_terminal(code, sys.stdin)
407
411
  # else the lexer will do the decoding
@@ -432,10 +436,18 @@ def main_inner(popts, args, usage):
432
436
  # custom formatter, located relative to user's cwd
433
437
  if allow_custom_lexer_formatter and '.py' in fmter:
434
438
  try:
439
+ filename = None
440
+ name = None
435
441
  if ':' in fmter:
436
- file, fmtername = fmter.rsplit(':', 1)
437
- fmter = load_formatter_from_file(file, fmtername,
438
- **parsed_opts)
442
+ # Same logic as above for custom lexer
443
+ filename, name = fmter.rsplit(':', 1)
444
+
445
+ if '.py' in name:
446
+ name = None
447
+
448
+ if filename and name:
449
+ fmter = load_formatter_from_file(filename, name,
450
+ **parsed_opts)
439
451
  else:
440
452
  fmter = load_formatter_from_file(fmter, **parsed_opts)
441
453
  except ClassNotFound as err:
@@ -466,11 +478,7 @@ def main_inner(popts, args, usage):
466
478
  fmter = Terminal256Formatter(**parsed_opts)
467
479
  else:
468
480
  fmter = TerminalFormatter(**parsed_opts)
469
- if sys.version_info > (3,):
470
- # Python 3: we have to use .buffer to get a binary stream
471
- outfile = sys.stdout.buffer
472
- else:
473
- outfile = sys.stdout
481
+ outfile = sys.stdout.buffer
474
482
 
475
483
  # determine output encoding if not explicitly selected
476
484
  if not outencoding:
@@ -485,10 +493,8 @@ def main_inner(popts, args, usage):
485
493
  if not outfn and sys.platform in ('win32', 'cygwin') and \
486
494
  fmter.name in ('Terminal', 'Terminal256'): # pragma: no cover
487
495
  # unfortunately colorama doesn't support binary streams on Py3
488
- if sys.version_info > (3,):
489
- from pygments.util import UnclosingTextIOWrapper
490
- outfile = UnclosingTextIOWrapper(outfile, encoding=fmter.encoding)
491
- fmter.encoding = None
496
+ outfile = UnclosingTextIOWrapper(outfile, encoding=fmter.encoding)
497
+ fmter.encoding = None
492
498
  try:
493
499
  import colorama.initialise
494
500
  except ImportError:
@@ -509,17 +515,17 @@ def main_inner(popts, args, usage):
509
515
  # ... and do it!
510
516
  if '-s' not in opts:
511
517
  # process whole input as per normal...
512
- highlight(code, lexer, fmter, outfile)
518
+ try:
519
+ highlight(code, lexer, fmter, outfile)
520
+ finally:
521
+ if outfn:
522
+ outfile.close()
513
523
  return 0
514
524
  else:
515
525
  # line by line processing of stdin (eg: for 'tail -f')...
516
526
  try:
517
527
  while 1:
518
- if sys.version_info > (3,):
519
- # Python 3: we have to use .buffer to get a binary stream
520
- line = sys.stdin.buffer.readline()
521
- else:
522
- line = sys.stdin.readline()
528
+ line = sys.stdin.buffer.readline()
523
529
  if not line:
524
530
  break
525
531
  if not inencoding:
@@ -530,6 +536,9 @@ def main_inner(popts, args, usage):
530
536
  return 0
531
537
  except KeyboardInterrupt: # pragma: no cover
532
538
  return 0
539
+ finally:
540
+ if outfn:
541
+ outfile.close()
533
542
 
534
543
 
535
544
  def main(args=sys.argv):
@@ -554,7 +563,7 @@ def main(args=sys.argv):
554
563
  file=sys.stderr)
555
564
  print('Please report the whole traceback to the issue tracker at',
556
565
  file=sys.stderr)
557
- print('<https://bitbucket.org/birkenfeld/pygments-main/issues>.',
566
+ print('<https://github.com/pygments/pygments/issues>.',
558
567
  file=sys.stderr)
559
568
  print('*' * 65, file=sys.stderr)
560
569
  print(file=sys.stderr)
@@ -5,7 +5,7 @@
5
5
 
6
6
  Format colored console output.
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
 
@@ -22,22 +22,19 @@ codes["underline"] = esc + "04m"
22
22
  codes["blink"] = esc + "05m"
23
23
  codes["overline"] = esc + "06m"
24
24
 
25
- dark_colors = ["black", "darkred", "darkgreen", "brown", "darkblue",
26
- "purple", "teal", "lightgray"]
27
- light_colors = ["darkgray", "red", "green", "yellow", "blue",
28
- "fuchsia", "turquoise", "white"]
25
+ dark_colors = ["black", "red", "green", "yellow", "blue",
26
+ "magenta", "cyan", "gray"]
27
+ light_colors = ["brightblack", "brightred", "brightgreen", "brightyellow", "brightblue",
28
+ "brightmagenta", "brightcyan", "white"]
29
29
 
30
30
  x = 30
31
31
  for d, l in zip(dark_colors, light_colors):
32
32
  codes[d] = esc + "%im" % x
33
- codes[l] = esc + "%i;01m" % x
33
+ codes[l] = esc + "%im" % (60 + x)
34
34
  x += 1
35
35
 
36
36
  del d, l, x
37
37
 
38
- codes["darkteal"] = codes["turquoise"]
39
- codes["darkyellow"] = codes["brown"]
40
- codes["fuscia"] = codes["fuchsia"]
41
38
  codes["white"] = codes["bold"]
42
39
 
43
40
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Module that implements the default filter.
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
 
@@ -17,8 +17,7 @@ def apply_filters(stream, filters, lexer=None):
17
17
  filter, otherwise the filter receives `None`.
18
18
  """
19
19
  def _apply(filter_, stream):
20
- for token in filter_.filter(lexer, stream):
21
- yield token
20
+ yield from filter_.filter(lexer, stream)
22
21
  for filter_ in filters:
23
22
  stream = _apply(filter_, stream)
24
23
  return stream
@@ -40,7 +39,7 @@ def simplefilter(f):
40
39
  })
41
40
 
42
41
 
43
- class Filter(object):
42
+ class Filter:
44
43
  """
45
44
  Default filter. Subclass this class or use the `simplefilter`
46
45
  decorator to create own filters.
@@ -70,5 +69,4 @@ class FunctionFilter(Filter):
70
69
 
71
70
  def filter(self, lexer, stream):
72
71
  # pylint: disable=not-callable
73
- for ttype, value in self.function(lexer, stream, self.options):
74
- yield ttype, value
72
+ yield from self.function(lexer, stream, self.options)
@@ -6,7 +6,7 @@
6
6
  Module containing filter lookup functions and default
7
7
  filters.
8
8
 
9
- :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS.
9
+ :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
10
10
  :license: BSD, see LICENSE for details.
11
11
  """
12
12
 
@@ -16,7 +16,7 @@ from pygments.token import String, Comment, Keyword, Name, Error, Whitespace, \
16
16
  string_to_tokentype
17
17
  from pygments.filter import Filter
18
18
  from pygments.util import get_list_opt, get_int_opt, get_bool_opt, \
19
- get_choice_opt, ClassNotFound, OptionError, text_type, string_types
19
+ get_choice_opt, ClassNotFound, OptionError
20
20
  from pygments.plugin import find_plugin_filters
21
21
 
22
22
 
@@ -45,8 +45,7 @@ def get_filter_by_name(filtername, **options):
45
45
 
46
46
  def get_all_filters():
47
47
  """Return a generator of all filter names."""
48
- for name in FILTERS:
49
- yield name
48
+ yield from FILTERS
50
49
  for name, _ in find_plugin_filters():
51
50
  yield name
52
51
 
@@ -88,9 +87,597 @@ class CodeTagFilter(Filter):
88
87
  if ttype in String.Doc or \
89
88
  ttype in Comment and \
90
89
  ttype not in Comment.Preproc:
91
- for sttype, svalue in _replace_special(ttype, value, regex,
92
- Comment.Special):
93
- yield sttype, svalue
90
+ yield from _replace_special(ttype, value, regex, Comment.Special)
91
+ else:
92
+ yield ttype, value
93
+
94
+
95
+ class SymbolFilter(Filter):
96
+ """Convert mathematical symbols such as \\<longrightarrow> in Isabelle
97
+ or \\longrightarrow in LaTeX into Unicode characters.
98
+
99
+ This is mostly useful for HTML or console output when you want to
100
+ approximate the source rendering you'd see in an IDE.
101
+
102
+ Options accepted:
103
+
104
+ `lang` : string
105
+ The symbol language. Must be one of ``'isabelle'`` or
106
+ ``'latex'``. The default is ``'isabelle'``.
107
+ """
108
+
109
+ latex_symbols = {
110
+ '\\alpha' : '\U000003b1',
111
+ '\\beta' : '\U000003b2',
112
+ '\\gamma' : '\U000003b3',
113
+ '\\delta' : '\U000003b4',
114
+ '\\varepsilon' : '\U000003b5',
115
+ '\\zeta' : '\U000003b6',
116
+ '\\eta' : '\U000003b7',
117
+ '\\vartheta' : '\U000003b8',
118
+ '\\iota' : '\U000003b9',
119
+ '\\kappa' : '\U000003ba',
120
+ '\\lambda' : '\U000003bb',
121
+ '\\mu' : '\U000003bc',
122
+ '\\nu' : '\U000003bd',
123
+ '\\xi' : '\U000003be',
124
+ '\\pi' : '\U000003c0',
125
+ '\\varrho' : '\U000003c1',
126
+ '\\sigma' : '\U000003c3',
127
+ '\\tau' : '\U000003c4',
128
+ '\\upsilon' : '\U000003c5',
129
+ '\\varphi' : '\U000003c6',
130
+ '\\chi' : '\U000003c7',
131
+ '\\psi' : '\U000003c8',
132
+ '\\omega' : '\U000003c9',
133
+ '\\Gamma' : '\U00000393',
134
+ '\\Delta' : '\U00000394',
135
+ '\\Theta' : '\U00000398',
136
+ '\\Lambda' : '\U0000039b',
137
+ '\\Xi' : '\U0000039e',
138
+ '\\Pi' : '\U000003a0',
139
+ '\\Sigma' : '\U000003a3',
140
+ '\\Upsilon' : '\U000003a5',
141
+ '\\Phi' : '\U000003a6',
142
+ '\\Psi' : '\U000003a8',
143
+ '\\Omega' : '\U000003a9',
144
+ '\\leftarrow' : '\U00002190',
145
+ '\\longleftarrow' : '\U000027f5',
146
+ '\\rightarrow' : '\U00002192',
147
+ '\\longrightarrow' : '\U000027f6',
148
+ '\\Leftarrow' : '\U000021d0',
149
+ '\\Longleftarrow' : '\U000027f8',
150
+ '\\Rightarrow' : '\U000021d2',
151
+ '\\Longrightarrow' : '\U000027f9',
152
+ '\\leftrightarrow' : '\U00002194',
153
+ '\\longleftrightarrow' : '\U000027f7',
154
+ '\\Leftrightarrow' : '\U000021d4',
155
+ '\\Longleftrightarrow' : '\U000027fa',
156
+ '\\mapsto' : '\U000021a6',
157
+ '\\longmapsto' : '\U000027fc',
158
+ '\\relbar' : '\U00002500',
159
+ '\\Relbar' : '\U00002550',
160
+ '\\hookleftarrow' : '\U000021a9',
161
+ '\\hookrightarrow' : '\U000021aa',
162
+ '\\leftharpoondown' : '\U000021bd',
163
+ '\\rightharpoondown' : '\U000021c1',
164
+ '\\leftharpoonup' : '\U000021bc',
165
+ '\\rightharpoonup' : '\U000021c0',
166
+ '\\rightleftharpoons' : '\U000021cc',
167
+ '\\leadsto' : '\U0000219d',
168
+ '\\downharpoonleft' : '\U000021c3',
169
+ '\\downharpoonright' : '\U000021c2',
170
+ '\\upharpoonleft' : '\U000021bf',
171
+ '\\upharpoonright' : '\U000021be',
172
+ '\\restriction' : '\U000021be',
173
+ '\\uparrow' : '\U00002191',
174
+ '\\Uparrow' : '\U000021d1',
175
+ '\\downarrow' : '\U00002193',
176
+ '\\Downarrow' : '\U000021d3',
177
+ '\\updownarrow' : '\U00002195',
178
+ '\\Updownarrow' : '\U000021d5',
179
+ '\\langle' : '\U000027e8',
180
+ '\\rangle' : '\U000027e9',
181
+ '\\lceil' : '\U00002308',
182
+ '\\rceil' : '\U00002309',
183
+ '\\lfloor' : '\U0000230a',
184
+ '\\rfloor' : '\U0000230b',
185
+ '\\flqq' : '\U000000ab',
186
+ '\\frqq' : '\U000000bb',
187
+ '\\bot' : '\U000022a5',
188
+ '\\top' : '\U000022a4',
189
+ '\\wedge' : '\U00002227',
190
+ '\\bigwedge' : '\U000022c0',
191
+ '\\vee' : '\U00002228',
192
+ '\\bigvee' : '\U000022c1',
193
+ '\\forall' : '\U00002200',
194
+ '\\exists' : '\U00002203',
195
+ '\\nexists' : '\U00002204',
196
+ '\\neg' : '\U000000ac',
197
+ '\\Box' : '\U000025a1',
198
+ '\\Diamond' : '\U000025c7',
199
+ '\\vdash' : '\U000022a2',
200
+ '\\models' : '\U000022a8',
201
+ '\\dashv' : '\U000022a3',
202
+ '\\surd' : '\U0000221a',
203
+ '\\le' : '\U00002264',
204
+ '\\ge' : '\U00002265',
205
+ '\\ll' : '\U0000226a',
206
+ '\\gg' : '\U0000226b',
207
+ '\\lesssim' : '\U00002272',
208
+ '\\gtrsim' : '\U00002273',
209
+ '\\lessapprox' : '\U00002a85',
210
+ '\\gtrapprox' : '\U00002a86',
211
+ '\\in' : '\U00002208',
212
+ '\\notin' : '\U00002209',
213
+ '\\subset' : '\U00002282',
214
+ '\\supset' : '\U00002283',
215
+ '\\subseteq' : '\U00002286',
216
+ '\\supseteq' : '\U00002287',
217
+ '\\sqsubset' : '\U0000228f',
218
+ '\\sqsupset' : '\U00002290',
219
+ '\\sqsubseteq' : '\U00002291',
220
+ '\\sqsupseteq' : '\U00002292',
221
+ '\\cap' : '\U00002229',
222
+ '\\bigcap' : '\U000022c2',
223
+ '\\cup' : '\U0000222a',
224
+ '\\bigcup' : '\U000022c3',
225
+ '\\sqcup' : '\U00002294',
226
+ '\\bigsqcup' : '\U00002a06',
227
+ '\\sqcap' : '\U00002293',
228
+ '\\Bigsqcap' : '\U00002a05',
229
+ '\\setminus' : '\U00002216',
230
+ '\\propto' : '\U0000221d',
231
+ '\\uplus' : '\U0000228e',
232
+ '\\bigplus' : '\U00002a04',
233
+ '\\sim' : '\U0000223c',
234
+ '\\doteq' : '\U00002250',
235
+ '\\simeq' : '\U00002243',
236
+ '\\approx' : '\U00002248',
237
+ '\\asymp' : '\U0000224d',
238
+ '\\cong' : '\U00002245',
239
+ '\\equiv' : '\U00002261',
240
+ '\\Join' : '\U000022c8',
241
+ '\\bowtie' : '\U00002a1d',
242
+ '\\prec' : '\U0000227a',
243
+ '\\succ' : '\U0000227b',
244
+ '\\preceq' : '\U0000227c',
245
+ '\\succeq' : '\U0000227d',
246
+ '\\parallel' : '\U00002225',
247
+ '\\mid' : '\U000000a6',
248
+ '\\pm' : '\U000000b1',
249
+ '\\mp' : '\U00002213',
250
+ '\\times' : '\U000000d7',
251
+ '\\div' : '\U000000f7',
252
+ '\\cdot' : '\U000022c5',
253
+ '\\star' : '\U000022c6',
254
+ '\\circ' : '\U00002218',
255
+ '\\dagger' : '\U00002020',
256
+ '\\ddagger' : '\U00002021',
257
+ '\\lhd' : '\U000022b2',
258
+ '\\rhd' : '\U000022b3',
259
+ '\\unlhd' : '\U000022b4',
260
+ '\\unrhd' : '\U000022b5',
261
+ '\\triangleleft' : '\U000025c3',
262
+ '\\triangleright' : '\U000025b9',
263
+ '\\triangle' : '\U000025b3',
264
+ '\\triangleq' : '\U0000225c',
265
+ '\\oplus' : '\U00002295',
266
+ '\\bigoplus' : '\U00002a01',
267
+ '\\otimes' : '\U00002297',
268
+ '\\bigotimes' : '\U00002a02',
269
+ '\\odot' : '\U00002299',
270
+ '\\bigodot' : '\U00002a00',
271
+ '\\ominus' : '\U00002296',
272
+ '\\oslash' : '\U00002298',
273
+ '\\dots' : '\U00002026',
274
+ '\\cdots' : '\U000022ef',
275
+ '\\sum' : '\U00002211',
276
+ '\\prod' : '\U0000220f',
277
+ '\\coprod' : '\U00002210',
278
+ '\\infty' : '\U0000221e',
279
+ '\\int' : '\U0000222b',
280
+ '\\oint' : '\U0000222e',
281
+ '\\clubsuit' : '\U00002663',
282
+ '\\diamondsuit' : '\U00002662',
283
+ '\\heartsuit' : '\U00002661',
284
+ '\\spadesuit' : '\U00002660',
285
+ '\\aleph' : '\U00002135',
286
+ '\\emptyset' : '\U00002205',
287
+ '\\nabla' : '\U00002207',
288
+ '\\partial' : '\U00002202',
289
+ '\\flat' : '\U0000266d',
290
+ '\\natural' : '\U0000266e',
291
+ '\\sharp' : '\U0000266f',
292
+ '\\angle' : '\U00002220',
293
+ '\\copyright' : '\U000000a9',
294
+ '\\textregistered' : '\U000000ae',
295
+ '\\textonequarter' : '\U000000bc',
296
+ '\\textonehalf' : '\U000000bd',
297
+ '\\textthreequarters' : '\U000000be',
298
+ '\\textordfeminine' : '\U000000aa',
299
+ '\\textordmasculine' : '\U000000ba',
300
+ '\\euro' : '\U000020ac',
301
+ '\\pounds' : '\U000000a3',
302
+ '\\yen' : '\U000000a5',
303
+ '\\textcent' : '\U000000a2',
304
+ '\\textcurrency' : '\U000000a4',
305
+ '\\textdegree' : '\U000000b0',
306
+ }
307
+
308
+ isabelle_symbols = {
309
+ '\\<zero>' : '\U0001d7ec',
310
+ '\\<one>' : '\U0001d7ed',
311
+ '\\<two>' : '\U0001d7ee',
312
+ '\\<three>' : '\U0001d7ef',
313
+ '\\<four>' : '\U0001d7f0',
314
+ '\\<five>' : '\U0001d7f1',
315
+ '\\<six>' : '\U0001d7f2',
316
+ '\\<seven>' : '\U0001d7f3',
317
+ '\\<eight>' : '\U0001d7f4',
318
+ '\\<nine>' : '\U0001d7f5',
319
+ '\\<A>' : '\U0001d49c',
320
+ '\\<B>' : '\U0000212c',
321
+ '\\<C>' : '\U0001d49e',
322
+ '\\<D>' : '\U0001d49f',
323
+ '\\<E>' : '\U00002130',
324
+ '\\<F>' : '\U00002131',
325
+ '\\<G>' : '\U0001d4a2',
326
+ '\\<H>' : '\U0000210b',
327
+ '\\<I>' : '\U00002110',
328
+ '\\<J>' : '\U0001d4a5',
329
+ '\\<K>' : '\U0001d4a6',
330
+ '\\<L>' : '\U00002112',
331
+ '\\<M>' : '\U00002133',
332
+ '\\<N>' : '\U0001d4a9',
333
+ '\\<O>' : '\U0001d4aa',
334
+ '\\<P>' : '\U0001d4ab',
335
+ '\\<Q>' : '\U0001d4ac',
336
+ '\\<R>' : '\U0000211b',
337
+ '\\<S>' : '\U0001d4ae',
338
+ '\\<T>' : '\U0001d4af',
339
+ '\\<U>' : '\U0001d4b0',
340
+ '\\<V>' : '\U0001d4b1',
341
+ '\\<W>' : '\U0001d4b2',
342
+ '\\<X>' : '\U0001d4b3',
343
+ '\\<Y>' : '\U0001d4b4',
344
+ '\\<Z>' : '\U0001d4b5',
345
+ '\\<a>' : '\U0001d5ba',
346
+ '\\<b>' : '\U0001d5bb',
347
+ '\\<c>' : '\U0001d5bc',
348
+ '\\<d>' : '\U0001d5bd',
349
+ '\\<e>' : '\U0001d5be',
350
+ '\\<f>' : '\U0001d5bf',
351
+ '\\<g>' : '\U0001d5c0',
352
+ '\\<h>' : '\U0001d5c1',
353
+ '\\<i>' : '\U0001d5c2',
354
+ '\\<j>' : '\U0001d5c3',
355
+ '\\<k>' : '\U0001d5c4',
356
+ '\\<l>' : '\U0001d5c5',
357
+ '\\<m>' : '\U0001d5c6',
358
+ '\\<n>' : '\U0001d5c7',
359
+ '\\<o>' : '\U0001d5c8',
360
+ '\\<p>' : '\U0001d5c9',
361
+ '\\<q>' : '\U0001d5ca',
362
+ '\\<r>' : '\U0001d5cb',
363
+ '\\<s>' : '\U0001d5cc',
364
+ '\\<t>' : '\U0001d5cd',
365
+ '\\<u>' : '\U0001d5ce',
366
+ '\\<v>' : '\U0001d5cf',
367
+ '\\<w>' : '\U0001d5d0',
368
+ '\\<x>' : '\U0001d5d1',
369
+ '\\<y>' : '\U0001d5d2',
370
+ '\\<z>' : '\U0001d5d3',
371
+ '\\<AA>' : '\U0001d504',
372
+ '\\<BB>' : '\U0001d505',
373
+ '\\<CC>' : '\U0000212d',
374
+ '\\<DD>' : '\U0001d507',
375
+ '\\<EE>' : '\U0001d508',
376
+ '\\<FF>' : '\U0001d509',
377
+ '\\<GG>' : '\U0001d50a',
378
+ '\\<HH>' : '\U0000210c',
379
+ '\\<II>' : '\U00002111',
380
+ '\\<JJ>' : '\U0001d50d',
381
+ '\\<KK>' : '\U0001d50e',
382
+ '\\<LL>' : '\U0001d50f',
383
+ '\\<MM>' : '\U0001d510',
384
+ '\\<NN>' : '\U0001d511',
385
+ '\\<OO>' : '\U0001d512',
386
+ '\\<PP>' : '\U0001d513',
387
+ '\\<QQ>' : '\U0001d514',
388
+ '\\<RR>' : '\U0000211c',
389
+ '\\<SS>' : '\U0001d516',
390
+ '\\<TT>' : '\U0001d517',
391
+ '\\<UU>' : '\U0001d518',
392
+ '\\<VV>' : '\U0001d519',
393
+ '\\<WW>' : '\U0001d51a',
394
+ '\\<XX>' : '\U0001d51b',
395
+ '\\<YY>' : '\U0001d51c',
396
+ '\\<ZZ>' : '\U00002128',
397
+ '\\<aa>' : '\U0001d51e',
398
+ '\\<bb>' : '\U0001d51f',
399
+ '\\<cc>' : '\U0001d520',
400
+ '\\<dd>' : '\U0001d521',
401
+ '\\<ee>' : '\U0001d522',
402
+ '\\<ff>' : '\U0001d523',
403
+ '\\<gg>' : '\U0001d524',
404
+ '\\<hh>' : '\U0001d525',
405
+ '\\<ii>' : '\U0001d526',
406
+ '\\<jj>' : '\U0001d527',
407
+ '\\<kk>' : '\U0001d528',
408
+ '\\<ll>' : '\U0001d529',
409
+ '\\<mm>' : '\U0001d52a',
410
+ '\\<nn>' : '\U0001d52b',
411
+ '\\<oo>' : '\U0001d52c',
412
+ '\\<pp>' : '\U0001d52d',
413
+ '\\<qq>' : '\U0001d52e',
414
+ '\\<rr>' : '\U0001d52f',
415
+ '\\<ss>' : '\U0001d530',
416
+ '\\<tt>' : '\U0001d531',
417
+ '\\<uu>' : '\U0001d532',
418
+ '\\<vv>' : '\U0001d533',
419
+ '\\<ww>' : '\U0001d534',
420
+ '\\<xx>' : '\U0001d535',
421
+ '\\<yy>' : '\U0001d536',
422
+ '\\<zz>' : '\U0001d537',
423
+ '\\<alpha>' : '\U000003b1',
424
+ '\\<beta>' : '\U000003b2',
425
+ '\\<gamma>' : '\U000003b3',
426
+ '\\<delta>' : '\U000003b4',
427
+ '\\<epsilon>' : '\U000003b5',
428
+ '\\<zeta>' : '\U000003b6',
429
+ '\\<eta>' : '\U000003b7',
430
+ '\\<theta>' : '\U000003b8',
431
+ '\\<iota>' : '\U000003b9',
432
+ '\\<kappa>' : '\U000003ba',
433
+ '\\<lambda>' : '\U000003bb',
434
+ '\\<mu>' : '\U000003bc',
435
+ '\\<nu>' : '\U000003bd',
436
+ '\\<xi>' : '\U000003be',
437
+ '\\<pi>' : '\U000003c0',
438
+ '\\<rho>' : '\U000003c1',
439
+ '\\<sigma>' : '\U000003c3',
440
+ '\\<tau>' : '\U000003c4',
441
+ '\\<upsilon>' : '\U000003c5',
442
+ '\\<phi>' : '\U000003c6',
443
+ '\\<chi>' : '\U000003c7',
444
+ '\\<psi>' : '\U000003c8',
445
+ '\\<omega>' : '\U000003c9',
446
+ '\\<Gamma>' : '\U00000393',
447
+ '\\<Delta>' : '\U00000394',
448
+ '\\<Theta>' : '\U00000398',
449
+ '\\<Lambda>' : '\U0000039b',
450
+ '\\<Xi>' : '\U0000039e',
451
+ '\\<Pi>' : '\U000003a0',
452
+ '\\<Sigma>' : '\U000003a3',
453
+ '\\<Upsilon>' : '\U000003a5',
454
+ '\\<Phi>' : '\U000003a6',
455
+ '\\<Psi>' : '\U000003a8',
456
+ '\\<Omega>' : '\U000003a9',
457
+ '\\<bool>' : '\U0001d539',
458
+ '\\<complex>' : '\U00002102',
459
+ '\\<nat>' : '\U00002115',
460
+ '\\<rat>' : '\U0000211a',
461
+ '\\<real>' : '\U0000211d',
462
+ '\\<int>' : '\U00002124',
463
+ '\\<leftarrow>' : '\U00002190',
464
+ '\\<longleftarrow>' : '\U000027f5',
465
+ '\\<rightarrow>' : '\U00002192',
466
+ '\\<longrightarrow>' : '\U000027f6',
467
+ '\\<Leftarrow>' : '\U000021d0',
468
+ '\\<Longleftarrow>' : '\U000027f8',
469
+ '\\<Rightarrow>' : '\U000021d2',
470
+ '\\<Longrightarrow>' : '\U000027f9',
471
+ '\\<leftrightarrow>' : '\U00002194',
472
+ '\\<longleftrightarrow>' : '\U000027f7',
473
+ '\\<Leftrightarrow>' : '\U000021d4',
474
+ '\\<Longleftrightarrow>' : '\U000027fa',
475
+ '\\<mapsto>' : '\U000021a6',
476
+ '\\<longmapsto>' : '\U000027fc',
477
+ '\\<midarrow>' : '\U00002500',
478
+ '\\<Midarrow>' : '\U00002550',
479
+ '\\<hookleftarrow>' : '\U000021a9',
480
+ '\\<hookrightarrow>' : '\U000021aa',
481
+ '\\<leftharpoondown>' : '\U000021bd',
482
+ '\\<rightharpoondown>' : '\U000021c1',
483
+ '\\<leftharpoonup>' : '\U000021bc',
484
+ '\\<rightharpoonup>' : '\U000021c0',
485
+ '\\<rightleftharpoons>' : '\U000021cc',
486
+ '\\<leadsto>' : '\U0000219d',
487
+ '\\<downharpoonleft>' : '\U000021c3',
488
+ '\\<downharpoonright>' : '\U000021c2',
489
+ '\\<upharpoonleft>' : '\U000021bf',
490
+ '\\<upharpoonright>' : '\U000021be',
491
+ '\\<restriction>' : '\U000021be',
492
+ '\\<Colon>' : '\U00002237',
493
+ '\\<up>' : '\U00002191',
494
+ '\\<Up>' : '\U000021d1',
495
+ '\\<down>' : '\U00002193',
496
+ '\\<Down>' : '\U000021d3',
497
+ '\\<updown>' : '\U00002195',
498
+ '\\<Updown>' : '\U000021d5',
499
+ '\\<langle>' : '\U000027e8',
500
+ '\\<rangle>' : '\U000027e9',
501
+ '\\<lceil>' : '\U00002308',
502
+ '\\<rceil>' : '\U00002309',
503
+ '\\<lfloor>' : '\U0000230a',
504
+ '\\<rfloor>' : '\U0000230b',
505
+ '\\<lparr>' : '\U00002987',
506
+ '\\<rparr>' : '\U00002988',
507
+ '\\<lbrakk>' : '\U000027e6',
508
+ '\\<rbrakk>' : '\U000027e7',
509
+ '\\<lbrace>' : '\U00002983',
510
+ '\\<rbrace>' : '\U00002984',
511
+ '\\<guillemotleft>' : '\U000000ab',
512
+ '\\<guillemotright>' : '\U000000bb',
513
+ '\\<bottom>' : '\U000022a5',
514
+ '\\<top>' : '\U000022a4',
515
+ '\\<and>' : '\U00002227',
516
+ '\\<And>' : '\U000022c0',
517
+ '\\<or>' : '\U00002228',
518
+ '\\<Or>' : '\U000022c1',
519
+ '\\<forall>' : '\U00002200',
520
+ '\\<exists>' : '\U00002203',
521
+ '\\<nexists>' : '\U00002204',
522
+ '\\<not>' : '\U000000ac',
523
+ '\\<box>' : '\U000025a1',
524
+ '\\<diamond>' : '\U000025c7',
525
+ '\\<turnstile>' : '\U000022a2',
526
+ '\\<Turnstile>' : '\U000022a8',
527
+ '\\<tturnstile>' : '\U000022a9',
528
+ '\\<TTurnstile>' : '\U000022ab',
529
+ '\\<stileturn>' : '\U000022a3',
530
+ '\\<surd>' : '\U0000221a',
531
+ '\\<le>' : '\U00002264',
532
+ '\\<ge>' : '\U00002265',
533
+ '\\<lless>' : '\U0000226a',
534
+ '\\<ggreater>' : '\U0000226b',
535
+ '\\<lesssim>' : '\U00002272',
536
+ '\\<greatersim>' : '\U00002273',
537
+ '\\<lessapprox>' : '\U00002a85',
538
+ '\\<greaterapprox>' : '\U00002a86',
539
+ '\\<in>' : '\U00002208',
540
+ '\\<notin>' : '\U00002209',
541
+ '\\<subset>' : '\U00002282',
542
+ '\\<supset>' : '\U00002283',
543
+ '\\<subseteq>' : '\U00002286',
544
+ '\\<supseteq>' : '\U00002287',
545
+ '\\<sqsubset>' : '\U0000228f',
546
+ '\\<sqsupset>' : '\U00002290',
547
+ '\\<sqsubseteq>' : '\U00002291',
548
+ '\\<sqsupseteq>' : '\U00002292',
549
+ '\\<inter>' : '\U00002229',
550
+ '\\<Inter>' : '\U000022c2',
551
+ '\\<union>' : '\U0000222a',
552
+ '\\<Union>' : '\U000022c3',
553
+ '\\<squnion>' : '\U00002294',
554
+ '\\<Squnion>' : '\U00002a06',
555
+ '\\<sqinter>' : '\U00002293',
556
+ '\\<Sqinter>' : '\U00002a05',
557
+ '\\<setminus>' : '\U00002216',
558
+ '\\<propto>' : '\U0000221d',
559
+ '\\<uplus>' : '\U0000228e',
560
+ '\\<Uplus>' : '\U00002a04',
561
+ '\\<noteq>' : '\U00002260',
562
+ '\\<sim>' : '\U0000223c',
563
+ '\\<doteq>' : '\U00002250',
564
+ '\\<simeq>' : '\U00002243',
565
+ '\\<approx>' : '\U00002248',
566
+ '\\<asymp>' : '\U0000224d',
567
+ '\\<cong>' : '\U00002245',
568
+ '\\<smile>' : '\U00002323',
569
+ '\\<equiv>' : '\U00002261',
570
+ '\\<frown>' : '\U00002322',
571
+ '\\<Join>' : '\U000022c8',
572
+ '\\<bowtie>' : '\U00002a1d',
573
+ '\\<prec>' : '\U0000227a',
574
+ '\\<succ>' : '\U0000227b',
575
+ '\\<preceq>' : '\U0000227c',
576
+ '\\<succeq>' : '\U0000227d',
577
+ '\\<parallel>' : '\U00002225',
578
+ '\\<bar>' : '\U000000a6',
579
+ '\\<plusminus>' : '\U000000b1',
580
+ '\\<minusplus>' : '\U00002213',
581
+ '\\<times>' : '\U000000d7',
582
+ '\\<div>' : '\U000000f7',
583
+ '\\<cdot>' : '\U000022c5',
584
+ '\\<star>' : '\U000022c6',
585
+ '\\<bullet>' : '\U00002219',
586
+ '\\<circ>' : '\U00002218',
587
+ '\\<dagger>' : '\U00002020',
588
+ '\\<ddagger>' : '\U00002021',
589
+ '\\<lhd>' : '\U000022b2',
590
+ '\\<rhd>' : '\U000022b3',
591
+ '\\<unlhd>' : '\U000022b4',
592
+ '\\<unrhd>' : '\U000022b5',
593
+ '\\<triangleleft>' : '\U000025c3',
594
+ '\\<triangleright>' : '\U000025b9',
595
+ '\\<triangle>' : '\U000025b3',
596
+ '\\<triangleq>' : '\U0000225c',
597
+ '\\<oplus>' : '\U00002295',
598
+ '\\<Oplus>' : '\U00002a01',
599
+ '\\<otimes>' : '\U00002297',
600
+ '\\<Otimes>' : '\U00002a02',
601
+ '\\<odot>' : '\U00002299',
602
+ '\\<Odot>' : '\U00002a00',
603
+ '\\<ominus>' : '\U00002296',
604
+ '\\<oslash>' : '\U00002298',
605
+ '\\<dots>' : '\U00002026',
606
+ '\\<cdots>' : '\U000022ef',
607
+ '\\<Sum>' : '\U00002211',
608
+ '\\<Prod>' : '\U0000220f',
609
+ '\\<Coprod>' : '\U00002210',
610
+ '\\<infinity>' : '\U0000221e',
611
+ '\\<integral>' : '\U0000222b',
612
+ '\\<ointegral>' : '\U0000222e',
613
+ '\\<clubsuit>' : '\U00002663',
614
+ '\\<diamondsuit>' : '\U00002662',
615
+ '\\<heartsuit>' : '\U00002661',
616
+ '\\<spadesuit>' : '\U00002660',
617
+ '\\<aleph>' : '\U00002135',
618
+ '\\<emptyset>' : '\U00002205',
619
+ '\\<nabla>' : '\U00002207',
620
+ '\\<partial>' : '\U00002202',
621
+ '\\<flat>' : '\U0000266d',
622
+ '\\<natural>' : '\U0000266e',
623
+ '\\<sharp>' : '\U0000266f',
624
+ '\\<angle>' : '\U00002220',
625
+ '\\<copyright>' : '\U000000a9',
626
+ '\\<registered>' : '\U000000ae',
627
+ '\\<hyphen>' : '\U000000ad',
628
+ '\\<inverse>' : '\U000000af',
629
+ '\\<onequarter>' : '\U000000bc',
630
+ '\\<onehalf>' : '\U000000bd',
631
+ '\\<threequarters>' : '\U000000be',
632
+ '\\<ordfeminine>' : '\U000000aa',
633
+ '\\<ordmasculine>' : '\U000000ba',
634
+ '\\<section>' : '\U000000a7',
635
+ '\\<paragraph>' : '\U000000b6',
636
+ '\\<exclamdown>' : '\U000000a1',
637
+ '\\<questiondown>' : '\U000000bf',
638
+ '\\<euro>' : '\U000020ac',
639
+ '\\<pounds>' : '\U000000a3',
640
+ '\\<yen>' : '\U000000a5',
641
+ '\\<cent>' : '\U000000a2',
642
+ '\\<currency>' : '\U000000a4',
643
+ '\\<degree>' : '\U000000b0',
644
+ '\\<amalg>' : '\U00002a3f',
645
+ '\\<mho>' : '\U00002127',
646
+ '\\<lozenge>' : '\U000025ca',
647
+ '\\<wp>' : '\U00002118',
648
+ '\\<wrong>' : '\U00002240',
649
+ '\\<struct>' : '\U000022c4',
650
+ '\\<acute>' : '\U000000b4',
651
+ '\\<index>' : '\U00000131',
652
+ '\\<dieresis>' : '\U000000a8',
653
+ '\\<cedilla>' : '\U000000b8',
654
+ '\\<hungarumlaut>' : '\U000002dd',
655
+ '\\<some>' : '\U000003f5',
656
+ '\\<newline>' : '\U000023ce',
657
+ '\\<open>' : '\U00002039',
658
+ '\\<close>' : '\U0000203a',
659
+ '\\<here>' : '\U00002302',
660
+ '\\<^sub>' : '\U000021e9',
661
+ '\\<^sup>' : '\U000021e7',
662
+ '\\<^bold>' : '\U00002759',
663
+ '\\<^bsub>' : '\U000021d8',
664
+ '\\<^esub>' : '\U000021d9',
665
+ '\\<^bsup>' : '\U000021d7',
666
+ '\\<^esup>' : '\U000021d6',
667
+ }
668
+
669
+ lang_map = {'isabelle' : isabelle_symbols, 'latex' : latex_symbols}
670
+
671
+ def __init__(self, **options):
672
+ Filter.__init__(self, **options)
673
+ lang = get_choice_opt(options, 'lang',
674
+ ['isabelle', 'latex'], 'isabelle')
675
+ self.symbols = self.lang_map[lang]
676
+
677
+ def filter(self, lexer, stream):
678
+ for ttype, value in stream:
679
+ if value in self.symbols:
680
+ yield ttype, self.symbols[value]
94
681
  else:
95
682
  yield ttype, value
96
683
 
@@ -113,7 +700,7 @@ class KeywordCaseFilter(Filter):
113
700
  Filter.__init__(self, **options)
114
701
  case = get_choice_opt(options, 'case',
115
702
  ['lower', 'upper', 'capitalize'], 'lower')
116
- self.convert = getattr(text_type, case)
703
+ self.convert = getattr(str, case)
117
704
 
118
705
  def filter(self, lexer, stream):
119
706
  for ttype, value in stream:
@@ -229,11 +816,11 @@ class VisibleWhitespaceFilter(Filter):
229
816
 
230
817
  def __init__(self, **options):
231
818
  Filter.__init__(self, **options)
232
- for name, default in [('spaces', u'·'),
233
- ('tabs', u'»'),
234
- ('newlines', u'¶')]:
819
+ for name, default in [('spaces', '·'),
820
+ ('tabs', '»'),
821
+ ('newlines', '¶')]:
235
822
  opt = options.get(name, False)
236
- if isinstance(opt, string_types) and len(opt) == 1:
823
+ if isinstance(opt, str) and len(opt) == 1:
237
824
  setattr(self, name, opt)
238
825
  else:
239
826
  setattr(self, name, (opt and default or ''))
@@ -246,10 +833,11 @@ class VisibleWhitespaceFilter(Filter):
246
833
 
247
834
  def filter(self, lexer, stream):
248
835
  if self.wstt:
249
- spaces = self.spaces or u' '
250
- tabs = self.tabs or u'\t'
251
- newlines = self.newlines or u'\n'
836
+ spaces = self.spaces or ' '
837
+ tabs = self.tabs or '\t'
838
+ newlines = self.newlines or '\n'
252
839
  regex = re.compile(r'\s')
840
+
253
841
  def replacefunc(wschar):
254
842
  if wschar == ' ':
255
843
  return spaces
@@ -260,9 +848,8 @@ class VisibleWhitespaceFilter(Filter):
260
848
  return wschar
261
849
 
262
850
  for ttype, value in stream:
263
- for sttype, svalue in _replace_special(ttype, value, regex,
264
- Whitespace, replacefunc):
265
- yield sttype, svalue
851
+ yield from _replace_special(ttype, value, regex, Whitespace,
852
+ replacefunc)
266
853
  else:
267
854
  spaces, tabs, newlines = self.spaces, self.tabs, self.newlines
268
855
  # simpler processing
@@ -298,18 +885,18 @@ class GobbleFilter(Filter):
298
885
  if left < len(value):
299
886
  return value[left:], 0
300
887
  else:
301
- return u'', left - len(value)
888
+ return '', left - len(value)
302
889
 
303
890
  def filter(self, lexer, stream):
304
891
  n = self.n
305
- left = n # How many characters left to gobble.
892
+ left = n # How many characters left to gobble.
306
893
  for ttype, value in stream:
307
894
  # Remove ``left`` tokens from first line, ``n`` from all others.
308
895
  parts = value.split('\n')
309
896
  (parts[0], left) = self.gobble(parts[0], left)
310
897
  for i in range(1, len(parts)):
311
898
  (parts[i], left) = self.gobble(parts[i], n)
312
- value = u'\n'.join(parts)
899
+ value = '\n'.join(parts)
313
900
 
314
901
  if value != '':
315
902
  yield ttype, value
@@ -347,4 +934,5 @@ FILTERS = {
347
934
  'whitespace': VisibleWhitespaceFilter,
348
935
  'gobble': GobbleFilter,
349
936
  'tokenmerge': TokenMergeFilter,
937
+ 'symbols': SymbolFilter,
350
938
  }