pygments.rb 0.6.3 → 1.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 (606) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +11 -0
  3. data/README.md +6 -6
  4. data/Rakefile +2 -1
  5. data/cache-lexers.rb +1 -1
  6. data/circle.yml +7 -0
  7. data/lib/pygments/lexer.rb +3 -3
  8. data/lib/pygments/popen.rb +67 -30
  9. data/lib/pygments/version.rb +1 -1
  10. data/pygments.rb.gemspec +2 -1
  11. data/test/test_pygments.rb +16 -16
  12. data/vendor/pygments-main/AUTHORS +54 -8
  13. data/vendor/pygments-main/CHANGES +247 -25
  14. data/vendor/pygments-main/LICENSE +1 -1
  15. data/vendor/pygments-main/Makefile +15 -6
  16. data/vendor/pygments-main/README.rst +39 -0
  17. data/vendor/pygments-main/REVISION +1 -1
  18. data/vendor/pygments-main/TODO +0 -3
  19. data/vendor/pygments-main/doc/_themes/pygments14/layout.html +1 -1
  20. data/vendor/pygments-main/doc/_themes/pygments14/static/pygments14.css_t +1 -1
  21. data/vendor/pygments-main/doc/conf.py +3 -11
  22. data/vendor/pygments-main/doc/docs/api.rst +15 -0
  23. data/vendor/pygments-main/doc/docs/cmdline.rst +6 -2
  24. data/vendor/pygments-main/doc/docs/filterdevelopment.rst +4 -3
  25. data/vendor/pygments-main/doc/docs/integrate.rst +11 -15
  26. data/vendor/pygments-main/doc/docs/java.rst +7 -7
  27. data/vendor/pygments-main/doc/docs/lexerdevelopment.rst +258 -171
  28. data/vendor/pygments-main/doc/docs/lexers.rst +2 -2
  29. data/vendor/pygments-main/doc/docs/styles.rst +58 -0
  30. data/vendor/pygments-main/doc/docs/tokens.rst +22 -2
  31. data/vendor/pygments-main/doc/docs/unicode.rst +15 -7
  32. data/vendor/pygments-main/doc/faq.rst +17 -21
  33. data/vendor/pygments-main/doc/index.rst +12 -11
  34. data/vendor/pygments-main/doc/languages.rst +10 -7
  35. data/vendor/pygments-main/external/autopygmentize +9 -6
  36. data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +70 -52
  37. data/vendor/pygments-main/external/markdown-processor.py +1 -1
  38. data/vendor/pygments-main/external/moin-parser.py +1 -1
  39. data/vendor/pygments-main/external/rst-directive.py +1 -1
  40. data/vendor/pygments-main/pygmentize +2 -1
  41. data/vendor/pygments-main/pygments/__init__.py +14 -15
  42. data/vendor/pygments-main/pygments/cmdline.py +188 -113
  43. data/vendor/pygments-main/pygments/console.py +13 -13
  44. data/vendor/pygments-main/pygments/filter.py +7 -7
  45. data/vendor/pygments-main/pygments/filters/__init__.py +24 -32
  46. data/vendor/pygments-main/pygments/formatter.py +5 -5
  47. data/vendor/pygments-main/pygments/formatters/__init__.py +92 -44
  48. data/vendor/pygments-main/pygments/formatters/_mapping.py +51 -69
  49. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
  50. data/vendor/pygments-main/pygments/formatters/html.py +63 -51
  51. data/vendor/pygments-main/pygments/formatters/img.py +25 -22
  52. data/vendor/pygments-main/pygments/formatters/irc.py +182 -0
  53. data/vendor/pygments-main/pygments/formatters/latex.py +34 -22
  54. data/vendor/pygments-main/pygments/formatters/other.py +5 -7
  55. data/vendor/pygments-main/pygments/formatters/rtf.py +28 -31
  56. data/vendor/pygments-main/pygments/formatters/svg.py +1 -2
  57. data/vendor/pygments-main/pygments/formatters/terminal.py +29 -45
  58. data/vendor/pygments-main/pygments/formatters/terminal256.py +118 -31
  59. data/vendor/pygments-main/pygments/lexer.py +120 -34
  60. data/vendor/pygments-main/pygments/lexers/__init__.py +85 -53
  61. data/vendor/pygments-main/pygments/lexers/{_asybuiltins.py → _asy_builtins.py} +7 -7
  62. data/vendor/pygments-main/pygments/lexers/{_clbuiltins.py → _cl_builtins.py} +17 -17
  63. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +72 -0
  64. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1346 -0
  65. data/vendor/pygments-main/pygments/lexers/{_lassobuiltins.py → _lasso_builtins.py} +4699 -4561
  66. data/vendor/pygments-main/pygments/lexers/{_luabuiltins.py → _lua_builtins.py} +91 -51
  67. data/vendor/pygments-main/pygments/lexers/_mapping.py +342 -242
  68. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1172 -0
  69. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +2547 -0
  70. data/vendor/pygments-main/pygments/lexers/{_phpbuiltins.py → _php_builtins.py} +350 -353
  71. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +600 -212
  72. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +3084 -30
  73. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1163 -0
  74. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +91 -13
  75. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +419 -0
  76. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1004 -0
  77. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1939 -0
  78. data/vendor/pygments-main/pygments/lexers/actionscript.py +240 -0
  79. data/vendor/pygments-main/pygments/lexers/agile.py +14 -2542
  80. data/vendor/pygments-main/pygments/lexers/algebra.py +221 -0
  81. data/vendor/pygments-main/pygments/lexers/ambient.py +76 -0
  82. data/vendor/pygments-main/pygments/lexers/ampl.py +87 -0
  83. data/vendor/pygments-main/pygments/lexers/apl.py +101 -0
  84. data/vendor/pygments-main/pygments/lexers/archetype.py +318 -0
  85. data/vendor/pygments-main/pygments/lexers/asm.py +276 -81
  86. data/vendor/pygments-main/pygments/lexers/automation.py +374 -0
  87. data/vendor/pygments-main/pygments/lexers/basic.py +500 -0
  88. data/vendor/pygments-main/pygments/lexers/bibtex.py +156 -0
  89. data/vendor/pygments-main/pygments/lexers/business.py +594 -0
  90. data/vendor/pygments-main/pygments/lexers/c_cpp.py +252 -0
  91. data/vendor/pygments-main/pygments/lexers/c_like.py +541 -0
  92. data/vendor/pygments-main/pygments/lexers/capnproto.py +79 -0
  93. data/vendor/pygments-main/pygments/lexers/chapel.py +101 -0
  94. data/vendor/pygments-main/pygments/lexers/clean.py +288 -0
  95. data/vendor/pygments-main/pygments/lexers/compiled.py +24 -5182
  96. data/vendor/pygments-main/pygments/lexers/configs.py +833 -0
  97. data/vendor/pygments-main/pygments/lexers/console.py +114 -0
  98. data/vendor/pygments-main/pygments/lexers/crystal.py +384 -0
  99. data/vendor/pygments-main/pygments/lexers/csound.py +366 -0
  100. data/vendor/pygments-main/pygments/lexers/css.py +689 -0
  101. data/vendor/pygments-main/pygments/lexers/d.py +251 -0
  102. data/vendor/pygments-main/pygments/lexers/dalvik.py +6 -6
  103. data/vendor/pygments-main/pygments/lexers/data.py +555 -0
  104. data/vendor/pygments-main/pygments/lexers/diff.py +165 -0
  105. data/vendor/pygments-main/pygments/lexers/dotnet.py +96 -88
  106. data/vendor/pygments-main/pygments/lexers/dsls.py +878 -0
  107. data/vendor/pygments-main/pygments/lexers/dylan.py +289 -0
  108. data/vendor/pygments-main/pygments/lexers/ecl.py +125 -0
  109. data/vendor/pygments-main/pygments/lexers/eiffel.py +65 -0
  110. data/vendor/pygments-main/pygments/lexers/elm.py +121 -0
  111. data/vendor/pygments-main/pygments/lexers/erlang.py +533 -0
  112. data/vendor/pygments-main/pygments/lexers/esoteric.py +275 -0
  113. data/vendor/pygments-main/pygments/lexers/ezhil.py +68 -0
  114. data/vendor/pygments-main/pygments/lexers/factor.py +344 -0
  115. data/vendor/pygments-main/pygments/lexers/fantom.py +250 -0
  116. data/vendor/pygments-main/pygments/lexers/felix.py +273 -0
  117. data/vendor/pygments-main/pygments/lexers/forth.py +177 -0
  118. data/vendor/pygments-main/pygments/lexers/fortran.py +205 -0
  119. data/vendor/pygments-main/pygments/lexers/foxpro.py +1 -1
  120. data/vendor/pygments-main/pygments/lexers/functional.py +11 -3661
  121. data/vendor/pygments-main/pygments/lexers/go.py +101 -0
  122. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +213 -0
  123. data/vendor/pygments-main/pygments/lexers/graph.py +7 -8
  124. data/vendor/pygments-main/pygments/lexers/graphics.py +553 -0
  125. data/vendor/pygments-main/pygments/lexers/haskell.py +840 -0
  126. data/vendor/pygments-main/pygments/lexers/haxe.py +936 -0
  127. data/vendor/pygments-main/pygments/lexers/hdl.py +172 -145
  128. data/vendor/pygments-main/pygments/lexers/hexdump.py +97 -0
  129. data/vendor/pygments-main/pygments/lexers/html.py +602 -0
  130. data/vendor/pygments-main/pygments/lexers/idl.py +270 -0
  131. data/vendor/pygments-main/pygments/lexers/igor.py +288 -0
  132. data/vendor/pygments-main/pygments/lexers/inferno.py +3 -3
  133. data/vendor/pygments-main/pygments/lexers/installers.py +322 -0
  134. data/vendor/pygments-main/pygments/lexers/int_fiction.py +1343 -0
  135. data/vendor/pygments-main/pygments/lexers/iolang.py +63 -0
  136. data/vendor/pygments-main/pygments/lexers/j.py +146 -0
  137. data/vendor/pygments-main/pygments/lexers/javascript.py +1506 -0
  138. data/vendor/pygments-main/pygments/lexers/julia.py +333 -0
  139. data/vendor/pygments-main/pygments/lexers/jvm.py +232 -186
  140. data/vendor/pygments-main/pygments/lexers/lisp.py +2621 -0
  141. data/vendor/pygments-main/pygments/lexers/make.py +202 -0
  142. data/vendor/pygments-main/pygments/lexers/markup.py +595 -0
  143. data/vendor/pygments-main/pygments/lexers/math.py +11 -2276
  144. data/vendor/pygments-main/pygments/lexers/matlab.py +663 -0
  145. data/vendor/pygments-main/pygments/lexers/ml.py +769 -0
  146. data/vendor/pygments-main/pygments/lexers/modeling.py +358 -0
  147. data/vendor/pygments-main/pygments/lexers/modula2.py +1561 -0
  148. data/vendor/pygments-main/pygments/lexers/monte.py +203 -0
  149. data/vendor/pygments-main/pygments/lexers/ncl.py +1053 -0
  150. data/vendor/pygments-main/pygments/lexers/nimrod.py +159 -0
  151. data/vendor/pygments-main/pygments/lexers/nit.py +64 -0
  152. data/vendor/pygments-main/pygments/lexers/nix.py +136 -0
  153. data/vendor/pygments-main/pygments/lexers/oberon.py +105 -0
  154. data/vendor/pygments-main/pygments/lexers/objective.py +504 -0
  155. data/vendor/pygments-main/pygments/lexers/ooc.py +85 -0
  156. data/vendor/pygments-main/pygments/lexers/other.py +30 -4481
  157. data/vendor/pygments-main/pygments/lexers/parasail.py +79 -0
  158. data/vendor/pygments-main/pygments/lexers/parsers.py +171 -114
  159. data/vendor/pygments-main/pygments/lexers/pascal.py +644 -0
  160. data/vendor/pygments-main/pygments/lexers/pawn.py +199 -0
  161. data/vendor/pygments-main/pygments/lexers/perl.py +616 -0
  162. data/vendor/pygments-main/pygments/lexers/php.py +267 -0
  163. data/vendor/pygments-main/pygments/lexers/praat.py +294 -0
  164. data/vendor/pygments-main/pygments/lexers/prolog.py +306 -0
  165. data/vendor/pygments-main/pygments/lexers/python.py +938 -0
  166. data/vendor/pygments-main/pygments/lexers/qvt.py +152 -0
  167. data/vendor/pygments-main/pygments/lexers/r.py +453 -0
  168. data/vendor/pygments-main/pygments/lexers/rdf.py +195 -24
  169. data/vendor/pygments-main/pygments/lexers/rebol.py +431 -0
  170. data/vendor/pygments-main/pygments/lexers/resource.py +85 -0
  171. data/vendor/pygments-main/pygments/lexers/rnc.py +67 -0
  172. data/vendor/pygments-main/pygments/lexers/roboconf.py +82 -0
  173. data/vendor/pygments-main/pygments/lexers/{_robotframeworklexer.py → robotframework.py} +20 -18
  174. data/vendor/pygments-main/pygments/lexers/ruby.py +519 -0
  175. data/vendor/pygments-main/pygments/lexers/rust.py +209 -0
  176. data/vendor/pygments-main/pygments/lexers/sas.py +228 -0
  177. data/vendor/pygments-main/pygments/lexers/scripting.py +1222 -0
  178. data/vendor/pygments-main/pygments/lexers/shell.py +478 -115
  179. data/vendor/pygments-main/pygments/lexers/smalltalk.py +195 -0
  180. data/vendor/pygments-main/pygments/lexers/smv.py +75 -0
  181. data/vendor/pygments-main/pygments/lexers/snobol.py +83 -0
  182. data/vendor/pygments-main/pygments/lexers/special.py +6 -2
  183. data/vendor/pygments-main/pygments/lexers/sql.py +209 -120
  184. data/vendor/pygments-main/pygments/lexers/stata.py +106 -0
  185. data/vendor/pygments-main/pygments/lexers/supercollider.py +90 -0
  186. data/vendor/pygments-main/pygments/lexers/tcl.py +145 -0
  187. data/vendor/pygments-main/pygments/lexers/templates.py +282 -90
  188. data/vendor/pygments-main/pygments/lexers/testing.py +207 -0
  189. data/vendor/pygments-main/pygments/lexers/text.py +15 -2045
  190. data/vendor/pygments-main/pygments/lexers/textedit.py +169 -0
  191. data/vendor/pygments-main/pygments/lexers/textfmts.py +297 -0
  192. data/vendor/pygments-main/pygments/lexers/theorem.py +458 -0
  193. data/vendor/pygments-main/pygments/lexers/trafficscript.py +54 -0
  194. data/vendor/pygments-main/pygments/lexers/typoscript.py +225 -0
  195. data/vendor/pygments-main/pygments/lexers/urbi.py +133 -0
  196. data/vendor/pygments-main/pygments/lexers/varnish.py +190 -0
  197. data/vendor/pygments-main/pygments/lexers/verification.py +111 -0
  198. data/vendor/pygments-main/pygments/lexers/web.py +13 -4499
  199. data/vendor/pygments-main/pygments/lexers/webmisc.py +979 -0
  200. data/vendor/pygments-main/pygments/lexers/whiley.py +117 -0
  201. data/vendor/pygments-main/pygments/lexers/x10.py +69 -0
  202. data/vendor/pygments-main/pygments/modeline.py +5 -2
  203. data/vendor/pygments-main/pygments/plugin.py +1 -1
  204. data/vendor/pygments-main/pygments/regexopt.py +92 -0
  205. data/vendor/pygments-main/pygments/scanner.py +3 -2
  206. data/vendor/pygments-main/pygments/sphinxext.py +11 -6
  207. data/vendor/pygments-main/pygments/style.py +41 -4
  208. data/vendor/pygments-main/pygments/styles/__init__.py +5 -1
  209. data/vendor/pygments-main/pygments/styles/algol.py +63 -0
  210. data/vendor/pygments-main/pygments/styles/algol_nu.py +63 -0
  211. data/vendor/pygments-main/pygments/styles/arduino.py +98 -0
  212. data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
  213. data/vendor/pygments-main/pygments/styles/borland.py +1 -1
  214. data/vendor/pygments-main/pygments/styles/bw.py +1 -1
  215. data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
  216. data/vendor/pygments-main/pygments/styles/default.py +1 -1
  217. data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
  218. data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
  219. data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
  220. data/vendor/pygments-main/pygments/styles/igor.py +1 -1
  221. data/vendor/pygments-main/pygments/styles/lovelace.py +97 -0
  222. data/vendor/pygments-main/pygments/styles/manni.py +1 -1
  223. data/vendor/pygments-main/pygments/styles/monokai.py +1 -1
  224. data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
  225. data/vendor/pygments-main/pygments/styles/native.py +1 -1
  226. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -1
  227. data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -1
  228. data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
  229. data/vendor/pygments-main/pygments/styles/perldoc.py +2 -2
  230. data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
  231. data/vendor/pygments-main/pygments/styles/sas.py +41 -0
  232. data/vendor/pygments-main/pygments/styles/stata.py +37 -0
  233. data/vendor/pygments-main/pygments/styles/tango.py +1 -1
  234. data/vendor/pygments-main/pygments/styles/trac.py +1 -1
  235. data/vendor/pygments-main/pygments/styles/vim.py +1 -1
  236. data/vendor/pygments-main/pygments/styles/vs.py +1 -1
  237. data/vendor/pygments-main/pygments/styles/xcode.py +1 -1
  238. data/vendor/pygments-main/pygments/token.py +31 -16
  239. data/vendor/pygments-main/pygments/unistring.py +141 -65
  240. data/vendor/pygments-main/pygments/util.py +129 -33
  241. data/vendor/pygments-main/requirements.txt +5 -0
  242. data/vendor/pygments-main/scripts/check_sources.py +25 -40
  243. data/vendor/pygments-main/scripts/debug_lexer.py +246 -0
  244. data/vendor/pygments-main/scripts/find_error.py +1 -0
  245. data/vendor/pygments-main/scripts/get_vimkw.py +35 -4
  246. data/vendor/pygments-main/setup.cfg +3 -0
  247. data/vendor/pygments-main/setup.py +17 -30
  248. data/vendor/pygments-main/tox.ini +7 -0
  249. metadata +159 -387
  250. data/vendor/pygments-main/ez_setup.py +0 -382
  251. data/vendor/pygments-main/pygments/lexers/_cocoabuiltins.py +0 -73
  252. data/vendor/pygments-main/pygments/lexers/_openedgebuiltins.py +0 -562
  253. data/vendor/pygments-main/pygments/lexers/_sourcemodbuiltins.py +0 -1077
  254. data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +0 -13
  255. data/vendor/pygments-main/pygments/lexers/qbasic.py +0 -157
  256. data/vendor/pygments-main/scripts/find_codetags.py +0 -213
  257. data/vendor/pygments-main/scripts/find_error.py +0 -173
  258. data/vendor/pygments-main/tests/dtds/HTML4-f.dtd +0 -37
  259. data/vendor/pygments-main/tests/dtds/HTML4-s.dtd +0 -869
  260. data/vendor/pygments-main/tests/dtds/HTML4.dcl +0 -88
  261. data/vendor/pygments-main/tests/dtds/HTML4.dtd +0 -1092
  262. data/vendor/pygments-main/tests/dtds/HTML4.soc +0 -9
  263. data/vendor/pygments-main/tests/dtds/HTMLlat1.ent +0 -195
  264. data/vendor/pygments-main/tests/dtds/HTMLspec.ent +0 -77
  265. data/vendor/pygments-main/tests/dtds/HTMLsym.ent +0 -241
  266. data/vendor/pygments-main/tests/examplefiles/99_bottles_of_beer.chpl +0 -118
  267. data/vendor/pygments-main/tests/examplefiles/AcidStateAdvanced.hs +0 -209
  268. data/vendor/pygments-main/tests/examplefiles/AlternatingGroup.mu +0 -102
  269. data/vendor/pygments-main/tests/examplefiles/BOM.js +0 -1
  270. data/vendor/pygments-main/tests/examplefiles/CPDictionary.j +0 -611
  271. data/vendor/pygments-main/tests/examplefiles/Config.in.cache +0 -1973
  272. data/vendor/pygments-main/tests/examplefiles/Constants.mo +0 -158
  273. data/vendor/pygments-main/tests/examplefiles/DancingSudoku.lhs +0 -411
  274. data/vendor/pygments-main/tests/examplefiles/Deflate.fs +0 -578
  275. data/vendor/pygments-main/tests/examplefiles/Error.pmod +0 -38
  276. data/vendor/pygments-main/tests/examplefiles/Errors.scala +0 -18
  277. data/vendor/pygments-main/tests/examplefiles/FakeFile.pike +0 -360
  278. data/vendor/pygments-main/tests/examplefiles/Get-CommandDefinitionHtml.ps1 +0 -66
  279. data/vendor/pygments-main/tests/examplefiles/IPDispatchC.nc +0 -104
  280. data/vendor/pygments-main/tests/examplefiles/IPDispatchP.nc +0 -671
  281. data/vendor/pygments-main/tests/examplefiles/Intro.java +0 -1660
  282. data/vendor/pygments-main/tests/examplefiles/Makefile +0 -1131
  283. data/vendor/pygments-main/tests/examplefiles/Object.st +0 -4394
  284. data/vendor/pygments-main/tests/examplefiles/OrderedMap.hx +0 -584
  285. data/vendor/pygments-main/tests/examplefiles/RoleQ.pm6 +0 -23
  286. data/vendor/pygments-main/tests/examplefiles/SmallCheck.hs +0 -378
  287. data/vendor/pygments-main/tests/examplefiles/Sorting.mod +0 -470
  288. data/vendor/pygments-main/tests/examplefiles/Sudoku.lhs +0 -382
  289. data/vendor/pygments-main/tests/examplefiles/addressbook.proto +0 -30
  290. data/vendor/pygments-main/tests/examplefiles/antlr_ANTLRv3.g +0 -608
  291. data/vendor/pygments-main/tests/examplefiles/antlr_throws +0 -1
  292. data/vendor/pygments-main/tests/examplefiles/apache2.conf +0 -393
  293. data/vendor/pygments-main/tests/examplefiles/as3_test.as +0 -143
  294. data/vendor/pygments-main/tests/examplefiles/as3_test2.as +0 -46
  295. data/vendor/pygments-main/tests/examplefiles/as3_test3.as +0 -3
  296. data/vendor/pygments-main/tests/examplefiles/aspx-cs_example +0 -27
  297. data/vendor/pygments-main/tests/examplefiles/autoit_submit.au3 +0 -25
  298. data/vendor/pygments-main/tests/examplefiles/badcase.java +0 -2
  299. data/vendor/pygments-main/tests/examplefiles/batchfile.bat +0 -49
  300. data/vendor/pygments-main/tests/examplefiles/bigtest.nsi +0 -308
  301. data/vendor/pygments-main/tests/examplefiles/boot-9.scm +0 -1557
  302. data/vendor/pygments-main/tests/examplefiles/ca65_example +0 -284
  303. data/vendor/pygments-main/tests/examplefiles/cbmbas_example +0 -9
  304. data/vendor/pygments-main/tests/examplefiles/cells.ps +0 -515
  305. data/vendor/pygments-main/tests/examplefiles/ceval.c +0 -2604
  306. data/vendor/pygments-main/tests/examplefiles/cheetah_example.html +0 -13
  307. data/vendor/pygments-main/tests/examplefiles/classes.dylan +0 -125
  308. data/vendor/pygments-main/tests/examplefiles/clojure-weird-keywords.clj +0 -5
  309. data/vendor/pygments-main/tests/examplefiles/condensed_ruby.rb +0 -10
  310. data/vendor/pygments-main/tests/examplefiles/coq_RelationClasses +0 -447
  311. data/vendor/pygments-main/tests/examplefiles/core.cljs +0 -52
  312. data/vendor/pygments-main/tests/examplefiles/database.pytb +0 -20
  313. data/vendor/pygments-main/tests/examplefiles/de.MoinMoin.po +0 -2461
  314. data/vendor/pygments-main/tests/examplefiles/demo.ahk +0 -181
  315. data/vendor/pygments-main/tests/examplefiles/demo.cfm +0 -50
  316. data/vendor/pygments-main/tests/examplefiles/demo.hbs +0 -12
  317. data/vendor/pygments-main/tests/examplefiles/django_sample.html+django +0 -68
  318. data/vendor/pygments-main/tests/examplefiles/dwarf.cw +0 -17
  319. data/vendor/pygments-main/tests/examplefiles/ember.handlebars +0 -33
  320. data/vendor/pygments-main/tests/examplefiles/erl_session +0 -10
  321. data/vendor/pygments-main/tests/examplefiles/escape_semicolon.clj +0 -1
  322. data/vendor/pygments-main/tests/examplefiles/evil_regex.js +0 -48
  323. data/vendor/pygments-main/tests/examplefiles/example.Rd +0 -78
  324. data/vendor/pygments-main/tests/examplefiles/example.als +0 -217
  325. data/vendor/pygments-main/tests/examplefiles/example.bug +0 -54
  326. data/vendor/pygments-main/tests/examplefiles/example.c +0 -2080
  327. data/vendor/pygments-main/tests/examplefiles/example.ceylon +0 -52
  328. data/vendor/pygments-main/tests/examplefiles/example.chai +0 -6
  329. data/vendor/pygments-main/tests/examplefiles/example.clay +0 -33
  330. data/vendor/pygments-main/tests/examplefiles/example.cls +0 -15
  331. data/vendor/pygments-main/tests/examplefiles/example.cob +0 -3556
  332. data/vendor/pygments-main/tests/examplefiles/example.coffee +0 -27
  333. data/vendor/pygments-main/tests/examplefiles/example.cpp +0 -2363
  334. data/vendor/pygments-main/tests/examplefiles/example.e +0 -124
  335. data/vendor/pygments-main/tests/examplefiles/example.f90 +0 -8
  336. data/vendor/pygments-main/tests/examplefiles/example.feature +0 -16
  337. data/vendor/pygments-main/tests/examplefiles/example.gd +0 -23
  338. data/vendor/pygments-main/tests/examplefiles/example.gi +0 -64
  339. data/vendor/pygments-main/tests/examplefiles/example.groovy +0 -2
  340. data/vendor/pygments-main/tests/examplefiles/example.gs +0 -106
  341. data/vendor/pygments-main/tests/examplefiles/example.gst +0 -7
  342. data/vendor/pygments-main/tests/examplefiles/example.hs +0 -27
  343. data/vendor/pygments-main/tests/examplefiles/example.hx +0 -185
  344. data/vendor/pygments-main/tests/examplefiles/example.i6t +0 -32
  345. data/vendor/pygments-main/tests/examplefiles/example.i7x +0 -45
  346. data/vendor/pygments-main/tests/examplefiles/example.inf +0 -374
  347. data/vendor/pygments-main/tests/examplefiles/example.j +0 -564
  348. data/vendor/pygments-main/tests/examplefiles/example.jag +0 -48
  349. data/vendor/pygments-main/tests/examplefiles/example.java +0 -16
  350. data/vendor/pygments-main/tests/examplefiles/example.kal +0 -75
  351. data/vendor/pygments-main/tests/examplefiles/example.kt +0 -47
  352. data/vendor/pygments-main/tests/examplefiles/example.lagda +0 -19
  353. data/vendor/pygments-main/tests/examplefiles/example.liquid +0 -42
  354. data/vendor/pygments-main/tests/examplefiles/example.lua +0 -250
  355. data/vendor/pygments-main/tests/examplefiles/example.ma +0 -8
  356. data/vendor/pygments-main/tests/examplefiles/example.monkey +0 -152
  357. data/vendor/pygments-main/tests/examplefiles/example.moo +0 -26
  358. data/vendor/pygments-main/tests/examplefiles/example.moon +0 -629
  359. data/vendor/pygments-main/tests/examplefiles/example.mq4 +0 -187
  360. data/vendor/pygments-main/tests/examplefiles/example.mqh +0 -123
  361. data/vendor/pygments-main/tests/examplefiles/example.msc +0 -43
  362. data/vendor/pygments-main/tests/examplefiles/example.ni +0 -57
  363. data/vendor/pygments-main/tests/examplefiles/example.nim +0 -1010
  364. data/vendor/pygments-main/tests/examplefiles/example.nix +0 -80
  365. data/vendor/pygments-main/tests/examplefiles/example.ns2 +0 -69
  366. data/vendor/pygments-main/tests/examplefiles/example.pas +0 -2708
  367. data/vendor/pygments-main/tests/examplefiles/example.pp +0 -8
  368. data/vendor/pygments-main/tests/examplefiles/example.prg +0 -161
  369. data/vendor/pygments-main/tests/examplefiles/example.rb +0 -1852
  370. data/vendor/pygments-main/tests/examplefiles/example.red +0 -257
  371. data/vendor/pygments-main/tests/examplefiles/example.reds +0 -150
  372. data/vendor/pygments-main/tests/examplefiles/example.reg +0 -19
  373. data/vendor/pygments-main/tests/examplefiles/example.rexx +0 -50
  374. data/vendor/pygments-main/tests/examplefiles/example.rhtml +0 -561
  375. data/vendor/pygments-main/tests/examplefiles/example.rkt +0 -743
  376. data/vendor/pygments-main/tests/examplefiles/example.rpf +0 -4
  377. data/vendor/pygments-main/tests/examplefiles/example.sh +0 -22
  378. data/vendor/pygments-main/tests/examplefiles/example.sh-session +0 -19
  379. data/vendor/pygments-main/tests/examplefiles/example.shell-session +0 -45
  380. data/vendor/pygments-main/tests/examplefiles/example.slim +0 -31
  381. data/vendor/pygments-main/tests/examplefiles/example.sls +0 -51
  382. data/vendor/pygments-main/tests/examplefiles/example.sml +0 -156
  383. data/vendor/pygments-main/tests/examplefiles/example.snobol +0 -15
  384. data/vendor/pygments-main/tests/examplefiles/example.stan +0 -110
  385. data/vendor/pygments-main/tests/examplefiles/example.tea +0 -34
  386. data/vendor/pygments-main/tests/examplefiles/example.todotxt +0 -9
  387. data/vendor/pygments-main/tests/examplefiles/example.ts +0 -28
  388. data/vendor/pygments-main/tests/examplefiles/example.u +0 -548
  389. data/vendor/pygments-main/tests/examplefiles/example.weechatlog +0 -9
  390. data/vendor/pygments-main/tests/examplefiles/example.xhtml +0 -376
  391. data/vendor/pygments-main/tests/examplefiles/example.xtend +0 -34
  392. data/vendor/pygments-main/tests/examplefiles/example.yaml +0 -302
  393. data/vendor/pygments-main/tests/examplefiles/example2.aspx +0 -29
  394. data/vendor/pygments-main/tests/examplefiles/example2.msc +0 -79
  395. data/vendor/pygments-main/tests/examplefiles/exampleScript.cfc +0 -241
  396. data/vendor/pygments-main/tests/examplefiles/exampleTag.cfc +0 -18
  397. data/vendor/pygments-main/tests/examplefiles/example_elixir.ex +0 -205
  398. data/vendor/pygments-main/tests/examplefiles/example_file.fy +0 -128
  399. data/vendor/pygments-main/tests/examplefiles/firefox.mak +0 -586
  400. data/vendor/pygments-main/tests/examplefiles/flipflop.sv +0 -19
  401. data/vendor/pygments-main/tests/examplefiles/foo.sce +0 -6
  402. data/vendor/pygments-main/tests/examplefiles/format.ml +0 -1213
  403. data/vendor/pygments-main/tests/examplefiles/fucked_up.rb +0 -77
  404. data/vendor/pygments-main/tests/examplefiles/function.mu +0 -1
  405. data/vendor/pygments-main/tests/examplefiles/functional.rst +0 -1472
  406. data/vendor/pygments-main/tests/examplefiles/garcia-wachs.kk +0 -133
  407. data/vendor/pygments-main/tests/examplefiles/genclass.clj +0 -510
  408. data/vendor/pygments-main/tests/examplefiles/genshi_example.xml+genshi +0 -193
  409. data/vendor/pygments-main/tests/examplefiles/genshitext_example.genshitext +0 -33
  410. data/vendor/pygments-main/tests/examplefiles/glsl.frag +0 -7
  411. data/vendor/pygments-main/tests/examplefiles/glsl.vert +0 -13
  412. data/vendor/pygments-main/tests/examplefiles/grammar-test.p6 +0 -22
  413. data/vendor/pygments-main/tests/examplefiles/hash_syntax.rb +0 -5
  414. data/vendor/pygments-main/tests/examplefiles/hello.at +0 -6
  415. data/vendor/pygments-main/tests/examplefiles/hello.golo +0 -5
  416. data/vendor/pygments-main/tests/examplefiles/hello.lsl +0 -12
  417. data/vendor/pygments-main/tests/examplefiles/hello.smali +0 -40
  418. data/vendor/pygments-main/tests/examplefiles/hello.sp +0 -9
  419. data/vendor/pygments-main/tests/examplefiles/html+php_faulty.php +0 -1
  420. data/vendor/pygments-main/tests/examplefiles/http_request_example +0 -15
  421. data/vendor/pygments-main/tests/examplefiles/http_response_example +0 -29
  422. data/vendor/pygments-main/tests/examplefiles/hybris_File.hy +0 -174
  423. data/vendor/pygments-main/tests/examplefiles/idl_sample.pro +0 -73
  424. data/vendor/pygments-main/tests/examplefiles/iex_example +0 -23
  425. data/vendor/pygments-main/tests/examplefiles/inet_pton6.dg +0 -71
  426. data/vendor/pygments-main/tests/examplefiles/intro.ik +0 -24
  427. data/vendor/pygments-main/tests/examplefiles/ints.php +0 -10
  428. data/vendor/pygments-main/tests/examplefiles/intsyn.fun +0 -675
  429. data/vendor/pygments-main/tests/examplefiles/intsyn.sig +0 -286
  430. data/vendor/pygments-main/tests/examplefiles/irb_heredoc +0 -8
  431. data/vendor/pygments-main/tests/examplefiles/irc.lsp +0 -214
  432. data/vendor/pygments-main/tests/examplefiles/java.properties +0 -16
  433. data/vendor/pygments-main/tests/examplefiles/jbst_example1.jbst +0 -28
  434. data/vendor/pygments-main/tests/examplefiles/jbst_example2.jbst +0 -45
  435. data/vendor/pygments-main/tests/examplefiles/jinjadesignerdoc.rst +0 -713
  436. data/vendor/pygments-main/tests/examplefiles/json.lasso +0 -301
  437. data/vendor/pygments-main/tests/examplefiles/json.lasso9 +0 -213
  438. data/vendor/pygments-main/tests/examplefiles/language.hy +0 -165
  439. data/vendor/pygments-main/tests/examplefiles/lighttpd_config.conf +0 -13
  440. data/vendor/pygments-main/tests/examplefiles/limbo.b +0 -456
  441. data/vendor/pygments-main/tests/examplefiles/linecontinuation.py +0 -47
  442. data/vendor/pygments-main/tests/examplefiles/livescript-demo.ls +0 -43
  443. data/vendor/pygments-main/tests/examplefiles/logos_example.xm +0 -28
  444. data/vendor/pygments-main/tests/examplefiles/ltmain.sh +0 -2849
  445. data/vendor/pygments-main/tests/examplefiles/main.cmake +0 -44
  446. data/vendor/pygments-main/tests/examplefiles/markdown.lsp +0 -679
  447. data/vendor/pygments-main/tests/examplefiles/matlab_noreturn +0 -3
  448. data/vendor/pygments-main/tests/examplefiles/matlab_sample +0 -30
  449. data/vendor/pygments-main/tests/examplefiles/matlabsession_sample.txt +0 -37
  450. data/vendor/pygments-main/tests/examplefiles/metagrammar.treetop +0 -455
  451. data/vendor/pygments-main/tests/examplefiles/minehunt.qml +0 -112
  452. data/vendor/pygments-main/tests/examplefiles/minimal.ns2 +0 -4
  453. data/vendor/pygments-main/tests/examplefiles/moin_SyntaxReference.txt +0 -340
  454. data/vendor/pygments-main/tests/examplefiles/multiline_regexes.rb +0 -38
  455. data/vendor/pygments-main/tests/examplefiles/nanomsg.intr +0 -95
  456. data/vendor/pygments-main/tests/examplefiles/nasm_aoutso.asm +0 -96
  457. data/vendor/pygments-main/tests/examplefiles/nasm_objexe.asm +0 -30
  458. data/vendor/pygments-main/tests/examplefiles/nemerle_sample.n +0 -87
  459. data/vendor/pygments-main/tests/examplefiles/nginx_nginx.conf +0 -118
  460. data/vendor/pygments-main/tests/examplefiles/numbers.c +0 -12
  461. data/vendor/pygments-main/tests/examplefiles/objc_example.m +0 -179
  462. data/vendor/pygments-main/tests/examplefiles/openedge_example +0 -34
  463. data/vendor/pygments-main/tests/examplefiles/pawn_example +0 -25
  464. data/vendor/pygments-main/tests/examplefiles/perl_misc +0 -62
  465. data/vendor/pygments-main/tests/examplefiles/perl_perl5db +0 -998
  466. data/vendor/pygments-main/tests/examplefiles/perl_regex-delims +0 -120
  467. data/vendor/pygments-main/tests/examplefiles/perlfunc.1 +0 -856
  468. data/vendor/pygments-main/tests/examplefiles/phpMyAdmin.spec +0 -163
  469. data/vendor/pygments-main/tests/examplefiles/phpcomplete.vim +0 -567
  470. data/vendor/pygments-main/tests/examplefiles/pleac.in.rb +0 -1223
  471. data/vendor/pygments-main/tests/examplefiles/postgresql_test.txt +0 -47
  472. data/vendor/pygments-main/tests/examplefiles/pppoe.applescript +0 -10
  473. data/vendor/pygments-main/tests/examplefiles/psql_session.txt +0 -122
  474. data/vendor/pygments-main/tests/examplefiles/py3_test.txt +0 -2
  475. data/vendor/pygments-main/tests/examplefiles/py3tb_test.py3tb +0 -4
  476. data/vendor/pygments-main/tests/examplefiles/pycon_test.pycon +0 -14
  477. data/vendor/pygments-main/tests/examplefiles/pytb_test2.pytb +0 -2
  478. data/vendor/pygments-main/tests/examplefiles/pytb_test3.pytb +0 -4
  479. data/vendor/pygments-main/tests/examplefiles/python25-bsd.mak +0 -234
  480. data/vendor/pygments-main/tests/examplefiles/qbasic_example +0 -2
  481. data/vendor/pygments-main/tests/examplefiles/qsort.prolog +0 -13
  482. data/vendor/pygments-main/tests/examplefiles/r-console-transcript.Rout +0 -38
  483. data/vendor/pygments-main/tests/examplefiles/r6rs-comments.scm +0 -23
  484. data/vendor/pygments-main/tests/examplefiles/ragel-cpp_rlscan +0 -280
  485. data/vendor/pygments-main/tests/examplefiles/ragel-cpp_snippet +0 -2
  486. data/vendor/pygments-main/tests/examplefiles/regex.js +0 -22
  487. data/vendor/pygments-main/tests/examplefiles/reversi.lsp +0 -427
  488. data/vendor/pygments-main/tests/examplefiles/robotframework_test.txt +0 -39
  489. data/vendor/pygments-main/tests/examplefiles/rql-queries.rql +0 -34
  490. data/vendor/pygments-main/tests/examplefiles/ruby_func_def.rb +0 -11
  491. data/vendor/pygments-main/tests/examplefiles/rust_example.rs +0 -233
  492. data/vendor/pygments-main/tests/examplefiles/scilab.sci +0 -30
  493. data/vendor/pygments-main/tests/examplefiles/scope.cirru +0 -43
  494. data/vendor/pygments-main/tests/examplefiles/session.dylan-console +0 -9
  495. data/vendor/pygments-main/tests/examplefiles/sibling.prolog +0 -19
  496. data/vendor/pygments-main/tests/examplefiles/simple.md +0 -747
  497. data/vendor/pygments-main/tests/examplefiles/smarty_example.html +0 -209
  498. data/vendor/pygments-main/tests/examplefiles/source.lgt +0 -343
  499. data/vendor/pygments-main/tests/examplefiles/sources.list +0 -62
  500. data/vendor/pygments-main/tests/examplefiles/sparql.rq +0 -23
  501. data/vendor/pygments-main/tests/examplefiles/sphere.pov +0 -18
  502. data/vendor/pygments-main/tests/examplefiles/sqlite3.sqlite3-console +0 -27
  503. data/vendor/pygments-main/tests/examplefiles/squid.conf +0 -30
  504. data/vendor/pygments-main/tests/examplefiles/string.jl +0 -1031
  505. data/vendor/pygments-main/tests/examplefiles/string_delimiters.d +0 -21
  506. data/vendor/pygments-main/tests/examplefiles/stripheredoc.sh +0 -3
  507. data/vendor/pygments-main/tests/examplefiles/swig_java.swg +0 -1329
  508. data/vendor/pygments-main/tests/examplefiles/swig_std_vector.i +0 -225
  509. data/vendor/pygments-main/tests/examplefiles/test.R +0 -185
  510. data/vendor/pygments-main/tests/examplefiles/test.adb +0 -211
  511. data/vendor/pygments-main/tests/examplefiles/test.agda +0 -102
  512. data/vendor/pygments-main/tests/examplefiles/test.apl +0 -26
  513. data/vendor/pygments-main/tests/examplefiles/test.asy +0 -131
  514. data/vendor/pygments-main/tests/examplefiles/test.awk +0 -121
  515. data/vendor/pygments-main/tests/examplefiles/test.bb +0 -95
  516. data/vendor/pygments-main/tests/examplefiles/test.bmx +0 -145
  517. data/vendor/pygments-main/tests/examplefiles/test.boo +0 -39
  518. data/vendor/pygments-main/tests/examplefiles/test.bro +0 -250
  519. data/vendor/pygments-main/tests/examplefiles/test.cs +0 -374
  520. data/vendor/pygments-main/tests/examplefiles/test.css +0 -54
  521. data/vendor/pygments-main/tests/examplefiles/test.cu +0 -36
  522. data/vendor/pygments-main/tests/examplefiles/test.cyp +0 -123
  523. data/vendor/pygments-main/tests/examplefiles/test.d +0 -135
  524. data/vendor/pygments-main/tests/examplefiles/test.dart +0 -23
  525. data/vendor/pygments-main/tests/examplefiles/test.dtd +0 -89
  526. data/vendor/pygments-main/tests/examplefiles/test.ebnf +0 -31
  527. data/vendor/pygments-main/tests/examplefiles/test.ec +0 -605
  528. data/vendor/pygments-main/tests/examplefiles/test.ecl +0 -58
  529. data/vendor/pygments-main/tests/examplefiles/test.eh +0 -315
  530. data/vendor/pygments-main/tests/examplefiles/test.erl +0 -169
  531. data/vendor/pygments-main/tests/examplefiles/test.evoque +0 -33
  532. data/vendor/pygments-main/tests/examplefiles/test.fan +0 -818
  533. data/vendor/pygments-main/tests/examplefiles/test.flx +0 -57
  534. data/vendor/pygments-main/tests/examplefiles/test.gdc +0 -13
  535. data/vendor/pygments-main/tests/examplefiles/test.groovy +0 -97
  536. data/vendor/pygments-main/tests/examplefiles/test.html +0 -339
  537. data/vendor/pygments-main/tests/examplefiles/test.idr +0 -93
  538. data/vendor/pygments-main/tests/examplefiles/test.ini +0 -10
  539. data/vendor/pygments-main/tests/examplefiles/test.java +0 -653
  540. data/vendor/pygments-main/tests/examplefiles/test.jsp +0 -24
  541. data/vendor/pygments-main/tests/examplefiles/test.maql +0 -45
  542. data/vendor/pygments-main/tests/examplefiles/test.mask +0 -41
  543. data/vendor/pygments-main/tests/examplefiles/test.mod +0 -374
  544. data/vendor/pygments-main/tests/examplefiles/test.moo +0 -51
  545. data/vendor/pygments-main/tests/examplefiles/test.myt +0 -166
  546. data/vendor/pygments-main/tests/examplefiles/test.nim +0 -93
  547. data/vendor/pygments-main/tests/examplefiles/test.opa +0 -10
  548. data/vendor/pygments-main/tests/examplefiles/test.p6 +0 -252
  549. data/vendor/pygments-main/tests/examplefiles/test.pan +0 -54
  550. data/vendor/pygments-main/tests/examplefiles/test.pas +0 -743
  551. data/vendor/pygments-main/tests/examplefiles/test.php +0 -507
  552. data/vendor/pygments-main/tests/examplefiles/test.pig +0 -148
  553. data/vendor/pygments-main/tests/examplefiles/test.plot +0 -333
  554. data/vendor/pygments-main/tests/examplefiles/test.ps1 +0 -108
  555. data/vendor/pygments-main/tests/examplefiles/test.pwn +0 -253
  556. data/vendor/pygments-main/tests/examplefiles/test.pypylog +0 -1839
  557. data/vendor/pygments-main/tests/examplefiles/test.r3 +0 -114
  558. data/vendor/pygments-main/tests/examplefiles/test.rb +0 -177
  559. data/vendor/pygments-main/tests/examplefiles/test.rhtml +0 -43
  560. data/vendor/pygments-main/tests/examplefiles/test.rsl +0 -111
  561. data/vendor/pygments-main/tests/examplefiles/test.scaml +0 -8
  562. data/vendor/pygments-main/tests/examplefiles/test.ssp +0 -12
  563. data/vendor/pygments-main/tests/examplefiles/test.swift +0 -65
  564. data/vendor/pygments-main/tests/examplefiles/test.tcsh +0 -830
  565. data/vendor/pygments-main/tests/examplefiles/test.vb +0 -407
  566. data/vendor/pygments-main/tests/examplefiles/test.vhdl +0 -161
  567. data/vendor/pygments-main/tests/examplefiles/test.xqy +0 -138
  568. data/vendor/pygments-main/tests/examplefiles/test.xsl +0 -23
  569. data/vendor/pygments-main/tests/examplefiles/test.zep +0 -33
  570. data/vendor/pygments-main/tests/examplefiles/test2.pypylog +0 -120
  571. data/vendor/pygments-main/tests/examplefiles/truncated.pytb +0 -15
  572. data/vendor/pygments-main/tests/examplefiles/type.lisp +0 -1218
  573. data/vendor/pygments-main/tests/examplefiles/underscore.coffee +0 -603
  574. data/vendor/pygments-main/tests/examplefiles/unicode.applescript +0 -5
  575. data/vendor/pygments-main/tests/examplefiles/unicode.go +0 -10
  576. data/vendor/pygments-main/tests/examplefiles/unicodedoc.py +0 -11
  577. data/vendor/pygments-main/tests/examplefiles/unix-io.lid +0 -37
  578. data/vendor/pygments-main/tests/examplefiles/vbnet_test.bas +0 -29
  579. data/vendor/pygments-main/tests/examplefiles/vctreestatus_hg +0 -4
  580. data/vendor/pygments-main/tests/examplefiles/vimrc +0 -21
  581. data/vendor/pygments-main/tests/examplefiles/webkit-transition.css +0 -3
  582. data/vendor/pygments-main/tests/examplefiles/while.pov +0 -13
  583. data/vendor/pygments-main/tests/examplefiles/wiki.factor +0 -384
  584. data/vendor/pygments-main/tests/examplefiles/xml_example +0 -1897
  585. data/vendor/pygments-main/tests/examplefiles/zmlrpc.f90 +0 -798
  586. data/vendor/pygments-main/tests/run.py +0 -44
  587. data/vendor/pygments-main/tests/string_asserts.py +0 -22
  588. data/vendor/pygments-main/tests/support.py +0 -15
  589. data/vendor/pygments-main/tests/support/tags +0 -36
  590. data/vendor/pygments-main/tests/test_basic_api.py +0 -309
  591. data/vendor/pygments-main/tests/test_cfm.py +0 -46
  592. data/vendor/pygments-main/tests/test_clexer.py +0 -236
  593. data/vendor/pygments-main/tests/test_cmdline.py +0 -106
  594. data/vendor/pygments-main/tests/test_examplefiles.py +0 -110
  595. data/vendor/pygments-main/tests/test_html_formatter.py +0 -180
  596. data/vendor/pygments-main/tests/test_latex_formatter.py +0 -57
  597. data/vendor/pygments-main/tests/test_lexers_other.py +0 -68
  598. data/vendor/pygments-main/tests/test_objectiveclexer.py +0 -81
  599. data/vendor/pygments-main/tests/test_perllexer.py +0 -137
  600. data/vendor/pygments-main/tests/test_qbasiclexer.py +0 -43
  601. data/vendor/pygments-main/tests/test_regexlexer.py +0 -54
  602. data/vendor/pygments-main/tests/test_rtf_formatter.py +0 -109
  603. data/vendor/pygments-main/tests/test_string_asserts.py +0 -39
  604. data/vendor/pygments-main/tests/test_token.py +0 -46
  605. data/vendor/pygments-main/tests/test_using_api.py +0 -40
  606. data/vendor/pygments-main/tests/test_util.py +0 -135
@@ -0,0 +1,333 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ pygments.lexers.julia
4
+ ~~~~~~~~~~~~~~~~~~~~~
5
+
6
+ Lexers for the Julia language.
7
+
8
+ :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
9
+ :license: BSD, see LICENSE for details.
10
+ """
11
+
12
+ import re
13
+
14
+ from pygments.lexer import Lexer, RegexLexer, bygroups, do_insertions, \
15
+ words, include
16
+ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
17
+ Number, Punctuation, Generic
18
+ from pygments.util import shebang_matches, unirange
19
+
20
+ __all__ = ['JuliaLexer', 'JuliaConsoleLexer']
21
+
22
+ allowed_variable = (
23
+ u'(?:[a-zA-Z_\u00A1-\uffff]|%s)(?:[a-zA-Z_0-9\u00A1-\uffff]|%s)*!*' %
24
+ ((unirange(0x10000, 0x10ffff),) * 2))
25
+
26
+
27
+ class JuliaLexer(RegexLexer):
28
+ """
29
+ For `Julia <http://julialang.org/>`_ source code.
30
+
31
+ .. versionadded:: 1.6
32
+ """
33
+
34
+ name = 'Julia'
35
+ aliases = ['julia', 'jl']
36
+ filenames = ['*.jl']
37
+ mimetypes = ['text/x-julia', 'application/x-julia']
38
+
39
+ flags = re.MULTILINE | re.UNICODE
40
+
41
+ tokens = {
42
+ 'root': [
43
+ (r'\n', Text),
44
+ (r'[^\S\n]+', Text),
45
+ (r'#=', Comment.Multiline, "blockcomment"),
46
+ (r'#.*$', Comment),
47
+ (r'[\[\]{}(),;]', Punctuation),
48
+
49
+ # keywords
50
+ (r'in\b', Keyword.Pseudo),
51
+ (r'(true|false)\b', Keyword.Constant),
52
+ (r'(local|global|const)\b', Keyword.Declaration),
53
+ (words([
54
+ 'function', 'type', 'typealias', 'abstract', 'immutable',
55
+ 'baremodule', 'begin', 'bitstype', 'break', 'catch', 'ccall',
56
+ 'continue', 'do', 'else', 'elseif', 'end', 'export', 'finally',
57
+ 'for', 'if', 'import', 'importall', 'let', 'macro', 'module',
58
+ 'quote', 'return', 'try', 'using', 'while'],
59
+ suffix=r'\b'), Keyword),
60
+
61
+ # NOTE
62
+ # Patterns below work only for definition sites and thus hardly reliable.
63
+ #
64
+ # functions
65
+ # (r'(function)(\s+)(' + allowed_variable + ')',
66
+ # bygroups(Keyword, Text, Name.Function)),
67
+ #
68
+ # types
69
+ # (r'(type|typealias|abstract|immutable)(\s+)(' + allowed_variable + ')',
70
+ # bygroups(Keyword, Text, Name.Class)),
71
+
72
+ # type names
73
+ (words([
74
+ 'ANY', 'ASCIIString', 'AbstractArray', 'AbstractChannel',
75
+ 'AbstractFloat', 'AbstractMatrix', 'AbstractRNG',
76
+ 'AbstractSparseArray', 'AbstractSparseMatrix',
77
+ 'AbstractSparseVector', 'AbstractString', 'AbstractVecOrMat',
78
+ 'AbstractVector', 'Any', 'ArgumentError', 'Array',
79
+ 'AssertionError', 'Associative', 'Base64DecodePipe',
80
+ 'Base64EncodePipe', 'Bidiagonal', 'BigFloat', 'BigInt',
81
+ 'BitArray', 'BitMatrix', 'BitVector', 'Bool', 'BoundsError',
82
+ 'Box', 'BufferStream', 'CapturedException', 'CartesianIndex',
83
+ 'CartesianRange', 'Cchar', 'Cdouble', 'Cfloat', 'Channel',
84
+ 'Char', 'Cint', 'Cintmax_t', 'Clong', 'Clonglong',
85
+ 'ClusterManager', 'Cmd', 'Coff_t', 'Colon', 'Complex',
86
+ 'Complex128', 'Complex32', 'Complex64', 'CompositeException',
87
+ 'Condition', 'Cptrdiff_t', 'Cshort', 'Csize_t', 'Cssize_t',
88
+ 'Cstring', 'Cuchar', 'Cuint', 'Cuintmax_t', 'Culong',
89
+ 'Culonglong', 'Cushort', 'Cwchar_t', 'Cwstring', 'DataType',
90
+ 'Date', 'DateTime', 'DenseArray', 'DenseMatrix',
91
+ 'DenseVecOrMat', 'DenseVector', 'Diagonal', 'Dict',
92
+ 'DimensionMismatch', 'Dims', 'DirectIndexString', 'Display',
93
+ 'DivideError', 'DomainError', 'EOFError', 'EachLine', 'Enum',
94
+ 'Enumerate', 'ErrorException', 'Exception', 'Expr',
95
+ 'Factorization', 'FileMonitor', 'FileOffset', 'Filter',
96
+ 'Float16', 'Float32', 'Float64', 'FloatRange', 'Function',
97
+ 'GenSym', 'GlobalRef', 'GotoNode', 'HTML', 'Hermitian', 'IO',
98
+ 'IOBuffer', 'IOStream', 'IPv4', 'IPv6', 'InexactError',
99
+ 'InitError', 'Int', 'Int128', 'Int16', 'Int32', 'Int64', 'Int8',
100
+ 'IntSet', 'Integer', 'InterruptException', 'IntrinsicFunction',
101
+ 'InvalidStateException', 'Irrational', 'KeyError', 'LabelNode',
102
+ 'LambdaStaticData', 'LinSpace', 'LineNumberNode', 'LoadError',
103
+ 'LocalProcess', 'LowerTriangular', 'MIME', 'Matrix',
104
+ 'MersenneTwister', 'Method', 'MethodError', 'MethodTable',
105
+ 'Module', 'NTuple', 'NewvarNode', 'NullException', 'Nullable',
106
+ 'Number', 'ObjectIdDict', 'OrdinalRange', 'OutOfMemoryError',
107
+ 'OverflowError', 'Pair', 'ParseError', 'PartialQuickSort',
108
+ 'Pipe', 'PollingFileWatcher', 'ProcessExitedException',
109
+ 'ProcessGroup', 'Ptr', 'QuoteNode', 'RandomDevice', 'Range',
110
+ 'Rational', 'RawFD', 'ReadOnlyMemoryError', 'Real',
111
+ 'ReentrantLock', 'Ref', 'Regex', 'RegexMatch',
112
+ 'RemoteException', 'RemoteRef', 'RepString', 'RevString',
113
+ 'RopeString', 'RoundingMode', 'SegmentationFault',
114
+ 'SerializationState', 'Set', 'SharedArray', 'SharedMatrix',
115
+ 'SharedVector', 'Signed', 'SimpleVector', 'SparseMatrixCSC',
116
+ 'StackOverflowError', 'StatStruct', 'StepRange', 'StridedArray',
117
+ 'StridedMatrix', 'StridedVecOrMat', 'StridedVector', 'SubArray',
118
+ 'SubString', 'SymTridiagonal', 'Symbol', 'SymbolNode',
119
+ 'Symmetric', 'SystemError', 'TCPSocket', 'Task', 'Text',
120
+ 'TextDisplay', 'Timer', 'TopNode', 'Tridiagonal', 'Tuple',
121
+ 'Type', 'TypeConstructor', 'TypeError', 'TypeName', 'TypeVar',
122
+ 'UDPSocket', 'UInt', 'UInt128', 'UInt16', 'UInt32', 'UInt64',
123
+ 'UInt8', 'UTF16String', 'UTF32String', 'UTF8String',
124
+ 'UndefRefError', 'UndefVarError', 'UnicodeError', 'UniformScaling',
125
+ 'Union', 'UnitRange', 'Unsigned', 'UpperTriangular', 'Val',
126
+ 'Vararg', 'VecOrMat', 'Vector', 'VersionNumber', 'Void', 'WString',
127
+ 'WeakKeyDict', 'WeakRef', 'WorkerConfig', 'Zip'], suffix=r'\b'),
128
+ Keyword.Type),
129
+
130
+ # builtins
131
+ (words([
132
+ u'ARGS', u'CPU_CORES', u'C_NULL', u'DevNull', u'ENDIAN_BOM',
133
+ u'ENV', u'I', u'Inf', u'Inf16', u'Inf32', u'Inf64',
134
+ u'InsertionSort', u'JULIA_HOME', u'LOAD_PATH', u'MergeSort',
135
+ u'NaN', u'NaN16', u'NaN32', u'NaN64', u'OS_NAME',
136
+ u'QuickSort', u'RoundDown', u'RoundFromZero', u'RoundNearest',
137
+ u'RoundNearestTiesAway', u'RoundNearestTiesUp',
138
+ u'RoundToZero', u'RoundUp', u'STDERR', u'STDIN', u'STDOUT',
139
+ u'VERSION', u'WORD_SIZE', u'catalan', u'e', u'eu',
140
+ u'eulergamma', u'golden', u'im', u'nothing', u'pi', u'γ',
141
+ u'π', u'φ'],
142
+ suffix=r'\b'), Name.Builtin),
143
+
144
+ # operators
145
+ # see: https://github.com/JuliaLang/julia/blob/master/src/julia-parser.scm
146
+ (words([
147
+ # prec-assignment
148
+ u'=', u':=', u'+=', u'-=', u'*=', u'/=', u'//=', u'.//=', u'.*=', u'./=',
149
+ u'\=', u'.\=', u'^=', u'.^=', u'÷=', u'.÷=', u'%=', u'.%=', u'|=', u'&=',
150
+ u'$=', u'=>', u'<<=', u'>>=', u'>>>=', u'~', u'.+=', u'.-=',
151
+ # prec-conditional
152
+ u'?',
153
+ # prec-arrow
154
+ u'--', u'-->',
155
+ # prec-lazy-or
156
+ u'||',
157
+ # prec-lazy-and
158
+ u'&&',
159
+ # prec-comparison
160
+ u'>', u'<', u'>=', u'≥', u'<=', u'≤', u'==', u'===', u'≡', u'!=', u'≠',
161
+ u'!==', u'≢', u'.>', u'.<', u'.>=', u'.≥', u'.<=', u'.≤', u'.==', u'.!=',
162
+ u'.≠', u'.=', u'.!', u'<:', u'>:', u'∈', u'∉', u'∋', u'∌', u'⊆',
163
+ u'⊈', u'⊂',
164
+ u'⊄', u'⊊',
165
+ # prec-pipe
166
+ u'|>', u'<|',
167
+ # prec-colon
168
+ u':',
169
+ # prec-plus
170
+ u'+', u'-', u'.+', u'.-', u'|', u'∪', u'$',
171
+ # prec-bitshift
172
+ u'<<', u'>>', u'>>>', u'.<<', u'.>>', u'.>>>',
173
+ # prec-times
174
+ u'*', u'/', u'./', u'÷', u'.÷', u'%', u'⋅', u'.%', u'.*', u'\\', u'.\\', u'&', u'∩',
175
+ # prec-rational
176
+ u'//', u'.//',
177
+ # prec-power
178
+ u'^', u'.^',
179
+ # prec-decl
180
+ u'::',
181
+ # prec-dot
182
+ u'.',
183
+ # unary op
184
+ u'+', u'-', u'!', u'~', u'√', u'∛', u'∜'
185
+ ]), Operator),
186
+
187
+ # chars
188
+ (r"'(\\.|\\[0-7]{1,3}|\\x[a-fA-F0-9]{1,3}|\\u[a-fA-F0-9]{1,4}|"
189
+ r"\\U[a-fA-F0-9]{1,6}|[^\\\'\n])'", String.Char),
190
+
191
+ # try to match trailing transpose
192
+ (r'(?<=[.\w)\]])\'+', Operator),
193
+
194
+ # strings
195
+ (r'"""', String, 'tqstring'),
196
+ (r'"', String, 'string'),
197
+
198
+ # regular expressions
199
+ (r'r"""', String.Regex, 'tqregex'),
200
+ (r'r"', String.Regex, 'regex'),
201
+
202
+ # backticks
203
+ (r'`', String.Backtick, 'command'),
204
+
205
+ # names
206
+ (allowed_variable, Name),
207
+ (r'@' + allowed_variable, Name.Decorator),
208
+
209
+ # numbers
210
+ (r'(\d+(_\d+)+\.\d*|\d*\.\d+(_\d+)+)([eEf][+-]?[0-9]+)?', Number.Float),
211
+ (r'(\d+\.\d*|\d*\.\d+)([eEf][+-]?[0-9]+)?', Number.Float),
212
+ (r'\d+(_\d+)+[eEf][+-]?[0-9]+', Number.Float),
213
+ (r'\d+[eEf][+-]?[0-9]+', Number.Float),
214
+ (r'0b[01]+(_[01]+)+', Number.Bin),
215
+ (r'0b[01]+', Number.Bin),
216
+ (r'0o[0-7]+(_[0-7]+)+', Number.Oct),
217
+ (r'0o[0-7]+', Number.Oct),
218
+ (r'0x[a-fA-F0-9]+(_[a-fA-F0-9]+)+', Number.Hex),
219
+ (r'0x[a-fA-F0-9]+', Number.Hex),
220
+ (r'\d+(_\d+)+', Number.Integer),
221
+ (r'\d+', Number.Integer)
222
+ ],
223
+
224
+ "blockcomment": [
225
+ (r'[^=#]', Comment.Multiline),
226
+ (r'#=', Comment.Multiline, '#push'),
227
+ (r'=#', Comment.Multiline, '#pop'),
228
+ (r'[=#]', Comment.Multiline),
229
+ ],
230
+
231
+ 'string': [
232
+ (r'"', String, '#pop'),
233
+ # FIXME: This escape pattern is not perfect.
234
+ (r'\\([\\"\'\$nrbtfav]|(x|u|U)[a-fA-F0-9]+|\d+)', String.Escape),
235
+ # Interpolation is defined as "$" followed by the shortest full
236
+ # expression, which is something we can't parse.
237
+ # Include the most common cases here: $word, and $(paren'd expr).
238
+ (r'\$' + allowed_variable, String.Interpol),
239
+ # (r'\$[a-zA-Z_]+', String.Interpol),
240
+ (r'(\$)(\()', bygroups(String.Interpol, Punctuation), 'in-intp'),
241
+ # @printf and @sprintf formats
242
+ (r'%[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?[hlL]?[E-GXc-giorsux%]',
243
+ String.Interpol),
244
+ (r'.|\s', String),
245
+ ],
246
+
247
+ 'tqstring': [
248
+ (r'"""', String, '#pop'),
249
+ (r'\\([\\"\'\$nrbtfav]|(x|u|U)[a-fA-F0-9]+|\d+)', String.Escape),
250
+ (r'\$' + allowed_variable, String.Interpol),
251
+ (r'(\$)(\()', bygroups(String.Interpol, Punctuation), 'in-intp'),
252
+ (r'.|\s', String),
253
+ ],
254
+
255
+ 'regex': [
256
+ (r'"', String.Regex, '#pop'),
257
+ (r'\\"', String.Regex),
258
+ (r'.|\s', String.Regex),
259
+ ],
260
+
261
+ 'tqregex': [
262
+ (r'"""', String.Regex, '#pop'),
263
+ (r'.|\s', String.Regex),
264
+ ],
265
+
266
+ 'command': [
267
+ (r'`', String.Backtick, '#pop'),
268
+ (r'\$' + allowed_variable, String.Interpol),
269
+ (r'(\$)(\()', bygroups(String.Interpol, Punctuation), 'in-intp'),
270
+ (r'.|\s', String.Backtick)
271
+ ],
272
+
273
+ 'in-intp': [
274
+ (r'\(', Punctuation, '#push'),
275
+ (r'\)', Punctuation, '#pop'),
276
+ include('root'),
277
+ ]
278
+ }
279
+
280
+ def analyse_text(text):
281
+ return shebang_matches(text, r'julia')
282
+
283
+
284
+ class JuliaConsoleLexer(Lexer):
285
+ """
286
+ For Julia console sessions. Modeled after MatlabSessionLexer.
287
+
288
+ .. versionadded:: 1.6
289
+ """
290
+ name = 'Julia console'
291
+ aliases = ['jlcon']
292
+
293
+ def get_tokens_unprocessed(self, text):
294
+ jllexer = JuliaLexer(**self.options)
295
+ start = 0
296
+ curcode = ''
297
+ insertions = []
298
+ output = False
299
+ error = False
300
+
301
+ for line in text.splitlines(True):
302
+ if line.startswith('julia>'):
303
+ insertions.append((len(curcode), [(0, Generic.Prompt, line[:6])]))
304
+ curcode += line[6:]
305
+ output = False
306
+ error = False
307
+ elif line.startswith('help?>') or line.startswith('shell>'):
308
+ yield start, Generic.Prompt, line[:6]
309
+ yield start + 6, Text, line[6:]
310
+ output = False
311
+ error = False
312
+ elif line.startswith(' ') and not output:
313
+ insertions.append((len(curcode), [(0, Text, line[:6])]))
314
+ curcode += line[6:]
315
+ else:
316
+ if curcode:
317
+ for item in do_insertions(
318
+ insertions, jllexer.get_tokens_unprocessed(curcode)):
319
+ yield item
320
+ curcode = ''
321
+ insertions = []
322
+ if line.startswith('ERROR: ') or error:
323
+ yield start, Generic.Error, line
324
+ error = True
325
+ else:
326
+ yield start, Generic.Output, line
327
+ output = True
328
+ start += len(line)
329
+
330
+ if curcode:
331
+ for item in do_insertions(
332
+ insertions, jllexer.get_tokens_unprocessed(curcode)):
333
+ yield item
@@ -5,19 +5,19 @@
5
5
 
6
6
  Pygments lexers for JVM languages.
7
7
 
8
- :copyright: Copyright 2006-2014 by the Pygments team, see AUTHORS.
8
+ :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
9
9
  :license: BSD, see LICENSE for details.
10
10
  """
11
11
 
12
12
  import re
13
13
 
14
14
  from pygments.lexer import Lexer, RegexLexer, include, bygroups, using, \
15
- this, combined, default
15
+ this, combined, default, words
16
16
  from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
17
- Number, Punctuation
17
+ Number, Punctuation
18
+ from pygments.util import shebang_matches
18
19
  from pygments import unistring as uni
19
20
 
20
-
21
21
  __all__ = ['JavaLexer', 'ScalaLexer', 'GosuLexer', 'GosuTemplateLexer',
22
22
  'GroovyLexer', 'IokeLexer', 'ClojureLexer', 'ClojureScriptLexer',
23
23
  'KotlinLexer', 'XtendLexer', 'AspectJLexer', 'CeylonLexer',
@@ -41,37 +41,50 @@ class JavaLexer(RegexLexer):
41
41
  (r'[^\S\n]+', Text),
42
42
  (r'//.*?\n', Comment.Single),
43
43
  (r'/\*.*?\*/', Comment.Multiline),
44
- # method names
45
- (r'((?:(?:[^\W\d]|\$)[\w\.\[\]\$<>]*\s+)+?)' # return arguments
46
- r'((?:[^\W\d]|\$)[\w\$]*)' # method name
47
- r'(\s*)(\()', # signature start
48
- bygroups(using(this), Name.Function, Text, Operator)),
49
- (r'@[^\W\d][\w\.]*', Name.Decorator),
44
+ # keywords: go before method names to avoid lexing "throw new XYZ"
45
+ # as a method signature
50
46
  (r'(assert|break|case|catch|continue|default|do|else|finally|for|'
51
47
  r'if|goto|instanceof|new|return|switch|this|throw|try|while)\b',
52
48
  Keyword),
49
+ # method names
50
+ (r'((?:(?:[^\W\d]|\$)[\w.\[\]$<>]*\s+)+?)' # return arguments
51
+ r'((?:[^\W\d]|\$)[\w$]*)' # method name
52
+ r'(\s*)(\()', # signature start
53
+ bygroups(using(this), Name.Function, Text, Operator)),
54
+ (r'@[^\W\d][\w.]*', Name.Decorator),
53
55
  (r'(abstract|const|enum|extends|final|implements|native|private|'
54
56
  r'protected|public|static|strictfp|super|synchronized|throws|'
55
57
  r'transient|volatile)\b', Keyword.Declaration),
56
58
  (r'(boolean|byte|char|double|float|int|long|short|void)\b',
57
59
  Keyword.Type),
58
- (r'(package)(\s+)', bygroups(Keyword.Namespace, Text)),
60
+ (r'(package)(\s+)', bygroups(Keyword.Namespace, Text), 'import'),
59
61
  (r'(true|false|null)\b', Keyword.Constant),
60
- (r'(class|interface)(\s+)', bygroups(Keyword.Declaration, Text), 'class'),
61
- (r'(import)(\s+)', bygroups(Keyword.Namespace, Text), 'import'),
62
+ (r'(class|interface)(\s+)', bygroups(Keyword.Declaration, Text),
63
+ 'class'),
64
+ (r'(import(?:\s+static)?)(\s+)', bygroups(Keyword.Namespace, Text),
65
+ 'import'),
62
66
  (r'"(\\\\|\\"|[^"])*"', String),
63
67
  (r"'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'", String.Char),
64
- (r'(\.)((?:[^\W\d]|\$)[\w\$]*)', bygroups(Operator, Name.Attribute)),
65
- (r'([^\W\d]|\$)[\w\$]*:', Name.Label),
66
- (r'([^\W\d]|\$)[\w\$]*', Name),
67
- (r'[~\^\*!%&\[\]\(\)\{\}<>\|+=:;,./?-]', Operator),
68
- (r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
69
- (r'0x[0-9a-fA-F]+', Number.Hex),
70
- (r'[0-9]+(_+[0-9]+)*L?', Number.Integer),
68
+ (r'(\.)((?:[^\W\d]|\$)[\w$]*)', bygroups(Operator, Name.Attribute)),
69
+ (r'^\s*([^\W\d]|\$)[\w$]*:', Name.Label),
70
+ (r'([^\W\d]|\$)[\w$]*', Name),
71
+ (r'([0-9][0-9_]*\.([0-9][0-9_]*)?|'
72
+ r'\.[0-9][0-9_]*)'
73
+ r'([eE][+\-]?[0-9][0-9_]*)?[fFdD]?|'
74
+ r'[0-9][eE][+\-]?[0-9][0-9_]*[fFdD]?|'
75
+ r'[0-9]([eE][+\-]?[0-9][0-9_]*)?[fFdD]|'
76
+ r'0[xX]([0-9a-fA-F][0-9a-fA-F_]*\.?|'
77
+ r'([0-9a-fA-F][0-9a-fA-F_]*)?\.[0-9a-fA-F][0-9a-fA-F_]*)'
78
+ r'[pP][+\-]?[0-9][0-9_]*[fFdD]?', Number.Float),
79
+ (r'0[xX][0-9a-fA-F][0-9a-fA-F_]*[lL]?', Number.Hex),
80
+ (r'0[bB][01][01_]*[lL]?', Number.Bin),
81
+ (r'0[0-7_]+[lL]?', Number.Oct),
82
+ (r'0|[1-9][0-9_]*[lL]?', Number.Integer),
83
+ (r'[~^*!%&\[\](){}<>|+=:;,./?-]', Operator),
71
84
  (r'\n', Text)
72
85
  ],
73
86
  'class': [
74
- (r'([^\W\d]|\$)[\w\$]*', Name.Class, '#pop')
87
+ (r'([^\W\d]|\$)[\w$]*', Name.Class, '#pop')
75
88
  ],
76
89
  'import': [
77
90
  (r'[\w.]+\*?', Name.Namespace, '#pop')
@@ -91,7 +104,7 @@ class AspectJLexer(JavaLexer):
91
104
  filenames = ['*.aj']
92
105
  mimetypes = ['text/x-aspectj']
93
106
 
94
- aj_keywords = [
107
+ aj_keywords = set((
95
108
  'aspect', 'pointcut', 'privileged', 'call', 'execution',
96
109
  'initialization', 'preinitialization', 'handler', 'get', 'set',
97
110
  'staticinitialization', 'target', 'args', 'within', 'withincode',
@@ -101,9 +114,9 @@ class AspectJLexer(JavaLexer):
101
114
  'thisJoinPointStaticPart', 'thisEnclosingJoinPointStaticPart',
102
115
  'issingleton', 'perthis', 'pertarget', 'percflow', 'percflowbelow',
103
116
  'pertypewithin', 'lock', 'unlock', 'thisAspectInstance'
104
- ]
105
- aj_inter_type = ['parents:', 'warning:', 'error:', 'soft:', 'precedence:']
106
- aj_inter_type_annotation = ['@type', '@method', '@constructor', '@field']
117
+ ))
118
+ aj_inter_type = set(('parents:', 'warning:', 'error:', 'soft:', 'precedence:'))
119
+ aj_inter_type_annotation = set(('@type', '@method', '@constructor', '@field'))
107
120
 
108
121
  def get_tokens_unprocessed(self, text):
109
122
  for index, token, value in JavaLexer.get_tokens_unprocessed(self, text):
@@ -244,12 +257,12 @@ class ScalaLexer(RegexLexer):
244
257
  u'\ua77d-\ua77e\ua780\ua782\ua784\ua786\ua78b\uff21-\uff3a]')
245
258
 
246
259
  idrest = u'%s(?:%s|[0-9])*(?:(?<=_)%s)?' % (letter, letter, op)
260
+ letter_letter_digit = u'%s(?:%s|\d)*' % (letter, letter)
247
261
 
248
262
  tokens = {
249
263
  'root': [
250
264
  # method names
251
265
  (r'(class|trait|object)(\s+)', bygroups(Keyword, Text), 'class'),
252
- (u"'%s" % idrest, Text.Symbol),
253
266
  (r'[^\S\n]+', Text),
254
267
  (r'//.*?\n', Comment.Single),
255
268
  (r'/\*', Comment.Multiline, 'comment'),
@@ -268,12 +281,16 @@ class ScalaLexer(RegexLexer):
268
281
  (r'""".*?"""(?!")', String),
269
282
  (r'"(\\\\|\\"|[^"])*"', String),
270
283
  (r"'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'", String.Char),
271
- # (ur'(\.)(%s|%s|`[^`]+`)' % (idrest, op), bygroups(Operator,
272
- # Name.Attribute)),
284
+ (u"'%s" % idrest, Text.Symbol),
285
+ (r'[fs]"""', String, 'interptriplestring'), # interpolated strings
286
+ (r'[fs]"', String, 'interpstring'), # interpolated strings
287
+ (r'raw"(\\\\|\\"|[^"])*"', String), # raw strings
288
+ # (ur'(\.)(%s|%s|`[^`]+`)' % (idrest, op), bygroups(Operator,
289
+ # Name.Attribute)),
273
290
  (idrest, Name),
274
291
  (r'`[^`]+`', Name),
275
292
  (r'\[', Operator, 'typeparam'),
276
- (r'[\(\)\{\};,.#]', Operator),
293
+ (r'[(){};,.#]', Operator),
277
294
  (op, Operator),
278
295
  (r'([0-9][0-9]*\.[0-9]*|\.[0-9]+)([eE][+-]?[0-9]+)?[fFdD]?',
279
296
  Number.Float),
@@ -285,16 +302,16 @@ class ScalaLexer(RegexLexer):
285
302
  (u'(%s|%s|`[^`]+`)(\\s*)(\\[)' % (idrest, op),
286
303
  bygroups(Name.Class, Text, Operator), 'typeparam'),
287
304
  (r'\s+', Text),
288
- (r'{', Operator, '#pop'),
305
+ (r'\{', Operator, '#pop'),
289
306
  (r'\(', Operator, '#pop'),
290
307
  (r'//.*?\n', Comment.Single, '#pop'),
291
308
  (u'%s|%s|`[^`]+`' % (idrest, op), Name.Class, '#pop'),
292
309
  ],
293
310
  'type': [
294
311
  (r'\s+', Text),
295
- (u'<[%:]|>:|[#_\u21D2]|forSome|type', Keyword),
296
- (r'([,\);}]|=>|=)(\s*)', bygroups(Operator, Text), '#pop'),
297
- (r'[\(\{]', Operator, '#push'),
312
+ (r'<[%:]|>:|[#_]|forSome|type', Keyword),
313
+ (u'([,);}]|=>|=|\u21d2)(\\s*)', bygroups(Operator, Text), '#pop'),
314
+ (r'[({]', Operator, '#push'),
298
315
  (u'((?:%s|%s|`[^`]+`)(?:\\.(?:%s|%s|`[^`]+`))*)(\\s*)(\\[)' %
299
316
  (idrest, op, idrest, op),
300
317
  bygroups(Keyword.Type, Text, Operator), ('#pop', 'typeparam')),
@@ -307,12 +324,12 @@ class ScalaLexer(RegexLexer):
307
324
  'typeparam': [
308
325
  (r'[\s,]+', Text),
309
326
  (u'<[%:]|=>|>:|[#_\u21D2]|forSome|type', Keyword),
310
- (r'([\]\)\}])', Operator, '#pop'),
311
- (r'[\(\[\{]', Operator, '#push'),
327
+ (r'([\])}])', Operator, '#pop'),
328
+ (r'[(\[{]', Operator, '#push'),
312
329
  (u'\\.|%s|%s|`[^`]+`' % (idrest, op), Keyword.Type)
313
330
  ],
314
331
  'comment': [
315
- (r'[^/\*]+', Comment.Multiline),
332
+ (r'[^/*]+', Comment.Multiline),
316
333
  (r'/\*', Comment.Multiline, '#push'),
317
334
  (r'\*/', Comment.Multiline, '#pop'),
318
335
  (r'[*/]', Comment.Multiline)
@@ -320,6 +337,27 @@ class ScalaLexer(RegexLexer):
320
337
  'import': [
321
338
  (u'(%s|\\.)+' % idrest, Name.Namespace, '#pop')
322
339
  ],
340
+ 'interpstringcommon': [
341
+ (r'[^"$\\]+', String),
342
+ (r'\$\$', String),
343
+ (r'\$' + letter_letter_digit, String.Interpol),
344
+ (r'\$\{', String.Interpol, 'interpbrace'),
345
+ (r'\\.', String),
346
+ ],
347
+ 'interptriplestring': [
348
+ (r'"""(?!")', String, '#pop'),
349
+ (r'"', String),
350
+ include('interpstringcommon'),
351
+ ],
352
+ 'interpstring': [
353
+ (r'"', String, '#pop'),
354
+ include('interpstringcommon'),
355
+ ],
356
+ 'interpbrace': [
357
+ (r'\}', String.Interpol, '#pop'),
358
+ (r'\{', String.Interpol, '#push'),
359
+ include('root'),
360
+ ],
323
361
  }
324
362
 
325
363
 
@@ -340,14 +378,14 @@ class GosuLexer(RegexLexer):
340
378
  tokens = {
341
379
  'root': [
342
380
  # method names
343
- (r'^(\s*(?:[a-zA-Z_][\w\.\[\]]*\s+)+?)' # modifiers etc.
344
- r'([a-zA-Z_]\w*)' # method name
345
- r'(\s*)(\()', # signature start
381
+ (r'^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)' # modifiers etc.
382
+ r'([a-zA-Z_]\w*)' # method name
383
+ r'(\s*)(\()', # signature start
346
384
  bygroups(using(this), Name.Function, Text, Operator)),
347
385
  (r'[^\S\n]+', Text),
348
386
  (r'//.*?\n', Comment.Single),
349
387
  (r'/\*.*?\*/', Comment.Multiline),
350
- (r'@[a-zA-Z_][\w\.]*', Name.Decorator),
388
+ (r'@[a-zA-Z_][\w.]*', Name.Decorator),
351
389
  (r'(in|as|typeof|statictypeof|typeis|typeas|if|else|foreach|for|'
352
390
  r'index|while|do|continue|break|return|try|catch|finally|this|'
353
391
  r'throw|new|switch|case|default|eval|super|outer|classpath|'
@@ -365,39 +403,39 @@ class GosuLexer(RegexLexer):
365
403
  (r'(uses)(\s+)([\w.]+\*?)',
366
404
  bygroups(Keyword.Namespace, Text, Name.Namespace)),
367
405
  (r'"', String, 'string'),
368
- (r'(\??[\.#])([a-zA-Z_]\w*)',
406
+ (r'(\??[.#])([a-zA-Z_]\w*)',
369
407
  bygroups(Operator, Name.Attribute)),
370
408
  (r'(:)([a-zA-Z_]\w*)',
371
409
  bygroups(Operator, Name.Attribute)),
372
- (r'[a-zA-Z_\$]\w*', Name),
373
- (r'and|or|not|[\\~\^\*!%&\[\]\(\)\{\}<>\|+=:;,./?-]', Operator),
410
+ (r'[a-zA-Z_$]\w*', Name),
411
+ (r'and|or|not|[\\~^*!%&\[\](){}<>|+=:;,./?-]', Operator),
374
412
  (r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
375
413
  (r'[0-9]+', Number.Integer),
376
414
  (r'\n', Text)
377
415
  ],
378
416
  'templateText': [
379
- (r'(\\<)|(\\\$)', String),
380
- (r'(<%@\s+)(extends|params)',
381
- bygroups(Operator, Name.Decorator), 'stringTemplate'),
382
- (r'<%!--.*?--%>', Comment.Multiline),
383
- (r'(<%)|(<%=)', Operator, 'stringTemplate'),
384
- (r'\$\{', Operator, 'stringTemplateShorthand'),
385
- (r'.', String)
417
+ (r'(\\<)|(\\\$)', String),
418
+ (r'(<%@\s+)(extends|params)',
419
+ bygroups(Operator, Name.Decorator), 'stringTemplate'),
420
+ (r'<%!--.*?--%>', Comment.Multiline),
421
+ (r'(<%)|(<%=)', Operator, 'stringTemplate'),
422
+ (r'\$\{', Operator, 'stringTemplateShorthand'),
423
+ (r'.', String)
386
424
  ],
387
425
  'string': [
388
- (r'"', String, '#pop'),
389
- include('templateText')
426
+ (r'"', String, '#pop'),
427
+ include('templateText')
390
428
  ],
391
429
  'stringTemplate': [
392
- (r'"', String, 'string'),
393
- (r'%>', Operator, '#pop'),
394
- include('root')
430
+ (r'"', String, 'string'),
431
+ (r'%>', Operator, '#pop'),
432
+ include('root')
395
433
  ],
396
434
  'stringTemplateShorthand': [
397
- (r'"', String, 'string'),
398
- (r'\{', Operator, 'stringTemplateShorthand'),
399
- (r'\}', Operator, '#pop'),
400
- include('root')
435
+ (r'"', String, 'string'),
436
+ (r'\{', Operator, 'stringTemplateShorthand'),
437
+ (r'\}', Operator, '#pop'),
438
+ include('root')
401
439
  ],
402
440
  }
403
441
 
@@ -413,11 +451,11 @@ class GosuTemplateLexer(Lexer):
413
451
  aliases = ['gst']
414
452
  filenames = ['*.gst']
415
453
  mimetypes = ['text/x-gosu-template']
416
- lexer = GosuLexer()
417
454
 
418
455
  def get_tokens_unprocessed(self, text):
456
+ lexer = GosuLexer()
419
457
  stack = ['templateText']
420
- for item in self.lexer.get_tokens_unprocessed(text, stack):
458
+ for item in lexer.get_tokens_unprocessed(text, stack):
421
459
  yield item
422
460
 
423
461
 
@@ -430,7 +468,7 @@ class GroovyLexer(RegexLexer):
430
468
 
431
469
  name = 'Groovy'
432
470
  aliases = ['groovy']
433
- filenames = ['*.groovy']
471
+ filenames = ['*.groovy','*.gradle']
434
472
  mimetypes = ['text/x-groovy']
435
473
 
436
474
  flags = re.MULTILINE | re.DOTALL
@@ -443,14 +481,14 @@ class GroovyLexer(RegexLexer):
443
481
  ],
444
482
  'base': [
445
483
  # method names
446
- (r'^(\s*(?:[a-zA-Z_][\w\.\[\]]*\s+)+?)' # return arguments
484
+ (r'^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)' # return arguments
447
485
  r'([a-zA-Z_]\w*)' # method name
448
486
  r'(\s*)(\()', # signature start
449
487
  bygroups(using(this), Name.Function, Text, Operator)),
450
488
  (r'[^\S\n]+', Text),
451
489
  (r'//.*?\n', Comment.Single),
452
490
  (r'/\*.*?\*/', Comment.Multiline),
453
- (r'@[a-zA-Z_][\w\.]*', Name.Decorator),
491
+ (r'@[a-zA-Z_][\w.]*', Name.Decorator),
454
492
  (r'(assert|break|case|catch|continue|default|do|else|finally|for|'
455
493
  r'if|goto|instanceof|new|return|switch|this|throw|try|while|in|as)\b',
456
494
  Keyword),
@@ -464,6 +502,8 @@ class GroovyLexer(RegexLexer):
464
502
  (r'(class|interface)(\s+)', bygroups(Keyword.Declaration, Text),
465
503
  'class'),
466
504
  (r'(import)(\s+)', bygroups(Keyword.Namespace, Text), 'import'),
505
+ (r'""".*?"""', String.Double),
506
+ (r"'''.*?'''", String.Single),
467
507
  (r'"(\\\\|\\"|[^"])*"', String.Double),
468
508
  (r"'(\\\\|\\'|[^'])*'", String.Single),
469
509
  (r'\$/((?!/\$).)*/\$', String),
@@ -471,8 +511,8 @@ class GroovyLexer(RegexLexer):
471
511
  (r"'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'", String.Char),
472
512
  (r'(\.)([a-zA-Z_]\w*)', bygroups(Operator, Name.Attribute)),
473
513
  (r'[a-zA-Z_]\w*:', Name.Label),
474
- (r'[a-zA-Z_\$]\w*', Name),
475
- (r'[~\^\*!%&\[\]\(\)\{\}<>\|+=:;,./?-]', Operator),
514
+ (r'[a-zA-Z_$]\w*', Name),
515
+ (r'[~^*!%&\[\](){}<>|+=:;,./?-]', Operator),
476
516
  (r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
477
517
  (r'0x[0-9a-fA-F]+', Number.Hex),
478
518
  (r'[0-9]+L?', Number.Integer),
@@ -505,45 +545,45 @@ class IokeLexer(RegexLexer):
505
545
  'interpolatableText': [
506
546
  (r'(\\b|\\e|\\t|\\n|\\f|\\r|\\"|\\\\|\\#|\\\Z|\\u[0-9a-fA-F]{1,4}'
507
547
  r'|\\[0-3]?[0-7]?[0-7])', String.Escape),
508
- (r'#{', Punctuation, 'textInterpolationRoot')
509
- ],
548
+ (r'#\{', Punctuation, 'textInterpolationRoot')
549
+ ],
510
550
 
511
551
  'text': [
512
552
  (r'(?<!\\)"', String, '#pop'),
513
553
  include('interpolatableText'),
514
554
  (r'[^"]', String)
515
- ],
555
+ ],
516
556
 
517
557
  'documentation': [
518
558
  (r'(?<!\\)"', String.Doc, '#pop'),
519
559
  include('interpolatableText'),
520
560
  (r'[^"]', String.Doc)
521
- ],
561
+ ],
522
562
 
523
563
  'textInterpolationRoot': [
524
- (r'}', Punctuation, '#pop'),
564
+ (r'\}', Punctuation, '#pop'),
525
565
  include('root')
526
- ],
566
+ ],
527
567
 
528
568
  'slashRegexp': [
529
- (r'(?<!\\)/[oxpniums]*', String.Regex, '#pop'),
569
+ (r'(?<!\\)/[im-psux]*', String.Regex, '#pop'),
530
570
  include('interpolatableText'),
531
571
  (r'\\/', String.Regex),
532
572
  (r'[^/]', String.Regex)
533
- ],
573
+ ],
534
574
 
535
575
  'squareRegexp': [
536
- (r'(?<!\\)][oxpniums]*', String.Regex, '#pop'),
576
+ (r'(?<!\\)][im-psux]*', String.Regex, '#pop'),
537
577
  include('interpolatableText'),
538
578
  (r'\\]', String.Regex),
539
579
  (r'[^\]]', String.Regex)
540
- ],
580
+ ],
541
581
 
542
582
  'squareText': [
543
583
  (r'(?<!\\)]', String, '#pop'),
544
584
  include('interpolatableText'),
545
585
  (r'[^\]]', String)
546
- ],
586
+ ],
547
587
 
548
588
  'root': [
549
589
  (r'\n', Text),
@@ -553,86 +593,86 @@ class IokeLexer(RegexLexer):
553
593
  (r';(.*?)\n', Comment),
554
594
  (r'\A#!(.*?)\n', Comment),
555
595
 
556
- #Regexps
596
+ # Regexps
557
597
  (r'#/', String.Regex, 'slashRegexp'),
558
598
  (r'#r\[', String.Regex, 'squareRegexp'),
559
599
 
560
- #Symbols
600
+ # Symbols
561
601
  (r':[\w!:?]+', String.Symbol),
562
602
  (r'[\w!:?]+:(?![\w!?])', String.Other),
563
603
  (r':"(\\\\|\\"|[^"])*"', String.Symbol),
564
604
 
565
- #Documentation
605
+ # Documentation
566
606
  (r'((?<=fn\()|(?<=fnx\()|(?<=method\()|(?<=macro\()|(?<=lecro\()'
567
607
  r'|(?<=syntax\()|(?<=dmacro\()|(?<=dlecro\()|(?<=dlecrox\()'
568
608
  r'|(?<=dsyntax\())\s*"', String.Doc, 'documentation'),
569
609
 
570
- #Text
610
+ # Text
571
611
  (r'"', String, 'text'),
572
612
  (r'#\[', String, 'squareText'),
573
613
 
574
- #Mimic
575
- (r'\w[a-zA-Z0-9!?_:]+(?=\s*=.*mimic\s)', Name.Entity),
614
+ # Mimic
615
+ (r'\w[\w!:?]+(?=\s*=.*mimic\s)', Name.Entity),
576
616
 
577
- #Assignment
617
+ # Assignment
578
618
  (r'[a-zA-Z_][\w!:?]*(?=[\s]*[+*/-]?=[^=].*($|\.))',
579
619
  Name.Variable),
580
620
 
581
621
  # keywords
582
622
  (r'(break|cond|continue|do|ensure|for|for:dict|for:set|if|let|'
583
623
  r'loop|p:for|p:for:dict|p:for:set|return|unless|until|while|'
584
- r'with)(?![a-zA-Z0-9!:_?])', Keyword.Reserved),
624
+ r'with)(?![\w!:?])', Keyword.Reserved),
585
625
 
586
626
  # Origin
587
- (r'(eval|mimic|print|println)(?![a-zA-Z0-9!:_?])', Keyword),
627
+ (r'(eval|mimic|print|println)(?![\w!:?])', Keyword),
588
628
 
589
629
  # Base
590
630
  (r'(cell\?|cellNames|cellOwner\?|cellOwner|cells|cell|'
591
631
  r'documentation|hash|identity|mimic|removeCell\!|undefineCell\!)'
592
- r'(?![a-zA-Z0-9!:_?])', Keyword),
632
+ r'(?![\w!:?])', Keyword),
593
633
 
594
634
  # Ground
595
- (r'(stackTraceAsText)(?![a-zA-Z0-9!:_?])', Keyword),
635
+ (r'(stackTraceAsText)(?![\w!:?])', Keyword),
596
636
 
597
- #DefaultBehaviour Literals
598
- (r'(dict|list|message|set)(?![a-zA-Z0-9!:_?])', Keyword.Reserved),
637
+ # DefaultBehaviour Literals
638
+ (r'(dict|list|message|set)(?![\w!:?])', Keyword.Reserved),
599
639
 
600
- #DefaultBehaviour Case
640
+ # DefaultBehaviour Case
601
641
  (r'(case|case:and|case:else|case:nand|case:nor|case:not|case:or|'
602
- r'case:otherwise|case:xor)(?![a-zA-Z0-9!:_?])', Keyword.Reserved),
642
+ r'case:otherwise|case:xor)(?![\w!:?])', Keyword.Reserved),
603
643
 
604
- #DefaultBehaviour Reflection
644
+ # DefaultBehaviour Reflection
605
645
  (r'(asText|become\!|derive|freeze\!|frozen\?|in\?|is\?|kind\?|'
606
646
  r'mimic\!|mimics|mimics\?|prependMimic\!|removeAllMimics\!|'
607
647
  r'removeMimic\!|same\?|send|thaw\!|uniqueHexId)'
608
- r'(?![a-zA-Z0-9!:_?])', Keyword),
648
+ r'(?![\w!:?])', Keyword),
609
649
 
610
- #DefaultBehaviour Aspects
611
- (r'(after|around|before)(?![a-zA-Z0-9!:_?])', Keyword.Reserved),
650
+ # DefaultBehaviour Aspects
651
+ (r'(after|around|before)(?![\w!:?])', Keyword.Reserved),
612
652
 
613
653
  # DefaultBehaviour
614
654
  (r'(kind|cellDescriptionDict|cellSummary|genSym|inspect|notice)'
615
- r'(?![a-zA-Z0-9!:_?])', Keyword),
655
+ r'(?![\w!:?])', Keyword),
616
656
  (r'(use|destructuring)', Keyword.Reserved),
617
657
 
618
- #DefaultBehavior BaseBehavior
658
+ # DefaultBehavior BaseBehavior
619
659
  (r'(cell\?|cellOwner\?|cellOwner|cellNames|cells|cell|'
620
660
  r'documentation|identity|removeCell!|undefineCell)'
621
- r'(?![a-zA-Z0-9!:_?])', Keyword),
661
+ r'(?![\w!:?])', Keyword),
622
662
 
623
- #DefaultBehavior Internal
663
+ # DefaultBehavior Internal
624
664
  (r'(internal:compositeRegexp|internal:concatenateText|'
625
665
  r'internal:createDecimal|internal:createNumber|'
626
666
  r'internal:createRegexp|internal:createText)'
627
- r'(?![a-zA-Z0-9!:_?])', Keyword.Reserved),
667
+ r'(?![\w!:?])', Keyword.Reserved),
628
668
 
629
- #DefaultBehaviour Conditions
669
+ # DefaultBehaviour Conditions
630
670
  (r'(availableRestarts|bind|error\!|findRestart|handle|'
631
671
  r'invokeRestart|rescue|restart|signal\!|warn\!)'
632
- r'(?![a-zA-Z0-9!:_?])', Keyword.Reserved),
672
+ r'(?![\w!:?])', Keyword.Reserved),
633
673
 
634
674
  # constants
635
- (r'(nil|false|true)(?![a-zA-Z0-9!:_?])', Name.Constant),
675
+ (r'(nil|false|true)(?![\w!:?])', Name.Constant),
636
676
 
637
677
  # names
638
678
  (r'(Arity|Base|Call|Condition|DateTime|Aspects|Pointcut|'
@@ -644,12 +684,12 @@ class IokeLexer(RegexLexer):
644
684
  r'LexicalBlock|LexicalMacro|List|Message|Method|Mixins|'
645
685
  r'NativeMethod|Number|Origin|Pair|Range|Reflector|Regexp Match|'
646
686
  r'Regexp|Rescue|Restart|Runtime|Sequence|Set|Symbol|'
647
- r'System|Text|Tuple)(?![a-zA-Z0-9!:_?])', Name.Builtin),
687
+ r'System|Text|Tuple)(?![\w!:?])', Name.Builtin),
648
688
 
649
689
  # functions
650
690
  (u'(generateMatchMethod|aliasMethod|\u03bb|\u028E|fnx|fn|method|'
651
691
  u'dmacro|dlecro|syntax|macro|dlecrox|lecrox|lecro|syntax)'
652
- u'(?![a-zA-Z0-9!:_?])', Name.Function),
692
+ u'(?![\w!:?])', Name.Function),
653
693
 
654
694
  # Numbers
655
695
  (r'-?0[xX][0-9a-fA-F]+', Number.Hex),
@@ -658,7 +698,7 @@ class IokeLexer(RegexLexer):
658
698
 
659
699
  (r'#\(', Punctuation),
660
700
 
661
- # Operators
701
+ # Operators
662
702
  (r'(&&>>|\|\|>>|\*\*>>|:::|::|\.\.\.|===|\*\*>|\*\*=|&&>|&&=|'
663
703
  r'\|\|>|\|\|=|\->>|\+>>|!>>|<>>>|<>>|&>>|%>>|#>>|@>>|/>>|\*>>|'
664
704
  r'\?>>|\|>>|\^>>|~>>|\$>>|=>>|<<=|>>=|<=>|<\->|=~|!~|=>|\+\+|'
@@ -670,12 +710,12 @@ class IokeLexer(RegexLexer):
670
710
  Operator),
671
711
 
672
712
  # Punctuation
673
- (r'(\`\`|\`|\'\'|\'|\.|\,|@@|@|\[|\]|\(|\)|{|})', Punctuation),
713
+ (r'(\`\`|\`|\'\'|\'|\.|\,|@@|@|\[|\]|\(|\)|\{|\})', Punctuation),
674
714
 
675
- #kinds
715
+ # kinds
676
716
  (r'[A-Z][\w!:?]*', Name.Class),
677
717
 
678
- #default cellnames
718
+ # default cellnames
679
719
  (r'[a-z_][\w!:?]*', Name)
680
720
  ]
681
721
  }
@@ -692,19 +732,19 @@ class ClojureLexer(RegexLexer):
692
732
  filenames = ['*.clj']
693
733
  mimetypes = ['text/x-clojure', 'application/x-clojure']
694
734
 
695
- special_forms = [
735
+ special_forms = (
696
736
  '.', 'def', 'do', 'fn', 'if', 'let', 'new', 'quote', 'var', 'loop'
697
- ]
737
+ )
698
738
 
699
739
  # It's safe to consider 'ns' a declaration thing because it defines a new
700
740
  # namespace.
701
- declarations = [
741
+ declarations = (
702
742
  'def-', 'defn', 'defn-', 'defmacro', 'defmulti', 'defmethod',
703
743
  'defstruct', 'defonce', 'declare', 'definline', 'definterface',
704
744
  'defprotocol', 'defrecord', 'deftype', 'defproject', 'ns'
705
- ]
745
+ )
706
746
 
707
- builtins = [
747
+ builtins = (
708
748
  '*', '+', '-', '->', '/', '<', '<=', '=', '==', '>', '>=', '..',
709
749
  'accessor', 'agent', 'agent-errors', 'aget', 'alength', 'all-ns',
710
750
  'alter', 'and', 'append-child', 'apply', 'array-map', 'aset',
@@ -753,7 +793,7 @@ class ClojureLexer(RegexLexer):
753
793
  'val', 'vals', 'var-get', 'var-set', 'var?', 'vector', 'vector-zip',
754
794
  'vector?', 'when', 'when-first', 'when-let', 'when-not',
755
795
  'with-local-vars', 'with-meta', 'with-open', 'with-out-str',
756
- 'xml-seq', 'xml-zip', 'zero?', 'zipmap', 'zipper']
796
+ 'xml-seq', 'xml-zip', 'zero?', 'zipmap', 'zipper')
757
797
 
758
798
  # valid names for identifiers
759
799
  # well, names can only not consist fully of numbers
@@ -763,9 +803,6 @@ class ClojureLexer(RegexLexer):
763
803
  # but that's hard, so just pretend / is part of the name
764
804
  valid_name = r'(?!#)[\w!$%*+<=>?/.#-]+'
765
805
 
766
- def _multi_escape(entries):
767
- return '(%s)' % ('|'.join(re.escape(entry) + ' ' for entry in entries))
768
-
769
806
  tokens = {
770
807
  'root': [
771
808
  # the comments - always starting with semicolon
@@ -792,17 +829,17 @@ class ClojureLexer(RegexLexer):
792
829
  (r'~@|[`\'#^~&@]', Operator),
793
830
 
794
831
  # highlight the special forms
795
- (_multi_escape(special_forms), Keyword),
832
+ (words(special_forms, suffix=' '), Keyword),
796
833
 
797
834
  # Technically, only the special forms are 'keywords'. The problem
798
835
  # is that only treating them as keywords means that things like
799
836
  # 'defn' and 'ns' need to be highlighted as builtins. This is ugly
800
837
  # and weird for most styles. So, as a compromise we're going to
801
838
  # highlight them as Keyword.Declarations.
802
- (_multi_escape(declarations), Keyword.Declaration),
839
+ (words(declarations, suffix=' '), Keyword.Declaration),
803
840
 
804
841
  # highlight the builtins
805
- (_multi_escape(builtins), Name.Builtin),
842
+ (words(builtins, suffix=' '), Name.Builtin),
806
843
 
807
844
  # the remaining functions
808
845
  (r'(?<=\()' + valid_name, Name.Function),
@@ -848,9 +885,9 @@ class TeaLangLexer(RegexLexer):
848
885
  tokens = {
849
886
  'root': [
850
887
  # method names
851
- (r'^(\s*(?:[a-zA-Z_][\w\.\[\]]*\s+)+?)' # return arguments
852
- r'([a-zA-Z_]\w*)' # method name
853
- r'(\s*)(\()', # signature start
888
+ (r'^(\s*(?:[a-zA-Z_][\w\.\[\]]*\s+)+?)' # return arguments
889
+ r'([a-zA-Z_]\w*)' # method name
890
+ r'(\s*)(\()', # signature start
854
891
  bygroups(using(this), Name.Function, Text, Operator)),
855
892
  (r'[^\S\n]+', Text),
856
893
  (r'//.*?\n', Comment.Single),
@@ -902,24 +939,24 @@ class CeylonLexer(RegexLexer):
902
939
  tokens = {
903
940
  'root': [
904
941
  # method names
905
- (r'^(\s*(?:[a-zA-Z_][\w\.\[\]]*\s+)+?)' # return arguments
942
+ (r'^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)' # return arguments
906
943
  r'([a-zA-Z_]\w*)' # method name
907
944
  r'(\s*)(\()', # signature start
908
945
  bygroups(using(this), Name.Function, Text, Operator)),
909
946
  (r'[^\S\n]+', Text),
910
947
  (r'//.*?\n', Comment.Single),
911
948
  (r'/\*', Comment.Multiline, 'comment'),
912
- (r'(variable|shared|abstract|doc|by|formal|actual|late|native)',
913
- Name.Decorator),
914
- (r'(break|case|catch|continue|default|else|finally|for|in|'
915
- r'variable|if|return|switch|this|throw|try|while|is|exists|dynamic|'
916
- r'nonempty|then|outer|assert)\b', Keyword),
917
- (r'(abstracts|extends|satisfies|adapts|'
918
- r'super|given|of|out|assign|'
919
- r'transient|volatile)\b', Keyword.Declaration),
920
- (r'(function|value|void)\b',
949
+ (r'(shared|abstract|formal|default|actual|variable|deprecated|small|'
950
+ r'late|literal|doc|by|see|throws|optional|license|tagged|final|native|'
951
+ r'annotation|sealed)\b', Name.Decorator),
952
+ (r'(break|case|catch|continue|else|finally|for|in|'
953
+ r'if|return|switch|this|throw|try|while|is|exists|dynamic|'
954
+ r'nonempty|then|outer|assert|let)\b', Keyword),
955
+ (r'(abstracts|extends|satisfies|'
956
+ r'super|given|of|out|assign)\b', Keyword.Declaration),
957
+ (r'(function|value|void|new)\b',
921
958
  Keyword.Type),
922
- (r'(package)(\s+)', bygroups(Keyword.Namespace, Text)),
959
+ (r'(assembly|module|package)(\s+)', bygroups(Keyword.Namespace, Text)),
923
960
  (r'(true|false|null)\b', Keyword.Constant),
924
961
  (r'(class|interface|object|alias)(\s+)',
925
962
  bygroups(Keyword.Declaration, Text), 'class'),
@@ -931,7 +968,7 @@ class CeylonLexer(RegexLexer):
931
968
  bygroups(Operator, Name.Attribute)),
932
969
  (r'[a-zA-Z_]\w*:', Name.Label),
933
970
  (r'[a-zA-Z_]\w*', Name),
934
- (r'[~\^\*!%&\[\]\(\)\{\}<>\|+=:;,./?-]', Operator),
971
+ (r'[~^*!%&\[\](){}<>|+=:;,./?-]', Operator),
935
972
  (r'\d{1,3}(_\d{3})+\.\d{1,3}(_\d{3})+[kMGTPmunpf]?', Number.Float),
936
973
  (r'\d{1,3}(_\d{3})+\.[0-9]+([eE][+-]?[0-9]+)?[kMGTPmunpf]?',
937
974
  Number.Float),
@@ -964,7 +1001,7 @@ class CeylonLexer(RegexLexer):
964
1001
 
965
1002
  class KotlinLexer(RegexLexer):
966
1003
  """
967
- For `Kotlin <http://kotlin.jetbrains.org/>`_
1004
+ For `Kotlin <http://kotlinlang.org/>`_
968
1005
  source code.
969
1006
 
970
1007
  .. versionadded:: 1.5
@@ -977,16 +1014,16 @@ class KotlinLexer(RegexLexer):
977
1014
 
978
1015
  flags = re.MULTILINE | re.DOTALL | re.UNICODE
979
1016
 
980
- kt_name = ('@?[_' + uni.Lu + uni.Ll + uni.Lt + uni.Lm + uni.Nl + ']' +
981
- '[' + uni.Lu + uni.Ll + uni.Lt + uni.Lm + uni.Nl + uni.Nd +
982
- uni.Pc + uni.Cf + uni.Mn + uni.Mc + ']*')
1017
+ kt_name = ('@?[_' + uni.combine('Lu', 'Ll', 'Lt', 'Lm', 'Nl') + ']' +
1018
+ '[' + uni.combine('Lu', 'Ll', 'Lt', 'Lm', 'Nl', 'Nd', 'Pc', 'Cf',
1019
+ 'Mn', 'Mc') + ']*')
983
1020
  kt_id = '(' + kt_name + '|`' + kt_name + '`)'
984
1021
 
985
1022
  tokens = {
986
1023
  'root': [
987
1024
  (r'^\s*\[.*?\]', Name.Attribute),
988
1025
  (r'[^\S\n]+', Text),
989
- (r'\\\n', Text), # line continuation
1026
+ (r'\\\n', Text), # line continuation
990
1027
  (r'//.*?\n', Comment.Single),
991
1028
  (r'/[*].*?[*]/', Comment.Multiline),
992
1029
  (r'\n', Text),
@@ -999,15 +1036,17 @@ class KotlinLexer(RegexLexer):
999
1036
  (r"[0-9](\.[0-9]*)?([eE][+-][0-9]+)?[flFL]?|"
1000
1037
  r"0[xX][0-9a-fA-F]+[Ll]?", Number),
1001
1038
  (r'(class)(\s+)(object)', bygroups(Keyword, Text, Keyword)),
1002
- (r'(class|trait|object)(\s+)', bygroups(Keyword, Text), 'class'),
1039
+ (r'(class|interface|object)(\s+)', bygroups(Keyword, Text), 'class'),
1003
1040
  (r'(package|import)(\s+)', bygroups(Keyword, Text), 'package'),
1004
1041
  (r'(val|var)(\s+)', bygroups(Keyword, Text), 'property'),
1005
1042
  (r'(fun)(\s+)', bygroups(Keyword, Text), 'function'),
1006
- (r'(abstract|annotation|as|break|by|catch|class|continue|do|else|'
1007
- r'enum|false|final|finally|for|fun|get|if|import|in|inner|'
1008
- r'internal|is|null|object|open|out|override|package|private|'
1009
- r'protected|public|reified|return|set|super|this|throw|trait|'
1010
- r'true|try|type|val|var|vararg|when|where|while|This)\b', Keyword),
1043
+ (r'(abstract|annotation|as|break|by|catch|class|companion|const|'
1044
+ r'constructor|continue|crossinline|data|do|dynamic|else|enum|'
1045
+ r'external|false|final|finally|for|fun|get|if|import|in|infix|'
1046
+ r'inline|inner|interface|internal|is|lateinit|noinline|null|'
1047
+ r'object|open|operator|out|override|package|private|protected|'
1048
+ r'public|reified|return|sealed|set|super|tailrec|this|throw|'
1049
+ r'true|try|val|var|vararg|when|where|while)\b', Keyword),
1011
1050
  (kt_id, Name),
1012
1051
  ],
1013
1052
  'package': [
@@ -1042,14 +1081,14 @@ class XtendLexer(RegexLexer):
1042
1081
  tokens = {
1043
1082
  'root': [
1044
1083
  # method names
1045
- (r'^(\s*(?:[a-zA-Z_][\w\.\[\]]*\s+)+?)' # return arguments
1084
+ (r'^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)' # return arguments
1046
1085
  r'([a-zA-Z_$][\w$]*)' # method name
1047
1086
  r'(\s*)(\()', # signature start
1048
1087
  bygroups(using(this), Name.Function, Text, Operator)),
1049
1088
  (r'[^\S\n]+', Text),
1050
1089
  (r'//.*?\n', Comment.Single),
1051
1090
  (r'/\*.*?\*/', Comment.Multiline),
1052
- (r'@[a-zA-Z_][\w\.]*', Name.Decorator),
1091
+ (r'@[a-zA-Z_][\w.]*', Name.Decorator),
1053
1092
  (r'(assert|break|case|catch|continue|default|do|else|finally|for|'
1054
1093
  r'if|goto|instanceof|new|return|switch|this|throw|try|while|IF|'
1055
1094
  r'ELSE|ELSEIF|ENDIF|FOR|ENDFOR|SEPARATOR|BEFORE|AFTER)\b',
@@ -1069,8 +1108,8 @@ class XtendLexer(RegexLexer):
1069
1108
  (r'"(\\\\|\\"|[^"])*"', String),
1070
1109
  (r"'(\\\\|\\'|[^'])*'", String),
1071
1110
  (r'[a-zA-Z_]\w*:', Name.Label),
1072
- (r'[a-zA-Z_\$]\w*', Name),
1073
- (r'[~\^\*!%&\[\]\(\)\{\}<>\|+=:;,./?-]', Operator),
1111
+ (r'[a-zA-Z_$]\w*', Name),
1112
+ (r'[~^*!%&\[\](){}<>\|+=:;,./?-]', Operator),
1074
1113
  (r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
1075
1114
  (r'0x[0-9a-fA-F]+', Number.Hex),
1076
1115
  (r'[0-9]+L?', Number.Integer),
@@ -1089,6 +1128,7 @@ class XtendLexer(RegexLexer):
1089
1128
  ],
1090
1129
  }
1091
1130
 
1131
+
1092
1132
  class PigLexer(RegexLexer):
1093
1133
  """
1094
1134
  For `Pig Latin <https://pig.apache.org/>`_ source code.
@@ -1116,15 +1156,15 @@ class PigLexer(RegexLexer):
1116
1156
  include('builtins'),
1117
1157
  include('punct'),
1118
1158
  include('operators'),
1119
- (r'[0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float),
1159
+ (r'[0-9]*\.[0-9]+(e[0-9]+)?[fd]?', Number.Float),
1120
1160
  (r'0x[0-9a-f]+', Number.Hex),
1121
1161
  (r'[0-9]+L?', Number.Integer),
1122
1162
  (r'\n', Text),
1123
1163
  (r'([a-z_]\w*)(\s*)(\()',
1124
1164
  bygroups(Name.Function, Text, Punctuation)),
1125
1165
  (r'[()#:]', Text),
1126
- (r'[^(:#\'\")\s]+', Text),
1127
- (r'\S+\s+', Text) # TODO: make tests pass without \s+
1166
+ (r'[^(:#\'")\s]+', Text),
1167
+ (r'\S+\s+', Text) # TODO: make tests pass without \s+
1128
1168
  ],
1129
1169
  'keywords': [
1130
1170
  (r'(assert|and|any|all|arrange|as|asc|bag|by|cache|CASE|cat|cd|cp|'
@@ -1219,6 +1259,7 @@ class GoloLexer(RegexLexer):
1219
1259
  (r'-?\d[\d_]*', Number.Integer),
1220
1260
 
1221
1261
  ('`?[a-zA-Z_][\w$]*', Name),
1262
+ (r'@[a-zA-Z_][\w$.]*', Name.Decorator),
1222
1263
 
1223
1264
  (r'"""', String, combined('stringescape', 'triplestring')),
1224
1265
  (r'"', String, combined('stringescape', 'doublestring')),
@@ -1244,7 +1285,7 @@ class GoloLexer(RegexLexer):
1244
1285
  (r'[\'"\\]', String)
1245
1286
  ],
1246
1287
  'stringescape': [
1247
- (r'\\([\\abfnrtv"\']|\n|N{.*?}|u[a-fA-F0-9]{4}|'
1288
+ (r'\\([\\abfnrtv"\']|\n|N\{.*?\}|u[a-fA-F0-9]{4}|'
1248
1289
  r'U[a-fA-F0-9]{8}|x[a-fA-F0-9]{2}|[0-7]{1,3})', String.Escape)
1249
1290
  ],
1250
1291
  'triplestring': [
@@ -1327,41 +1368,44 @@ class JasminLexer(RegexLexer):
1327
1368
  (r'method%s' % _break, Keyword.Reserved, 'enclosing-method'),
1328
1369
 
1329
1370
  # Instructions
1330
- (r'(aaload|aastore|aconst_null|aload|aload_0|aload_1|aload_2|'
1331
- r'aload_3|aload_w|areturn|arraylength|astore|astore_0|astore_1|'
1332
- r'astore_2|astore_3|astore_w|athrow|baload|bastore|bipush|'
1333
- r'breakpoint|caload|castore|d2f|d2i|d2l|dadd|daload|dastore|'
1334
- r'dcmpg|dcmpl|dconst_0|dconst_1|ddiv|dload|dload_0|dload_1|'
1335
- r'dload_2|dload_3|dload_w|dmul|dneg|drem|dreturn|dstore|dstore_0|'
1336
- r'dstore_1|dstore_2|dstore_3|dstore_w|dsub|dup|dup2|dup2_x1|'
1337
- r'dup2_x2|dup_x1|dup_x2|f2d|f2i|f2l|fadd|faload|fastore|fcmpg|'
1338
- r'fcmpl|fconst_0|fconst_1|fconst_2|fdiv|fload|fload_0|fload_1|'
1339
- r'fload_2|fload_3|fload_w|fmul|fneg|frem|freturn|fstore|fstore_0|'
1340
- r'fstore_1|fstore_2|fstore_3|fstore_w|fsub|i2b|i2c|i2d|i2f|i2l|'
1341
- r'i2s|iadd|iaload|iand|iastore|iconst_0|iconst_1|iconst_2|'
1342
- r'iconst_3|iconst_4|iconst_5|iconst_m1|idiv|iinc|iinc_w|iload|'
1343
- r'iload_0|iload_1|iload_2|iload_3|iload_w|imul|ineg|int2byte|'
1344
- r'int2char|int2short|ior|irem|ireturn|ishl|ishr|istore|istore_0|'
1345
- r'istore_1|istore_2|istore_3|istore_w|isub|iushr|ixor|l2d|l2f|'
1346
- r'l2i|ladd|laload|land|lastore|lcmp|lconst_0|lconst_1|ldc2_w|'
1347
- r'ldiv|lload|lload_0|lload_1|lload_2|lload_3|lload_w|lmul|lneg|'
1348
- r'lookupswitch|lor|lrem|lreturn|lshl|lshr|lstore|lstore_0|'
1349
- r'lstore_1|lstore_2|lstore_3|lstore_w|lsub|lushr|lxor|'
1350
- r'monitorenter|monitorexit|nop|pop|pop2|ret|ret_w|return|saload|'
1351
- r'sastore|sipush|swap)%s' % _break, Keyword.Reserved),
1371
+ (words((
1372
+ 'aaload', 'aastore', 'aconst_null', 'aload', 'aload_0', 'aload_1', 'aload_2',
1373
+ 'aload_3', 'aload_w', 'areturn', 'arraylength', 'astore', 'astore_0', 'astore_1',
1374
+ 'astore_2', 'astore_3', 'astore_w', 'athrow', 'baload', 'bastore', 'bipush',
1375
+ 'breakpoint', 'caload', 'castore', 'd2f', 'd2i', 'd2l', 'dadd', 'daload', 'dastore',
1376
+ 'dcmpg', 'dcmpl', 'dconst_0', 'dconst_1', 'ddiv', 'dload', 'dload_0', 'dload_1',
1377
+ 'dload_2', 'dload_3', 'dload_w', 'dmul', 'dneg', 'drem', 'dreturn', 'dstore', 'dstore_0',
1378
+ 'dstore_1', 'dstore_2', 'dstore_3', 'dstore_w', 'dsub', 'dup', 'dup2', 'dup2_x1',
1379
+ 'dup2_x2', 'dup_x1', 'dup_x2', 'f2d', 'f2i', 'f2l', 'fadd', 'faload', 'fastore', 'fcmpg',
1380
+ 'fcmpl', 'fconst_0', 'fconst_1', 'fconst_2', 'fdiv', 'fload', 'fload_0', 'fload_1',
1381
+ 'fload_2', 'fload_3', 'fload_w', 'fmul', 'fneg', 'frem', 'freturn', 'fstore', 'fstore_0',
1382
+ 'fstore_1', 'fstore_2', 'fstore_3', 'fstore_w', 'fsub', 'i2b', 'i2c', 'i2d', 'i2f', 'i2l',
1383
+ 'i2s', 'iadd', 'iaload', 'iand', 'iastore', 'iconst_0', 'iconst_1', 'iconst_2',
1384
+ 'iconst_3', 'iconst_4', 'iconst_5', 'iconst_m1', 'idiv', 'iinc', 'iinc_w', 'iload',
1385
+ 'iload_0', 'iload_1', 'iload_2', 'iload_3', 'iload_w', 'imul', 'ineg', 'int2byte',
1386
+ 'int2char', 'int2short', 'ior', 'irem', 'ireturn', 'ishl', 'ishr', 'istore', 'istore_0',
1387
+ 'istore_1', 'istore_2', 'istore_3', 'istore_w', 'isub', 'iushr', 'ixor', 'l2d', 'l2f',
1388
+ 'l2i', 'ladd', 'laload', 'land', 'lastore', 'lcmp', 'lconst_0', 'lconst_1', 'ldc2_w',
1389
+ 'ldiv', 'lload', 'lload_0', 'lload_1', 'lload_2', 'lload_3', 'lload_w', 'lmul', 'lneg',
1390
+ 'lookupswitch', 'lor', 'lrem', 'lreturn', 'lshl', 'lshr', 'lstore', 'lstore_0',
1391
+ 'lstore_1', 'lstore_2', 'lstore_3', 'lstore_w', 'lsub', 'lushr', 'lxor',
1392
+ 'monitorenter', 'monitorexit', 'nop', 'pop', 'pop2', 'ret', 'ret_w', 'return', 'saload',
1393
+ 'sastore', 'sipush', 'swap'), suffix=_break), Keyword.Reserved),
1352
1394
  (r'(anewarray|checkcast|instanceof|ldc|ldc_w|new)%s' % _break,
1353
1395
  Keyword.Reserved, 'class/no-dots'),
1354
- (r'(invokedynamic|invokeinterface|invokenonvirtual|invokespecial|'
1355
- r'invokestatic|invokevirtual)%s' % _break, Keyword.Reserved,
1396
+ (r'invoke(dynamic|interface|nonvirtual|special|'
1397
+ r'static|virtual)%s' % _break, Keyword.Reserved,
1356
1398
  'invocation'),
1357
1399
  (r'(getfield|putfield)%s' % _break, Keyword.Reserved,
1358
1400
  ('descriptor/no-dots', 'field')),
1359
1401
  (r'(getstatic|putstatic)%s' % _break, Keyword.Reserved,
1360
1402
  ('descriptor/no-dots', 'static')),
1361
- (r'(goto|goto_w|if_acmpeq|if_acmpne|if_icmpeq|if_icmpge|if_icmpgt|'
1362
- r'if_icmple|if_icmplt|if_icmpne|ifeq|ifge|ifgt|ifle|iflt|ifne|'
1363
- r'ifnonnull|ifnull|jsr|jsr_w)%s' % _break, Keyword.Reserved,
1364
- 'label'),
1403
+ (words((
1404
+ 'goto', 'goto_w', 'if_acmpeq', 'if_acmpne', 'if_icmpeq',
1405
+ 'if_icmpge', 'if_icmpgt', 'if_icmple', 'if_icmplt', 'if_icmpne',
1406
+ 'ifeq', 'ifge', 'ifgt', 'ifle', 'iflt', 'ifne', 'ifnonnull',
1407
+ 'ifnull', 'jsr', 'jsr_w'), suffix=_break),
1408
+ Keyword.Reserved, 'label'),
1365
1409
  (r'(multianewarray|newarray)%s' % _break, Keyword.Reserved,
1366
1410
  'descriptor/convert-dots'),
1367
1411
  (r'tableswitch%s' % _break, Keyword.Reserved, 'table')
@@ -1435,7 +1479,8 @@ class JasminLexer(RegexLexer):
1435
1479
  (r'(L)((?:%s[/.])*)(%s?)(;)' % (_unqualified_name, _name),
1436
1480
  bygroups(Keyword.Type, Name.Namespace, Name.Class, Punctuation),
1437
1481
  '#pop'),
1438
- (r'[^%s\[)L]*' % _separator, Keyword.Type, '#pop')
1482
+ (r'[^%s\[)L]+' % _separator, Keyword.Type, '#pop'),
1483
+ default('#pop')
1439
1484
  ],
1440
1485
  'descriptor/no-dots': [
1441
1486
  include('default'),
@@ -1443,7 +1488,8 @@ class JasminLexer(RegexLexer):
1443
1488
  (r'(L)((?:%s/)*)(%s)(;)' % (_unqualified_name, _name),
1444
1489
  bygroups(Keyword.Type, Name.Namespace, Name.Class, Punctuation),
1445
1490
  '#pop'),
1446
- (r'[^%s\[)L]*' % _separator, Keyword.Type, '#pop')
1491
+ (r'[^%s\[)L]+' % _separator, Keyword.Type, '#pop'),
1492
+ default('#pop')
1447
1493
  ],
1448
1494
  'descriptors/convert-dots': [
1449
1495
  (r'\)', Punctuation, '#pop'),