daftos 0.1.0 → 0.2.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 (307) hide show
  1. data/.DS_Store +0 -0
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +2 -0
  4. data/Rakefile +4 -0
  5. data/VERSION +1 -1
  6. data/bin/daftos +14 -0
  7. data/daftos.gemspec +363 -0
  8. data/lib/.DS_Store +0 -0
  9. data/lib/apis/.DS_Store +0 -0
  10. data/lib/apis/filesystem_api.rb +68 -0
  11. data/lib/apps/.DS_Store +0 -0
  12. data/lib/apps/apps/body.html +6 -0
  13. data/lib/apps/apps/options.json +7 -0
  14. data/lib/apps/filebrowser/.DS_Store +0 -0
  15. data/lib/apps/filebrowser/body.html +32 -0
  16. data/lib/apps/filebrowser/coffee/filebrowser.coffee +51 -0
  17. data/lib/apps/filebrowser/js/.DS_Store +0 -0
  18. data/lib/apps/filebrowser/js/daftos.js +1 -0
  19. data/lib/apps/filebrowser/options.json +7 -0
  20. data/lib/apps/photobooth/.DS_Store +0 -0
  21. data/lib/apps/photobooth/body.html +1 -0
  22. data/lib/apps/photobooth/coffee/photobooth.coffee +37 -0
  23. data/lib/apps/photobooth/coffee/test.html +278 -0
  24. data/lib/apps/photobooth/css/style.css +30 -0
  25. data/lib/apps/photobooth/js/.DS_Store +0 -0
  26. data/lib/apps/photobooth/js/daftos.js +1 -0
  27. data/lib/apps/photobooth/options.json +26 -0
  28. data/lib/apps/photobrowser/body.html +2 -0
  29. data/lib/apps/photobrowser/coffee/photobrowser.coffee +18 -0
  30. data/lib/apps/photobrowser/js/.DS_Store +0 -0
  31. data/lib/apps/photobrowser/options.json +16 -0
  32. data/lib/apps/texteditor/body.html +1 -0
  33. data/lib/apps/texteditor/coffee/texteditor.coffee +31 -0
  34. data/lib/apps/texteditor/js/.DS_Store +0 -0
  35. data/lib/apps/texteditor/js/ace-compat-noconflict.js +1 -0
  36. data/lib/apps/texteditor/js/ace-compat-uncompressed-noconflict.js +480 -0
  37. data/lib/apps/texteditor/js/ace-compat-uncompressed.js +480 -0
  38. data/lib/apps/texteditor/js/ace-compat.js +1 -0
  39. data/lib/apps/texteditor/js/ace-noconflict.js +10 -0
  40. data/lib/apps/texteditor/js/ace-uncompressed-noconflict.js +19559 -0
  41. data/lib/apps/texteditor/js/ace-uncompressed.js +19559 -0
  42. data/lib/apps/texteditor/js/ace.js +10 -0
  43. data/lib/apps/texteditor/js/keybinding-emacs-noconflict.js +1 -0
  44. data/lib/apps/texteditor/js/keybinding-emacs-uncompressed-noconflict.js +150 -0
  45. data/lib/apps/texteditor/js/keybinding-emacs-uncompressed.js +150 -0
  46. data/lib/apps/texteditor/js/keybinding-emacs.js +1 -0
  47. data/lib/apps/texteditor/js/keybinding-vim-noconflict.js +1 -0
  48. data/lib/apps/texteditor/js/keybinding-vim-uncompressed-noconflict.js +138 -0
  49. data/lib/apps/texteditor/js/keybinding-vim-uncompressed.js +138 -0
  50. data/lib/apps/texteditor/js/keybinding-vim.js +1 -0
  51. data/lib/apps/texteditor/js/mode-c_cpp-noconflict.js +1 -0
  52. data/lib/apps/texteditor/js/mode-c_cpp-uncompressed-noconflict.js +917 -0
  53. data/lib/apps/texteditor/js/mode-c_cpp-uncompressed.js +917 -0
  54. data/lib/apps/texteditor/js/mode-c_cpp.js +1 -0
  55. data/lib/apps/texteditor/js/mode-clojure-noconflict.js +1 -0
  56. data/lib/apps/texteditor/js/mode-clojure-uncompressed-noconflict.js +422 -0
  57. data/lib/apps/texteditor/js/mode-clojure-uncompressed.js +422 -0
  58. data/lib/apps/texteditor/js/mode-clojure.js +1 -0
  59. data/lib/apps/texteditor/js/mode-coffee-noconflict.js +1 -0
  60. data/lib/apps/texteditor/js/mode-coffee-uncompressed-noconflict.js +605 -0
  61. data/lib/apps/texteditor/js/mode-coffee-uncompressed.js +605 -0
  62. data/lib/apps/texteditor/js/mode-coffee.js +1 -0
  63. data/lib/apps/texteditor/js/mode-coldfusion-noconflict.js +1 -0
  64. data/lib/apps/texteditor/js/mode-coldfusion-uncompressed-noconflict.js +2454 -0
  65. data/lib/apps/texteditor/js/mode-coldfusion-uncompressed.js +2454 -0
  66. data/lib/apps/texteditor/js/mode-coldfusion.js +1 -0
  67. data/lib/apps/texteditor/js/mode-csharp-noconflict.js +1 -0
  68. data/lib/apps/texteditor/js/mode-csharp-uncompressed-noconflict.js +767 -0
  69. data/lib/apps/texteditor/js/mode-csharp-uncompressed.js +767 -0
  70. data/lib/apps/texteditor/js/mode-csharp.js +1 -0
  71. data/lib/apps/texteditor/js/mode-css-noconflict.js +1 -0
  72. data/lib/apps/texteditor/js/mode-css-uncompressed-noconflict.js +640 -0
  73. data/lib/apps/texteditor/js/mode-css-uncompressed.js +640 -0
  74. data/lib/apps/texteditor/js/mode-css.js +1 -0
  75. data/lib/apps/texteditor/js/mode-golang-noconflict.js +1 -0
  76. data/lib/apps/texteditor/js/mode-golang-uncompressed-noconflict.js +378 -0
  77. data/lib/apps/texteditor/js/mode-golang-uncompressed.js +378 -0
  78. data/lib/apps/texteditor/js/mode-golang.js +1 -0
  79. data/lib/apps/texteditor/js/mode-groovy-noconflict.js +1 -0
  80. data/lib/apps/texteditor/js/mode-groovy-uncompressed-noconflict.js +1391 -0
  81. data/lib/apps/texteditor/js/mode-groovy-uncompressed.js +1391 -0
  82. data/lib/apps/texteditor/js/mode-groovy.js +1 -0
  83. data/lib/apps/texteditor/js/mode-haxe-noconflict.js +1 -0
  84. data/lib/apps/texteditor/js/mode-haxe-uncompressed-noconflict.js +767 -0
  85. data/lib/apps/texteditor/js/mode-haxe-uncompressed.js +767 -0
  86. data/lib/apps/texteditor/js/mode-haxe.js +1 -0
  87. data/lib/apps/texteditor/js/mode-html-noconflict.js +1 -0
  88. data/lib/apps/texteditor/js/mode-html-uncompressed-noconflict.js +2470 -0
  89. data/lib/apps/texteditor/js/mode-html-uncompressed.js +2470 -0
  90. data/lib/apps/texteditor/js/mode-html.js +1 -0
  91. data/lib/apps/texteditor/js/mode-java-noconflict.js +1 -0
  92. data/lib/apps/texteditor/js/mode-java-uncompressed-noconflict.js +1393 -0
  93. data/lib/apps/texteditor/js/mode-java-uncompressed.js +1393 -0
  94. data/lib/apps/texteditor/js/mode-java.js +1 -0
  95. data/lib/apps/texteditor/js/mode-javascript-noconflict.js +1 -0
  96. data/lib/apps/texteditor/js/mode-javascript-uncompressed-noconflict.js +1224 -0
  97. data/lib/apps/texteditor/js/mode-javascript-uncompressed.js +1224 -0
  98. data/lib/apps/texteditor/js/mode-javascript.js +1 -0
  99. data/lib/apps/texteditor/js/mode-json-noconflict.js +1 -0
  100. data/lib/apps/texteditor/js/mode-json-uncompressed-noconflict.js +698 -0
  101. data/lib/apps/texteditor/js/mode-json-uncompressed.js +698 -0
  102. data/lib/apps/texteditor/js/mode-json.js +1 -0
  103. data/lib/apps/texteditor/js/mode-latex-noconflict.js +1 -0
  104. data/lib/apps/texteditor/js/mode-latex-uncompressed-noconflict.js +95 -0
  105. data/lib/apps/texteditor/js/mode-latex-uncompressed.js +95 -0
  106. data/lib/apps/texteditor/js/mode-latex.js +1 -0
  107. data/lib/apps/texteditor/js/mode-less-noconflict.js +1 -0
  108. data/lib/apps/texteditor/js/mode-less-uncompressed-noconflict.js +654 -0
  109. data/lib/apps/texteditor/js/mode-less-uncompressed.js +654 -0
  110. data/lib/apps/texteditor/js/mode-less.js +1 -0
  111. data/lib/apps/texteditor/js/mode-liquid-noconflict.js +1 -0
  112. data/lib/apps/texteditor/js/mode-liquid-uncompressed-noconflict.js +1353 -0
  113. data/lib/apps/texteditor/js/mode-liquid-uncompressed.js +1353 -0
  114. data/lib/apps/texteditor/js/mode-liquid.js +1 -0
  115. data/lib/apps/texteditor/js/mode-lua-noconflict.js +1 -0
  116. data/lib/apps/texteditor/js/mode-lua-uncompressed-noconflict.js +523 -0
  117. data/lib/apps/texteditor/js/mode-lua-uncompressed.js +523 -0
  118. data/lib/apps/texteditor/js/mode-lua.js +1 -0
  119. data/lib/apps/texteditor/js/mode-markdown-noconflict.js +1 -0
  120. data/lib/apps/texteditor/js/mode-markdown-uncompressed-noconflict.js +2918 -0
  121. data/lib/apps/texteditor/js/mode-markdown-uncompressed.js +2918 -0
  122. data/lib/apps/texteditor/js/mode-markdown.js +1 -0
  123. data/lib/apps/texteditor/js/mode-ocaml-noconflict.js +1 -0
  124. data/lib/apps/texteditor/js/mode-ocaml-uncompressed-noconflict.js +539 -0
  125. data/lib/apps/texteditor/js/mode-ocaml-uncompressed.js +539 -0
  126. data/lib/apps/texteditor/js/mode-ocaml.js +1 -0
  127. data/lib/apps/texteditor/js/mode-perl-noconflict.js +1 -0
  128. data/lib/apps/texteditor/js/mode-perl-uncompressed-noconflict.js +573 -0
  129. data/lib/apps/texteditor/js/mode-perl-uncompressed.js +573 -0
  130. data/lib/apps/texteditor/js/mode-perl.js +1 -0
  131. data/lib/apps/texteditor/js/mode-pgsql-noconflict.js +1 -0
  132. data/lib/apps/texteditor/js/mode-pgsql-uncompressed-noconflict.js +1104 -0
  133. data/lib/apps/texteditor/js/mode-pgsql-uncompressed.js +1104 -0
  134. data/lib/apps/texteditor/js/mode-pgsql.js +1 -0
  135. data/lib/apps/texteditor/js/mode-php-noconflict.js +1 -0
  136. data/lib/apps/texteditor/js/mode-php-uncompressed-noconflict.js +1883 -0
  137. data/lib/apps/texteditor/js/mode-php-uncompressed.js +1883 -0
  138. data/lib/apps/texteditor/js/mode-php.js +1 -0
  139. data/lib/apps/texteditor/js/mode-powershell-noconflict.js +1 -0
  140. data/lib/apps/texteditor/js/mode-powershell-uncompressed-noconflict.js +708 -0
  141. data/lib/apps/texteditor/js/mode-powershell-uncompressed.js +708 -0
  142. data/lib/apps/texteditor/js/mode-powershell.js +1 -0
  143. data/lib/apps/texteditor/js/mode-python-noconflict.js +1 -0
  144. data/lib/apps/texteditor/js/mode-python-uncompressed-noconflict.js +506 -0
  145. data/lib/apps/texteditor/js/mode-python-uncompressed.js +506 -0
  146. data/lib/apps/texteditor/js/mode-python.js +1 -0
  147. data/lib/apps/texteditor/js/mode-ruby-noconflict.js +1 -0
  148. data/lib/apps/texteditor/js/mode-ruby-uncompressed-noconflict.js +391 -0
  149. data/lib/apps/texteditor/js/mode-ruby-uncompressed.js +391 -0
  150. data/lib/apps/texteditor/js/mode-ruby.js +1 -0
  151. data/lib/apps/texteditor/js/mode-scad-noconflict.js +1 -0
  152. data/lib/apps/texteditor/js/mode-scad-uncompressed-noconflict.js +905 -0
  153. data/lib/apps/texteditor/js/mode-scad-uncompressed.js +905 -0
  154. data/lib/apps/texteditor/js/mode-scad.js +1 -0
  155. data/lib/apps/texteditor/js/mode-scala-noconflict.js +1 -0
  156. data/lib/apps/texteditor/js/mode-scala-uncompressed-noconflict.js +1393 -0
  157. data/lib/apps/texteditor/js/mode-scala-uncompressed.js +1393 -0
  158. data/lib/apps/texteditor/js/mode-scala.js +1 -0
  159. data/lib/apps/texteditor/js/mode-scss-noconflict.js +1 -0
  160. data/lib/apps/texteditor/js/mode-scss-uncompressed-noconflict.js +678 -0
  161. data/lib/apps/texteditor/js/mode-scss-uncompressed.js +678 -0
  162. data/lib/apps/texteditor/js/mode-scss.js +1 -0
  163. data/lib/apps/texteditor/js/mode-sh-noconflict.js +1 -0
  164. data/lib/apps/texteditor/js/mode-sh-uncompressed-noconflict.js +289 -0
  165. data/lib/apps/texteditor/js/mode-sh-uncompressed.js +289 -0
  166. data/lib/apps/texteditor/js/mode-sh.js +1 -0
  167. data/lib/apps/texteditor/js/mode-sql-noconflict.js +1 -0
  168. data/lib/apps/texteditor/js/mode-sql-uncompressed-noconflict.js +159 -0
  169. data/lib/apps/texteditor/js/mode-sql-uncompressed.js +159 -0
  170. data/lib/apps/texteditor/js/mode-sql.js +1 -0
  171. data/lib/apps/texteditor/js/mode-svg-noconflict.js +1 -0
  172. data/lib/apps/texteditor/js/mode-svg-uncompressed-noconflict.js +2133 -0
  173. data/lib/apps/texteditor/js/mode-svg-uncompressed.js +2133 -0
  174. data/lib/apps/texteditor/js/mode-svg.js +1 -0
  175. data/lib/apps/texteditor/js/mode-text-noconflict.js +0 -0
  176. data/lib/apps/texteditor/js/mode-text-uncompressed-noconflict.js +0 -0
  177. data/lib/apps/texteditor/js/mode-text-uncompressed.js +0 -0
  178. data/lib/apps/texteditor/js/mode-text.js +0 -0
  179. data/lib/apps/texteditor/js/mode-textile-noconflict.js +1 -0
  180. data/lib/apps/texteditor/js/mode-textile-uncompressed-noconflict.js +254 -0
  181. data/lib/apps/texteditor/js/mode-textile-uncompressed.js +254 -0
  182. data/lib/apps/texteditor/js/mode-textile.js +1 -0
  183. data/lib/apps/texteditor/js/mode-xml-noconflict.js +1 -0
  184. data/lib/apps/texteditor/js/mode-xml-uncompressed-noconflict.js +1009 -0
  185. data/lib/apps/texteditor/js/mode-xml-uncompressed.js +1009 -0
  186. data/lib/apps/texteditor/js/mode-xml.js +1 -0
  187. data/lib/apps/texteditor/js/mode-xquery-noconflict.js +1 -0
  188. data/lib/apps/texteditor/js/mode-xquery-uncompressed-noconflict.js +540 -0
  189. data/lib/apps/texteditor/js/mode-xquery-uncompressed.js +540 -0
  190. data/lib/apps/texteditor/js/mode-xquery.js +1 -0
  191. data/lib/apps/texteditor/js/theme-chrome-noconflict.js +1 -0
  192. data/lib/apps/texteditor/js/theme-chrome-uncompressed-noconflict.js +207 -0
  193. data/lib/apps/texteditor/js/theme-chrome-uncompressed.js +207 -0
  194. data/lib/apps/texteditor/js/theme-chrome.js +1 -0
  195. data/lib/apps/texteditor/js/theme-clouds-noconflict.js +1 -0
  196. data/lib/apps/texteditor/js/theme-clouds-uncompressed-noconflict.js +160 -0
  197. data/lib/apps/texteditor/js/theme-clouds-uncompressed.js +160 -0
  198. data/lib/apps/texteditor/js/theme-clouds.js +1 -0
  199. data/lib/apps/texteditor/js/theme-clouds_midnight-noconflict.js +1 -0
  200. data/lib/apps/texteditor/js/theme-clouds_midnight-uncompressed-noconflict.js +161 -0
  201. data/lib/apps/texteditor/js/theme-clouds_midnight-uncompressed.js +161 -0
  202. data/lib/apps/texteditor/js/theme-clouds_midnight.js +1 -0
  203. data/lib/apps/texteditor/js/theme-cobalt-noconflict.js +1 -0
  204. data/lib/apps/texteditor/js/theme-cobalt-uncompressed-noconflict.js +187 -0
  205. data/lib/apps/texteditor/js/theme-cobalt-uncompressed.js +187 -0
  206. data/lib/apps/texteditor/js/theme-cobalt.js +1 -0
  207. data/lib/apps/texteditor/js/theme-crimson_editor-noconflict.js +1 -0
  208. data/lib/apps/texteditor/js/theme-crimson_editor-uncompressed-noconflict.js +198 -0
  209. data/lib/apps/texteditor/js/theme-crimson_editor-uncompressed.js +198 -0
  210. data/lib/apps/texteditor/js/theme-crimson_editor.js +1 -0
  211. data/lib/apps/texteditor/js/theme-dawn-noconflict.js +1 -0
  212. data/lib/apps/texteditor/js/theme-dawn-uncompressed-noconflict.js +191 -0
  213. data/lib/apps/texteditor/js/theme-dawn-uncompressed.js +191 -0
  214. data/lib/apps/texteditor/js/theme-dawn.js +1 -0
  215. data/lib/apps/texteditor/js/theme-dreamweaver-noconflict.js +1 -0
  216. data/lib/apps/texteditor/js/theme-dreamweaver-uncompressed-noconflict.js +227 -0
  217. data/lib/apps/texteditor/js/theme-dreamweaver-uncompressed.js +227 -0
  218. data/lib/apps/texteditor/js/theme-dreamweaver.js +1 -0
  219. data/lib/apps/texteditor/js/theme-eclipse-noconflict.js +1 -0
  220. data/lib/apps/texteditor/js/theme-eclipse-uncompressed-noconflict.js +147 -0
  221. data/lib/apps/texteditor/js/theme-eclipse-uncompressed.js +147 -0
  222. data/lib/apps/texteditor/js/theme-eclipse.js +1 -0
  223. data/lib/apps/texteditor/js/theme-idle_fingers-noconflict.js +1 -0
  224. data/lib/apps/texteditor/js/theme-idle_fingers-uncompressed-noconflict.js +179 -0
  225. data/lib/apps/texteditor/js/theme-idle_fingers-uncompressed.js +179 -0
  226. data/lib/apps/texteditor/js/theme-idle_fingers.js +1 -0
  227. data/lib/apps/texteditor/js/theme-kr_theme-noconflict.js +1 -0
  228. data/lib/apps/texteditor/js/theme-kr_theme-uncompressed-noconflict.js +182 -0
  229. data/lib/apps/texteditor/js/theme-kr_theme-uncompressed.js +182 -0
  230. data/lib/apps/texteditor/js/theme-kr_theme.js +1 -0
  231. data/lib/apps/texteditor/js/theme-merbivore-noconflict.js +1 -0
  232. data/lib/apps/texteditor/js/theme-merbivore-uncompressed-noconflict.js +182 -0
  233. data/lib/apps/texteditor/js/theme-merbivore-uncompressed.js +182 -0
  234. data/lib/apps/texteditor/js/theme-merbivore.js +1 -0
  235. data/lib/apps/texteditor/js/theme-merbivore_soft-noconflict.js +1 -0
  236. data/lib/apps/texteditor/js/theme-merbivore_soft-uncompressed-noconflict.js +188 -0
  237. data/lib/apps/texteditor/js/theme-merbivore_soft-uncompressed.js +188 -0
  238. data/lib/apps/texteditor/js/theme-merbivore_soft.js +1 -0
  239. data/lib/apps/texteditor/js/theme-mono_industrial-noconflict.js +1 -0
  240. data/lib/apps/texteditor/js/theme-mono_industrial-uncompressed-noconflict.js +190 -0
  241. data/lib/apps/texteditor/js/theme-mono_industrial-uncompressed.js +190 -0
  242. data/lib/apps/texteditor/js/theme-mono_industrial.js +1 -0
  243. data/lib/apps/texteditor/js/theme-monokai-noconflict.js +1 -0
  244. data/lib/apps/texteditor/js/theme-monokai-uncompressed-noconflict.js +188 -0
  245. data/lib/apps/texteditor/js/theme-monokai-uncompressed.js +188 -0
  246. data/lib/apps/texteditor/js/theme-monokai.js +1 -0
  247. data/lib/apps/texteditor/js/theme-pastel_on_dark-noconflict.js +1 -0
  248. data/lib/apps/texteditor/js/theme-pastel_on_dark-uncompressed-noconflict.js +192 -0
  249. data/lib/apps/texteditor/js/theme-pastel_on_dark-uncompressed.js +192 -0
  250. data/lib/apps/texteditor/js/theme-pastel_on_dark.js +1 -0
  251. data/lib/apps/texteditor/js/theme-solarized_dark-noconflict.js +1 -0
  252. data/lib/apps/texteditor/js/theme-solarized_dark-uncompressed-noconflict.js +173 -0
  253. data/lib/apps/texteditor/js/theme-solarized_dark-uncompressed.js +173 -0
  254. data/lib/apps/texteditor/js/theme-solarized_dark.js +1 -0
  255. data/lib/apps/texteditor/js/theme-solarized_light-noconflict.js +1 -0
  256. data/lib/apps/texteditor/js/theme-solarized_light-uncompressed-noconflict.js +172 -0
  257. data/lib/apps/texteditor/js/theme-solarized_light-uncompressed.js +172 -0
  258. data/lib/apps/texteditor/js/theme-solarized_light.js +1 -0
  259. data/lib/apps/texteditor/js/theme-textmate-noconflict.js +0 -0
  260. data/lib/apps/texteditor/js/theme-textmate-uncompressed-noconflict.js +0 -0
  261. data/lib/apps/texteditor/js/theme-textmate-uncompressed.js +0 -0
  262. data/lib/apps/texteditor/js/theme-textmate.js +0 -0
  263. data/lib/apps/texteditor/js/theme-tomorrow-noconflict.js +1 -0
  264. data/lib/apps/texteditor/js/theme-tomorrow-uncompressed-noconflict.js +206 -0
  265. data/lib/apps/texteditor/js/theme-tomorrow-uncompressed.js +206 -0
  266. data/lib/apps/texteditor/js/theme-tomorrow.js +1 -0
  267. data/lib/apps/texteditor/js/theme-tomorrow_night-noconflict.js +1 -0
  268. data/lib/apps/texteditor/js/theme-tomorrow_night-uncompressed-noconflict.js +206 -0
  269. data/lib/apps/texteditor/js/theme-tomorrow_night-uncompressed.js +206 -0
  270. data/lib/apps/texteditor/js/theme-tomorrow_night.js +1 -0
  271. data/lib/apps/texteditor/js/theme-tomorrow_night_blue-noconflict.js +1 -0
  272. data/lib/apps/texteditor/js/theme-tomorrow_night_blue-uncompressed-noconflict.js +206 -0
  273. data/lib/apps/texteditor/js/theme-tomorrow_night_blue-uncompressed.js +206 -0
  274. data/lib/apps/texteditor/js/theme-tomorrow_night_blue.js +1 -0
  275. data/lib/apps/texteditor/js/theme-tomorrow_night_bright-noconflict.js +1 -0
  276. data/lib/apps/texteditor/js/theme-tomorrow_night_bright-uncompressed-noconflict.js +206 -0
  277. data/lib/apps/texteditor/js/theme-tomorrow_night_bright-uncompressed.js +206 -0
  278. data/lib/apps/texteditor/js/theme-tomorrow_night_bright.js +1 -0
  279. data/lib/apps/texteditor/js/theme-tomorrow_night_eighties-noconflict.js +1 -0
  280. data/lib/apps/texteditor/js/theme-tomorrow_night_eighties-uncompressed-noconflict.js +202 -0
  281. data/lib/apps/texteditor/js/theme-tomorrow_night_eighties-uncompressed.js +202 -0
  282. data/lib/apps/texteditor/js/theme-tomorrow_night_eighties.js +1 -0
  283. data/lib/apps/texteditor/js/theme-twilight-noconflict.js +1 -0
  284. data/lib/apps/texteditor/js/theme-twilight-uncompressed-noconflict.js +204 -0
  285. data/lib/apps/texteditor/js/theme-twilight-uncompressed.js +204 -0
  286. data/lib/apps/texteditor/js/theme-twilight.js +1 -0
  287. data/lib/apps/texteditor/js/theme-vibrant_ink-noconflict.js +1 -0
  288. data/lib/apps/texteditor/js/theme-vibrant_ink-uncompressed-noconflict.js +183 -0
  289. data/lib/apps/texteditor/js/theme-vibrant_ink-uncompressed.js +183 -0
  290. data/lib/apps/texteditor/js/theme-vibrant_ink.js +1 -0
  291. data/lib/apps/texteditor/js/worker-coffee.js +7991 -0
  292. data/lib/apps/texteditor/js/worker-css.js +12224 -0
  293. data/lib/apps/texteditor/js/worker-javascript.js +11124 -0
  294. data/lib/apps/texteditor/js/worker-json.js +3593 -0
  295. data/lib/apps/texteditor/options.json +16 -0
  296. data/lib/daftos/.DS_Store +0 -0
  297. data/lib/daftos/server.rb +106 -0
  298. data/lib/daftos/views/app_footer.erb +2 -0
  299. data/lib/daftos/views/app_header.erb +33 -0
  300. data/lib/daftos.rb +25 -2
  301. data/lib/libs/.DS_Store +0 -0
  302. data/lib/libs/coffee/daftos.coffee +36 -0
  303. data/lib/libs/css/bootstrap.css +3496 -0
  304. data/lib/libs/js/bootstrap.js +1720 -0
  305. data/lib/libs/js/jquery.js +4 -0
  306. data/myapp.pid +1 -0
  307. metadata +325 -12
@@ -0,0 +1,540 @@
1
+ /*
2
+ * eXide - web-based XQuery IDE
3
+ *
4
+ * Copyright (C) 2011 Wolfgang Meier
5
+ *
6
+ * This program is free software: you can redistribute it and/or modify
7
+ * it under the terms of the GNU General Public License as published by
8
+ * the Free Software Foundation, either version 3 of the License, or
9
+ * (at your option) any later version.
10
+ *
11
+ * This program is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ * GNU General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU General Public License
17
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
18
+ */
19
+ define('ace/mode/xquery', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/xquery_highlight_rules', 'ace/mode/behaviour/xquery', 'ace/range'], function(require, exports, module) {
20
+ "use strict";
21
+
22
+ var oop = require("../lib/oop");
23
+ var TextMode = require("./text").Mode;
24
+ var Tokenizer = require("../tokenizer").Tokenizer;
25
+ var XQueryHighlightRules = require("./xquery_highlight_rules").XQueryHighlightRules;
26
+ var XQueryBehaviour = require("./behaviour/xquery").XQueryBehaviour;
27
+ var Range = require("../range").Range;
28
+
29
+ var Mode = function(parent) {
30
+ this.$tokenizer = new Tokenizer(new XQueryHighlightRules().getRules());
31
+ this.$behaviour = new XQueryBehaviour(parent);
32
+ };
33
+
34
+ oop.inherits(Mode, TextMode);
35
+
36
+ (function() {
37
+
38
+ this.getNextLineIndent = function(state, line, tab) {
39
+ var indent = this.$getIndent(line);
40
+ var match = line.match(/\s*(?:then|else|return|[{\(]|<\w+>)\s*$/);
41
+ if (match)
42
+ indent += tab;
43
+ return indent;
44
+ };
45
+
46
+ this.checkOutdent = function(state, line, input) {
47
+ if (! /^\s+$/.test(line))
48
+ return false;
49
+
50
+ return /^\s*[\}\)]/.test(input);
51
+ };
52
+
53
+ this.autoOutdent = function(state, doc, row) {
54
+ var line = doc.getLine(row);
55
+ var match = line.match(/^(\s*[\}\)])/);
56
+
57
+ if (!match) return 0;
58
+
59
+ var column = match[1].length;
60
+ var openBracePos = doc.findMatchingBracket({row: row, column: column});
61
+
62
+ if (!openBracePos || openBracePos.row == row) return 0;
63
+
64
+ var indent = this.$getIndent(doc.getLine(openBracePos.row));
65
+ doc.replace(new Range(row, 0, row, column-1), indent);
66
+ };
67
+
68
+ this.$getIndent = function(line) {
69
+ var match = line.match(/^(\s+)/);
70
+ if (match) {
71
+ return match[1];
72
+ }
73
+
74
+ return "";
75
+ };
76
+
77
+ this.toggleCommentLines = function(state, doc, startRow, endRow) {
78
+ var i, line;
79
+ var outdent = true;
80
+ var re = /^\s*\(:(.*):\)/;
81
+
82
+ for (i=startRow; i<= endRow; i++) {
83
+ if (!re.test(doc.getLine(i))) {
84
+ outdent = false;
85
+ break;
86
+ }
87
+ }
88
+
89
+ var range = new Range(0, 0, 0, 0);
90
+ for (i=startRow; i<= endRow; i++) {
91
+ line = doc.getLine(i);
92
+ range.start.row = i;
93
+ range.end.row = i;
94
+ range.end.column = line.length;
95
+
96
+ doc.replace(range, outdent ? line.match(re)[1] : "(:" + line + ":)");
97
+ }
98
+ };
99
+ }).call(Mode.prototype);
100
+
101
+ exports.Mode = Mode;
102
+ });
103
+ /*
104
+ * eXide - web-based XQuery IDE
105
+ *
106
+ * Copyright (C) 2011 Wolfgang Meier
107
+ *
108
+ * This program is free software: you can redistribute it and/or modify
109
+ * it under the terms of the GNU General Public License as published by
110
+ * the Free Software Foundation, either version 3 of the License, or
111
+ * (at your option) any later version.
112
+ *
113
+ * This program is distributed in the hope that it will be useful,
114
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
115
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
116
+ * GNU General Public License for more details.
117
+ *
118
+ * You should have received a copy of the GNU General Public License
119
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
120
+ */
121
+ define('ace/mode/xquery_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/lang', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
122
+ "use strict";
123
+
124
+ var oop = require("../lib/oop");
125
+ var lang = require("../lib/lang");
126
+ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
127
+
128
+ var XQueryHighlightRules = function() {
129
+
130
+ var keywords = lang.arrayToMap(
131
+ ("return|for|let|where|order|by|declare|function|variable|xquery|version|option|namespace|import|module|when|encoding|" +
132
+ "switch|default|try|catch|group|tumbling|sliding|window|start|end|at|only|" +
133
+ "using|stemming|" +
134
+ "while|" +
135
+ "external|" +
136
+ "if|then|else|as|and|or|typeswitch|case|ascending|descending|empty|in|count|updating|insert|delete|replace|value|node|attribute|text|element|into|of|with|contains").split("|")
137
+ );
138
+
139
+ // regexp must not have capturing parentheses
140
+ // regexps are ordered -> the first match is used
141
+
142
+ this.$rules = {
143
+ start : [ {
144
+ token : "text",
145
+ regex : "<\\!\\[CDATA\\[",
146
+ next : "cdata"
147
+ }, {
148
+ token : "xml_pe",
149
+ regex : "<\\?.*?\\?>"
150
+ }, {
151
+ token : "comment",
152
+ regex : "<\\!--",
153
+ next : "comment"
154
+ }, {
155
+ token : "comment",
156
+ regex : "\\(:",
157
+ next : "comment"
158
+ }, {
159
+ token : "text", // opening tag
160
+ regex : "<\\/?",
161
+ next : "tag"
162
+ }, {
163
+ token : "constant", // number
164
+ regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
165
+ }, {
166
+ token : "variable", // variable
167
+ regex : "\\$[a-zA-Z_][a-zA-Z0-9_\\-:]*\\b"
168
+ }, {
169
+ token: "string",
170
+ regex : '".*?"'
171
+ }, {
172
+ token: "string",
173
+ regex : "'.*?'"
174
+ }, {
175
+ token : "text",
176
+ regex : "\\s+"
177
+ }, {
178
+ token: "support.function",
179
+ regex: "\\w[\\w+_\\-:]+(?=\\()"
180
+ }, {
181
+ token : function(value) {
182
+ if (keywords[value])
183
+ return "keyword";
184
+ else
185
+ return "identifier";
186
+ },
187
+ regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
188
+ }, {
189
+ token: "keyword.operator",
190
+ regex: "\\*|=|<|>|\\-|\\+|and|or|eq|ne|lt|gt"
191
+ }, {
192
+ token: "lparen",
193
+ regex: "[[({]"
194
+ }, {
195
+ token: "rparen",
196
+ regex: "[\\])}]"
197
+ } ],
198
+
199
+ tag : [ {
200
+ token : "text",
201
+ regex : ">",
202
+ next : "start"
203
+ }, {
204
+ token : "meta.tag",
205
+ regex : "[-_a-zA-Z0-9:]+"
206
+ }, {
207
+ token : "text",
208
+ regex : "\\s+"
209
+ }, {
210
+ token : "string",
211
+ regex : '".*?"'
212
+ }, {
213
+ token : "string",
214
+ regex : "'.*?'"
215
+ } ],
216
+
217
+ cdata : [ {
218
+ token : "text",
219
+ regex : "\\]\\]>",
220
+ next : "start"
221
+ }, {
222
+ token : "text",
223
+ regex : "\\s+"
224
+ }, {
225
+ token : "text",
226
+ regex : "(?:[^\\]]|\\](?!\\]>))+"
227
+ } ],
228
+
229
+ comment : [ {
230
+ token : "comment",
231
+ regex : ".*?-->",
232
+ next : "start"
233
+ }, {
234
+ token: "comment",
235
+ regex : ".*:\\)",
236
+ next : "start"
237
+ }, {
238
+ token : "comment",
239
+ regex : ".+"
240
+ } ]
241
+ };
242
+ };
243
+
244
+ oop.inherits(XQueryHighlightRules, TextHighlightRules);
245
+
246
+ exports.XQueryHighlightRules = XQueryHighlightRules;
247
+ });
248
+ /*
249
+ * eXide - web-based XQuery IDE
250
+ *
251
+ * Copyright (C) 2011 Wolfgang Meier
252
+ *
253
+ * This program is free software: you can redistribute it and/or modify
254
+ * it under the terms of the GNU General Public License as published by
255
+ * the Free Software Foundation, either version 3 of the License, or
256
+ * (at your option) any later version.
257
+ *
258
+ * This program is distributed in the hope that it will be useful,
259
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
260
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
261
+ * GNU General Public License for more details.
262
+ *
263
+ * You should have received a copy of the GNU General Public License
264
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
265
+ */
266
+ define('ace/mode/behaviour/xquery', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/behaviour', 'ace/mode/behaviour/cstyle'], function(require, exports, module) {
267
+ "use strict";
268
+
269
+ var oop = require("../../lib/oop");
270
+ var Behaviour = require('../behaviour').Behaviour;
271
+ var CstyleBehaviour = require('./cstyle').CstyleBehaviour;
272
+
273
+ var XQueryBehaviour = function (parent) {
274
+
275
+ this.inherit(CstyleBehaviour, ["braces", "parens", "string_dquotes"]); // Get string behaviour
276
+ this.parent = parent;
277
+
278
+ this.add("brackets", "insertion", function (state, action, editor, session, text) {
279
+ if (text == "\n") {
280
+ var cursor = editor.getCursorPosition();
281
+ var line = session.doc.getLine(cursor.row);
282
+ var rightChars = line.substring(cursor.column, cursor.column + 2);
283
+ if (rightChars == '</') {
284
+ var indent = this.$getIndent(session.doc.getLine(cursor.row)) + session.getTabString();
285
+ var next_indent = this.$getIndent(session.doc.getLine(cursor.row));
286
+
287
+ return {
288
+ text: '\n' + indent + '\n' + next_indent,
289
+ selection: [1, indent.length, 1, indent.length]
290
+ }
291
+ }
292
+ }
293
+ return false;
294
+ });
295
+
296
+ // Check for open tag if user enters / and auto-close it.
297
+ this.add("slash", "insertion", function (state, action, editor, session, text) {
298
+ if (text == "/") {
299
+ var cursor = editor.getCursorPosition();
300
+ var line = session.doc.getLine(cursor.row);
301
+ if (cursor.column > 0 && line.charAt(cursor.column - 1) == "<") {
302
+ line = line.substring(0, cursor.column) + "/" + line.substring(cursor.column);
303
+ var lines = session.doc.getAllLines();
304
+ lines[cursor.row] = line;
305
+ // call mode helper to close the tag if possible
306
+ parent.exec("closeTag", lines.join(session.doc.getNewLineCharacter()), cursor.row);
307
+ }
308
+ }
309
+ return false;
310
+ });
311
+ }
312
+ oop.inherits(XQueryBehaviour, Behaviour);
313
+
314
+ exports.XQueryBehaviour = XQueryBehaviour;
315
+ });
316
+ /* vim:ts=4:sts=4:sw=4:
317
+ * ***** BEGIN LICENSE BLOCK *****
318
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
319
+ *
320
+ * The contents of this file are subject to the Mozilla Public License Version
321
+ * 1.1 (the "License"); you may not use this file except in compliance with
322
+ * the License. You may obtain a copy of the License at
323
+ * http://www.mozilla.org/MPL/
324
+ *
325
+ * Software distributed under the License is distributed on an "AS IS" basis,
326
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
327
+ * for the specific language governing rights and limitations under the
328
+ * License.
329
+ *
330
+ * The Original Code is Ajax.org Code Editor (ACE).
331
+ *
332
+ * The Initial Developer of the Original Code is
333
+ * Ajax.org B.V.
334
+ * Portions created by the Initial Developer are Copyright (C) 2010
335
+ * the Initial Developer. All Rights Reserved.
336
+ *
337
+ * Contributor(s):
338
+ * Chris Spencer <chris.ag.spencer AT googlemail DOT com>
339
+ *
340
+ * Alternatively, the contents of this file may be used under the terms of
341
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
342
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
343
+ * in which case the provisions of the GPL or the LGPL are applicable instead
344
+ * of those above. If you wish to allow use of your version of this file only
345
+ * under the terms of either the GPL or the LGPL, and not to allow others to
346
+ * use your version of this file under the terms of the MPL, indicate your
347
+ * decision by deleting the provisions above and replace them with the notice
348
+ * and other provisions required by the GPL or the LGPL. If you do not delete
349
+ * the provisions above, a recipient may use your version of this file under
350
+ * the terms of any one of the MPL, the GPL or the LGPL.
351
+ *
352
+ * ***** END LICENSE BLOCK ***** */
353
+
354
+ define('ace/mode/behaviour/cstyle', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/behaviour'], function(require, exports, module) {
355
+ "use strict";
356
+
357
+ var oop = require("../../lib/oop");
358
+ var Behaviour = require('../behaviour').Behaviour;
359
+
360
+ var CstyleBehaviour = function () {
361
+
362
+ this.add("braces", "insertion", function (state, action, editor, session, text) {
363
+ if (text == '{') {
364
+ var selection = editor.getSelectionRange();
365
+ var selected = session.doc.getTextRange(selection);
366
+ if (selected !== "") {
367
+ return {
368
+ text: '{' + selected + '}',
369
+ selection: false
370
+ };
371
+ } else {
372
+ return {
373
+ text: '{}',
374
+ selection: [1, 1]
375
+ };
376
+ }
377
+ } else if (text == '}') {
378
+ var cursor = editor.getCursorPosition();
379
+ var line = session.doc.getLine(cursor.row);
380
+ var rightChar = line.substring(cursor.column, cursor.column + 1);
381
+ if (rightChar == '}') {
382
+ var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
383
+ if (matching !== null) {
384
+ return {
385
+ text: '',
386
+ selection: [1, 1]
387
+ };
388
+ }
389
+ }
390
+ } else if (text == "\n") {
391
+ var cursor = editor.getCursorPosition();
392
+ var line = session.doc.getLine(cursor.row);
393
+ var rightChar = line.substring(cursor.column, cursor.column + 1);
394
+ if (rightChar == '}') {
395
+ var openBracePos = session.findMatchingBracket({row: cursor.row, column: cursor.column + 1});
396
+ if (!openBracePos)
397
+ return null;
398
+
399
+ var indent = this.getNextLineIndent(state, line.substring(0, line.length - 1), session.getTabString());
400
+ var next_indent = this.$getIndent(session.doc.getLine(openBracePos.row));
401
+
402
+ return {
403
+ text: '\n' + indent + '\n' + next_indent,
404
+ selection: [1, indent.length, 1, indent.length]
405
+ };
406
+ }
407
+ }
408
+ });
409
+
410
+ this.add("braces", "deletion", function (state, action, editor, session, range) {
411
+ var selected = session.doc.getTextRange(range);
412
+ if (!range.isMultiLine() && selected == '{') {
413
+ var line = session.doc.getLine(range.start.row);
414
+ var rightChar = line.substring(range.end.column, range.end.column + 1);
415
+ if (rightChar == '}') {
416
+ range.end.column++;
417
+ return range;
418
+ }
419
+ }
420
+ });
421
+
422
+ this.add("parens", "insertion", function (state, action, editor, session, text) {
423
+ if (text == '(') {
424
+ var selection = editor.getSelectionRange();
425
+ var selected = session.doc.getTextRange(selection);
426
+ if (selected !== "") {
427
+ return {
428
+ text: '(' + selected + ')',
429
+ selection: false
430
+ };
431
+ } else {
432
+ return {
433
+ text: '()',
434
+ selection: [1, 1]
435
+ };
436
+ }
437
+ } else if (text == ')') {
438
+ var cursor = editor.getCursorPosition();
439
+ var line = session.doc.getLine(cursor.row);
440
+ var rightChar = line.substring(cursor.column, cursor.column + 1);
441
+ if (rightChar == ')') {
442
+ var matching = session.$findOpeningBracket(')', {column: cursor.column + 1, row: cursor.row});
443
+ if (matching !== null) {
444
+ return {
445
+ text: '',
446
+ selection: [1, 1]
447
+ };
448
+ }
449
+ }
450
+ }
451
+ });
452
+
453
+ this.add("parens", "deletion", function (state, action, editor, session, range) {
454
+ var selected = session.doc.getTextRange(range);
455
+ if (!range.isMultiLine() && selected == '(') {
456
+ var line = session.doc.getLine(range.start.row);
457
+ var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
458
+ if (rightChar == ')') {
459
+ range.end.column++;
460
+ return range;
461
+ }
462
+ }
463
+ });
464
+
465
+ this.add("string_dquotes", "insertion", function (state, action, editor, session, text) {
466
+ if (text == '"' || text == "'") {
467
+ var quote = text;
468
+ var selection = editor.getSelectionRange();
469
+ var selected = session.doc.getTextRange(selection);
470
+ if (selected !== "") {
471
+ return {
472
+ text: quote + selected + quote,
473
+ selection: false
474
+ };
475
+ } else {
476
+ var cursor = editor.getCursorPosition();
477
+ var line = session.doc.getLine(cursor.row);
478
+ var leftChar = line.substring(cursor.column-1, cursor.column);
479
+
480
+ // We're escaped.
481
+ if (leftChar == '\\') {
482
+ return null;
483
+ }
484
+
485
+ // Find what token we're inside.
486
+ var tokens = session.getTokens(selection.start.row, selection.start.row)[0].tokens;
487
+ var col = 0, token;
488
+ var quotepos = -1; // Track whether we're inside an open quote.
489
+
490
+ for (var x = 0; x < tokens.length; x++) {
491
+ token = tokens[x];
492
+ if (token.type == "string") {
493
+ quotepos = -1;
494
+ } else if (quotepos < 0) {
495
+ quotepos = token.value.indexOf(quote);
496
+ }
497
+ if ((token.value.length + col) > selection.start.column) {
498
+ break;
499
+ }
500
+ col += tokens[x].value.length;
501
+ }
502
+
503
+ // Try and be smart about when we auto insert.
504
+ if (!token || (quotepos < 0 && token.type !== "comment" && (token.type !== "string" || ((selection.start.column !== token.value.length+col-1) && token.value.lastIndexOf(quote) === token.value.length-1)))) {
505
+ return {
506
+ text: quote + quote,
507
+ selection: [1,1]
508
+ };
509
+ } else if (token && token.type === "string") {
510
+ // Ignore input and move right one if we're typing over the closing quote.
511
+ var rightChar = line.substring(cursor.column, cursor.column + 1);
512
+ if (rightChar == quote) {
513
+ return {
514
+ text: '',
515
+ selection: [1, 1]
516
+ };
517
+ }
518
+ }
519
+ }
520
+ }
521
+ });
522
+
523
+ this.add("string_dquotes", "deletion", function (state, action, editor, session, range) {
524
+ var selected = session.doc.getTextRange(range);
525
+ if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
526
+ var line = session.doc.getLine(range.start.row);
527
+ var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
528
+ if (rightChar == '"') {
529
+ range.end.column++;
530
+ return range;
531
+ }
532
+ }
533
+ });
534
+
535
+ };
536
+
537
+ oop.inherits(CstyleBehaviour, Behaviour);
538
+
539
+ exports.CstyleBehaviour = CstyleBehaviour;
540
+ });
@@ -0,0 +1 @@
1
+ define("ace/mode/xquery",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/xquery_highlight_rules","ace/mode/behaviour/xquery","ace/range"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("./text").Mode,f=a("../tokenizer").Tokenizer,g=a("./xquery_highlight_rules").XQueryHighlightRules,h=a("./behaviour/xquery").XQueryBehaviour,i=a("../range").Range,j=function(a){this.$tokenizer=new f((new g).getRules()),this.$behaviour=new h(a)};d.inherits(j,e),function(){this.getNextLineIndent=function(a,b,c){var d=this.$getIndent(b),e=b.match(/\s*(?:then|else|return|[{\(]|<\w+>)\s*$/);return e&&(d+=c),d},this.checkOutdent=function(a,b,c){return/^\s+$/.test(b)?/^\s*[\}\)]/.test(c):!1},this.autoOutdent=function(a,b,c){var d=b.getLine(c),e=d.match(/^(\s*[\}\)])/);if(!e)return 0;var f=e[1].length,g=b.findMatchingBracket({row:c,column:f});if(!g||g.row==c)return 0;var h=this.$getIndent(b.getLine(g.row));b.replace(new i(c,0,c,f-1),h)},this.$getIndent=function(a){var b=a.match(/^(\s+)/);return b?b[1]:""},this.toggleCommentLines=function(a,b,c,d){var e,f,g=!0,h=/^\s*\(:(.*):\)/;for(e=c;e<=d;e++)if(!h.test(b.getLine(e))){g=!1;break}var j=new i(0,0,0,0);for(e=c;e<=d;e++)f=b.getLine(e),j.start.row=e,j.end.row=e,j.end.column=f.length,b.replace(j,g?f.match(h)[1]:"(:"+f+":)")}}.call(j.prototype),b.Mode=j}),define("ace/mode/xquery_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("../lib/lang"),f=a("./text_highlight_rules").TextHighlightRules,g=function(){var a=e.arrayToMap("return|for|let|where|order|by|declare|function|variable|xquery|version|option|namespace|import|module|when|encoding|switch|default|try|catch|group|tumbling|sliding|window|start|end|at|only|using|stemming|while|external|if|then|else|as|and|or|typeswitch|case|ascending|descending|empty|in|count|updating|insert|delete|replace|value|node|attribute|text|element|into|of|with|contains".split("|"));this.$rules={start:[{token:"text",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:"xml_pe",regex:"<\\?.*?\\?>"},{token:"comment",regex:"<\\!--",next:"comment"},{token:"comment",regex:"\\(:",next:"comment"},{token:"text",regex:"<\\/?",next:"tag"},{token:"constant",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"variable",regex:"\\$[a-zA-Z_][a-zA-Z0-9_\\-:]*\\b"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"},{token:"text",regex:"\\s+"},{token:"support.function",regex:"\\w[\\w+_\\-:]+(?=\\()"},{token:function(b){return a[b]?"keyword":"identifier"},regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\*|=|<|>|\\-|\\+|and|or|eq|ne|lt|gt"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"}],tag:[{token:"text",regex:">",next:"start"},{token:"meta.tag",regex:"[-_a-zA-Z0-9:]+"},{token:"text",regex:"\\s+"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.*?'"}],cdata:[{token:"text",regex:"\\]\\]>",next:"start"},{token:"text",regex:"\\s+"},{token:"text",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment",regex:".*?-->",next:"start"},{token:"comment",regex:".*:\\)",next:"start"},{token:"comment",regex:".+"}]}};d.inherits(g,f),b.XQueryHighlightRules=g}),define("ace/mode/behaviour/xquery",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("../behaviour").Behaviour,f=a("./cstyle").CstyleBehaviour,g=function(a){this.inherit(f,["braces","parens","string_dquotes"]),this.parent=a,this.add("brackets","insertion",function(a,b,c,d,e){if(e=="\n"){var f=c.getCursorPosition(),g=d.doc.getLine(f.row),h=g.substring(f.column,f.column+2);if(h=="</"){var i=this.$getIndent(d.doc.getLine(f.row))+d.getTabString(),j=this.$getIndent(d.doc.getLine(f.row));return{text:"\n"+i+"\n"+j,selection:[1,i.length,1,i.length]}}}return!1}),this.add("slash","insertion",function(b,c,d,e,f){if(f=="/"){var g=d.getCursorPosition(),h=e.doc.getLine(g.row);if(g.column>0&&h.charAt(g.column-1)=="<"){h=h.substring(0,g.column)+"/"+h.substring(g.column);var i=e.doc.getAllLines();i[g.row]=h,a.exec("closeTag",i.join(e.doc.getNewLineCharacter()),g.row)}}return!1})};d.inherits(g,e),b.XQueryBehaviour=g}),define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour"],function(a,b,c){"use strict";var d=a("../../lib/oop"),e=a("../behaviour").Behaviour,f=function(){this.add("braces","insertion",function(a,b,c,d,e){if(e=="{"){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);return g!==""?{text:"{"+g+"}",selection:!1}:{text:"{}",selection:[1,1]}}if(e=="}"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j=="}"){var k=d.$findOpeningBracket("}",{column:h.column+1,row:h.row});if(k!==null)return{text:"",selection:[1,1]}}}else if(e=="\n"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j=="}"){var l=d.findMatchingBracket({row:h.row,column:h.column+1});if(!l)return null;var m=this.getNextLineIndent(a,i.substring(0,i.length-1),d.getTabString()),n=this.$getIndent(d.doc.getLine(l.row));return{text:"\n"+m+"\n"+n,selection:[1,m.length,1,m.length]}}}}),this.add("braces","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=="{"){var g=d.doc.getLine(e.start.row),h=g.substring(e.end.column,e.end.column+1);if(h=="}")return e.end.column++,e}}),this.add("parens","insertion",function(a,b,c,d,e){if(e=="("){var f=c.getSelectionRange(),g=d.doc.getTextRange(f);return g!==""?{text:"("+g+")",selection:!1}:{text:"()",selection:[1,1]}}if(e==")"){var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(j==")"){var k=d.$findOpeningBracket(")",{column:h.column+1,row:h.row});if(k!==null)return{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&f=="("){var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if(h==")")return e.end.column++,e}}),this.add("string_dquotes","insertion",function(a,b,c,d,e){if(e=='"'||e=="'"){var f=e,g=c.getSelectionRange(),h=d.doc.getTextRange(g);if(h!=="")return{text:f+h+f,selection:!1};var i=c.getCursorPosition(),j=d.doc.getLine(i.row),k=j.substring(i.column-1,i.column);if(k=="\\")return null;var l=d.getTokens(g.start.row,g.start.row)[0].tokens,m=0,n,o=-1;for(var p=0;p<l.length;p++){n=l[p],n.type=="string"?o=-1:o<0&&(o=n.value.indexOf(f));if(n.value.length+m>g.start.column)break;m+=l[p].value.length}if(!n||o<0&&n.type!=="comment"&&(n.type!=="string"||g.start.column!==n.value.length+m-1&&n.value.lastIndexOf(f)===n.value.length-1))return{text:f+f,selection:[1,1]};if(n&&n.type==="string"){var q=j.substring(i.column,i.column+1);if(q==f)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&(f=='"'||f=="'")){var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if(h=='"')return e.end.column++,e}})};d.inherits(f,e),b.CstyleBehaviour=f})
@@ -0,0 +1 @@
1
+ ace.define("ace/theme/chrome",["require","exports","module","ace/lib/dom"],function(a,b,c){b.cssClass="ace-chrome",b.cssText=".ace-chrome .ace_editor { border: 2px solid rgb(159, 159, 159);}.ace-chrome .ace_editor.ace_focus { border: 2px solid #327fbd;}.ace-chrome .ace_gutter { background: #e8e8e8; color: #333; overflow : hidden;}.ace-chrome .ace_gutter-layer { width: 100%; text-align: right;}.ace-chrome .ace_print_margin { width: 1px; background: #e8e8e8;}.ace-chrome .ace_text-layer { cursor: text;}.ace-chrome .ace_cursor { border-left: 2px solid black;}.ace-chrome .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid black;}.ace-chrome .ace_line .ace_invisible { color: rgb(191, 191, 191);}.ace-chrome .ace_line .ace_constant.ace_buildin { color: rgb(88, 72, 246);}.ace-chrome .ace_line .ace_constant.ace_language { color: rgb(88, 92, 246);}.ace-chrome .ace_line .ace_constant.ace_library { color: rgb(6, 150, 14);}.ace-chrome .ace_line .ace_invalid { background-color: rgb(153, 0, 0); color: white;}.ace-chrome .ace_line .ace_fold {}.ace-chrome .ace_line .ace_support.ace_function { color: rgb(60, 76, 114);}.ace-chrome .ace_line .ace_support.ace_constant { color: rgb(6, 150, 14);}.ace-chrome .ace_line .ace_support.ace_type,.ace-chrome .ace_line .ace_support.ace_class { color: rgb(109, 121, 222);}.ace-chrome .ace_variable.ace_parameter { font-style:italic;color:#FD971F;}.ace-chrome .ace_line .ace_keyword.ace_operator { color: rgb(104, 118, 135);}.ace-chrome .ace_line .ace_comment { color: #236e24;}.ace-chrome .ace_line .ace_comment.ace_doc { color: #236e24;}.ace-chrome .ace_line .ace_comment.ace_doc.ace_tag { color: #236e24;}.ace-chrome .ace_line .ace_constant.ace_numeric { color: rgb(0, 0, 205);}.ace-chrome .ace_line .ace_variable { color: rgb(49, 132, 149);}.ace-chrome .ace_line .ace_xml_pe { color: rgb(104, 104, 91);}.ace-chrome .ace_entity.ace_name.ace_function { color: #0000A2;}.ace-chrome .ace_markup.ace_markupine { text-decoration:underline;}.ace-chrome .ace_markup.ace_heading { color: rgb(12, 7, 255);}.ace-chrome .ace_markup.ace_list { color:rgb(185, 6, 144);}.ace-chrome .ace_marker-layer .ace_selection { background: rgb(181, 213, 255);}.ace-chrome .ace_marker-layer .ace_step { background: rgb(252, 255, 0);}.ace-chrome .ace_marker-layer .ace_stack { background: rgb(164, 229, 101);}.ace-chrome .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid rgb(192, 192, 192);}.ace-chrome .ace_marker-layer .ace_active_line { background: rgba(0, 0, 0, 0.07);}.ace-chrome .ace_marker-layer .ace_selected_word { background: rgb(250, 250, 255); border: 1px solid rgb(200, 200, 250);}.ace-chrome .ace_storage,.ace-chrome .ace_line .ace_keyword,.ace-chrome .ace_meta.ace_tag { color: rgb(147, 15, 128);}.ace-chrome .ace_string.ace_regex { color: rgb(255, 0, 0)}.ace-chrome .ace_line .ace_string,.ace-chrome .ace_entity.ace_other.ace_attribute-name{ color: #994409;}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)})