pygments.rb 1.2.1 → 2.0.0.rc2

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 (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,467 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ pygments.lexers.csound
4
+ ~~~~~~~~~~~~~~~~~~~~~~
5
+
6
+ Lexers for Csound languages.
7
+
8
+ :copyright: Copyright 2006-2020 by the Pygments team, see AUTHORS.
9
+ :license: BSD, see LICENSE for details.
10
+ """
11
+
12
+ import re
13
+
14
+ from pygments.lexer import RegexLexer, bygroups, default, include, using, words
15
+ from pygments.token import Comment, Error, Keyword, Name, Number, Operator, Punctuation, \
16
+ String, Text, Whitespace
17
+ from pygments.lexers._csound_builtins import OPCODES, DEPRECATED_OPCODES
18
+ from pygments.lexers.html import HtmlLexer
19
+ from pygments.lexers.python import PythonLexer
20
+ from pygments.lexers.scripting import LuaLexer
21
+
22
+ __all__ = ['CsoundScoreLexer', 'CsoundOrchestraLexer', 'CsoundDocumentLexer']
23
+
24
+ newline = (r'((?:(?:;|//).*)*)(\n)', bygroups(Comment.Single, Text))
25
+
26
+
27
+ class CsoundLexer(RegexLexer):
28
+ tokens = {
29
+ 'whitespace': [
30
+ (r'[ \t]+', Text),
31
+ (r'/[*](?:.|\n)*?[*]/', Comment.Multiline),
32
+ (r'(?:;|//).*$', Comment.Single),
33
+ (r'(\\)(\n)', bygroups(Whitespace, Text))
34
+ ],
35
+
36
+ 'preprocessor directives': [
37
+ (r'#(?:e(?:nd(?:if)?|lse)\b|##)|@@?[ \t]*\d+', Comment.Preproc),
38
+ (r'#includestr', Comment.Preproc, 'includestr directive'),
39
+ (r'#include', Comment.Preproc, 'include directive'),
40
+ (r'#[ \t]*define', Comment.Preproc, 'define directive'),
41
+ (r'#(?:ifn?def|undef)\b', Comment.Preproc, 'macro directive')
42
+ ],
43
+
44
+ 'include directive': [
45
+ include('whitespace'),
46
+ (r'([^ \t]).*?\1', String, '#pop')
47
+ ],
48
+ 'includestr directive': [
49
+ include('whitespace'),
50
+ (r'"', String, ('#pop', 'quoted string'))
51
+ ],
52
+
53
+ 'define directive': [
54
+ (r'\n', Text),
55
+ include('whitespace'),
56
+ (r'([A-Z_a-z]\w*)(\()', bygroups(Comment.Preproc, Punctuation),
57
+ ('#pop', 'macro parameter name list')),
58
+ (r'[A-Z_a-z]\w*', Comment.Preproc, ('#pop', 'before macro body'))
59
+ ],
60
+ 'macro parameter name list': [
61
+ include('whitespace'),
62
+ (r'[A-Z_a-z]\w*', Comment.Preproc),
63
+ (r"['#]", Punctuation),
64
+ (r'\)', Punctuation, ('#pop', 'before macro body'))
65
+ ],
66
+ 'before macro body': [
67
+ (r'\n', Text),
68
+ include('whitespace'),
69
+ (r'#', Punctuation, ('#pop', 'macro body'))
70
+ ],
71
+ 'macro body': [
72
+ (r'(?:\\(?!#)|[^#\\]|\n)+', Comment.Preproc),
73
+ (r'\\#', Comment.Preproc),
74
+ (r'(?<!\\)#', Punctuation, '#pop')
75
+ ],
76
+
77
+ 'macro directive': [
78
+ include('whitespace'),
79
+ (r'[A-Z_a-z]\w*', Comment.Preproc, '#pop')
80
+ ],
81
+
82
+ 'macro uses': [
83
+ (r'(\$[A-Z_a-z]\w*\.?)(\()', bygroups(Comment.Preproc, Punctuation),
84
+ 'macro parameter value list'),
85
+ (r'\$[A-Z_a-z]\w*(?:\.|\b)', Comment.Preproc)
86
+ ],
87
+ 'macro parameter value list': [
88
+ (r'(?:[^\'#"{()]|\{(?!\{))+', Comment.Preproc),
89
+ (r"['#]", Punctuation),
90
+ (r'"', String, 'macro parameter value quoted string'),
91
+ (r'\{\{', String, 'macro parameter value braced string'),
92
+ (r'\(', Comment.Preproc, 'macro parameter value parenthetical'),
93
+ (r'\)', Punctuation, '#pop')
94
+ ],
95
+ 'macro parameter value quoted string': [
96
+ (r"\\[#'()]", Comment.Preproc),
97
+ (r"[#'()]", Error),
98
+ include('quoted string')
99
+ ],
100
+ 'macro parameter value braced string': [
101
+ (r"\\[#'()]", Comment.Preproc),
102
+ (r"[#'()]", Error),
103
+ include('braced string')
104
+ ],
105
+ 'macro parameter value parenthetical': [
106
+ (r'(?:[^\\()]|\\\))+', Comment.Preproc),
107
+ (r'\(', Comment.Preproc, '#push'),
108
+ (r'\)', Comment.Preproc, '#pop')
109
+ ],
110
+
111
+ 'whitespace and macro uses': [
112
+ include('whitespace'),
113
+ include('macro uses')
114
+ ],
115
+
116
+ 'numbers': [
117
+ (r'\d+[Ee][+-]?\d+|(\d+\.\d*|\d*\.\d+)([Ee][+-]?\d+)?', Number.Float),
118
+ (r'(0[Xx])([0-9A-Fa-f]+)', bygroups(Keyword.Type, Number.Hex)),
119
+ (r'\d+', Number.Integer)
120
+ ],
121
+
122
+ 'quoted string': [
123
+ (r'"', String, '#pop'),
124
+ (r'[^"$]+', String),
125
+ include('macro uses'),
126
+ (r'[$]', String)
127
+ ],
128
+
129
+ 'braced string': [
130
+ # Do nothing. This must be defined in subclasses.
131
+ ]
132
+ }
133
+
134
+
135
+ class CsoundScoreLexer(CsoundLexer):
136
+ """
137
+ For `Csound <https://csound.com>`_ scores.
138
+
139
+ .. versionadded:: 2.1
140
+ """
141
+
142
+ name = 'Csound Score'
143
+ aliases = ['csound-score', 'csound-sco']
144
+ filenames = ['*.sco']
145
+
146
+ tokens = {
147
+ 'root': [
148
+ (r'\n', Text),
149
+ include('whitespace and macro uses'),
150
+ include('preprocessor directives'),
151
+
152
+ (r'[aBbCdefiqstvxy]', Keyword),
153
+ # There is also a w statement that is generated internally and should not be
154
+ # used; see https://github.com/csound/csound/issues/750.
155
+
156
+ (r'z', Keyword.Constant),
157
+ # z is a constant equal to 800,000,000,000. 800 billion seconds is about
158
+ # 25,367.8 years. See also
159
+ # https://csound.com/docs/manual/ScoreTop.html and
160
+ # https://github.com/csound/csound/search?q=stof+path%3AEngine+filename%3Asread.c.
161
+
162
+ (r'([nNpP][pP])(\d+)', bygroups(Keyword, Number.Integer)),
163
+
164
+ (r'[mn]', Keyword, 'mark statement'),
165
+
166
+ include('numbers'),
167
+ (r'[!+\-*/^%&|<>#~.]', Operator),
168
+ (r'[()\[\]]', Punctuation),
169
+ (r'"', String, 'quoted string'),
170
+ (r'\{', Comment.Preproc, 'loop after left brace'),
171
+ ],
172
+
173
+ 'mark statement': [
174
+ include('whitespace and macro uses'),
175
+ (r'[A-Z_a-z]\w*', Name.Label),
176
+ (r'\n', Text, '#pop')
177
+ ],
178
+
179
+ 'loop after left brace': [
180
+ include('whitespace and macro uses'),
181
+ (r'\d+', Number.Integer, ('#pop', 'loop after repeat count')),
182
+ ],
183
+ 'loop after repeat count': [
184
+ include('whitespace and macro uses'),
185
+ (r'[A-Z_a-z]\w*', Comment.Preproc, ('#pop', 'loop'))
186
+ ],
187
+ 'loop': [
188
+ (r'\}', Comment.Preproc, '#pop'),
189
+ include('root')
190
+ ],
191
+
192
+ # Braced strings are not allowed in Csound scores, but this is needed because the
193
+ # superclass includes it.
194
+ 'braced string': [
195
+ (r'\}\}', String, '#pop'),
196
+ (r'[^}]|\}(?!\})', String)
197
+ ]
198
+ }
199
+
200
+
201
+ class CsoundOrchestraLexer(CsoundLexer):
202
+ """
203
+ For `Csound <https://csound.com>`_ orchestras.
204
+
205
+ .. versionadded:: 2.1
206
+ """
207
+
208
+ name = 'Csound Orchestra'
209
+ aliases = ['csound', 'csound-orc']
210
+ filenames = ['*.orc', '*.udo']
211
+
212
+ user_defined_opcodes = set()
213
+
214
+ def opcode_name_callback(lexer, match):
215
+ opcode = match.group(0)
216
+ lexer.user_defined_opcodes.add(opcode)
217
+ yield match.start(), Name.Function, opcode
218
+
219
+ def name_callback(lexer, match):
220
+ type_annotation_token = Keyword.Type
221
+
222
+ name = match.group(1)
223
+ if name in OPCODES or name in DEPRECATED_OPCODES:
224
+ yield match.start(), Name.Builtin, name
225
+ elif name in lexer.user_defined_opcodes:
226
+ yield match.start(), Name.Function, name
227
+ else:
228
+ type_annotation_token = Name
229
+ name_match = re.search(r'^(g?[afikSw])(\w+)', name)
230
+ if name_match:
231
+ yield name_match.start(1), Keyword.Type, name_match.group(1)
232
+ yield name_match.start(2), Name, name_match.group(2)
233
+ else:
234
+ yield match.start(), Name, name
235
+
236
+ if match.group(2):
237
+ yield match.start(2), Punctuation, match.group(2)
238
+ yield match.start(3), type_annotation_token, match.group(3)
239
+
240
+ tokens = {
241
+ 'root': [
242
+ (r'\n', Text),
243
+
244
+ (r'^([ \t]*)(\w+)(:)([ \t]+|$)', bygroups(Text, Name.Label, Punctuation, Text)),
245
+
246
+ include('whitespace and macro uses'),
247
+ include('preprocessor directives'),
248
+
249
+ (r'\binstr\b', Keyword.Declaration, 'instrument numbers and identifiers'),
250
+ (r'\bopcode\b', Keyword.Declaration, 'after opcode keyword'),
251
+ (r'\b(?:end(?:in|op))\b', Keyword.Declaration),
252
+
253
+ include('partial statements')
254
+ ],
255
+
256
+ 'partial statements': [
257
+ (r'\b(?:0dbfs|A4|k(?:r|smps)|nchnls(?:_i)?|sr)\b', Name.Variable.Global),
258
+
259
+ include('numbers'),
260
+
261
+ (r'\+=|-=|\*=|/=|<<|>>|<=|>=|==|!=|&&|\|\||[~¬]|[=!+\-*/^%&|<>#?:]', Operator),
262
+ (r'[(),\[\]]', Punctuation),
263
+
264
+ (r'"', String, 'quoted string'),
265
+ (r'\{\{', String, 'braced string'),
266
+
267
+ (words((
268
+ 'do', 'else', 'elseif', 'endif', 'enduntil', 'fi', 'if', 'ithen', 'kthen',
269
+ 'od', 'then', 'until', 'while',
270
+ ), prefix=r'\b', suffix=r'\b'), Keyword),
271
+ (words(('return', 'rireturn'), prefix=r'\b', suffix=r'\b'), Keyword.Pseudo),
272
+
273
+ (r'\b[ik]?goto\b', Keyword, 'goto label'),
274
+ (r'\b(r(?:einit|igoto)|tigoto)(\(|\b)', bygroups(Keyword.Pseudo, Punctuation),
275
+ 'goto label'),
276
+ (r'\b(c(?:g|in?|k|nk?)goto)(\(|\b)', bygroups(Keyword.Pseudo, Punctuation),
277
+ ('goto label', 'goto argument')),
278
+ (r'\b(timout)(\(|\b)', bygroups(Keyword.Pseudo, Punctuation),
279
+ ('goto label', 'goto argument', 'goto argument')),
280
+ (r'\b(loop_[gl][et])(\(|\b)', bygroups(Keyword.Pseudo, Punctuation),
281
+ ('goto label', 'goto argument', 'goto argument', 'goto argument')),
282
+
283
+ (r'\bprintk?s\b', Name.Builtin, 'prints opcode'),
284
+ (r'\b(?:readscore|scoreline(?:_i)?)\b', Name.Builtin, 'Csound score opcode'),
285
+ (r'\bpyl?run[it]?\b', Name.Builtin, 'Python opcode'),
286
+ (r'\blua_(?:exec|opdef)\b', Name.Builtin, 'Lua opcode'),
287
+ (r'\bp\d+\b', Name.Variable.Instance),
288
+ (r'\b([A-Z_a-z]\w*)(?:(:)([A-Za-z]))?\b', name_callback)
289
+ ],
290
+
291
+ 'instrument numbers and identifiers': [
292
+ include('whitespace and macro uses'),
293
+ (r'\d+|[A-Z_a-z]\w*', Name.Function),
294
+ (r'[+,]', Punctuation),
295
+ (r'\n', Text, '#pop')
296
+ ],
297
+
298
+ 'after opcode keyword': [
299
+ include('whitespace and macro uses'),
300
+ (r'[A-Z_a-z]\w*', opcode_name_callback, ('#pop', 'opcode type signatures')),
301
+ (r'\n', Text, '#pop')
302
+ ],
303
+ 'opcode type signatures': [
304
+ include('whitespace and macro uses'),
305
+
306
+ # https://github.com/csound/csound/search?q=XIDENT+path%3AEngine+filename%3Acsound_orc.lex
307
+ (r'0|[afijkKoOpPStV\[\]]+', Keyword.Type),
308
+
309
+ (r',', Punctuation),
310
+ (r'\n', Text, '#pop')
311
+ ],
312
+
313
+ 'quoted string': [
314
+ (r'"', String, '#pop'),
315
+ (r'[^\\"$%)]+', String),
316
+ include('macro uses'),
317
+ include('escape sequences'),
318
+ include('format specifiers'),
319
+ (r'[\\$%)]', String)
320
+ ],
321
+ 'braced string': [
322
+ (r'\}\}', String, '#pop'),
323
+ (r'(?:[^\\%)}]|\}(?!\}))+', String),
324
+ include('escape sequences'),
325
+ include('format specifiers'),
326
+ (r'[\\%)]', String)
327
+ ],
328
+ 'escape sequences': [
329
+ # https://github.com/csound/csound/search?q=unquote_string+path%3AEngine+filename%3Acsound_orc_compile.c
330
+ (r'\\(?:[\\abnrt"]|[0-7]{1,3})', String.Escape)
331
+ ],
332
+ # Format specifiers are highlighted in all strings, even though only
333
+ # fprintks https://csound.com/docs/manual/fprintks.html
334
+ # fprints https://csound.com/docs/manual/fprints.html
335
+ # printf/printf_i https://csound.com/docs/manual/printf.html
336
+ # printks https://csound.com/docs/manual/printks.html
337
+ # prints https://csound.com/docs/manual/prints.html
338
+ # sprintf https://csound.com/docs/manual/sprintf.html
339
+ # sprintfk https://csound.com/docs/manual/sprintfk.html
340
+ # work with strings that contain format specifiers. In addition, these opcodes’
341
+ # handling of format specifiers is inconsistent:
342
+ # - fprintks and fprints accept %a and %A specifiers, and accept %s specifiers
343
+ # starting in Csound 6.15.0.
344
+ # - printks and prints accept %a and %A specifiers, but don’t accept %s
345
+ # specifiers.
346
+ # - printf, printf_i, sprintf, and sprintfk don’t accept %a and %A specifiers,
347
+ # but accept %s specifiers.
348
+ # See https://github.com/csound/csound/issues/747 for more information.
349
+ 'format specifiers': [
350
+ (r'%[#0\- +]*\d*(?:\.\d+)?[AE-GXac-giosux]', String.Interpol),
351
+ (r'%%', String.Escape)
352
+ ],
353
+
354
+ 'goto argument': [
355
+ include('whitespace and macro uses'),
356
+ (r',', Punctuation, '#pop'),
357
+ include('partial statements')
358
+ ],
359
+ 'goto label': [
360
+ include('whitespace and macro uses'),
361
+ (r'\w+', Name.Label, '#pop'),
362
+ default('#pop')
363
+ ],
364
+
365
+ 'prints opcode': [
366
+ include('whitespace and macro uses'),
367
+ (r'"', String, 'prints quoted string'),
368
+ default('#pop')
369
+ ],
370
+ 'prints quoted string': [
371
+ (r'\\\\[aAbBnNrRtT]', String.Escape),
372
+ (r'%[!nNrRtT]|[~^]{1,2}', String.Escape),
373
+ include('quoted string')
374
+ ],
375
+
376
+ 'Csound score opcode': [
377
+ include('whitespace and macro uses'),
378
+ (r'"', String, 'quoted string'),
379
+ (r'\{\{', String, 'Csound score'),
380
+ (r'\n', Text, '#pop')
381
+ ],
382
+ 'Csound score': [
383
+ (r'\}\}', String, '#pop'),
384
+ (r'([^}]+)|\}(?!\})', using(CsoundScoreLexer))
385
+ ],
386
+
387
+ 'Python opcode': [
388
+ include('whitespace and macro uses'),
389
+ (r'"', String, 'quoted string'),
390
+ (r'\{\{', String, 'Python'),
391
+ (r'\n', Text, '#pop')
392
+ ],
393
+ 'Python': [
394
+ (r'\}\}', String, '#pop'),
395
+ (r'([^}]+)|\}(?!\})', using(PythonLexer))
396
+ ],
397
+
398
+ 'Lua opcode': [
399
+ include('whitespace and macro uses'),
400
+ (r'"', String, 'quoted string'),
401
+ (r'\{\{', String, 'Lua'),
402
+ (r'\n', Text, '#pop')
403
+ ],
404
+ 'Lua': [
405
+ (r'\}\}', String, '#pop'),
406
+ (r'([^}]+)|\}(?!\})', using(LuaLexer))
407
+ ]
408
+ }
409
+
410
+
411
+ class CsoundDocumentLexer(RegexLexer):
412
+ """
413
+ For `Csound <https://csound.com>`_ documents.
414
+
415
+ .. versionadded:: 2.1
416
+ """
417
+
418
+ name = 'Csound Document'
419
+ aliases = ['csound-document', 'csound-csd']
420
+ filenames = ['*.csd']
421
+
422
+ # These tokens are based on those in XmlLexer in pygments/lexers/html.py. Making
423
+ # CsoundDocumentLexer a subclass of XmlLexer rather than RegexLexer may seem like a
424
+ # better idea, since Csound Document files look like XML files. However, Csound
425
+ # Documents can contain Csound comments (preceded by //, for example) before and
426
+ # after the root element, unescaped bitwise AND & and less than < operators, etc. In
427
+ # other words, while Csound Document files look like XML files, they may not actually
428
+ # be XML files.
429
+ tokens = {
430
+ 'root': [
431
+ (r'/[*](.|\n)*?[*]/', Comment.Multiline),
432
+ (r'(?:;|//).*$', Comment.Single),
433
+ (r'[^/;<]+|/(?!/)', Text),
434
+
435
+ (r'<\s*CsInstruments', Name.Tag, ('orchestra', 'tag')),
436
+ (r'<\s*CsScore', Name.Tag, ('score', 'tag')),
437
+ (r'<\s*[Hh][Tt][Mm][Ll]', Name.Tag, ('HTML', 'tag')),
438
+
439
+ (r'<\s*[\w:.-]+', Name.Tag, 'tag'),
440
+ (r'<\s*/\s*[\w:.-]+\s*>', Name.Tag)
441
+ ],
442
+
443
+ 'orchestra': [
444
+ (r'<\s*/\s*CsInstruments\s*>', Name.Tag, '#pop'),
445
+ (r'(.|\n)+?(?=<\s*/\s*CsInstruments\s*>)', using(CsoundOrchestraLexer))
446
+ ],
447
+ 'score': [
448
+ (r'<\s*/\s*CsScore\s*>', Name.Tag, '#pop'),
449
+ (r'(.|\n)+?(?=<\s*/\s*CsScore\s*>)', using(CsoundScoreLexer))
450
+ ],
451
+ 'HTML': [
452
+ (r'<\s*/\s*[Hh][Tt][Mm][Ll]\s*>', Name.Tag, '#pop'),
453
+ (r'(.|\n)+?(?=<\s*/\s*[Hh][Tt][Mm][Ll]\s*>)', using(HtmlLexer))
454
+ ],
455
+
456
+ 'tag': [
457
+ (r'\s+', Text),
458
+ (r'[\w.:-]+\s*=', Name.Attribute, 'attr'),
459
+ (r'/?\s*>', Name.Tag, '#pop')
460
+ ],
461
+ 'attr': [
462
+ (r'\s+', Text),
463
+ (r'".*?"', String, '#pop'),
464
+ (r"'.*?'", String, '#pop'),
465
+ (r'[^\s>]+', String, '#pop')
466
+ ]
467
+ }