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
@@ -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
  }