mdbe 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (688) hide show
  1. checksums.yaml +15 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +53 -0
  4. data/app.rb +182 -0
  5. data/bin/mdbe +5 -0
  6. data/config.ru +2 -0
  7. data/environment.rb +8 -0
  8. data/lib/mdbe.rb +39 -0
  9. data/lib/mdbe/action_controller_debug_patch.rb +12 -0
  10. data/lib/mdbe/code_evaluation.rb +46 -0
  11. data/lib/mdbe/database_views.rb +24 -0
  12. data/lib/mdbe/database_views/abstract_dictionary.rb +69 -0
  13. data/lib/mdbe/database_views/abstract_exception.rb +25 -0
  14. data/lib/mdbe/database_views/array.rb +28 -0
  15. data/lib/mdbe/database_views/boolean.rb +12 -0
  16. data/lib/mdbe/database_views/class.rb +46 -0
  17. data/lib/mdbe/database_views/exception.rb +3 -0
  18. data/lib/mdbe/database_views/execblock.rb +5 -0
  19. data/lib/mdbe/database_views/fixnum.rb +5 -0
  20. data/lib/mdbe/database_views/float.rb +5 -0
  21. data/lib/mdbe/database_views/globals.rb +2 -0
  22. data/lib/mdbe/database_views/gsnmethod.rb +29 -0
  23. data/lib/mdbe/database_views/hash.rb +5 -0
  24. data/lib/mdbe/database_views/maglev_record.rb +42 -0
  25. data/lib/mdbe/database_views/module.rb +103 -0
  26. data/lib/mdbe/database_views/nilclass.rb +5 -0
  27. data/lib/mdbe/database_views/object.rb +80 -0
  28. data/lib/mdbe/database_views/proc.rb +3 -0
  29. data/lib/mdbe/database_views/repository.rb +3 -0
  30. data/lib/mdbe/database_views/ruby_workspace.rb +5 -0
  31. data/lib/mdbe/database_views/smalltalk_classes.rb +34 -0
  32. data/lib/mdbe/database_views/smalltalk_classes.st +60 -0
  33. data/lib/mdbe/database_views/string.rb +31 -0
  34. data/lib/mdbe/database_views/symbol.rb +32 -0
  35. data/lib/mdbe/database_views/system.rb +61 -0
  36. data/lib/mdbe/database_views/thread.rb +101 -0
  37. data/lib/mdbe/debug_server.rb +22 -0
  38. data/lib/mdbe/halt.rb +42 -0
  39. data/lib/mdbe/ruby_workspace.rb +29 -0
  40. data/lib/mdbe/version.rb +3 -0
  41. data/lib/tasks/maglev-database-explorer_tasks.rake +4 -0
  42. data/public/LICENSE +35 -0
  43. data/public/amber/CHANGELOG +65 -0
  44. data/public/amber/LICENSE +22 -0
  45. data/public/amber/Makefile +53 -0
  46. data/public/amber/README.md +30 -0
  47. data/public/amber/bin/amber +3 -0
  48. data/public/amber/bin/amberc +352 -0
  49. data/public/amber/bin/nodecompile.js +33 -0
  50. data/public/amber/bin/server +3 -0
  51. data/public/amber/bin/server.bat +3 -0
  52. data/public/amber/css/amber-normalize.css +468 -0
  53. data/public/amber/css/amber-normalize.less +501 -0
  54. data/public/amber/css/amber.css +539 -0
  55. data/public/amber/css/documentation.css +84 -0
  56. data/public/amber/css/profstef.css +75 -0
  57. data/public/amber/css/style.css +313 -0
  58. data/public/amber/documentation.html +37 -0
  59. data/public/amber/examples/Makefile +23 -0
  60. data/public/amber/examples/README +4 -0
  61. data/public/amber/examples/android/helloamber/AndroidManifest.xml +19 -0
  62. data/public/amber/examples/android/helloamber/HelloAmber.st +13 -0
  63. data/public/amber/examples/android/helloamber/Makefile +56 -0
  64. data/public/amber/examples/android/helloamber/README.md +80 -0
  65. data/public/amber/examples/android/helloamber/ant.properties +17 -0
  66. data/public/amber/examples/android/helloamber/assets/index.html +15 -0
  67. data/public/amber/examples/android/helloamber/assets/jquery-1.7.2.min.js +4 -0
  68. data/public/amber/examples/android/helloamber/build.xml +83 -0
  69. data/public/amber/examples/android/helloamber/local.properties +10 -0
  70. data/public/amber/examples/android/helloamber/proguard-project.txt +20 -0
  71. data/public/amber/examples/android/helloamber/project.properties +14 -0
  72. data/public/amber/examples/android/helloamber/res/layout/main.xml +6 -0
  73. data/public/amber/examples/android/helloamber/res/values/strings.xml +4 -0
  74. data/public/amber/examples/android/helloamber/src/org/amberlang/android/helloamber/HelloAmber.java +59 -0
  75. data/public/amber/examples/myproject/index.html +16 -0
  76. data/public/amber/examples/nodejs/README +9 -0
  77. data/public/amber/examples/nodejs/benchfib/Benchfib.st +124 -0
  78. data/public/amber/examples/nodejs/benchfib/Makefile +8 -0
  79. data/public/amber/examples/nodejs/benchfib/benchfib +1 -0
  80. data/public/amber/examples/nodejs/hello/Hello.st +9 -0
  81. data/public/amber/examples/nodejs/hello/Makefile +8 -0
  82. data/public/amber/examples/nodejs/hello/README +13 -0
  83. data/public/amber/examples/nodejs/hello/hello +1 -0
  84. data/public/amber/examples/nodejs/meta/Makefile +8 -0
  85. data/public/amber/examples/nodejs/meta/MyScript.st +27 -0
  86. data/public/amber/examples/nodejs/meta/meta +1 -0
  87. data/public/amber/examples/nodejs/pystone/Makefile +8 -0
  88. data/public/amber/examples/nodejs/pystone/Pystone.st +306 -0
  89. data/public/amber/examples/nodejs/pystone/pystone +1 -0
  90. data/public/amber/examples/nodejs/trivialserver/Makefile +8 -0
  91. data/public/amber/examples/nodejs/trivialserver/TrivialServer.st +51 -0
  92. data/public/amber/examples/nodejs/trivialserver/trivial +1 -0
  93. data/public/amber/examples/presentation/esug2011/images/asterix.png +0 -0
  94. data/public/amber/examples/presentation/esug2011/images/background_box.png +0 -0
  95. data/public/amber/examples/presentation/esug2011/images/background_header.png +0 -0
  96. data/public/amber/examples/presentation/esug2011/images/balloon.jpg +0 -0
  97. data/public/amber/examples/presentation/esug2011/images/balloon_header.png +0 -0
  98. data/public/amber/examples/presentation/esug2011/images/devices.jpg +0 -0
  99. data/public/amber/examples/presentation/esug2011/images/enyo.png +0 -0
  100. data/public/amber/examples/presentation/esug2011/images/ide_star_wars.png +0 -0
  101. data/public/amber/examples/presentation/esug2011/images/nodejs.png +0 -0
  102. data/public/amber/examples/presentation/esug2011/images/terminal.png +0 -0
  103. data/public/amber/examples/presentation/esug2011/images/webos.png +0 -0
  104. data/public/amber/examples/presentation/fosdem2012/images/amber.png +0 -0
  105. data/public/amber/examples/presentation/fosdem2012/images/ambrhino.jpg +0 -0
  106. data/public/amber/examples/presentation/fosdem2012/images/nodejs.png +0 -0
  107. data/public/amber/examples/presentation/fosdem2012/images/pharo.png +0 -0
  108. data/public/amber/examples/presentation/fosdem2012/images/php.gif +0 -0
  109. data/public/amber/examples/presentation/fosdem2012/images/rails.png +0 -0
  110. data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/arrow-next.png +0 -0
  111. data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/arrow-prev.png +0 -0
  112. data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/closedhand.cur +0 -0
  113. data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/openhand.cur +0 -0
  114. data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/shadow-top-back.png +0 -0
  115. data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/shadow-top-forward.png +0 -0
  116. data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/shadow.png +0 -0
  117. data/public/amber/examples/presentation/fosdem2012/lib/booklet/jquery.booklet.1.2.0.css +100 -0
  118. data/public/amber/examples/presentation/fosdem2012/lib/booklet/jquery.booklet.1.2.0.js +1232 -0
  119. data/public/amber/examples/presentation/fosdem2012/lib/booklet/jquery.booklet.1.2.0.min.js +13 -0
  120. data/public/amber/examples/presentation/fosdem2012/lib/booklet/jquery.easing.1.3.js +38 -0
  121. data/public/amber/examples/presentation/index.html +17 -0
  122. data/public/amber/examples/presentation/js/Presentation.deploy.js +1922 -0
  123. data/public/amber/examples/presentation/js/Presentation.js +2712 -0
  124. data/public/amber/examples/presentation/st/Presentation.st +1996 -0
  125. data/public/amber/examples/trysmalltalk/index.html +18 -0
  126. data/public/amber/examples/trysmalltalk/js/TrySmalltalk.deploy.js +837 -0
  127. data/public/amber/examples/trysmalltalk/js/TrySmalltalk.js +1206 -0
  128. data/public/amber/examples/trysmalltalk/st/TrySmalltalk.st +964 -0
  129. data/public/amber/examples/twitterwall/css/twitterwall.css +19 -0
  130. data/public/amber/examples/twitterwall/index.html +35 -0
  131. data/public/amber/examples/twitterwall/js/TwitterWall.deploy.js +116 -0
  132. data/public/amber/examples/twitterwall/js/TwitterWall.js +146 -0
  133. data/public/amber/examples/twitterwall/st/TwitterWall.st +91 -0
  134. data/public/amber/examples/webos/README +11 -0
  135. data/public/amber/examples/webos/eris/DuckQwaq.wav +0 -0
  136. data/public/amber/examples/webos/eris/EnyoAmber.st +36 -0
  137. data/public/amber/examples/webos/eris/Eris.css +0 -0
  138. data/public/amber/examples/webos/eris/Eris.st +86 -0
  139. data/public/amber/examples/webos/eris/Makefile +37 -0
  140. data/public/amber/examples/webos/eris/README +3 -0
  141. data/public/amber/examples/webos/eris/appinfo.json +10 -0
  142. data/public/amber/examples/webos/eris/index.html +12 -0
  143. data/public/amber/examples/webos/helloamber/EnyoAmber.st +36 -0
  144. data/public/amber/examples/webos/helloamber/HelloAmber.st +86 -0
  145. data/public/amber/examples/webos/helloamber/Makefile +38 -0
  146. data/public/amber/examples/webos/helloamber/README +5 -0
  147. data/public/amber/examples/webos/helloamber/appinfo.json +10 -0
  148. data/public/amber/examples/webos/helloamber/index.html +12 -0
  149. data/public/amber/favicon.ico +0 -0
  150. data/public/amber/images/amber.png +0 -0
  151. data/public/amber/images/amber.svg +706 -0
  152. data/public/amber/images/amber_small.png +0 -0
  153. data/public/amber/images/off.amber.png +0 -0
  154. data/public/amber/images/off.png +0 -0
  155. data/public/amber/images/offHover.amber.png +0 -0
  156. data/public/amber/images/offHover.png +0 -0
  157. data/public/amber/images/presentation.png +0 -0
  158. data/public/amber/images/profstef.png +0 -0
  159. data/public/amber/images/sprite.amber.png +0 -0
  160. data/public/amber/images/sprite.png +0 -0
  161. data/public/amber/images/tinylogo.amber.png +0 -0
  162. data/public/amber/images/tinylogo.png +0 -0
  163. data/public/amber/images/twitterwall.png +0 -0
  164. data/public/amber/index.html +55 -0
  165. data/public/amber/js/Additional-Examples.deploy.js +15 -0
  166. data/public/amber/js/Additional-Examples.js +21 -0
  167. data/public/amber/js/Benchfib.deploy.js +132 -0
  168. data/public/amber/js/Benchfib.js +167 -0
  169. data/public/amber/js/Canvas.deploy.js +2446 -0
  170. data/public/amber/js/Canvas.js +3547 -0
  171. data/public/amber/js/Compiler-Tests.deploy.js +97 -0
  172. data/public/amber/js/Compiler-Tests.js +137 -0
  173. data/public/amber/js/Compiler.deploy.js +1877 -0
  174. data/public/amber/js/Compiler.js +2622 -0
  175. data/public/amber/js/Documentation.deploy.js +961 -0
  176. data/public/amber/js/Documentation.js +1376 -0
  177. data/public/amber/js/Examples.deploy.js +53 -0
  178. data/public/amber/js/Examples.js +73 -0
  179. data/public/amber/js/IDE.deploy.js +3557 -0
  180. data/public/amber/js/IDE.js +5002 -0
  181. data/public/amber/js/Kernel-Announcements.deploy.js +107 -0
  182. data/public/amber/js/Kernel-Announcements.js +152 -0
  183. data/public/amber/js/Kernel-Classes.deploy.js +774 -0
  184. data/public/amber/js/Kernel-Classes.js +1095 -0
  185. data/public/amber/js/Kernel-Collections.deploy.js +3121 -0
  186. data/public/amber/js/Kernel-Collections.js +4427 -0
  187. data/public/amber/js/Kernel-Exceptions.deploy.js +244 -0
  188. data/public/amber/js/Kernel-Exceptions.js +349 -0
  189. data/public/amber/js/Kernel-Methods.deploy.js +573 -0
  190. data/public/amber/js/Kernel-Methods.js +807 -0
  191. data/public/amber/js/Kernel-Objects.deploy.js +2877 -0
  192. data/public/amber/js/Kernel-Objects.js +4107 -0
  193. data/public/amber/js/Kernel-Tests.deploy.js +1513 -0
  194. data/public/amber/js/Kernel-Tests.js +2053 -0
  195. data/public/amber/js/Kernel-Transcript.deploy.js +142 -0
  196. data/public/amber/js/Kernel-Transcript.js +202 -0
  197. data/public/amber/js/Maglev-Core.deploy.js +2996 -0
  198. data/public/amber/js/Maglev-Core.js +4246 -0
  199. data/public/amber/js/Maglev-Database-Explorer.deploy.js +4476 -0
  200. data/public/amber/js/Maglev-Database-Explorer.js +6232 -0
  201. data/public/amber/js/Maglev-Vendor.deploy.js +350 -0
  202. data/public/amber/js/Maglev-Vendor.js +465 -0
  203. data/public/amber/js/README.md +5 -0
  204. data/public/amber/js/SUnit.deploy.js +351 -0
  205. data/public/amber/js/SUnit.js +501 -0
  206. data/public/amber/js/amber.js +273 -0
  207. data/public/amber/js/boot.js +602 -0
  208. data/public/amber/js/compat.js +22 -0
  209. data/public/amber/js/init.js +9 -0
  210. data/public/amber/js/lib/CodeMirror/LICENSE +19 -0
  211. data/public/amber/js/lib/CodeMirror/active-line.js +39 -0
  212. data/public/amber/js/lib/CodeMirror/amber.css +21 -0
  213. data/public/amber/js/lib/CodeMirror/codemirror.css +67 -0
  214. data/public/amber/js/lib/CodeMirror/codemirror.js +2144 -0
  215. data/public/amber/js/lib/CodeMirror/smalltalk.js +134 -0
  216. data/public/amber/js/lib/jQuery/jquery-1.4.4.min.js +167 -0
  217. data/public/amber/js/lib/jQuery/jquery-1.6.4.min.js +4 -0
  218. data/public/amber/js/lib/jQuery/jquery-ui-1.8.16.custom.min.js +791 -0
  219. data/public/amber/js/lib/jQuery/jquery.textarea.js +267 -0
  220. data/public/amber/js/lib/peg-0.6.2.min.js +2 -0
  221. data/public/amber/js/lib/showdown.js +419 -0
  222. data/public/amber/js/parser.js +4222 -0
  223. data/public/amber/js/parser.pegjs +223 -0
  224. data/public/amber/learn.html +40 -0
  225. data/public/amber/repl/Makefile +8 -0
  226. data/public/amber/repl/REPL.js +124 -0
  227. data/public/amber/repl/REPL.st +56 -0
  228. data/public/amber/repl/amber.js +18085 -0
  229. data/public/amber/server/FileServer.st +576 -0
  230. data/public/amber/server/Makefile +8 -0
  231. data/public/amber/server/server.js +13049 -0
  232. data/public/amber/st/Benchfib.js +297 -0
  233. data/public/amber/st/Benchfib.st +124 -0
  234. data/public/amber/st/Canvas.st +968 -0
  235. data/public/amber/st/Compiler-Tests.st +471 -0
  236. data/public/amber/st/Compiler.st +1445 -0
  237. data/public/amber/st/Documentation.st +758 -0
  238. data/public/amber/st/Examples.js +100 -0
  239. data/public/amber/st/Examples.st +38 -0
  240. data/public/amber/st/IDE.st +2404 -0
  241. data/public/amber/st/Kernel-Announcements.st +61 -0
  242. data/public/amber/st/Kernel-Classes.st +462 -0
  243. data/public/amber/st/Kernel-Collections.st +1611 -0
  244. data/public/amber/st/Kernel-Exceptions.st +124 -0
  245. data/public/amber/st/Kernel-Methods.st +291 -0
  246. data/public/amber/st/Kernel-Objects.st +1587 -0
  247. data/public/amber/st/Kernel-Tests.st +953 -0
  248. data/public/amber/st/Kernel-Transcript.st +70 -0
  249. data/public/amber/st/Maglev-Core.st +1694 -0
  250. data/public/amber/st/Maglev-Database-Explorer.st +3148 -0
  251. data/public/amber/st/Maglev-Vendor.st +151 -0
  252. data/public/amber/st/Makefile +104 -0
  253. data/public/amber/st/README.md +4 -0
  254. data/public/amber/st/SUnit.st +172 -0
  255. data/public/css/bootstrap-combined.no-icons.min.css +731 -0
  256. data/public/css/bootstrap.css +6811 -0
  257. data/public/css/images/animated-overlay.gif +0 -0
  258. data/public/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  259. data/public/css/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  260. data/public/css/images/ui-bg_flat_10_000000_40x100.png +0 -0
  261. data/public/css/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  262. data/public/css/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  263. data/public/css/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  264. data/public/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  265. data/public/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  266. data/public/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  267. data/public/css/images/ui-icons_222222_256x240.png +0 -0
  268. data/public/css/images/ui-icons_228ef1_256x240.png +0 -0
  269. data/public/css/images/ui-icons_ef8c08_256x240.png +0 -0
  270. data/public/css/images/ui-icons_ffd27a_256x240.png +0 -0
  271. data/public/css/images/ui-icons_ffffff_256x240.png +0 -0
  272. data/public/css/jquery-ui.min.css +5 -0
  273. data/public/css/smalltalk_code.css +42 -0
  274. data/public/css/style.css +210 -0
  275. data/public/images/bg_tile.png +0 -0
  276. data/public/images/maglev-logo.gif +0 -0
  277. data/public/images/mchammer.gif +0 -0
  278. data/public/images/rails_tiny.png +0 -0
  279. data/public/images/ruby.png +0 -0
  280. data/public/images/ruby_smalltalk_bridge.png +0 -0
  281. data/public/images/smalltalk.png +0 -0
  282. data/public/img/glyphicons-halflings.png +0 -0
  283. data/public/index.html +118 -0
  284. data/public/libs/bootstrap.min.js +7 -0
  285. data/public/libs/codemirror/CONTRIBUTING.md +72 -0
  286. data/public/libs/codemirror/LICENSE +23 -0
  287. data/public/libs/codemirror/README.md +11 -0
  288. data/public/libs/codemirror/addon/dialog/dialog.css +32 -0
  289. data/public/libs/codemirror/addon/dialog/dialog.js +80 -0
  290. data/public/libs/codemirror/addon/display/placeholder.js +54 -0
  291. data/public/libs/codemirror/addon/edit/closebrackets.js +54 -0
  292. data/public/libs/codemirror/addon/edit/closetag.js +86 -0
  293. data/public/libs/codemirror/addon/edit/continuecomment.js +44 -0
  294. data/public/libs/codemirror/addon/edit/continuelist.js +25 -0
  295. data/public/libs/codemirror/addon/edit/matchbrackets.js +82 -0
  296. data/public/libs/codemirror/addon/fold/brace-fold.js +31 -0
  297. data/public/libs/codemirror/addon/fold/foldcode.js +32 -0
  298. data/public/libs/codemirror/addon/fold/indent-fold.js +11 -0
  299. data/public/libs/codemirror/addon/fold/xml-fold.js +64 -0
  300. data/public/libs/codemirror/addon/hint/html-hint.js +582 -0
  301. data/public/libs/codemirror/addon/hint/javascript-hint.js +142 -0
  302. data/public/libs/codemirror/addon/hint/pig-hint.js +117 -0
  303. data/public/libs/codemirror/addon/hint/python-hint.js +93 -0
  304. data/public/libs/codemirror/addon/hint/show-hint.css +38 -0
  305. data/public/libs/codemirror/addon/hint/show-hint.js +180 -0
  306. data/public/libs/codemirror/addon/hint/xml-hint.js +118 -0
  307. data/public/libs/codemirror/addon/lint/javascript-lint.js +127 -0
  308. data/public/libs/codemirror/addon/lint/json-lint.js +14 -0
  309. data/public/libs/codemirror/addon/lint/lint.css +96 -0
  310. data/public/libs/codemirror/addon/lint/lint.js +197 -0
  311. data/public/libs/codemirror/addon/mode/loadmode.js +51 -0
  312. data/public/libs/codemirror/addon/mode/multiplex.js +95 -0
  313. data/public/libs/codemirror/addon/mode/overlay.js +59 -0
  314. data/public/libs/codemirror/addon/runmode/colorize.js +29 -0
  315. data/public/libs/codemirror/addon/runmode/runmode-standalone.js +130 -0
  316. data/public/libs/codemirror/addon/runmode/runmode.js +52 -0
  317. data/public/libs/codemirror/addon/runmode/runmode.node.js +89 -0
  318. data/public/libs/codemirror/addon/search/match-highlighter.js +60 -0
  319. data/public/libs/codemirror/addon/search/search.js +131 -0
  320. data/public/libs/codemirror/addon/search/searchcursor.js +133 -0
  321. data/public/libs/codemirror/addon/selection/active-line.js +39 -0
  322. data/public/libs/codemirror/addon/selection/mark-selection.js +34 -0
  323. data/public/libs/codemirror/bin/compress +91 -0
  324. data/public/libs/codemirror/bin/lint +11 -0
  325. data/public/libs/codemirror/demo/activeline.html +70 -0
  326. data/public/libs/codemirror/demo/bidi.html +61 -0
  327. data/public/libs/codemirror/demo/btree.html +87 -0
  328. data/public/libs/codemirror/demo/buffers.html +98 -0
  329. data/public/libs/codemirror/demo/changemode.html +50 -0
  330. data/public/libs/codemirror/demo/closebrackets.html +63 -0
  331. data/public/libs/codemirror/demo/closetag.html +37 -0
  332. data/public/libs/codemirror/demo/complete.html +70 -0
  333. data/public/libs/codemirror/demo/emacs.html +60 -0
  334. data/public/libs/codemirror/demo/folding.html +69 -0
  335. data/public/libs/codemirror/demo/fullscreen.html +147 -0
  336. data/public/libs/codemirror/demo/html5complete.html +92 -0
  337. data/public/libs/codemirror/demo/indentwrap.html +49 -0
  338. data/public/libs/codemirror/demo/lint.html +90 -0
  339. data/public/libs/codemirror/demo/loadmode.html +40 -0
  340. data/public/libs/codemirror/demo/marker.html +59 -0
  341. data/public/libs/codemirror/demo/markselection.html +36 -0
  342. data/public/libs/codemirror/demo/matchhighlighter.html +38 -0
  343. data/public/libs/codemirror/demo/multiplex.html +60 -0
  344. data/public/libs/codemirror/demo/mustache.html +59 -0
  345. data/public/libs/codemirror/demo/placeholder.html +36 -0
  346. data/public/libs/codemirror/demo/preview.html +76 -0
  347. data/public/libs/codemirror/demo/resize.html +49 -0
  348. data/public/libs/codemirror/demo/runmode.html +50 -0
  349. data/public/libs/codemirror/demo/search.html +85 -0
  350. data/public/libs/codemirror/demo/spanaffectswrapping_shim.html +73 -0
  351. data/public/libs/codemirror/demo/theme.html +89 -0
  352. data/public/libs/codemirror/demo/variableheight.html +52 -0
  353. data/public/libs/codemirror/demo/vim.html +65 -0
  354. data/public/libs/codemirror/demo/visibletabs.html +53 -0
  355. data/public/libs/codemirror/demo/widget.html +74 -0
  356. data/public/libs/codemirror/demo/xmlcomplete.html +81 -0
  357. data/public/libs/codemirror/index.html +487 -0
  358. data/public/libs/codemirror/keymap/emacs.js +30 -0
  359. data/public/libs/codemirror/keymap/vim.js +3044 -0
  360. data/public/libs/codemirror/lib/codemirror.css +253 -0
  361. data/public/libs/codemirror/lib/codemirror.js +5585 -0
  362. data/public/libs/codemirror/mode/apl/apl.js +160 -0
  363. data/public/libs/codemirror/mode/apl/index.html +61 -0
  364. data/public/libs/codemirror/mode/asterisk/asterisk.js +183 -0
  365. data/public/libs/codemirror/mode/asterisk/index.html +142 -0
  366. data/public/libs/codemirror/mode/clike/clike.js +302 -0
  367. data/public/libs/codemirror/mode/clike/index.html +103 -0
  368. data/public/libs/codemirror/mode/clike/scala.html +767 -0
  369. data/public/libs/codemirror/mode/clojure/clojure.js +222 -0
  370. data/public/libs/codemirror/mode/clojure/index.html +76 -0
  371. data/public/libs/codemirror/mode/coffeescript/LICENSE +22 -0
  372. data/public/libs/codemirror/mode/coffeescript/coffeescript.js +346 -0
  373. data/public/libs/codemirror/mode/coffeescript/index.html +728 -0
  374. data/public/libs/codemirror/mode/commonlisp/commonlisp.js +101 -0
  375. data/public/libs/codemirror/mode/commonlisp/index.html +165 -0
  376. data/public/libs/codemirror/mode/css/css.js +567 -0
  377. data/public/libs/codemirror/mode/css/index.html +58 -0
  378. data/public/libs/codemirror/mode/css/scss.html +145 -0
  379. data/public/libs/codemirror/mode/css/scss_test.js +80 -0
  380. data/public/libs/codemirror/mode/css/test.js +113 -0
  381. data/public/libs/codemirror/mode/d/d.js +205 -0
  382. data/public/libs/codemirror/mode/d/index.html +262 -0
  383. data/public/libs/codemirror/mode/diff/diff.js +32 -0
  384. data/public/libs/codemirror/mode/diff/index.html +105 -0
  385. data/public/libs/codemirror/mode/ecl/ecl.js +192 -0
  386. data/public/libs/codemirror/mode/ecl/index.html +39 -0
  387. data/public/libs/codemirror/mode/erlang/erlang.js +463 -0
  388. data/public/libs/codemirror/mode/erlang/index.html +64 -0
  389. data/public/libs/codemirror/mode/gas/gas.js +326 -0
  390. data/public/libs/codemirror/mode/gas/index.html +57 -0
  391. data/public/libs/codemirror/mode/gfm/gfm.js +96 -0
  392. data/public/libs/codemirror/mode/gfm/index.html +74 -0
  393. data/public/libs/codemirror/mode/gfm/test.js +112 -0
  394. data/public/libs/codemirror/mode/go/go.js +165 -0
  395. data/public/libs/codemirror/mode/go/index.html +74 -0
  396. data/public/libs/codemirror/mode/groovy/groovy.js +210 -0
  397. data/public/libs/codemirror/mode/groovy/index.html +73 -0
  398. data/public/libs/codemirror/mode/haskell/haskell.js +242 -0
  399. data/public/libs/codemirror/mode/haskell/index.html +62 -0
  400. data/public/libs/codemirror/mode/haxe/haxe.js +429 -0
  401. data/public/libs/codemirror/mode/haxe/index.html +90 -0
  402. data/public/libs/codemirror/mode/htmlembedded/htmlembedded.js +73 -0
  403. data/public/libs/codemirror/mode/htmlembedded/index.html +49 -0
  404. data/public/libs/codemirror/mode/htmlmixed/htmlmixed.js +104 -0
  405. data/public/libs/codemirror/mode/htmlmixed/index.html +73 -0
  406. data/public/libs/codemirror/mode/http/http.js +98 -0
  407. data/public/libs/codemirror/mode/http/index.html +32 -0
  408. data/public/libs/codemirror/mode/javascript/index.html +92 -0
  409. data/public/libs/codemirror/mode/javascript/javascript.js +467 -0
  410. data/public/libs/codemirror/mode/javascript/typescript.html +48 -0
  411. data/public/libs/codemirror/mode/jinja2/index.html +38 -0
  412. data/public/libs/codemirror/mode/jinja2/jinja2.js +42 -0
  413. data/public/libs/codemirror/mode/less/index.html +741 -0
  414. data/public/libs/codemirror/mode/less/less.js +266 -0
  415. data/public/libs/codemirror/mode/livescript/LICENSE +23 -0
  416. data/public/libs/codemirror/mode/livescript/index.html +446 -0
  417. data/public/libs/codemirror/mode/livescript/livescript.js +267 -0
  418. data/public/libs/codemirror/mode/livescript/livescript.ls +266 -0
  419. data/public/libs/codemirror/mode/lua/index.html +74 -0
  420. data/public/libs/codemirror/mode/lua/lua.js +140 -0
  421. data/public/libs/codemirror/mode/markdown/index.html +344 -0
  422. data/public/libs/codemirror/mode/markdown/markdown.js +526 -0
  423. data/public/libs/codemirror/mode/markdown/test.js +636 -0
  424. data/public/libs/codemirror/mode/meta.js +75 -0
  425. data/public/libs/codemirror/mode/mirc/index.html +149 -0
  426. data/public/libs/codemirror/mode/mirc/mirc.js +177 -0
  427. data/public/libs/codemirror/mode/ntriples/index.html +33 -0
  428. data/public/libs/codemirror/mode/ntriples/ntriples.js +170 -0
  429. data/public/libs/codemirror/mode/ocaml/index.html +131 -0
  430. data/public/libs/codemirror/mode/ocaml/ocaml.js +113 -0
  431. data/public/libs/codemirror/mode/pascal/LICENSE +7 -0
  432. data/public/libs/codemirror/mode/pascal/index.html +48 -0
  433. data/public/libs/codemirror/mode/pascal/pascal.js +94 -0
  434. data/public/libs/codemirror/mode/perl/LICENSE +19 -0
  435. data/public/libs/codemirror/mode/perl/index.html +62 -0
  436. data/public/libs/codemirror/mode/perl/perl.js +816 -0
  437. data/public/libs/codemirror/mode/php/index.html +51 -0
  438. data/public/libs/codemirror/mode/php/php.js +129 -0
  439. data/public/libs/codemirror/mode/pig/index.html +42 -0
  440. data/public/libs/codemirror/mode/pig/pig.js +171 -0
  441. data/public/libs/codemirror/mode/properties/index.html +41 -0
  442. data/public/libs/codemirror/mode/properties/properties.js +63 -0
  443. data/public/libs/codemirror/mode/python/LICENSE.txt +21 -0
  444. data/public/libs/codemirror/mode/python/index.html +135 -0
  445. data/public/libs/codemirror/mode/python/python.js +340 -0
  446. data/public/libs/codemirror/mode/q/index.html +131 -0
  447. data/public/libs/codemirror/mode/q/q.js +124 -0
  448. data/public/libs/codemirror/mode/r/LICENSE +24 -0
  449. data/public/libs/codemirror/mode/r/index.html +74 -0
  450. data/public/libs/codemirror/mode/r/r.js +141 -0
  451. data/public/libs/codemirror/mode/rpm/changes/changes.js +19 -0
  452. data/public/libs/codemirror/mode/rpm/changes/index.html +53 -0
  453. data/public/libs/codemirror/mode/rpm/spec/index.html +99 -0
  454. data/public/libs/codemirror/mode/rpm/spec/spec.css +5 -0
  455. data/public/libs/codemirror/mode/rpm/spec/spec.js +66 -0
  456. data/public/libs/codemirror/mode/rst/LICENSE.txt +21 -0
  457. data/public/libs/codemirror/mode/rst/index.html +524 -0
  458. data/public/libs/codemirror/mode/rst/rst.js +550 -0
  459. data/public/libs/codemirror/mode/ruby/LICENSE +24 -0
  460. data/public/libs/codemirror/mode/ruby/index.html +173 -0
  461. data/public/libs/codemirror/mode/ruby/ruby.js +197 -0
  462. data/public/libs/codemirror/mode/rust/index.html +48 -0
  463. data/public/libs/codemirror/mode/rust/rust.js +432 -0
  464. data/public/libs/codemirror/mode/sass/index.html +54 -0
  465. data/public/libs/codemirror/mode/sass/sass.js +349 -0
  466. data/public/libs/codemirror/mode/scheme/index.html +65 -0
  467. data/public/libs/codemirror/mode/scheme/scheme.js +230 -0
  468. data/public/libs/codemirror/mode/shell/index.html +51 -0
  469. data/public/libs/codemirror/mode/shell/shell.js +118 -0
  470. data/public/libs/codemirror/mode/sieve/LICENSE +19 -0
  471. data/public/libs/codemirror/mode/sieve/index.html +81 -0
  472. data/public/libs/codemirror/mode/sieve/sieve.js +183 -0
  473. data/public/libs/codemirror/mode/smalltalk/index.html +57 -0
  474. data/public/libs/codemirror/mode/smalltalk/smalltalk.js +141 -0
  475. data/public/libs/codemirror/mode/smarty/index.html +83 -0
  476. data/public/libs/codemirror/mode/smarty/smarty.js +148 -0
  477. data/public/libs/codemirror/mode/sparql/index.html +42 -0
  478. data/public/libs/codemirror/mode/sparql/sparql.js +143 -0
  479. data/public/libs/codemirror/mode/sql/index.html +68 -0
  480. data/public/libs/codemirror/mode/sql/sql.js +268 -0
  481. data/public/libs/codemirror/mode/stex/index.html +98 -0
  482. data/public/libs/codemirror/mode/stex/stex.js +246 -0
  483. data/public/libs/codemirror/mode/stex/test.js +117 -0
  484. data/public/libs/codemirror/mode/tcl/index.html +129 -0
  485. data/public/libs/codemirror/mode/tcl/tcl.js +131 -0
  486. data/public/libs/codemirror/mode/tiddlywiki/index.html +142 -0
  487. data/public/libs/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
  488. data/public/libs/codemirror/mode/tiddlywiki/tiddlywiki.js +353 -0
  489. data/public/libs/codemirror/mode/tiki/index.html +81 -0
  490. data/public/libs/codemirror/mode/tiki/tiki.css +26 -0
  491. data/public/libs/codemirror/mode/tiki/tiki.js +308 -0
  492. data/public/libs/codemirror/mode/turtle/index.html +39 -0
  493. data/public/libs/codemirror/mode/turtle/turtle.js +145 -0
  494. data/public/libs/codemirror/mode/vb/LICENSE.txt +21 -0
  495. data/public/libs/codemirror/mode/vb/index.html +88 -0
  496. data/public/libs/codemirror/mode/vb/vb.js +259 -0
  497. data/public/libs/codemirror/mode/vbscript/index.html +42 -0
  498. data/public/libs/codemirror/mode/vbscript/vbscript.js +26 -0
  499. data/public/libs/codemirror/mode/velocity/index.html +103 -0
  500. data/public/libs/codemirror/mode/velocity/velocity.js +144 -0
  501. data/public/libs/codemirror/mode/verilog/index.html +121 -0
  502. data/public/libs/codemirror/mode/verilog/verilog.js +182 -0
  503. data/public/libs/codemirror/mode/xml/index.html +45 -0
  504. data/public/libs/codemirror/mode/xml/xml.js +328 -0
  505. data/public/libs/codemirror/mode/xquery/LICENSE +20 -0
  506. data/public/libs/codemirror/mode/xquery/index.html +221 -0
  507. data/public/libs/codemirror/mode/xquery/test.js +64 -0
  508. data/public/libs/codemirror/mode/xquery/xquery.js +450 -0
  509. data/public/libs/codemirror/mode/yaml/index.html +68 -0
  510. data/public/libs/codemirror/mode/yaml/yaml.js +95 -0
  511. data/public/libs/codemirror/mode/z80/index.html +39 -0
  512. data/public/libs/codemirror/mode/z80/z80.js +85 -0
  513. data/public/libs/codemirror/package.json +21 -0
  514. data/public/libs/codemirror/test/doc_test.js +329 -0
  515. data/public/libs/codemirror/test/driver.js +138 -0
  516. data/public/libs/codemirror/test/index.html +182 -0
  517. data/public/libs/codemirror/test/lint/acorn.js +1593 -0
  518. data/public/libs/codemirror/test/lint/lint.js +112 -0
  519. data/public/libs/codemirror/test/lint/parse-js.js +1372 -0
  520. data/public/libs/codemirror/test/lint/walk.js +216 -0
  521. data/public/libs/codemirror/test/mode_test.css +10 -0
  522. data/public/libs/codemirror/test/mode_test.js +192 -0
  523. data/public/libs/codemirror/test/phantom_driver.js +31 -0
  524. data/public/libs/codemirror/test/run.js +33 -0
  525. data/public/libs/codemirror/test/test.js +1400 -0
  526. data/public/libs/codemirror/test/vim_test.js +1688 -0
  527. data/public/libs/codemirror/theme/ambiance-mobile.css +5 -0
  528. data/public/libs/codemirror/theme/ambiance.css +75 -0
  529. data/public/libs/codemirror/theme/blackboard.css +25 -0
  530. data/public/libs/codemirror/theme/cobalt.css +18 -0
  531. data/public/libs/codemirror/theme/eclipse.css +25 -0
  532. data/public/libs/codemirror/theme/elegant.css +10 -0
  533. data/public/libs/codemirror/theme/erlang-dark.css +21 -0
  534. data/public/libs/codemirror/theme/lesser-dark.css +44 -0
  535. data/public/libs/codemirror/theme/midnight.css +52 -0
  536. data/public/libs/codemirror/theme/monokai.css +28 -0
  537. data/public/libs/codemirror/theme/neat.css +9 -0
  538. data/public/libs/codemirror/theme/night.css +21 -0
  539. data/public/libs/codemirror/theme/rubyblue.css +21 -0
  540. data/public/libs/codemirror/theme/solarized.css +207 -0
  541. data/public/libs/codemirror/theme/twilight.css +26 -0
  542. data/public/libs/codemirror/theme/vibrant-ink.css +27 -0
  543. data/public/libs/codemirror/theme/xq-dark.css +46 -0
  544. data/public/libs/codemirror/theme/xq-light.css +43 -0
  545. data/public/libs/font-awesome/css/font-awesome-ie7.css +983 -0
  546. data/public/libs/font-awesome/css/font-awesome-ie7.min.css +24 -0
  547. data/public/libs/font-awesome/css/font-awesome.css +1268 -0
  548. data/public/libs/font-awesome/css/font-awesome.min.css +24 -0
  549. data/public/libs/font-awesome/font/FontAwesome.otf +0 -0
  550. data/public/libs/font-awesome/font/fontawesome-webfont.eot +0 -0
  551. data/public/libs/font-awesome/font/fontawesome-webfont.svg +339 -0
  552. data/public/libs/font-awesome/font/fontawesome-webfont.ttf +0 -0
  553. data/public/libs/font-awesome/font/fontawesome-webfont.woff +0 -0
  554. data/public/libs/font-awesome/less/bootstrap.less +78 -0
  555. data/public/libs/font-awesome/less/core.less +132 -0
  556. data/public/libs/font-awesome/less/extras.less +79 -0
  557. data/public/libs/font-awesome/less/font-awesome-ie7.less +413 -0
  558. data/public/libs/font-awesome/less/font-awesome.less +32 -0
  559. data/public/libs/font-awesome/less/icons.less +330 -0
  560. data/public/libs/font-awesome/less/mixins.less +34 -0
  561. data/public/libs/font-awesome/less/path.less +15 -0
  562. data/public/libs/font-awesome/less/variables.less +9 -0
  563. data/public/libs/jquery-1.10.0.min.js +6 -0
  564. data/public/libs/jquery-ui.min.js +12 -0
  565. data/public/libs/jquery.jsPlumb-1.4.0-all.js +9571 -0
  566. data/public/libs/jquery.livequery.js +226 -0
  567. data/public/libs/jsPlumbInitializer.js +72 -0
  568. data/public/libs/jstree/README.txt +10 -0
  569. data/public/libs/jstree/_demo/_dump.sql +20 -0
  570. data/public/libs/jstree/_demo/_inc/__mysql_errors.log +0 -0
  571. data/public/libs/jstree/_demo/_inc/class._database.php +146 -0
  572. data/public/libs/jstree/_demo/_inc/class._database_i.php +152 -0
  573. data/public/libs/jstree/_demo/_inc/class.tree.php +602 -0
  574. data/public/libs/jstree/_demo/_install.txt +6 -0
  575. data/public/libs/jstree/_demo/config.php +14 -0
  576. data/public/libs/jstree/_demo/file.png +0 -0
  577. data/public/libs/jstree/_demo/folder.png +0 -0
  578. data/public/libs/jstree/_demo/index.html +461 -0
  579. data/public/libs/jstree/_demo/root.png +0 -0
  580. data/public/libs/jstree/_demo/server.php +69 -0
  581. data/public/libs/jstree/_docs/!style.css +48 -0
  582. data/public/libs/jstree/_docs/_drive.png +0 -0
  583. data/public/libs/jstree/_docs/_html_data.html +2 -0
  584. data/public/libs/jstree/_docs/_json_data.json +4 -0
  585. data/public/libs/jstree/_docs/_search_data.json +6 -0
  586. data/public/libs/jstree/_docs/_search_result.json +1 -0
  587. data/public/libs/jstree/_docs/_xml_flat.xml +12 -0
  588. data/public/libs/jstree/_docs/_xml_nest.xml +18 -0
  589. data/public/libs/jstree/_docs/checkbox.html +171 -0
  590. data/public/libs/jstree/_docs/contextmenu.html +121 -0
  591. data/public/libs/jstree/_docs/cookies.html +97 -0
  592. data/public/libs/jstree/_docs/core.html +689 -0
  593. data/public/libs/jstree/_docs/crrm.html +316 -0
  594. data/public/libs/jstree/_docs/dnd.html +199 -0
  595. data/public/libs/jstree/_docs/hotkeys.html +82 -0
  596. data/public/libs/jstree/_docs/html_data.html +175 -0
  597. data/public/libs/jstree/_docs/index.html +86 -0
  598. data/public/libs/jstree/_docs/json_data.html +249 -0
  599. data/public/libs/jstree/_docs/languages.html +152 -0
  600. data/public/libs/jstree/_docs/logo.png +0 -0
  601. data/public/libs/jstree/_docs/search.html +153 -0
  602. data/public/libs/jstree/_docs/sort.html +85 -0
  603. data/public/libs/jstree/_docs/syntax/!script.js +2232 -0
  604. data/public/libs/jstree/_docs/syntax/!style.css +511 -0
  605. data/public/libs/jstree/_docs/syntax/clipboard.swf +0 -0
  606. data/public/libs/jstree/_docs/syntax/help.png +0 -0
  607. data/public/libs/jstree/_docs/syntax/magnifier.png +0 -0
  608. data/public/libs/jstree/_docs/syntax/page_white_code.png +0 -0
  609. data/public/libs/jstree/_docs/syntax/page_white_copy.png +0 -0
  610. data/public/libs/jstree/_docs/syntax/printer.png +0 -0
  611. data/public/libs/jstree/_docs/syntax/wrapping.png +0 -0
  612. data/public/libs/jstree/_docs/themeroller.html +107 -0
  613. data/public/libs/jstree/_docs/themes.html +127 -0
  614. data/public/libs/jstree/_docs/types.html +178 -0
  615. data/public/libs/jstree/_docs/ui.html +197 -0
  616. data/public/libs/jstree/_docs/unique.html +85 -0
  617. data/public/libs/jstree/_docs/xml_data.html +218 -0
  618. data/public/libs/jstree/_lib/jquery.cookie.js +96 -0
  619. data/public/libs/jstree/_lib/jquery.hotkeys.js +99 -0
  620. data/public/libs/jstree/_lib/jquery.js +5 -0
  621. data/public/libs/jstree/jquery.jstree.js +4564 -0
  622. data/public/libs/jstree/themes/apple/bg.jpg +0 -0
  623. data/public/libs/jstree/themes/apple/d.png +0 -0
  624. data/public/libs/jstree/themes/apple/dot_for_ie.gif +0 -0
  625. data/public/libs/jstree/themes/apple/style.css +61 -0
  626. data/public/libs/jstree/themes/apple/throbber.gif +0 -0
  627. data/public/libs/jstree/themes/classic/d.gif +0 -0
  628. data/public/libs/jstree/themes/classic/d.png +0 -0
  629. data/public/libs/jstree/themes/classic/dot_for_ie.gif +0 -0
  630. data/public/libs/jstree/themes/classic/style.css +77 -0
  631. data/public/libs/jstree/themes/classic/throbber.gif +0 -0
  632. data/public/libs/jstree/themes/default-rtl/d.gif +0 -0
  633. data/public/libs/jstree/themes/default-rtl/d.png +0 -0
  634. data/public/libs/jstree/themes/default-rtl/dots.gif +0 -0
  635. data/public/libs/jstree/themes/default-rtl/style.css +84 -0
  636. data/public/libs/jstree/themes/default-rtl/throbber.gif +0 -0
  637. data/public/libs/jstree/themes/default/d.gif +0 -0
  638. data/public/libs/jstree/themes/default/d.png +0 -0
  639. data/public/libs/jstree/themes/default/style.css +74 -0
  640. data/public/libs/jstree/themes/default/throbber.gif +0 -0
  641. data/public/themes/geo-bootstrap/README.md +25 -0
  642. data/public/themes/geo-bootstrap/img/flames.gif +0 -0
  643. data/public/themes/geo-bootstrap/img/glyphicons-halflings-white.png +0 -0
  644. data/public/themes/geo-bootstrap/img/glyphicons-halflings.png +0 -0
  645. data/public/themes/geo-bootstrap/img/microfab.gif +0 -0
  646. data/public/themes/geo-bootstrap/img/progress.gif +0 -0
  647. data/public/themes/geo-bootstrap/img/rainbow.gif +0 -0
  648. data/public/themes/geo-bootstrap/img/stars.gif +0 -0
  649. data/public/themes/geo-bootstrap/img/test/7upspot.gif +0 -0
  650. data/public/themes/geo-bootstrap/img/test/americanflag.gif +0 -0
  651. data/public/themes/geo-bootstrap/img/test/community.gif +0 -0
  652. data/public/themes/geo-bootstrap/img/test/computer-01.gif +0 -0
  653. data/public/themes/geo-bootstrap/img/test/computer.gif +0 -0
  654. data/public/themes/geo-bootstrap/img/test/construction.gif +0 -0
  655. data/public/themes/geo-bootstrap/img/test/counter.gif +0 -0
  656. data/public/themes/geo-bootstrap/img/test/counter2.gif +0 -0
  657. data/public/themes/geo-bootstrap/img/test/divider.gif +0 -0
  658. data/public/themes/geo-bootstrap/img/test/divider1.gif +0 -0
  659. data/public/themes/geo-bootstrap/img/test/divider2.gif +0 -0
  660. data/public/themes/geo-bootstrap/img/test/divider3.gif +0 -0
  661. data/public/themes/geo-bootstrap/img/test/divider4.gif +0 -0
  662. data/public/themes/geo-bootstrap/img/test/drudgesiren.gif +0 -0
  663. data/public/themes/geo-bootstrap/img/test/emailme.gif +0 -0
  664. data/public/themes/geo-bootstrap/img/test/funky.gif +0 -0
  665. data/public/themes/geo-bootstrap/img/test/geocities.jpg +0 -0
  666. data/public/themes/geo-bootstrap/img/test/hacker.gif +0 -0
  667. data/public/themes/geo-bootstrap/img/test/heart.gif +0 -0
  668. data/public/themes/geo-bootstrap/img/test/hot.gif +0 -0
  669. data/public/themes/geo-bootstrap/img/test/ie_logo.gif +0 -0
  670. data/public/themes/geo-bootstrap/img/test/mailkitten.gif +0 -0
  671. data/public/themes/geo-bootstrap/img/test/mchammer.gif +0 -0
  672. data/public/themes/geo-bootstrap/img/test/new.gif +0 -0
  673. data/public/themes/geo-bootstrap/img/test/new2.gif +0 -0
  674. data/public/themes/geo-bootstrap/img/test/noframes.gif +0 -0
  675. data/public/themes/geo-bootstrap/img/test/notepad.gif +0 -0
  676. data/public/themes/geo-bootstrap/img/test/ns_logo.gif +0 -0
  677. data/public/themes/geo-bootstrap/img/test/sign-in.gif +0 -0
  678. data/public/themes/geo-bootstrap/img/test/spinningearth.gif +0 -0
  679. data/public/themes/geo-bootstrap/img/test/underconstruction.gif +0 -0
  680. data/public/themes/geo-bootstrap/img/test/wabwalk.gif +0 -0
  681. data/public/themes/geo-bootstrap/img/test/webtrips.gif +0 -0
  682. data/public/themes/geo-bootstrap/img/test/yahooweek.gif +0 -0
  683. data/public/themes/geo-bootstrap/package.json +21 -0
  684. data/public/themes/geo-bootstrap/swatch/bootstrap-responsive.css +1109 -0
  685. data/public/themes/geo-bootstrap/swatch/bootstrap-responsive.min.css +9 -0
  686. data/public/themes/geo-bootstrap/swatch/bootstrap.css +6462 -0
  687. data/public/themes/geo-bootstrap/swatch/bootstrap.min.css +9 -0
  688. metadata +791 -0
@@ -0,0 +1,266 @@
1
+ /*
2
+ LESS mode - http://www.lesscss.org/
3
+ Ported to CodeMirror by Peter Kroon <plakroon@gmail.com>
4
+ Report bugs/issues here: https://github.com/marijnh/CodeMirror/issues GitHub: @peterkroon
5
+ */
6
+
7
+ CodeMirror.defineMode("less", function(config) {
8
+ var indentUnit = config.indentUnit, type;
9
+ function ret(style, tp) {type = tp; return style;}
10
+ //html tags
11
+ var tags = "a abbr acronym address applet area article aside audio b base basefont bdi bdo big blockquote body br button canvas caption cite code col colgroup command datalist dd del details dfn dir div dl dt em embed fieldset figcaption figure font footer form frame frameset h1 h2 h3 h4 h5 h6 head header hgroup hr html i iframe img input ins keygen kbd label legend li link map mark menu meta meter nav noframes noscript object ol optgroup option output p param pre progress q rp rt ruby s samp script section select small source span strike strong style sub summary sup table tbody td textarea tfoot th thead time title tr track tt u ul var video wbr".split(' ');
12
+
13
+ function inTagsArray(val){
14
+ for(var i=0; i<tags.length; i++)if(val === tags[i])return true;
15
+ }
16
+
17
+ var selectors = /(^\:root$|^\:nth\-child$|^\:nth\-last\-child$|^\:nth\-of\-type$|^\:nth\-last\-of\-type$|^\:first\-child$|^\:last\-child$|^\:first\-of\-type$|^\:last\-of\-type$|^\:only\-child$|^\:only\-of\-type$|^\:empty$|^\:link|^\:visited$|^\:active$|^\:hover$|^\:focus$|^\:target$|^\:lang$|^\:enabled^\:disabled$|^\:checked$|^\:first\-line$|^\:first\-letter$|^\:before$|^\:after$|^\:not$|^\:required$|^\:invalid$)/;
18
+
19
+ function tokenBase(stream, state) {
20
+ var ch = stream.next();
21
+
22
+ if (ch == "@") {stream.eatWhile(/[\w\-]/); return ret("meta", stream.current());}
23
+ else if (ch == "/" && stream.eat("*")) {
24
+ state.tokenize = tokenCComment;
25
+ return tokenCComment(stream, state);
26
+ }
27
+ else if (ch == "<" && stream.eat("!")) {
28
+ state.tokenize = tokenSGMLComment;
29
+ return tokenSGMLComment(stream, state);
30
+ }
31
+ else if (ch == "=") ret(null, "compare");
32
+ else if (ch == "|" && stream.eat("=")) return ret(null, "compare");
33
+ else if (ch == "\"" || ch == "'") {
34
+ state.tokenize = tokenString(ch);
35
+ return state.tokenize(stream, state);
36
+ }
37
+ else if (ch == "/") { // e.g.: .png will not be parsed as a class
38
+ if(stream.eat("/")){
39
+ state.tokenize = tokenSComment;
40
+ return tokenSComment(stream, state);
41
+ }else{
42
+ if(type == "string" || type == "(")return ret("string", "string");
43
+ if(state.stack[state.stack.length-1] != undefined)return ret(null, ch);
44
+ stream.eatWhile(/[\a-zA-Z0-9\-_.\s]/);
45
+ if( /\/|\)|#/.test(stream.peek() || (stream.eatSpace() && stream.peek() == ")")) || stream.eol() )return ret("string", "string"); // let url(/images/logo.png) without quotes return as string
46
+ }
47
+ }
48
+ else if (ch == "!") {
49
+ stream.match(/^\s*\w*/);
50
+ return ret("keyword", "important");
51
+ }
52
+ else if (/\d/.test(ch)) {
53
+ stream.eatWhile(/[\w.%]/);
54
+ return ret("number", "unit");
55
+ }
56
+ else if (/[,+<>*\/]/.test(ch)) {
57
+ if(stream.peek() == "=" || type == "a")return ret("string", "string");
58
+ return ret(null, "select-op");
59
+ }
60
+ else if (/[;{}:\[\]()~\|]/.test(ch)) {
61
+ if(ch == ":"){
62
+ stream.eatWhile(/[a-z\\\-]/);
63
+ if( selectors.test(stream.current()) ){
64
+ return ret("tag", "tag");
65
+ }else if(stream.peek() == ":"){//::-webkit-search-decoration
66
+ stream.next();
67
+ stream.eatWhile(/[a-z\\\-]/);
68
+ if(stream.current().match(/\:\:\-(o|ms|moz|webkit)\-/))return ret("string", "string");
69
+ if( selectors.test(stream.current().substring(1)) )return ret("tag", "tag");
70
+ return ret(null, ch);
71
+ }else{
72
+ return ret(null, ch);
73
+ }
74
+ }else if(ch == "~"){
75
+ if(type == "r")return ret("string", "string");
76
+ }else{
77
+ return ret(null, ch);
78
+ }
79
+ }
80
+ else if (ch == ".") {
81
+ if(type == "(" || type == "string")return ret("string", "string"); // allow url(../image.png)
82
+ stream.eatWhile(/[\a-zA-Z0-9\-_]/);
83
+ if(stream.peek() == " ")stream.eatSpace();
84
+ if(stream.peek() == ")")return ret("number", "unit");//rgba(0,0,0,.25);
85
+ return ret("tag", "tag");
86
+ }
87
+ else if (ch == "#") {
88
+ //we don't eat white-space, we want the hex color and or id only
89
+ stream.eatWhile(/[A-Za-z0-9]/);
90
+ //check if there is a proper hex color length e.g. #eee || #eeeEEE
91
+ if(stream.current().length == 4 || stream.current().length == 7){
92
+ if(stream.current().match(/[A-Fa-f0-9]{6}|[A-Fa-f0-9]{3}/,false) != null){//is there a valid hex color value present in the current stream
93
+ //when not a valid hex value, parse as id
94
+ if(stream.current().substring(1) != stream.current().match(/[A-Fa-f0-9]{6}|[A-Fa-f0-9]{3}/,false))return ret("atom", "tag");
95
+ //eat white-space
96
+ stream.eatSpace();
97
+ //when hex value declaration doesn't end with [;,] but is does with a slash/cc comment treat it as an id, just like the other hex values that don't end with[;,]
98
+ if( /[\/<>.(){!$%^&*_\-\\?=+\|#'~`]/.test(stream.peek()) )return ret("atom", "tag");
99
+ //#time { color: #aaa }
100
+ else if(stream.peek() == "}" )return ret("number", "unit");
101
+ //we have a valid hex color value, parse as id whenever an element/class is defined after the hex(id) value e.g. #eee aaa || #eee .aaa
102
+ else if( /[a-zA-Z\\]/.test(stream.peek()) )return ret("atom", "tag");
103
+ //when a hex value is on the end of a line, parse as id
104
+ else if(stream.eol())return ret("atom", "tag");
105
+ //default
106
+ else return ret("number", "unit");
107
+ }else{//when not a valid hexvalue in the current stream e.g. #footer
108
+ stream.eatWhile(/[\w\\\-]/);
109
+ return ret("atom", "tag");
110
+ }
111
+ }else{//when not a valid hexvalue length
112
+ stream.eatWhile(/[\w\\\-]/);
113
+ return ret("atom", "tag");
114
+ }
115
+ }
116
+ else if (ch == "&") {
117
+ stream.eatWhile(/[\w\-]/);
118
+ return ret(null, ch);
119
+ }
120
+ else {
121
+ stream.eatWhile(/[\w\\\-_%.{]/);
122
+ if(type == "string"){
123
+ return ret("string", "string");
124
+ }else if(stream.current().match(/(^http$|^https$)/) != null){
125
+ stream.eatWhile(/[\w\\\-_%.{:\/]/);
126
+ return ret("string", "string");
127
+ }else if(stream.peek() == "<" || stream.peek() == ">"){
128
+ return ret("tag", "tag");
129
+ }else if( /\(/.test(stream.peek()) ){
130
+ return ret(null, ch);
131
+ }else if (stream.peek() == "/" && state.stack[state.stack.length-1] != undefined){ // url(dir/center/image.png)
132
+ return ret("string", "string");
133
+ }else if( stream.current().match(/\-\d|\-.\d/) ){ // match e.g.: -5px -0.4 etc... only colorize the minus sign
134
+ //commment out these 2 comment if you want the minus sign to be parsed as null -500px
135
+ //stream.backUp(stream.current().length-1);
136
+ //return ret(null, ch); //console.log( stream.current() );
137
+ return ret("number", "unit");
138
+ }else if( inTagsArray(stream.current().toLowerCase()) ){ // match html tags
139
+ return ret("tag", "tag");
140
+ }else if( /\/|[\s\)]/.test(stream.peek() || stream.eol() || (stream.eatSpace() && stream.peek() == "/")) && stream.current().indexOf(".") !== -1){
141
+ if(stream.current().substring(stream.current().length-1,stream.current().length) == "{"){
142
+ stream.backUp(1);
143
+ return ret("tag", "tag");
144
+ }//end if
145
+ stream.eatSpace();
146
+ if( /[{<>.a-zA-Z\/]/.test(stream.peek()) || stream.eol() )return ret("tag", "tag"); // e.g. button.icon-plus
147
+ return ret("string", "string"); // let url(/images/logo.png) without quotes return as string
148
+ }else if( stream.eol() || stream.peek() == "[" || stream.peek() == "#" || type == "tag" ){
149
+ if(stream.current().substring(stream.current().length-1,stream.current().length) == "{")stream.backUp(1);
150
+ return ret("tag", "tag");
151
+ }else if(type == "compare" || type == "a" || type == "("){
152
+ return ret("string", "string");
153
+ }else if(type == "|" || stream.current() == "-" || type == "["){
154
+ return ret(null, ch);
155
+ }else if(stream.peek() == ":") {
156
+ stream.next();
157
+ var t_v = stream.peek() == ":" ? true : false;
158
+ if(!t_v){
159
+ var old_pos = stream.pos;
160
+ var sc = stream.current().length;
161
+ stream.eatWhile(/[a-z\\\-]/);
162
+ var new_pos = stream.pos;
163
+ if(stream.current().substring(sc-1).match(selectors) != null){
164
+ stream.backUp(new_pos-(old_pos-1));
165
+ return ret("tag", "tag");
166
+ } else stream.backUp(new_pos-(old_pos-1));
167
+ }else{
168
+ stream.backUp(1);
169
+ }
170
+ if(t_v)return ret("tag", "tag"); else return ret("variable", "variable");
171
+ }else{
172
+ return ret("variable", "variable");
173
+ }
174
+ }
175
+ }
176
+
177
+ function tokenSComment(stream, state) { // SComment = Slash comment
178
+ stream.skipToEnd();
179
+ state.tokenize = tokenBase;
180
+ return ret("comment", "comment");
181
+ }
182
+
183
+ function tokenCComment(stream, state) {
184
+ var maybeEnd = false, ch;
185
+ while ((ch = stream.next()) != null) {
186
+ if (maybeEnd && ch == "/") {
187
+ state.tokenize = tokenBase;
188
+ break;
189
+ }
190
+ maybeEnd = (ch == "*");
191
+ }
192
+ return ret("comment", "comment");
193
+ }
194
+
195
+ function tokenSGMLComment(stream, state) {
196
+ var dashes = 0, ch;
197
+ while ((ch = stream.next()) != null) {
198
+ if (dashes >= 2 && ch == ">") {
199
+ state.tokenize = tokenBase;
200
+ break;
201
+ }
202
+ dashes = (ch == "-") ? dashes + 1 : 0;
203
+ }
204
+ return ret("comment", "comment");
205
+ }
206
+
207
+ function tokenString(quote) {
208
+ return function(stream, state) {
209
+ var escaped = false, ch;
210
+ while ((ch = stream.next()) != null) {
211
+ if (ch == quote && !escaped)
212
+ break;
213
+ escaped = !escaped && ch == "\\";
214
+ }
215
+ if (!escaped) state.tokenize = tokenBase;
216
+ return ret("string", "string");
217
+ };
218
+ }
219
+
220
+ return {
221
+ startState: function(base) {
222
+ return {tokenize: tokenBase,
223
+ baseIndent: base || 0,
224
+ stack: []};
225
+ },
226
+
227
+ token: function(stream, state) {
228
+ if (stream.eatSpace()) return null;
229
+ var style = state.tokenize(stream, state);
230
+
231
+ var context = state.stack[state.stack.length-1];
232
+ if (type == "hash" && context == "rule") style = "atom";
233
+ else if (style == "variable") {
234
+ if (context == "rule") style = null; //"tag"
235
+ else if (!context || context == "@media{") {
236
+ style = stream.current() == "when" ? "variable" :
237
+ /[\s,|\s\)|\s]/.test(stream.peek()) ? "tag" : type;
238
+ }
239
+ }
240
+
241
+ if (context == "rule" && /^[\{\};]$/.test(type))
242
+ state.stack.pop();
243
+ if (type == "{") {
244
+ if (context == "@media") state.stack[state.stack.length-1] = "@media{";
245
+ else state.stack.push("{");
246
+ }
247
+ else if (type == "}") state.stack.pop();
248
+ else if (type == "@media") state.stack.push("@media");
249
+ else if (context == "{" && type != "comment") state.stack.push("rule");
250
+ return style;
251
+ },
252
+
253
+ indent: function(state, textAfter) {
254
+ var n = state.stack.length;
255
+ if (/^\}/.test(textAfter))
256
+ n -= state.stack[state.stack.length-1] == "rule" ? 2 : 1;
257
+ return state.baseIndent + n * indentUnit;
258
+ },
259
+
260
+ electricChars: "}"
261
+ };
262
+ });
263
+
264
+ CodeMirror.defineMIME("text/x-less", "less");
265
+ if (!CodeMirror.mimeModes.hasOwnProperty("text/css"))
266
+ CodeMirror.defineMIME("text/css", "less");
@@ -0,0 +1,23 @@
1
+ The MIT License
2
+
3
+ Copyright (c) 2013 Kenneth Bentley
4
+ Modified from the CoffeeScript CodeMirror mode, Copyright (c) 2011 Jeff Pickhardt
5
+ Modified from the Python CodeMirror mode, Copyright (c) 2010 Timothy Farrell
6
+
7
+ Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ of this software and associated documentation files (the "Software"), to deal
9
+ in the Software without restriction, including without limitation the rights
10
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ copies of the Software, and to permit persons to whom the Software is
12
+ furnished to do so, subject to the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be included in
15
+ all copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ THE SOFTWARE.
@@ -0,0 +1,446 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <title>CodeMirror: LiveScript mode</title>
5
+ <link rel="stylesheet" href="../../lib/codemirror.css">
6
+ <script src="../../lib/codemirror.js"></script>
7
+ <script src="livescript.js"></script>
8
+ <style>.CodeMirror {font-size: 80%;border-top: 1px solid silver; border-bottom: 1px solid silver;}</style>
9
+ <link rel="stylesheet" href="../../doc/docs.css">
10
+ <link rel="stylesheet" href="../../theme/solarized.css">
11
+ </head>
12
+ <body>
13
+ <h1>CodeMirror: LiveScript mode</h1>
14
+ <form><textarea id="code" name="code">
15
+ # LiveScript mode for CodeMirror
16
+ # The following script, prelude.ls, is used to
17
+ # demonstrate LiveScript mode for CodeMirror.
18
+ # https://github.com/gkz/prelude-ls
19
+
20
+ export objToFunc = objToFunc = (obj) ->
21
+ (key) -> obj[key]
22
+
23
+ export each = (f, xs) -->
24
+ if typeof! xs is \Object
25
+ for , x of xs then f x
26
+ else
27
+ for x in xs then f x
28
+ xs
29
+
30
+ export map = (f, xs) -->
31
+ f = objToFunc f if typeof! f isnt \Function
32
+ type = typeof! xs
33
+ if type is \Object
34
+ {[key, f x] for key, x of xs}
35
+ else
36
+ result = [f x for x in xs]
37
+ if type is \String then result * '' else result
38
+
39
+ export filter = (f, xs) -->
40
+ f = objToFunc f if typeof! f isnt \Function
41
+ type = typeof! xs
42
+ if type is \Object
43
+ {[key, x] for key, x of xs when f x}
44
+ else
45
+ result = [x for x in xs when f x]
46
+ if type is \String then result * '' else result
47
+
48
+ export reject = (f, xs) -->
49
+ f = objToFunc f if typeof! f isnt \Function
50
+ type = typeof! xs
51
+ if type is \Object
52
+ {[key, x] for key, x of xs when not f x}
53
+ else
54
+ result = [x for x in xs when not f x]
55
+ if type is \String then result * '' else result
56
+
57
+ export partition = (f, xs) -->
58
+ f = objToFunc f if typeof! f isnt \Function
59
+ type = typeof! xs
60
+ if type is \Object
61
+ passed = {}
62
+ failed = {}
63
+ for key, x of xs
64
+ (if f x then passed else failed)[key] = x
65
+ else
66
+ passed = []
67
+ failed = []
68
+ for x in xs
69
+ (if f x then passed else failed)push x
70
+ if type is \String
71
+ passed *= ''
72
+ failed *= ''
73
+ [passed, failed]
74
+
75
+ export find = (f, xs) -->
76
+ f = objToFunc f if typeof! f isnt \Function
77
+ if typeof! xs is \Object
78
+ for , x of xs when f x then return x
79
+ else
80
+ for x in xs when f x then return x
81
+ void
82
+
83
+ export head = export first = (xs) ->
84
+ return void if not xs.length
85
+ xs.0
86
+
87
+ export tail = (xs) ->
88
+ return void if not xs.length
89
+ xs.slice 1
90
+
91
+ export last = (xs) ->
92
+ return void if not xs.length
93
+ xs[*-1]
94
+
95
+ export initial = (xs) ->
96
+ return void if not xs.length
97
+ xs.slice 0 xs.length - 1
98
+
99
+ export empty = (xs) ->
100
+ if typeof! xs is \Object
101
+ for x of xs then return false
102
+ return yes
103
+ not xs.length
104
+
105
+ export values = (obj) ->
106
+ [x for , x of obj]
107
+
108
+ export keys = (obj) ->
109
+ [x for x of obj]
110
+
111
+ export len = (xs) ->
112
+ xs = values xs if typeof! xs is \Object
113
+ xs.length
114
+
115
+ export cons = (x, xs) -->
116
+ if typeof! xs is \String then x + xs else [x] ++ xs
117
+
118
+ export append = (xs, ys) -->
119
+ if typeof! ys is \String then xs + ys else xs ++ ys
120
+
121
+ export join = (sep, xs) -->
122
+ xs = values xs if typeof! xs is \Object
123
+ xs.join sep
124
+
125
+ export reverse = (xs) ->
126
+ if typeof! xs is \String
127
+ then (xs / '')reverse! * ''
128
+ else xs.slice!reverse!
129
+
130
+ export fold = export foldl = (f, memo, xs) -->
131
+ if typeof! xs is \Object
132
+ for , x of xs then memo = f memo, x
133
+ else
134
+ for x in xs then memo = f memo, x
135
+ memo
136
+
137
+ export fold1 = export foldl1 = (f, xs) --> fold f, xs.0, xs.slice 1
138
+
139
+ export foldr = (f, memo, xs) --> fold f, memo, xs.slice!reverse!
140
+
141
+ export foldr1 = (f, xs) -->
142
+ xs.=slice!reverse!
143
+ fold f, xs.0, xs.slice 1
144
+
145
+ export unfoldr = export unfold = (f, b) -->
146
+ if (f b)?
147
+ [that.0] ++ unfoldr f, that.1
148
+ else
149
+ []
150
+
151
+ export andList = (xs) ->
152
+ for x in xs when not x
153
+ return false
154
+ true
155
+
156
+ export orList = (xs) ->
157
+ for x in xs when x
158
+ return true
159
+ false
160
+
161
+ export any = (f, xs) -->
162
+ f = objToFunc f if typeof! f isnt \Function
163
+ for x in xs when f x
164
+ return yes
165
+ no
166
+
167
+ export all = (f, xs) -->
168
+ f = objToFunc f if typeof! f isnt \Function
169
+ for x in xs when not f x
170
+ return no
171
+ yes
172
+
173
+ export unique = (xs) ->
174
+ result = []
175
+ if typeof! xs is \Object
176
+ for , x of xs when x not in result then result.push x
177
+ else
178
+ for x in xs when x not in result then result.push x
179
+ if typeof! xs is \String then result * '' else result
180
+
181
+ export sort = (xs) ->
182
+ xs.concat!sort (x, y) ->
183
+ | x > y => 1
184
+ | x < y => -1
185
+ | _ => 0
186
+
187
+ export sortBy = (f, xs) -->
188
+ return [] unless xs.length
189
+ xs.concat!sort f
190
+
191
+ export compare = (f, x, y) -->
192
+ | (f x) > (f y) => 1
193
+ | (f x) < (f y) => -1
194
+ | otherwise => 0
195
+
196
+ export sum = (xs) ->
197
+ result = 0
198
+ if typeof! xs is \Object
199
+ for , x of xs then result += x
200
+ else
201
+ for x in xs then result += x
202
+ result
203
+
204
+ export product = (xs) ->
205
+ result = 1
206
+ if typeof! xs is \Object
207
+ for , x of xs then result *= x
208
+ else
209
+ for x in xs then result *= x
210
+ result
211
+
212
+ export mean = export average = (xs) -> (sum xs) / len xs
213
+
214
+ export concat = (xss) -> fold append, [], xss
215
+
216
+ export concatMap = (f, xs) --> fold ((memo, x) -> append memo, f x), [], xs
217
+
218
+ export listToObj = (xs) ->
219
+ {[x.0, x.1] for x in xs}
220
+
221
+ export maximum = (xs) -> fold1 (>?), xs
222
+
223
+ export minimum = (xs) -> fold1 (<?), xs
224
+
225
+ export scan = export scanl = (f, memo, xs) -->
226
+ last = memo
227
+ if typeof! xs is \Object
228
+ then [memo] ++ [last = f last, x for , x of xs]
229
+ else [memo] ++ [last = f last, x for x in xs]
230
+
231
+ export scan1 = export scanl1 = (f, xs) --> scan f, xs.0, xs.slice 1
232
+
233
+ export scanr = (f, memo, xs) -->
234
+ xs.=slice!reverse!
235
+ scan f, memo, xs .reverse!
236
+
237
+ export scanr1 = (f, xs) -->
238
+ xs.=slice!reverse!
239
+ scan f, xs.0, xs.slice 1 .reverse!
240
+
241
+ export replicate = (n, x) -->
242
+ result = []
243
+ i = 0
244
+ while i < n, ++i then result.push x
245
+ result
246
+
247
+ export take = (n, xs) -->
248
+ | n <= 0
249
+ if typeof! xs is \String then '' else []
250
+ | not xs.length => xs
251
+ | otherwise => xs.slice 0, n
252
+
253
+ export drop = (n, xs) -->
254
+ | n <= 0 => xs
255
+ | not xs.length => xs
256
+ | otherwise => xs.slice n
257
+
258
+ export splitAt = (n, xs) --> [(take n, xs), (drop n, xs)]
259
+
260
+ export takeWhile = (p, xs) -->
261
+ return xs if not xs.length
262
+ p = objToFunc p if typeof! p isnt \Function
263
+ result = []
264
+ for x in xs
265
+ break if not p x
266
+ result.push x
267
+ if typeof! xs is \String then result * '' else result
268
+
269
+ export dropWhile = (p, xs) -->
270
+ return xs if not xs.length
271
+ p = objToFunc p if typeof! p isnt \Function
272
+ i = 0
273
+ for x in xs
274
+ break if not p x
275
+ ++i
276
+ drop i, xs
277
+
278
+ export span = (p, xs) --> [(takeWhile p, xs), (dropWhile p, xs)]
279
+
280
+ export breakIt = (p, xs) --> span (not) << p, xs
281
+
282
+ export zip = (xs, ys) -->
283
+ result = []
284
+ for zs, i in [xs, ys]
285
+ for z, j in zs
286
+ result.push [] if i is 0
287
+ result[j]?push z
288
+ result
289
+
290
+ export zipWith = (f,xs, ys) -->
291
+ f = objToFunc f if typeof! f isnt \Function
292
+ if not xs.length or not ys.length
293
+ []
294
+ else
295
+ [f.apply this, zs for zs in zip.call this, xs, ys]
296
+
297
+ export zipAll = (...xss) ->
298
+ result = []
299
+ for xs, i in xss
300
+ for x, j in xs
301
+ result.push [] if i is 0
302
+ result[j]?push x
303
+ result
304
+
305
+ export zipAllWith = (f, ...xss) ->
306
+ f = objToFunc f if typeof! f isnt \Function
307
+ if not xss.0.length or not xss.1.length
308
+ []
309
+ else
310
+ [f.apply this, xs for xs in zipAll.apply this, xss]
311
+
312
+ export compose = (...funcs) ->
313
+ ->
314
+ args = arguments
315
+ for f in funcs
316
+ args = [f.apply this, args]
317
+ args.0
318
+
319
+ export curry = (f) ->
320
+ curry$ f # using util method curry$ from livescript
321
+
322
+ export id = (x) -> x
323
+
324
+ export flip = (f, x, y) --> f y, x
325
+
326
+ export fix = (f) ->
327
+ ( (g, x) -> -> f(g g) ...arguments ) do
328
+ (g, x) -> -> f(g g) ...arguments
329
+
330
+ export lines = (str) ->
331
+ return [] if not str.length
332
+ str / \\n
333
+
334
+ export unlines = (strs) -> strs * \\n
335
+
336
+ export words = (str) ->
337
+ return [] if not str.length
338
+ str / /[ ]+/
339
+
340
+ export unwords = (strs) -> strs * ' '
341
+
342
+ export max = (>?)
343
+
344
+ export min = (<?)
345
+
346
+ export negate = (x) -> -x
347
+
348
+ export abs = Math.abs
349
+
350
+ export signum = (x) ->
351
+ | x < 0 => -1
352
+ | x > 0 => 1
353
+ | otherwise => 0
354
+
355
+ export quot = (x, y) --> ~~(x / y)
356
+
357
+ export rem = (%)
358
+
359
+ export div = (x, y) --> Math.floor x / y
360
+
361
+ export mod = (%%)
362
+
363
+ export recip = (1 /)
364
+
365
+ export pi = Math.PI
366
+
367
+ export tau = pi * 2
368
+
369
+ export exp = Math.exp
370
+
371
+ export sqrt = Math.sqrt
372
+
373
+ # changed from log as log is a
374
+ # common function for logging things
375
+ export ln = Math.log
376
+
377
+ export pow = (^)
378
+
379
+ export sin = Math.sin
380
+
381
+ export tan = Math.tan
382
+
383
+ export cos = Math.cos
384
+
385
+ export asin = Math.asin
386
+
387
+ export acos = Math.acos
388
+
389
+ export atan = Math.atan
390
+
391
+ export atan2 = (x, y) --> Math.atan2 x, y
392
+
393
+ # sinh
394
+ # tanh
395
+ # cosh
396
+ # asinh
397
+ # atanh
398
+ # acosh
399
+
400
+ export truncate = (x) -> ~~x
401
+
402
+ export round = Math.round
403
+
404
+ export ceiling = Math.ceil
405
+
406
+ export floor = Math.floor
407
+
408
+ export isItNaN = (x) -> x isnt x
409
+
410
+ export even = (x) -> x % 2 == 0
411
+
412
+ export odd = (x) -> x % 2 != 0
413
+
414
+ export gcd = (x, y) -->
415
+ x = Math.abs x
416
+ y = Math.abs y
417
+ until y is 0
418
+ z = x % y
419
+ x = y
420
+ y = z
421
+ x
422
+
423
+ export lcm = (x, y) -->
424
+ Math.abs Math.floor (x / (gcd x, y) * y)
425
+
426
+ # meta
427
+ export installPrelude = !(target) ->
428
+ unless target.prelude?isInstalled
429
+ target <<< out$ # using out$ generated by livescript
430
+ target <<< target.prelude.isInstalled = true
431
+
432
+ export prelude = out$
433
+ </textarea></form>
434
+ <script>
435
+ var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
436
+ theme: "solarized light",
437
+ lineNumbers: true
438
+ });
439
+ </script>
440
+
441
+ <p><strong>MIME types defined:</strong> <code>text/x-livescript</code>.</p>
442
+
443
+ <p>The LiveScript mode was written by Kenneth Bentley (<a href="LICENSE">license</a>).</p>
444
+
445
+ </body>
446
+ </html>