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,85 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ pygments.lexers.resource
4
+ ~~~~~~~~~~~~~~~~~~~~~~~~
5
+
6
+ Lexer for resource definition files.
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 RegexLexer, bygroups, words
15
+ from pygments.token import Comment, String, Number, Operator, Text, \
16
+ Keyword, Name
17
+
18
+ __all__ = ['ResourceLexer']
19
+
20
+
21
+ class ResourceLexer(RegexLexer):
22
+ """Lexer for `ICU Resource bundles
23
+ <http://userguide.icu-project.org/locale/resources>`_.
24
+
25
+ .. versionadded:: 2.0
26
+ """
27
+ name = 'ResourceBundle'
28
+ aliases = ['resource', 'resourcebundle']
29
+ filenames = ['*.txt']
30
+
31
+ _types = (':table', ':array', ':string', ':bin', ':import', ':intvector',
32
+ ':int', ':alias')
33
+
34
+ flags = re.MULTILINE | re.IGNORECASE
35
+ tokens = {
36
+ 'root': [
37
+ (r'//.*?$', Comment),
38
+ (r'"', String, 'string'),
39
+ (r'-?\d+', Number.Integer),
40
+ (r'[,{}]', Operator),
41
+ (r'([^\s{:]+)(\s*)(%s?)' % '|'.join(_types),
42
+ bygroups(Name, Text, Keyword)),
43
+ (r'\s+', Text),
44
+ (words(_types), Keyword),
45
+ ],
46
+ 'string': [
47
+ (r'(\\x[0-9a-f]{2}|\\u[0-9a-f]{4}|\\U00[0-9a-f]{6}|'
48
+ r'\\[0-7]{1,3}|\\c.|\\[abtnvfre\'"?\\]|\\\{|[^"{\\])+', String),
49
+ (r'\{', String.Escape, 'msgname'),
50
+ (r'"', String, '#pop')
51
+ ],
52
+ 'msgname': [
53
+ (r'([^{},]+)(\s*)', bygroups(Name, String.Escape), ('#pop', 'message'))
54
+ ],
55
+ 'message': [
56
+ (r'\{', String.Escape, 'msgname'),
57
+ (r'\}', String.Escape, '#pop'),
58
+ (r'(,)(\s*)([a-z]+)(\s*\})',
59
+ bygroups(Operator, String.Escape, Keyword, String.Escape), '#pop'),
60
+ (r'(,)(\s*)([a-z]+)(\s*)(,)(\s*)(offset)(\s*)(:)(\s*)(-?\d+)(\s*)',
61
+ bygroups(Operator, String.Escape, Keyword, String.Escape, Operator,
62
+ String.Escape, Operator.Word, String.Escape, Operator,
63
+ String.Escape, Number.Integer, String.Escape), 'choice'),
64
+ (r'(,)(\s*)([a-z]+)(\s*)(,)(\s*)',
65
+ bygroups(Operator, String.Escape, Keyword, String.Escape, Operator,
66
+ String.Escape), 'choice'),
67
+ (r'\s+', String.Escape)
68
+ ],
69
+ 'choice': [
70
+ (r'(=|<|>|<=|>=|!=)(-?\d+)(\s*\{)',
71
+ bygroups(Operator, Number.Integer, String.Escape), 'message'),
72
+ (r'([a-z]+)(\s*\{)', bygroups(Keyword.Type, String.Escape), 'str'),
73
+ (r'\}', String.Escape, ('#pop', '#pop')),
74
+ (r'\s+', String.Escape)
75
+ ],
76
+ 'str': [
77
+ (r'\}', String.Escape, '#pop'),
78
+ (r'\{', String.Escape, 'msgname'),
79
+ (r'[^{}]+', String)
80
+ ]
81
+ }
82
+
83
+ def analyse_text(text):
84
+ if text.startswith('root:table'):
85
+ return 1.0
@@ -0,0 +1,67 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ pygments.lexers.rnc
4
+ ~~~~~~~~~~~~~~~~~~~
5
+
6
+ Lexer for Relax-NG Compact syntax
7
+
8
+ :copyright: Copyright 2016 by the Pygments team, see AUTHORS.
9
+ :license: BSD, see LICENSE for details.
10
+ """
11
+
12
+ from pygments.lexer import RegexLexer
13
+ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
14
+ Punctuation
15
+
16
+ __all__ = ['RNCCompactLexer']
17
+
18
+
19
+ class RNCCompactLexer(RegexLexer):
20
+ """
21
+ For `RelaxNG-compact <http://relaxng.org>`_ syntax.
22
+
23
+ .. versionadded:: 2.2
24
+ """
25
+
26
+ name = 'Relax-NG Compact'
27
+ aliases = ['rnc', 'rng-compact']
28
+ filenames = ['*.rnc']
29
+
30
+ tokens = {
31
+ 'root': [
32
+ (r'namespace\b', Keyword.Namespace),
33
+ (r'(?:default|datatypes)\b', Keyword.Declaration),
34
+ (r'##.*$', Comment.Preproc),
35
+ (r'#.*$', Comment.Single),
36
+ (r'"[^"]*"', String.Double),
37
+ # TODO single quoted strings and escape sequences outside of
38
+ # double-quoted strings
39
+ (r'(?:element|attribute|mixed)\b', Keyword.Declaration, 'variable'),
40
+ (r'(text\b|xsd:[^ ]+)', Keyword.Type, 'maybe_xsdattributes'),
41
+ (r'[,?&*=|~]|>>', Operator),
42
+ (r'[(){}]', Punctuation),
43
+ (r'.', Text),
44
+ ],
45
+
46
+ # a variable has been declared using `element` or `attribute`
47
+ 'variable': [
48
+ (r'[^{]+', Name.Variable),
49
+ (r'\{', Punctuation, '#pop'),
50
+ ],
51
+
52
+ # after an xsd:<datatype> declaration there may be attributes
53
+ 'maybe_xsdattributes': [
54
+ (r'\{', Punctuation, 'xsdattributes'),
55
+ (r'\}', Punctuation, '#pop'),
56
+ (r'.', Text),
57
+ ],
58
+
59
+ # attributes take the form { key1 = value1 key2 = value2 ... }
60
+ 'xsdattributes': [
61
+ (r'[^ =}]', Name.Attribute),
62
+ (r'=', Operator),
63
+ (r'"[^"]*"', String.Double),
64
+ (r'\}', Punctuation, '#pop'),
65
+ (r'.', Text),
66
+ ],
67
+ }
@@ -0,0 +1,82 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ pygments.lexers.roboconf
4
+ ~~~~~~~~~~~~~~~~~~~~~~~~
5
+
6
+ Lexers for Roboconf DSL.
7
+
8
+ :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
9
+ :license: BSD, see LICENSE for details.
10
+ """
11
+
12
+ from pygments.lexer import RegexLexer, words, re
13
+ from pygments.token import Text, Operator, Keyword, Name, Comment
14
+
15
+ __all__ = ['RoboconfGraphLexer', 'RoboconfInstancesLexer']
16
+
17
+
18
+ class RoboconfGraphLexer(RegexLexer):
19
+ """
20
+ Lexer for `Roboconf <http://roboconf.net/en/roboconf.html>`_ graph files.
21
+
22
+ .. versionadded:: 2.1
23
+ """
24
+ name = 'Roboconf Graph'
25
+ aliases = ['roboconf-graph']
26
+ filenames = ['*.graph']
27
+
28
+ flags = re.IGNORECASE | re.MULTILINE
29
+ tokens = {
30
+ 'root': [
31
+ # Skip white spaces
32
+ (r'\s+', Text),
33
+
34
+ # There is one operator
35
+ (r'=', Operator),
36
+
37
+ # Keywords
38
+ (words(('facet', 'import'), suffix=r'\s*\b', prefix=r'\b'), Keyword),
39
+ (words((
40
+ 'installer', 'extends', 'exports', 'imports', 'facets',
41
+ 'children'), suffix=r'\s*:?', prefix=r'\b'), Name),
42
+
43
+ # Comments
44
+ (r'#.*\n', Comment),
45
+
46
+ # Default
47
+ (r'[^#]', Text),
48
+ (r'.*\n', Text)
49
+ ]
50
+ }
51
+
52
+
53
+ class RoboconfInstancesLexer(RegexLexer):
54
+ """
55
+ Lexer for `Roboconf <http://roboconf.net/en/roboconf.html>`_ instances files.
56
+
57
+ .. versionadded:: 2.1
58
+ """
59
+ name = 'Roboconf Instances'
60
+ aliases = ['roboconf-instances']
61
+ filenames = ['*.instances']
62
+
63
+ flags = re.IGNORECASE | re.MULTILINE
64
+ tokens = {
65
+ 'root': [
66
+
67
+ # Skip white spaces
68
+ (r'\s+', Text),
69
+
70
+ # Keywords
71
+ (words(('instance of', 'import'), suffix=r'\s*\b', prefix=r'\b'), Keyword),
72
+ (words(('name', 'count'), suffix=r's*:?', prefix=r'\b'), Name),
73
+ (r'\s*[\w.-]+\s*:', Name),
74
+
75
+ # Comments
76
+ (r'#.*\n', Comment),
77
+
78
+ # Default
79
+ (r'[^#]', Text),
80
+ (r'.*\n', Text)
81
+ ]
82
+ }
@@ -1,11 +1,11 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """
3
- pygments.lexers._robotframeworklexer
4
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3
+ pygments.lexers.robotframework
4
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5
5
 
6
6
  Lexer for Robot Framework.
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
 
@@ -29,6 +29,8 @@ from pygments.lexer import Lexer
29
29
  from pygments.token import Token
30
30
  from pygments.util import text_type
31
31
 
32
+ __all__ = ['RobotFrameworkLexer']
33
+
32
34
 
33
35
  HEADING = Token.Generic.Heading
34
36
  SETTING = Token.Keyword.Namespace
@@ -85,7 +87,7 @@ class RobotFrameworkLexer(Lexer):
85
87
  class VariableTokenizer(object):
86
88
 
87
89
  def tokenize(self, string, token):
88
- var = VariableSplitter(string, identifiers='$@%')
90
+ var = VariableSplitter(string, identifiers='$@%&')
89
91
  if var.start < 0 or token in (COMMENT, ERROR):
90
92
  yield string, token
91
93
  return
@@ -203,7 +205,7 @@ class Tokenizer(object):
203
205
  def _is_assign(self, value):
204
206
  if value.endswith('='):
205
207
  value = value[:-1].strip()
206
- var = VariableSplitter(value, identifiers='$@')
208
+ var = VariableSplitter(value, identifiers='$@&')
207
209
  return var.start == 0 and var.end == len(value)
208
210
 
209
211
 
@@ -260,7 +262,7 @@ class TestCaseSetting(Setting):
260
262
 
261
263
  class KeywordSetting(TestCaseSetting):
262
264
  _keyword_settings = ('teardown',)
263
- _other_settings = ('documentation', 'arguments', 'return', 'timeout')
265
+ _other_settings = ('documentation', 'arguments', 'return', 'timeout', 'tags')
264
266
 
265
267
 
266
268
  class Variable(Tokenizer):
@@ -463,13 +465,13 @@ class VariableSplitter:
463
465
  self.identifier = self._variable_chars[0]
464
466
  self.base = ''.join(self._variable_chars[2:-1])
465
467
  self.end = self.start + len(self._variable_chars)
466
- if self._has_list_variable_index():
467
- self.index = ''.join(self._list_variable_index_chars[1:-1])
468
- self.end += len(self._list_variable_index_chars)
468
+ if self._has_list_or_dict_variable_index():
469
+ self.index = ''.join(self._list_and_dict_variable_index_chars[1:-1])
470
+ self.end += len(self._list_and_dict_variable_index_chars)
469
471
 
470
- def _has_list_variable_index(self):
471
- return self._list_variable_index_chars\
472
- and self._list_variable_index_chars[-1] == ']'
472
+ def _has_list_or_dict_variable_index(self):
473
+ return self._list_and_dict_variable_index_chars\
474
+ and self._list_and_dict_variable_index_chars[-1] == ']'
473
475
 
474
476
  def _split(self, string):
475
477
  start_index, max_index = self._find_variable(string)
@@ -477,7 +479,7 @@ class VariableSplitter:
477
479
  self._open_curly = 1
478
480
  self._state = self._variable_state
479
481
  self._variable_chars = [string[start_index], '{']
480
- self._list_variable_index_chars = []
482
+ self._list_and_dict_variable_index_chars = []
481
483
  self._string = string
482
484
  start_index += 2
483
485
  for index, char in enumerate(string[start_index:]):
@@ -528,14 +530,14 @@ class VariableSplitter:
528
530
  if char == '}' and not self._is_escaped(self._string, index):
529
531
  self._open_curly -= 1
530
532
  if self._open_curly == 0:
531
- if not self._is_list_variable():
533
+ if not self._is_list_or_dict_variable():
532
534
  raise StopIteration
533
535
  self._state = self._waiting_list_variable_index_state
534
536
  elif char in self._identifiers:
535
537
  self._state = self._internal_variable_start_state
536
538
 
537
- def _is_list_variable(self):
538
- return self._variable_chars[0] == '@'
539
+ def _is_list_or_dict_variable(self):
540
+ return self._variable_chars[0] in ('@','&')
539
541
 
540
542
  def _internal_variable_start_state(self, char, index):
541
543
  self._state = self._variable_state
@@ -549,10 +551,10 @@ class VariableSplitter:
549
551
  def _waiting_list_variable_index_state(self, char, index):
550
552
  if char != '[':
551
553
  raise StopIteration
552
- self._list_variable_index_chars.append(char)
554
+ self._list_and_dict_variable_index_chars.append(char)
553
555
  self._state = self._list_variable_index_state
554
556
 
555
557
  def _list_variable_index_state(self, char, index):
556
- self._list_variable_index_chars.append(char)
558
+ self._list_and_dict_variable_index_chars.append(char)
557
559
  if char == ']':
558
560
  raise StopIteration
@@ -0,0 +1,519 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ pygments.lexers.ruby
4
+ ~~~~~~~~~~~~~~~~~~~~
5
+
6
+ Lexers for Ruby and related languages.
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, ExtendedRegexLexer, include, \
15
+ bygroups, default, LexerContext, do_insertions, words
16
+ from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
17
+ Number, Punctuation, Error, Generic
18
+ from pygments.util import shebang_matches
19
+
20
+ __all__ = ['RubyLexer', 'RubyConsoleLexer', 'FancyLexer']
21
+
22
+ line_re = re.compile('.*?\n')
23
+
24
+
25
+ RUBY_OPERATORS = (
26
+ '*', '**', '-', '+', '-@', '+@', '/', '%', '&', '|', '^', '`', '~',
27
+ '[]', '[]=', '<<', '>>', '<', '<>', '<=>', '>', '>=', '==', '==='
28
+ )
29
+
30
+
31
+ class RubyLexer(ExtendedRegexLexer):
32
+ """
33
+ For `Ruby <http://www.ruby-lang.org>`_ source code.
34
+ """
35
+
36
+ name = 'Ruby'
37
+ aliases = ['rb', 'ruby', 'duby']
38
+ filenames = ['*.rb', '*.rbw', 'Rakefile', '*.rake', '*.gemspec',
39
+ '*.rbx', '*.duby', 'Gemfile']
40
+ mimetypes = ['text/x-ruby', 'application/x-ruby']
41
+
42
+ flags = re.DOTALL | re.MULTILINE
43
+
44
+ def heredoc_callback(self, match, ctx):
45
+ # okay, this is the hardest part of parsing Ruby...
46
+ # match: 1 = <<-?, 2 = quote? 3 = name 4 = quote? 5 = rest of line
47
+
48
+ start = match.start(1)
49
+ yield start, Operator, match.group(1) # <<-?
50
+ yield match.start(2), String.Heredoc, match.group(2) # quote ", ', `
51
+ yield match.start(3), String.Delimiter, match.group(3) # heredoc name
52
+ yield match.start(4), String.Heredoc, match.group(4) # quote again
53
+
54
+ heredocstack = ctx.__dict__.setdefault('heredocstack', [])
55
+ outermost = not bool(heredocstack)
56
+ heredocstack.append((match.group(1) == '<<-', match.group(3)))
57
+
58
+ ctx.pos = match.start(5)
59
+ ctx.end = match.end(5)
60
+ # this may find other heredocs
61
+ for i, t, v in self.get_tokens_unprocessed(context=ctx):
62
+ yield i, t, v
63
+ ctx.pos = match.end()
64
+
65
+ if outermost:
66
+ # this is the outer heredoc again, now we can process them all
67
+ for tolerant, hdname in heredocstack:
68
+ lines = []
69
+ for match in line_re.finditer(ctx.text, ctx.pos):
70
+ if tolerant:
71
+ check = match.group().strip()
72
+ else:
73
+ check = match.group().rstrip()
74
+ if check == hdname:
75
+ for amatch in lines:
76
+ yield amatch.start(), String.Heredoc, amatch.group()
77
+ yield match.start(), String.Delimiter, match.group()
78
+ ctx.pos = match.end()
79
+ break
80
+ else:
81
+ lines.append(match)
82
+ else:
83
+ # end of heredoc not found -- error!
84
+ for amatch in lines:
85
+ yield amatch.start(), Error, amatch.group()
86
+ ctx.end = len(ctx.text)
87
+ del heredocstack[:]
88
+
89
+ def gen_rubystrings_rules():
90
+ def intp_regex_callback(self, match, ctx):
91
+ yield match.start(1), String.Regex, match.group(1) # begin
92
+ nctx = LexerContext(match.group(3), 0, ['interpolated-regex'])
93
+ for i, t, v in self.get_tokens_unprocessed(context=nctx):
94
+ yield match.start(3)+i, t, v
95
+ yield match.start(4), String.Regex, match.group(4) # end[mixounse]*
96
+ ctx.pos = match.end()
97
+
98
+ def intp_string_callback(self, match, ctx):
99
+ yield match.start(1), String.Other, match.group(1)
100
+ nctx = LexerContext(match.group(3), 0, ['interpolated-string'])
101
+ for i, t, v in self.get_tokens_unprocessed(context=nctx):
102
+ yield match.start(3)+i, t, v
103
+ yield match.start(4), String.Other, match.group(4) # end
104
+ ctx.pos = match.end()
105
+
106
+ states = {}
107
+ states['strings'] = [
108
+ # easy ones
109
+ (r'\:@{0,2}[a-zA-Z_]\w*[!?]?', String.Symbol),
110
+ (words(RUBY_OPERATORS, prefix=r'\:@{0,2}'), String.Symbol),
111
+ (r":'(\\\\|\\'|[^'])*'", String.Symbol),
112
+ (r"'(\\\\|\\'|[^'])*'", String.Single),
113
+ (r':"', String.Symbol, 'simple-sym'),
114
+ (r'([a-zA-Z_]\w*)(:)(?!:)',
115
+ bygroups(String.Symbol, Punctuation)), # Since Ruby 1.9
116
+ (r'"', String.Double, 'simple-string'),
117
+ (r'(?<!\.)`', String.Backtick, 'simple-backtick'),
118
+ ]
119
+
120
+ # double-quoted string and symbol
121
+ for name, ttype, end in ('string', String.Double, '"'), \
122
+ ('sym', String.Symbol, '"'), \
123
+ ('backtick', String.Backtick, '`'):
124
+ states['simple-'+name] = [
125
+ include('string-intp-escaped'),
126
+ (r'[^\\%s#]+' % end, ttype),
127
+ (r'[\\#]', ttype),
128
+ (end, ttype, '#pop'),
129
+ ]
130
+
131
+ # braced quoted strings
132
+ for lbrace, rbrace, bracecc, name in \
133
+ ('\\{', '\\}', '{}', 'cb'), \
134
+ ('\\[', '\\]', '\\[\\]', 'sb'), \
135
+ ('\\(', '\\)', '()', 'pa'), \
136
+ ('<', '>', '<>', 'ab'):
137
+ states[name+'-intp-string'] = [
138
+ (r'\\[\\' + bracecc + ']', String.Other),
139
+ (lbrace, String.Other, '#push'),
140
+ (rbrace, String.Other, '#pop'),
141
+ include('string-intp-escaped'),
142
+ (r'[\\#' + bracecc + ']', String.Other),
143
+ (r'[^\\#' + bracecc + ']+', String.Other),
144
+ ]
145
+ states['strings'].append((r'%[QWx]?' + lbrace, String.Other,
146
+ name+'-intp-string'))
147
+ states[name+'-string'] = [
148
+ (r'\\[\\' + bracecc + ']', String.Other),
149
+ (lbrace, String.Other, '#push'),
150
+ (rbrace, String.Other, '#pop'),
151
+ (r'[\\#' + bracecc + ']', String.Other),
152
+ (r'[^\\#' + bracecc + ']+', String.Other),
153
+ ]
154
+ states['strings'].append((r'%[qsw]' + lbrace, String.Other,
155
+ name+'-string'))
156
+ states[name+'-regex'] = [
157
+ (r'\\[\\' + bracecc + ']', String.Regex),
158
+ (lbrace, String.Regex, '#push'),
159
+ (rbrace + '[mixounse]*', String.Regex, '#pop'),
160
+ include('string-intp'),
161
+ (r'[\\#' + bracecc + ']', String.Regex),
162
+ (r'[^\\#' + bracecc + ']+', String.Regex),
163
+ ]
164
+ states['strings'].append((r'%r' + lbrace, String.Regex,
165
+ name+'-regex'))
166
+
167
+ # these must come after %<brace>!
168
+ states['strings'] += [
169
+ # %r regex
170
+ (r'(%r([\W_]))((?:\\\2|(?!\2).)*)(\2[mixounse]*)',
171
+ intp_regex_callback),
172
+ # regular fancy strings with qsw
173
+ (r'%[qsw]([\W_])((?:\\\1|(?!\1).)*)\1', String.Other),
174
+ (r'(%[QWx]([\W_]))((?:\\\2|(?!\2).)*)(\2)',
175
+ intp_string_callback),
176
+ # special forms of fancy strings after operators or
177
+ # in method calls with braces
178
+ (r'(?<=[-+/*%=<>&!^|~,(])(\s*)(%([\t ])(?:(?:\\\3|(?!\3).)*)\3)',
179
+ bygroups(Text, String.Other, None)),
180
+ # and because of fixed width lookbehinds the whole thing a
181
+ # second time for line startings...
182
+ (r'^(\s*)(%([\t ])(?:(?:\\\3|(?!\3).)*)\3)',
183
+ bygroups(Text, String.Other, None)),
184
+ # all regular fancy strings without qsw
185
+ (r'(%([^a-zA-Z0-9\s]))((?:\\\2|(?!\2).)*)(\2)',
186
+ intp_string_callback),
187
+ ]
188
+
189
+ return states
190
+
191
+ tokens = {
192
+ 'root': [
193
+ (r'\A#!.+?$', Comment.Hashbang),
194
+ (r'#.*?$', Comment.Single),
195
+ (r'=begin\s.*?\n=end.*?$', Comment.Multiline),
196
+ # keywords
197
+ (words((
198
+ 'BEGIN', 'END', 'alias', 'begin', 'break', 'case', 'defined?',
199
+ 'do', 'else', 'elsif', 'end', 'ensure', 'for', 'if', 'in', 'next', 'redo',
200
+ 'rescue', 'raise', 'retry', 'return', 'super', 'then', 'undef',
201
+ 'unless', 'until', 'when', 'while', 'yield'), suffix=r'\b'),
202
+ Keyword),
203
+ # start of function, class and module names
204
+ (r'(module)(\s+)([a-zA-Z_]\w*'
205
+ r'(?:::[a-zA-Z_]\w*)*)',
206
+ bygroups(Keyword, Text, Name.Namespace)),
207
+ (r'(def)(\s+)', bygroups(Keyword, Text), 'funcname'),
208
+ (r'def(?=[*%&^`~+-/\[<>=])', Keyword, 'funcname'),
209
+ (r'(class)(\s+)', bygroups(Keyword, Text), 'classname'),
210
+ # special methods
211
+ (words((
212
+ 'initialize', 'new', 'loop', 'include', 'extend', 'raise', 'attr_reader',
213
+ 'attr_writer', 'attr_accessor', 'attr', 'catch', 'throw', 'private',
214
+ 'module_function', 'public', 'protected', 'true', 'false', 'nil'),
215
+ suffix=r'\b'),
216
+ Keyword.Pseudo),
217
+ (r'(not|and|or)\b', Operator.Word),
218
+ (words((
219
+ 'autoload', 'block_given', 'const_defined', 'eql', 'equal', 'frozen', 'include',
220
+ 'instance_of', 'is_a', 'iterator', 'kind_of', 'method_defined', 'nil',
221
+ 'private_method_defined', 'protected_method_defined',
222
+ 'public_method_defined', 'respond_to', 'tainted'), suffix=r'\?'),
223
+ Name.Builtin),
224
+ (r'(chomp|chop|exit|gsub|sub)!', Name.Builtin),
225
+ (words((
226
+ 'Array', 'Float', 'Integer', 'String', '__id__', '__send__', 'abort',
227
+ 'ancestors', 'at_exit', 'autoload', 'binding', 'callcc', 'caller',
228
+ 'catch', 'chomp', 'chop', 'class_eval', 'class_variables',
229
+ 'clone', 'const_defined?', 'const_get', 'const_missing', 'const_set',
230
+ 'constants', 'display', 'dup', 'eval', 'exec', 'exit', 'extend', 'fail', 'fork',
231
+ 'format', 'freeze', 'getc', 'gets', 'global_variables', 'gsub',
232
+ 'hash', 'id', 'included_modules', 'inspect', 'instance_eval',
233
+ 'instance_method', 'instance_methods',
234
+ 'instance_variable_get', 'instance_variable_set', 'instance_variables',
235
+ 'lambda', 'load', 'local_variables', 'loop',
236
+ 'method', 'method_missing', 'methods', 'module_eval', 'name',
237
+ 'object_id', 'open', 'p', 'print', 'printf', 'private_class_method',
238
+ 'private_instance_methods',
239
+ 'private_methods', 'proc', 'protected_instance_methods',
240
+ 'protected_methods', 'public_class_method',
241
+ 'public_instance_methods', 'public_methods',
242
+ 'putc', 'puts', 'raise', 'rand', 'readline', 'readlines', 'require',
243
+ 'scan', 'select', 'self', 'send', 'set_trace_func', 'singleton_methods', 'sleep',
244
+ 'split', 'sprintf', 'srand', 'sub', 'syscall', 'system', 'taint',
245
+ 'test', 'throw', 'to_a', 'to_s', 'trace_var', 'trap', 'untaint',
246
+ 'untrace_var', 'warn'), prefix=r'(?<!\.)', suffix=r'\b'),
247
+ Name.Builtin),
248
+ (r'__(FILE|LINE)__\b', Name.Builtin.Pseudo),
249
+ # normal heredocs
250
+ (r'(?<!\w)(<<-?)(["`\']?)([a-zA-Z_]\w*)(\2)(.*?\n)',
251
+ heredoc_callback),
252
+ # empty string heredocs
253
+ (r'(<<-?)("|\')()(\2)(.*?\n)', heredoc_callback),
254
+ (r'__END__', Comment.Preproc, 'end-part'),
255
+ # multiline regex (after keywords or assignments)
256
+ (r'(?:^|(?<=[=<>~!:])|'
257
+ r'(?<=(?:\s|;)when\s)|'
258
+ r'(?<=(?:\s|;)or\s)|'
259
+ r'(?<=(?:\s|;)and\s)|'
260
+ r'(?<=\.index\s)|'
261
+ r'(?<=\.scan\s)|'
262
+ r'(?<=\.sub\s)|'
263
+ r'(?<=\.sub!\s)|'
264
+ r'(?<=\.gsub\s)|'
265
+ r'(?<=\.gsub!\s)|'
266
+ r'(?<=\.match\s)|'
267
+ r'(?<=(?:\s|;)if\s)|'
268
+ r'(?<=(?:\s|;)elsif\s)|'
269
+ r'(?<=^when\s)|'
270
+ r'(?<=^index\s)|'
271
+ r'(?<=^scan\s)|'
272
+ r'(?<=^sub\s)|'
273
+ r'(?<=^gsub\s)|'
274
+ r'(?<=^sub!\s)|'
275
+ r'(?<=^gsub!\s)|'
276
+ r'(?<=^match\s)|'
277
+ r'(?<=^if\s)|'
278
+ r'(?<=^elsif\s)'
279
+ r')(\s*)(/)', bygroups(Text, String.Regex), 'multiline-regex'),
280
+ # multiline regex (in method calls or subscripts)
281
+ (r'(?<=\(|,|\[)/', String.Regex, 'multiline-regex'),
282
+ # multiline regex (this time the funny no whitespace rule)
283
+ (r'(\s+)(/)(?![\s=])', bygroups(Text, String.Regex),
284
+ 'multiline-regex'),
285
+ # lex numbers and ignore following regular expressions which
286
+ # are division operators in fact (grrrr. i hate that. any
287
+ # better ideas?)
288
+ # since pygments 0.7 we also eat a "?" operator after numbers
289
+ # so that the char operator does not work. Chars are not allowed
290
+ # there so that you can use the ternary operator.
291
+ # stupid example:
292
+ # x>=0?n[x]:""
293
+ (r'(0_?[0-7]+(?:_[0-7]+)*)(\s*)([/?])?',
294
+ bygroups(Number.Oct, Text, Operator)),
295
+ (r'(0x[0-9A-Fa-f]+(?:_[0-9A-Fa-f]+)*)(\s*)([/?])?',
296
+ bygroups(Number.Hex, Text, Operator)),
297
+ (r'(0b[01]+(?:_[01]+)*)(\s*)([/?])?',
298
+ bygroups(Number.Bin, Text, Operator)),
299
+ (r'([\d]+(?:_\d+)*)(\s*)([/?])?',
300
+ bygroups(Number.Integer, Text, Operator)),
301
+ # Names
302
+ (r'@@[a-zA-Z_]\w*', Name.Variable.Class),
303
+ (r'@[a-zA-Z_]\w*', Name.Variable.Instance),
304
+ (r'\$\w+', Name.Variable.Global),
305
+ (r'\$[!@&`\'+~=/\\,;.<>_*$?:"^-]', Name.Variable.Global),
306
+ (r'\$-[0adFiIlpvw]', Name.Variable.Global),
307
+ (r'::', Operator),
308
+ include('strings'),
309
+ # chars
310
+ (r'\?(\\[MC]-)*' # modifiers
311
+ r'(\\([\\abefnrstv#"\']|x[a-fA-F0-9]{1,2}|[0-7]{1,3})|\S)'
312
+ r'(?!\w)',
313
+ String.Char),
314
+ (r'[A-Z]\w+', Name.Constant),
315
+ # this is needed because ruby attributes can look
316
+ # like keywords (class) or like this: ` ?!?
317
+ (words(RUBY_OPERATORS, prefix=r'(\.|::)'),
318
+ bygroups(Operator, Name.Operator)),
319
+ (r'(\.|::)([a-zA-Z_]\w*[!?]?|[*%&^`~+\-/\[<>=])',
320
+ bygroups(Operator, Name)),
321
+ (r'[a-zA-Z_]\w*[!?]?', Name),
322
+ (r'(\[|\]|\*\*|<<?|>>?|>=|<=|<=>|=~|={3}|'
323
+ r'!~|&&?|\|\||\.{1,3})', Operator),
324
+ (r'[-+/*%=<>&!^|~]=?', Operator),
325
+ (r'[(){};,/?:\\]', Punctuation),
326
+ (r'\s+', Text)
327
+ ],
328
+ 'funcname': [
329
+ (r'\(', Punctuation, 'defexpr'),
330
+ (r'(?:([a-zA-Z_]\w*)(\.))?'
331
+ r'([a-zA-Z_]\w*[!?]?|\*\*?|[-+]@?|'
332
+ r'[/%&|^`~]|\[\]=?|<<|>>|<=?>|>=?|===?)',
333
+ bygroups(Name.Class, Operator, Name.Function), '#pop'),
334
+ default('#pop')
335
+ ],
336
+ 'classname': [
337
+ (r'\(', Punctuation, 'defexpr'),
338
+ (r'<<', Operator, '#pop'),
339
+ (r'[A-Z_]\w*', Name.Class, '#pop'),
340
+ default('#pop')
341
+ ],
342
+ 'defexpr': [
343
+ (r'(\))(\.|::)?', bygroups(Punctuation, Operator), '#pop'),
344
+ (r'\(', Operator, '#push'),
345
+ include('root')
346
+ ],
347
+ 'in-intp': [
348
+ (r'\{', String.Interpol, '#push'),
349
+ (r'\}', String.Interpol, '#pop'),
350
+ include('root'),
351
+ ],
352
+ 'string-intp': [
353
+ (r'#\{', String.Interpol, 'in-intp'),
354
+ (r'#@@?[a-zA-Z_]\w*', String.Interpol),
355
+ (r'#\$[a-zA-Z_]\w*', String.Interpol)
356
+ ],
357
+ 'string-intp-escaped': [
358
+ include('string-intp'),
359
+ (r'\\([\\abefnrstv#"\']|x[a-fA-F0-9]{1,2}|[0-7]{1,3})',
360
+ String.Escape)
361
+ ],
362
+ 'interpolated-regex': [
363
+ include('string-intp'),
364
+ (r'[\\#]', String.Regex),
365
+ (r'[^\\#]+', String.Regex),
366
+ ],
367
+ 'interpolated-string': [
368
+ include('string-intp'),
369
+ (r'[\\#]', String.Other),
370
+ (r'[^\\#]+', String.Other),
371
+ ],
372
+ 'multiline-regex': [
373
+ include('string-intp'),
374
+ (r'\\\\', String.Regex),
375
+ (r'\\/', String.Regex),
376
+ (r'[\\#]', String.Regex),
377
+ (r'[^\\/#]+', String.Regex),
378
+ (r'/[mixounse]*', String.Regex, '#pop'),
379
+ ],
380
+ 'end-part': [
381
+ (r'.+', Comment.Preproc, '#pop')
382
+ ]
383
+ }
384
+ tokens.update(gen_rubystrings_rules())
385
+
386
+ def analyse_text(text):
387
+ return shebang_matches(text, r'ruby(1\.\d)?')
388
+
389
+
390
+ class RubyConsoleLexer(Lexer):
391
+ """
392
+ For Ruby interactive console (**irb**) output like:
393
+
394
+ .. sourcecode:: rbcon
395
+
396
+ irb(main):001:0> a = 1
397
+ => 1
398
+ irb(main):002:0> puts a
399
+ 1
400
+ => nil
401
+ """
402
+ name = 'Ruby irb session'
403
+ aliases = ['rbcon', 'irb']
404
+ mimetypes = ['text/x-ruby-shellsession']
405
+
406
+ _prompt_re = re.compile('irb\([a-zA-Z_]\w*\):\d{3}:\d+[>*"\'] '
407
+ '|>> |\?> ')
408
+
409
+ def get_tokens_unprocessed(self, text):
410
+ rblexer = RubyLexer(**self.options)
411
+
412
+ curcode = ''
413
+ insertions = []
414
+ for match in line_re.finditer(text):
415
+ line = match.group()
416
+ m = self._prompt_re.match(line)
417
+ if m is not None:
418
+ end = m.end()
419
+ insertions.append((len(curcode),
420
+ [(0, Generic.Prompt, line[:end])]))
421
+ curcode += line[end:]
422
+ else:
423
+ if curcode:
424
+ for item in do_insertions(
425
+ insertions, rblexer.get_tokens_unprocessed(curcode)):
426
+ yield item
427
+ curcode = ''
428
+ insertions = []
429
+ yield match.start(), Generic.Output, line
430
+ if curcode:
431
+ for item in do_insertions(
432
+ insertions, rblexer.get_tokens_unprocessed(curcode)):
433
+ yield item
434
+
435
+
436
+ class FancyLexer(RegexLexer):
437
+ """
438
+ Pygments Lexer For `Fancy <http://www.fancy-lang.org/>`_.
439
+
440
+ Fancy is a self-hosted, pure object-oriented, dynamic,
441
+ class-based, concurrent general-purpose programming language
442
+ running on Rubinius, the Ruby VM.
443
+
444
+ .. versionadded:: 1.5
445
+ """
446
+ name = 'Fancy'
447
+ filenames = ['*.fy', '*.fancypack']
448
+ aliases = ['fancy', 'fy']
449
+ mimetypes = ['text/x-fancysrc']
450
+
451
+ tokens = {
452
+ # copied from PerlLexer:
453
+ 'balanced-regex': [
454
+ (r'/(\\\\|\\/|[^/])*/[egimosx]*', String.Regex, '#pop'),
455
+ (r'!(\\\\|\\!|[^!])*![egimosx]*', String.Regex, '#pop'),
456
+ (r'\\(\\\\|[^\\])*\\[egimosx]*', String.Regex, '#pop'),
457
+ (r'\{(\\\\|\\\}|[^}])*\}[egimosx]*', String.Regex, '#pop'),
458
+ (r'<(\\\\|\\>|[^>])*>[egimosx]*', String.Regex, '#pop'),
459
+ (r'\[(\\\\|\\\]|[^\]])*\][egimosx]*', String.Regex, '#pop'),
460
+ (r'\((\\\\|\\\)|[^)])*\)[egimosx]*', String.Regex, '#pop'),
461
+ (r'@(\\\\|\\@|[^@])*@[egimosx]*', String.Regex, '#pop'),
462
+ (r'%(\\\\|\\%|[^%])*%[egimosx]*', String.Regex, '#pop'),
463
+ (r'\$(\\\\|\\\$|[^$])*\$[egimosx]*', String.Regex, '#pop'),
464
+ ],
465
+ 'root': [
466
+ (r'\s+', Text),
467
+
468
+ # balanced delimiters (copied from PerlLexer):
469
+ (r's\{(\\\\|\\\}|[^}])*\}\s*', String.Regex, 'balanced-regex'),
470
+ (r's<(\\\\|\\>|[^>])*>\s*', String.Regex, 'balanced-regex'),
471
+ (r's\[(\\\\|\\\]|[^\]])*\]\s*', String.Regex, 'balanced-regex'),
472
+ (r's\((\\\\|\\\)|[^)])*\)\s*', String.Regex, 'balanced-regex'),
473
+ (r'm?/(\\\\|\\/|[^/\n])*/[gcimosx]*', String.Regex),
474
+ (r'm(?=[/!\\{<\[(@%$])', String.Regex, 'balanced-regex'),
475
+
476
+ # Comments
477
+ (r'#(.*?)\n', Comment.Single),
478
+ # Symbols
479
+ (r'\'([^\'\s\[\](){}]+|\[\])', String.Symbol),
480
+ # Multi-line DoubleQuotedString
481
+ (r'"""(\\\\|\\"|[^"])*"""', String),
482
+ # DoubleQuotedString
483
+ (r'"(\\\\|\\"|[^"])*"', String),
484
+ # keywords
485
+ (r'(def|class|try|catch|finally|retry|return|return_local|match|'
486
+ r'case|->|=>)\b', Keyword),
487
+ # constants
488
+ (r'(self|super|nil|false|true)\b', Name.Constant),
489
+ (r'[(){};,/?|:\\]', Punctuation),
490
+ # names
491
+ (words((
492
+ 'Object', 'Array', 'Hash', 'Directory', 'File', 'Class', 'String',
493
+ 'Number', 'Enumerable', 'FancyEnumerable', 'Block', 'TrueClass',
494
+ 'NilClass', 'FalseClass', 'Tuple', 'Symbol', 'Stack', 'Set',
495
+ 'FancySpec', 'Method', 'Package', 'Range'), suffix=r'\b'),
496
+ Name.Builtin),
497
+ # functions
498
+ (r'[a-zA-Z](\w|[-+?!=*/^><%])*:', Name.Function),
499
+ # operators, must be below functions
500
+ (r'[-+*/~,<>=&!?%^\[\].$]+', Operator),
501
+ ('[A-Z]\w*', Name.Constant),
502
+ ('@[a-zA-Z_]\w*', Name.Variable.Instance),
503
+ ('@@[a-zA-Z_]\w*', Name.Variable.Class),
504
+ ('@@?', Operator),
505
+ ('[a-zA-Z_]\w*', Name),
506
+ # numbers - / checks are necessary to avoid mismarking regexes,
507
+ # see comment in RubyLexer
508
+ (r'(0[oO]?[0-7]+(?:_[0-7]+)*)(\s*)([/?])?',
509
+ bygroups(Number.Oct, Text, Operator)),
510
+ (r'(0[xX][0-9A-Fa-f]+(?:_[0-9A-Fa-f]+)*)(\s*)([/?])?',
511
+ bygroups(Number.Hex, Text, Operator)),
512
+ (r'(0[bB][01]+(?:_[01]+)*)(\s*)([/?])?',
513
+ bygroups(Number.Bin, Text, Operator)),
514
+ (r'([\d]+(?:_\d+)*)(\s*)([/?])?',
515
+ bygroups(Number.Integer, Text, Operator)),
516
+ (r'\d+([eE][+-]?[0-9]+)|\d+\.\d+([eE][+-]?[0-9]+)?', Number.Float),
517
+ (r'\d+', Number.Integer)
518
+ ]
519
+ }