aced_rails 0.0.1

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 (255) hide show
  1. data/.gitignore +17 -0
  2. data/CHANGELOG.md +4 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE +22 -0
  5. data/README.md +49 -0
  6. data/Rakefile +2 -0
  7. data/aced_rails.gemspec +19 -0
  8. data/lib/aced_rails.rb +7 -0
  9. data/lib/aced_rails/engine.rb +4 -0
  10. data/lib/aced_rails/version.rb +3 -0
  11. data/vendor/assets/javascripts/ace/ace-compat-noconflict.js +1 -0
  12. data/vendor/assets/javascripts/ace/ace-compat-uncompressed-noconflict.js +480 -0
  13. data/vendor/assets/javascripts/ace/ace-compat-uncompressed.js +480 -0
  14. data/vendor/assets/javascripts/ace/ace-compat.js +1 -0
  15. data/vendor/assets/javascripts/ace/ace-noconflict.js +10 -0
  16. data/vendor/assets/javascripts/ace/ace-uncompressed-noconflict.js +14649 -0
  17. data/vendor/assets/javascripts/ace/ace-uncompressed.js +14649 -0
  18. data/vendor/assets/javascripts/ace/ace.js +10 -0
  19. data/vendor/assets/javascripts/ace/keybinding-emacs-noconflict.js +1 -0
  20. data/vendor/assets/javascripts/ace/keybinding-emacs-uncompressed-noconflict.js +405 -0
  21. data/vendor/assets/javascripts/ace/keybinding-emacs-uncompressed.js +405 -0
  22. data/vendor/assets/javascripts/ace/keybinding-emacs.js +1 -0
  23. data/vendor/assets/javascripts/ace/keybinding-vim-noconflict.js +1 -0
  24. data/vendor/assets/javascripts/ace/keybinding-vim-uncompressed-noconflict.js +393 -0
  25. data/vendor/assets/javascripts/ace/keybinding-vim-uncompressed.js +393 -0
  26. data/vendor/assets/javascripts/ace/keybinding-vim.js +1 -0
  27. data/vendor/assets/javascripts/ace/mode-c_cpp-noconflict.js +1 -0
  28. data/vendor/assets/javascripts/ace/mode-c_cpp-uncompressed-noconflict.js +918 -0
  29. data/vendor/assets/javascripts/ace/mode-c_cpp-uncompressed.js +918 -0
  30. data/vendor/assets/javascripts/ace/mode-c_cpp.js +1 -0
  31. data/vendor/assets/javascripts/ace/mode-clojure-noconflict.js +1 -0
  32. data/vendor/assets/javascripts/ace/mode-clojure-uncompressed-noconflict.js +422 -0
  33. data/vendor/assets/javascripts/ace/mode-clojure-uncompressed.js +422 -0
  34. data/vendor/assets/javascripts/ace/mode-clojure.js +1 -0
  35. data/vendor/assets/javascripts/ace/mode-coffee-noconflict.js +1 -0
  36. data/vendor/assets/javascripts/ace/mode-coffee-uncompressed-noconflict.js +605 -0
  37. data/vendor/assets/javascripts/ace/mode-coffee-uncompressed.js +605 -0
  38. data/vendor/assets/javascripts/ace/mode-coffee.js +1 -0
  39. data/vendor/assets/javascripts/ace/mode-coldfusion-noconflict.js +1 -0
  40. data/vendor/assets/javascripts/ace/mode-coldfusion-uncompressed-noconflict.js +2361 -0
  41. data/vendor/assets/javascripts/ace/mode-coldfusion-uncompressed.js +2361 -0
  42. data/vendor/assets/javascripts/ace/mode-coldfusion.js +1 -0
  43. data/vendor/assets/javascripts/ace/mode-csharp-noconflict.js +1 -0
  44. data/vendor/assets/javascripts/ace/mode-csharp-uncompressed-noconflict.js +768 -0
  45. data/vendor/assets/javascripts/ace/mode-csharp-uncompressed.js +768 -0
  46. data/vendor/assets/javascripts/ace/mode-csharp.js +1 -0
  47. data/vendor/assets/javascripts/ace/mode-css-noconflict.js +1 -0
  48. data/vendor/assets/javascripts/ace/mode-css-uncompressed-noconflict.js +664 -0
  49. data/vendor/assets/javascripts/ace/mode-css-uncompressed.js +664 -0
  50. data/vendor/assets/javascripts/ace/mode-css.js +1 -0
  51. data/vendor/assets/javascripts/ace/mode-groovy-noconflict.js +1 -0
  52. data/vendor/assets/javascripts/ace/mode-groovy-uncompressed-noconflict.js +1280 -0
  53. data/vendor/assets/javascripts/ace/mode-groovy-uncompressed.js +1280 -0
  54. data/vendor/assets/javascripts/ace/mode-groovy.js +1 -0
  55. data/vendor/assets/javascripts/ace/mode-haxe-noconflict.js +1 -0
  56. data/vendor/assets/javascripts/ace/mode-haxe-uncompressed-noconflict.js +768 -0
  57. data/vendor/assets/javascripts/ace/mode-haxe-uncompressed.js +768 -0
  58. data/vendor/assets/javascripts/ace/mode-haxe.js +1 -0
  59. data/vendor/assets/javascripts/ace/mode-html-noconflict.js +1 -0
  60. data/vendor/assets/javascripts/ace/mode-html-uncompressed-noconflict.js +2377 -0
  61. data/vendor/assets/javascripts/ace/mode-html-uncompressed.js +2377 -0
  62. data/vendor/assets/javascripts/ace/mode-html.js +1 -0
  63. data/vendor/assets/javascripts/ace/mode-java-noconflict.js +1 -0
  64. data/vendor/assets/javascripts/ace/mode-java-uncompressed-noconflict.js +1282 -0
  65. data/vendor/assets/javascripts/ace/mode-java-uncompressed.js +1282 -0
  66. data/vendor/assets/javascripts/ace/mode-java.js +1 -0
  67. data/vendor/assets/javascripts/ace/mode-javascript-noconflict.js +1 -0
  68. data/vendor/assets/javascripts/ace/mode-javascript-uncompressed-noconflict.js +1113 -0
  69. data/vendor/assets/javascripts/ace/mode-javascript-uncompressed.js +1113 -0
  70. data/vendor/assets/javascripts/ace/mode-javascript.js +1 -0
  71. data/vendor/assets/javascripts/ace/mode-json-noconflict.js +1 -0
  72. data/vendor/assets/javascripts/ace/mode-json-uncompressed-noconflict.js +696 -0
  73. data/vendor/assets/javascripts/ace/mode-json-uncompressed.js +696 -0
  74. data/vendor/assets/javascripts/ace/mode-json.js +1 -0
  75. data/vendor/assets/javascripts/ace/mode-latex-noconflict.js +1 -0
  76. data/vendor/assets/javascripts/ace/mode-latex-uncompressed-noconflict.js +95 -0
  77. data/vendor/assets/javascripts/ace/mode-latex-uncompressed.js +95 -0
  78. data/vendor/assets/javascripts/ace/mode-latex.js +1 -0
  79. data/vendor/assets/javascripts/ace/mode-lua-noconflict.js +1 -0
  80. data/vendor/assets/javascripts/ace/mode-lua-uncompressed-noconflict.js +523 -0
  81. data/vendor/assets/javascripts/ace/mode-lua-uncompressed.js +523 -0
  82. data/vendor/assets/javascripts/ace/mode-lua.js +1 -0
  83. data/vendor/assets/javascripts/ace/mode-markdown-noconflict.js +1 -0
  84. data/vendor/assets/javascripts/ace/mode-markdown-uncompressed-noconflict.js +2819 -0
  85. data/vendor/assets/javascripts/ace/mode-markdown-uncompressed.js +2819 -0
  86. data/vendor/assets/javascripts/ace/mode-markdown.js +1 -0
  87. data/vendor/assets/javascripts/ace/mode-ocaml-noconflict.js +1 -0
  88. data/vendor/assets/javascripts/ace/mode-ocaml-uncompressed-noconflict.js +539 -0
  89. data/vendor/assets/javascripts/ace/mode-ocaml-uncompressed.js +539 -0
  90. data/vendor/assets/javascripts/ace/mode-ocaml.js +1 -0
  91. data/vendor/assets/javascripts/ace/mode-perl-noconflict.js +1 -0
  92. data/vendor/assets/javascripts/ace/mode-perl-uncompressed-noconflict.js +573 -0
  93. data/vendor/assets/javascripts/ace/mode-perl-uncompressed.js +573 -0
  94. data/vendor/assets/javascripts/ace/mode-perl.js +1 -0
  95. data/vendor/assets/javascripts/ace/mode-pgsql-noconflict.js +1 -0
  96. data/vendor/assets/javascripts/ace/mode-pgsql-uncompressed-noconflict.js +1107 -0
  97. data/vendor/assets/javascripts/ace/mode-pgsql-uncompressed.js +1107 -0
  98. data/vendor/assets/javascripts/ace/mode-pgsql.js +1 -0
  99. data/vendor/assets/javascripts/ace/mode-php-noconflict.js +1 -0
  100. data/vendor/assets/javascripts/ace/mode-php-uncompressed-noconflict.js +1884 -0
  101. data/vendor/assets/javascripts/ace/mode-php-uncompressed.js +1884 -0
  102. data/vendor/assets/javascripts/ace/mode-php.js +1 -0
  103. data/vendor/assets/javascripts/ace/mode-powershell-noconflict.js +1 -0
  104. data/vendor/assets/javascripts/ace/mode-powershell-uncompressed-noconflict.js +706 -0
  105. data/vendor/assets/javascripts/ace/mode-powershell-uncompressed.js +706 -0
  106. data/vendor/assets/javascripts/ace/mode-powershell.js +1 -0
  107. data/vendor/assets/javascripts/ace/mode-python-noconflict.js +1 -0
  108. data/vendor/assets/javascripts/ace/mode-python-uncompressed-noconflict.js +506 -0
  109. data/vendor/assets/javascripts/ace/mode-python-uncompressed.js +506 -0
  110. data/vendor/assets/javascripts/ace/mode-python.js +1 -0
  111. data/vendor/assets/javascripts/ace/mode-ruby-noconflict.js +1 -0
  112. data/vendor/assets/javascripts/ace/mode-ruby-uncompressed-noconflict.js +391 -0
  113. data/vendor/assets/javascripts/ace/mode-ruby-uncompressed.js +391 -0
  114. data/vendor/assets/javascripts/ace/mode-ruby.js +1 -0
  115. data/vendor/assets/javascripts/ace/mode-scad-noconflict.js +1 -0
  116. data/vendor/assets/javascripts/ace/mode-scad-uncompressed-noconflict.js +906 -0
  117. data/vendor/assets/javascripts/ace/mode-scad-uncompressed.js +906 -0
  118. data/vendor/assets/javascripts/ace/mode-scad.js +1 -0
  119. data/vendor/assets/javascripts/ace/mode-scala-noconflict.js +1 -0
  120. data/vendor/assets/javascripts/ace/mode-scala-uncompressed-noconflict.js +1282 -0
  121. data/vendor/assets/javascripts/ace/mode-scala-uncompressed.js +1282 -0
  122. data/vendor/assets/javascripts/ace/mode-scala.js +1 -0
  123. data/vendor/assets/javascripts/ace/mode-scss-noconflict.js +1 -0
  124. data/vendor/assets/javascripts/ace/mode-scss-uncompressed-noconflict.js +678 -0
  125. data/vendor/assets/javascripts/ace/mode-scss-uncompressed.js +678 -0
  126. data/vendor/assets/javascripts/ace/mode-scss.js +1 -0
  127. data/vendor/assets/javascripts/ace/mode-sh-noconflict.js +1 -0
  128. data/vendor/assets/javascripts/ace/mode-sh-uncompressed-noconflict.js +268 -0
  129. data/vendor/assets/javascripts/ace/mode-sh-uncompressed.js +268 -0
  130. data/vendor/assets/javascripts/ace/mode-sh.js +1 -0
  131. data/vendor/assets/javascripts/ace/mode-sql-noconflict.js +1 -0
  132. data/vendor/assets/javascripts/ace/mode-sql-uncompressed-noconflict.js +159 -0
  133. data/vendor/assets/javascripts/ace/mode-sql-uncompressed.js +159 -0
  134. data/vendor/assets/javascripts/ace/mode-sql.js +1 -0
  135. data/vendor/assets/javascripts/ace/mode-svg-noconflict.js +1 -0
  136. data/vendor/assets/javascripts/ace/mode-svg-uncompressed-noconflict.js +2016 -0
  137. data/vendor/assets/javascripts/ace/mode-svg-uncompressed.js +2016 -0
  138. data/vendor/assets/javascripts/ace/mode-svg.js +1 -0
  139. data/vendor/assets/javascripts/ace/mode-text-noconflict.js +0 -0
  140. data/vendor/assets/javascripts/ace/mode-text-uncompressed-noconflict.js +0 -0
  141. data/vendor/assets/javascripts/ace/mode-text-uncompressed.js +0 -0
  142. data/vendor/assets/javascripts/ace/mode-text.js +0 -0
  143. data/vendor/assets/javascripts/ace/mode-textile-noconflict.js +1 -0
  144. data/vendor/assets/javascripts/ace/mode-textile-uncompressed-noconflict.js +254 -0
  145. data/vendor/assets/javascripts/ace/mode-textile-uncompressed.js +254 -0
  146. data/vendor/assets/javascripts/ace/mode-textile.js +1 -0
  147. data/vendor/assets/javascripts/ace/mode-xml-noconflict.js +1 -0
  148. data/vendor/assets/javascripts/ace/mode-xml-uncompressed-noconflict.js +1001 -0
  149. data/vendor/assets/javascripts/ace/mode-xml-uncompressed.js +1001 -0
  150. data/vendor/assets/javascripts/ace/mode-xml.js +1 -0
  151. data/vendor/assets/javascripts/ace/theme-chrome-noconflict.js +1 -0
  152. data/vendor/assets/javascripts/ace/theme-chrome-uncompressed-noconflict.js +212 -0
  153. data/vendor/assets/javascripts/ace/theme-chrome-uncompressed.js +212 -0
  154. data/vendor/assets/javascripts/ace/theme-chrome.js +1 -0
  155. data/vendor/assets/javascripts/ace/theme-clouds-noconflict.js +1 -0
  156. data/vendor/assets/javascripts/ace/theme-clouds-uncompressed-noconflict.js +155 -0
  157. data/vendor/assets/javascripts/ace/theme-clouds-uncompressed.js +155 -0
  158. data/vendor/assets/javascripts/ace/theme-clouds.js +1 -0
  159. data/vendor/assets/javascripts/ace/theme-clouds_midnight-noconflict.js +1 -0
  160. data/vendor/assets/javascripts/ace/theme-clouds_midnight-uncompressed-noconflict.js +156 -0
  161. data/vendor/assets/javascripts/ace/theme-clouds_midnight-uncompressed.js +156 -0
  162. data/vendor/assets/javascripts/ace/theme-clouds_midnight.js +1 -0
  163. data/vendor/assets/javascripts/ace/theme-cobalt-noconflict.js +1 -0
  164. data/vendor/assets/javascripts/ace/theme-cobalt-uncompressed-noconflict.js +170 -0
  165. data/vendor/assets/javascripts/ace/theme-cobalt-uncompressed.js +170 -0
  166. data/vendor/assets/javascripts/ace/theme-cobalt.js +1 -0
  167. data/vendor/assets/javascripts/ace/theme-crimson_editor-noconflict.js +1 -0
  168. data/vendor/assets/javascripts/ace/theme-crimson_editor-uncompressed-noconflict.js +198 -0
  169. data/vendor/assets/javascripts/ace/theme-crimson_editor-uncompressed.js +198 -0
  170. data/vendor/assets/javascripts/ace/theme-crimson_editor.js +1 -0
  171. data/vendor/assets/javascripts/ace/theme-dawn-noconflict.js +1 -0
  172. data/vendor/assets/javascripts/ace/theme-dawn-uncompressed-noconflict.js +174 -0
  173. data/vendor/assets/javascripts/ace/theme-dawn-uncompressed.js +174 -0
  174. data/vendor/assets/javascripts/ace/theme-dawn.js +1 -0
  175. data/vendor/assets/javascripts/ace/theme-dreamweaver-noconflict.js +1 -0
  176. data/vendor/assets/javascripts/ace/theme-dreamweaver-uncompressed-noconflict.js +227 -0
  177. data/vendor/assets/javascripts/ace/theme-dreamweaver-uncompressed.js +227 -0
  178. data/vendor/assets/javascripts/ace/theme-dreamweaver.js +1 -0
  179. data/vendor/assets/javascripts/ace/theme-eclipse-noconflict.js +1 -0
  180. data/vendor/assets/javascripts/ace/theme-eclipse-uncompressed-noconflict.js +147 -0
  181. data/vendor/assets/javascripts/ace/theme-eclipse-uncompressed.js +147 -0
  182. data/vendor/assets/javascripts/ace/theme-eclipse.js +1 -0
  183. data/vendor/assets/javascripts/ace/theme-idle_fingers-noconflict.js +1 -0
  184. data/vendor/assets/javascripts/ace/theme-idle_fingers-uncompressed-noconflict.js +162 -0
  185. data/vendor/assets/javascripts/ace/theme-idle_fingers-uncompressed.js +162 -0
  186. data/vendor/assets/javascripts/ace/theme-idle_fingers.js +1 -0
  187. data/vendor/assets/javascripts/ace/theme-kr_theme-noconflict.js +1 -0
  188. data/vendor/assets/javascripts/ace/theme-kr_theme-uncompressed-noconflict.js +165 -0
  189. data/vendor/assets/javascripts/ace/theme-kr_theme-uncompressed.js +165 -0
  190. data/vendor/assets/javascripts/ace/theme-kr_theme.js +1 -0
  191. data/vendor/assets/javascripts/ace/theme-merbivore-noconflict.js +1 -0
  192. data/vendor/assets/javascripts/ace/theme-merbivore-uncompressed-noconflict.js +165 -0
  193. data/vendor/assets/javascripts/ace/theme-merbivore-uncompressed.js +165 -0
  194. data/vendor/assets/javascripts/ace/theme-merbivore.js +1 -0
  195. data/vendor/assets/javascripts/ace/theme-merbivore_soft-noconflict.js +1 -0
  196. data/vendor/assets/javascripts/ace/theme-merbivore_soft-uncompressed-noconflict.js +171 -0
  197. data/vendor/assets/javascripts/ace/theme-merbivore_soft-uncompressed.js +171 -0
  198. data/vendor/assets/javascripts/ace/theme-merbivore_soft.js +1 -0
  199. data/vendor/assets/javascripts/ace/theme-mono_industrial-noconflict.js +1 -0
  200. data/vendor/assets/javascripts/ace/theme-mono_industrial-uncompressed-noconflict.js +169 -0
  201. data/vendor/assets/javascripts/ace/theme-mono_industrial-uncompressed.js +169 -0
  202. data/vendor/assets/javascripts/ace/theme-mono_industrial.js +1 -0
  203. data/vendor/assets/javascripts/ace/theme-monokai-noconflict.js +1 -0
  204. data/vendor/assets/javascripts/ace/theme-monokai-uncompressed-noconflict.js +171 -0
  205. data/vendor/assets/javascripts/ace/theme-monokai-uncompressed.js +171 -0
  206. data/vendor/assets/javascripts/ace/theme-monokai.js +1 -0
  207. data/vendor/assets/javascripts/ace/theme-pastel_on_dark-noconflict.js +1 -0
  208. data/vendor/assets/javascripts/ace/theme-pastel_on_dark-uncompressed-noconflict.js +179 -0
  209. data/vendor/assets/javascripts/ace/theme-pastel_on_dark-uncompressed.js +179 -0
  210. data/vendor/assets/javascripts/ace/theme-pastel_on_dark.js +1 -0
  211. data/vendor/assets/javascripts/ace/theme-solarized_dark-noconflict.js +1 -0
  212. data/vendor/assets/javascripts/ace/theme-solarized_dark-uncompressed-noconflict.js +160 -0
  213. data/vendor/assets/javascripts/ace/theme-solarized_dark-uncompressed.js +160 -0
  214. data/vendor/assets/javascripts/ace/theme-solarized_dark.js +1 -0
  215. data/vendor/assets/javascripts/ace/theme-solarized_light-noconflict.js +1 -0
  216. data/vendor/assets/javascripts/ace/theme-solarized_light-uncompressed-noconflict.js +159 -0
  217. data/vendor/assets/javascripts/ace/theme-solarized_light-uncompressed.js +159 -0
  218. data/vendor/assets/javascripts/ace/theme-solarized_light.js +1 -0
  219. data/vendor/assets/javascripts/ace/theme-textmate-noconflict.js +0 -0
  220. data/vendor/assets/javascripts/ace/theme-textmate-uncompressed-noconflict.js +0 -0
  221. data/vendor/assets/javascripts/ace/theme-textmate-uncompressed.js +0 -0
  222. data/vendor/assets/javascripts/ace/theme-textmate.js +0 -0
  223. data/vendor/assets/javascripts/ace/theme-tomorrow-noconflict.js +1 -0
  224. data/vendor/assets/javascripts/ace/theme-tomorrow-uncompressed-noconflict.js +189 -0
  225. data/vendor/assets/javascripts/ace/theme-tomorrow-uncompressed.js +189 -0
  226. data/vendor/assets/javascripts/ace/theme-tomorrow.js +1 -0
  227. data/vendor/assets/javascripts/ace/theme-tomorrow_night-noconflict.js +1 -0
  228. data/vendor/assets/javascripts/ace/theme-tomorrow_night-uncompressed-noconflict.js +189 -0
  229. data/vendor/assets/javascripts/ace/theme-tomorrow_night-uncompressed.js +189 -0
  230. data/vendor/assets/javascripts/ace/theme-tomorrow_night.js +1 -0
  231. data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue-noconflict.js +1 -0
  232. data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue-uncompressed-noconflict.js +189 -0
  233. data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue-uncompressed.js +189 -0
  234. data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue.js +1 -0
  235. data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright-noconflict.js +1 -0
  236. data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright-uncompressed-noconflict.js +189 -0
  237. data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright-uncompressed.js +189 -0
  238. data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright.js +1 -0
  239. data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties-noconflict.js +1 -0
  240. data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties-uncompressed-noconflict.js +185 -0
  241. data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties-uncompressed.js +185 -0
  242. data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties.js +1 -0
  243. data/vendor/assets/javascripts/ace/theme-twilight-noconflict.js +1 -0
  244. data/vendor/assets/javascripts/ace/theme-twilight-uncompressed-noconflict.js +183 -0
  245. data/vendor/assets/javascripts/ace/theme-twilight-uncompressed.js +183 -0
  246. data/vendor/assets/javascripts/ace/theme-twilight.js +1 -0
  247. data/vendor/assets/javascripts/ace/theme-vibrant_ink-noconflict.js +1 -0
  248. data/vendor/assets/javascripts/ace/theme-vibrant_ink-uncompressed-noconflict.js +166 -0
  249. data/vendor/assets/javascripts/ace/theme-vibrant_ink-uncompressed.js +166 -0
  250. data/vendor/assets/javascripts/ace/theme-vibrant_ink.js +1 -0
  251. data/vendor/assets/javascripts/ace/worker-coffee.js +7456 -0
  252. data/vendor/assets/javascripts/ace/worker-css.js +11693 -0
  253. data/vendor/assets/javascripts/ace/worker-javascript.js +10305 -0
  254. data/vendor/assets/javascripts/ace/worker-json.js +3062 -0
  255. metadata +310 -0
@@ -0,0 +1,605 @@
1
+ /* ***** BEGIN LICENSE BLOCK *****
2
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
3
+ *
4
+ * The contents of this file are subject to the Mozilla Public License Version
5
+ * 1.1 (the "License"); you may not use this file except in compliance with
6
+ * the License. You may obtain a copy of the License at
7
+ * http://www.mozilla.org/MPL/
8
+ *
9
+ * Software distributed under the License is distributed on an "AS IS" basis,
10
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11
+ * for the specific language governing rights and limitations under the
12
+ * License.
13
+ *
14
+ * The Original Code is Ajax.org Code Editor (ACE).
15
+ *
16
+ * The Initial Developer of the Original Code is
17
+ * Ajax.org B.V.
18
+ * Portions created by the Initial Developer are Copyright (C) 2010
19
+ * the Initial Developer. All Rights Reserved.
20
+ *
21
+ * Contributor(s):
22
+ * Satoshi Murakami <murky.satyr AT gmail DOT com>
23
+ *
24
+ * Alternatively, the contents of this file may be used under the terms of
25
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
26
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27
+ * in which case the provisions of the GPL or the LGPL are applicable instead
28
+ * of those above. If you wish to allow use of your version of this file only
29
+ * under the terms of either the GPL or the LGPL, and not to allow others to
30
+ * use your version of this file under the terms of the MPL, indicate your
31
+ * decision by deleting the provisions above and replace them with the notice
32
+ * and other provisions required by the GPL or the LGPL. If you do not delete
33
+ * the provisions above, a recipient may use your version of this file under
34
+ * the terms of any one of the MPL, the GPL or the LGPL.
35
+ *
36
+ * ***** END LICENSE BLOCK ***** */
37
+
38
+ define('ace/mode/coffee', ['require', 'exports', 'module' , 'ace/tokenizer', 'ace/mode/coffee_highlight_rules', 'ace/mode/matching_brace_outdent', 'ace/mode/folding/pythonic', 'ace/range', 'ace/mode/text', 'ace/worker/worker_client', 'ace/lib/oop'], function(require, exports, module) {
39
+ "use strict";
40
+
41
+ var Tokenizer = require("../tokenizer").Tokenizer;
42
+ var Rules = require("./coffee_highlight_rules").CoffeeHighlightRules;
43
+ var Outdent = require("./matching_brace_outdent").MatchingBraceOutdent;
44
+ var PythonFoldMode = require("./folding/pythonic").FoldMode;
45
+ var Range = require("../range").Range;
46
+ var TextMode = require("./text").Mode;
47
+ var WorkerClient = require("../worker/worker_client").WorkerClient;
48
+ var oop = require("../lib/oop");
49
+
50
+ function Mode() {
51
+ this.$tokenizer = new Tokenizer(new Rules().getRules());
52
+ this.$outdent = new Outdent();
53
+ this.foldingRules = new PythonFoldMode("=|=>|->|\\s*class [^#]*");
54
+ }
55
+
56
+ oop.inherits(Mode, TextMode);
57
+
58
+ (function() {
59
+
60
+ var indenter = /(?:[({[=:]|[-=]>|\b(?:else|switch|try|catch(?:\s*[$A-Za-z_\x7f-\uffff][$\w\x7f-\uffff]*)?|finally))\s*$/;
61
+ var commentLine = /^(\s*)#/;
62
+ var hereComment = /^\s*###(?!#)/;
63
+ var indentation = /^\s*/;
64
+
65
+ this.getNextLineIndent = function(state, line, tab) {
66
+ var indent = this.$getIndent(line);
67
+ var tokens = this.$tokenizer.getLineTokens(line, state).tokens;
68
+
69
+ if (!(tokens.length && tokens[tokens.length - 1].type === 'comment') &&
70
+ state === 'start' && indenter.test(line))
71
+ indent += tab;
72
+ return indent;
73
+ };
74
+
75
+ this.toggleCommentLines = function(state, doc, startRow, endRow){
76
+ console.log("toggle");
77
+ var range = new Range(0, 0, 0, 0);
78
+ for (var i = startRow; i <= endRow; ++i) {
79
+ var line = doc.getLine(i);
80
+ if (hereComment.test(line))
81
+ continue;
82
+
83
+ if (commentLine.test(line))
84
+ line = line.replace(commentLine, '$1');
85
+ else
86
+ line = line.replace(indentation, '$&#');
87
+
88
+ range.end.row = range.start.row = i;
89
+ range.end.column = line.length + 1;
90
+ doc.replace(range, line);
91
+ }
92
+ };
93
+
94
+ this.checkOutdent = function(state, line, input) {
95
+ return this.$outdent.checkOutdent(line, input);
96
+ };
97
+
98
+ this.autoOutdent = function(state, doc, row) {
99
+ this.$outdent.autoOutdent(doc, row);
100
+ };
101
+
102
+ this.createWorker = function(session) {
103
+ var worker = new WorkerClient(["ace"], "worker-coffee.js", "ace/mode/coffee_worker", "Worker");
104
+ worker.attachToDocument(session.getDocument());
105
+
106
+ worker.on("error", function(e) {
107
+ session.setAnnotations([e.data]);
108
+ });
109
+
110
+ worker.on("ok", function(e) {
111
+ session.clearAnnotations();
112
+ });
113
+
114
+ return worker;
115
+ };
116
+
117
+ }).call(Mode.prototype);
118
+
119
+ exports.Mode = Mode;
120
+
121
+ });/* ***** BEGIN LICENSE BLOCK *****
122
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
123
+ *
124
+ * The contents of this file are subject to the Mozilla Public License Version
125
+ * 1.1 (the "License"); you may not use this file except in compliance with
126
+ * the License. You may obtain a copy of the License at
127
+ * http://www.mozilla.org/MPL/
128
+ *
129
+ * Software distributed under the License is distributed on an "AS IS" basis,
130
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
131
+ * for the specific language governing rights and limitations under the
132
+ * License.
133
+ *
134
+ * The Original Code is Ajax.org Code Editor (ACE).
135
+ *
136
+ * The Initial Developer of the Original Code is
137
+ * Ajax.org B.V.
138
+ * Portions created by the Initial Developer are Copyright (C) 2010
139
+ * the Initial Developer. All Rights Reserved.
140
+ *
141
+ * Contributor(s):
142
+ * Satoshi Murakami <murky.satyr AT gmail DOT com>
143
+ *
144
+ * Alternatively, the contents of this file may be used under the terms of
145
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
146
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
147
+ * in which case the provisions of the GPL or the LGPL are applicable instead
148
+ * of those above. If you wish to allow use of your version of this file only
149
+ * under the terms of either the GPL or the LGPL, and not to allow others to
150
+ * use your version of this file under the terms of the MPL, indicate your
151
+ * decision by deleting the provisions above and replace them with the notice
152
+ * and other provisions required by the GPL or the LGPL. If you do not delete
153
+ * the provisions above, a recipient may use your version of this file under
154
+ * the terms of any one of the MPL, the GPL or the LGPL.
155
+ *
156
+ * ***** END LICENSE BLOCK ***** */
157
+
158
+ define('ace/mode/coffee_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/lang', 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
159
+ "use strict";
160
+
161
+ var lang = require("../lib/lang");
162
+ var oop = require("../lib/oop");
163
+ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
164
+
165
+ oop.inherits(CoffeeHighlightRules, TextHighlightRules);
166
+
167
+ function CoffeeHighlightRules() {
168
+ var identifier = "[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*";
169
+ var stringfill = {
170
+ token : "string",
171
+ merge : true,
172
+ regex : ".+"
173
+ };
174
+
175
+ var keywords = lang.arrayToMap((
176
+ "this|throw|then|try|typeof|super|switch|return|break|by)|continue|" +
177
+ "catch|class|in|instanceof|is|isnt|if|else|extends|for|forown|" +
178
+ "finally|function|while|when|new|no|not|delete|debugger|do|loop|of|off|" +
179
+ "or|on|unless|until|and|yes").split("|")
180
+ );
181
+
182
+ var langConstant = lang.arrayToMap((
183
+ "true|false|null|undefined").split("|")
184
+ );
185
+
186
+ var illegal = lang.arrayToMap((
187
+ "case|const|default|function|var|void|with|enum|export|implements|" +
188
+ "interface|let|package|private|protected|public|static|yield|" +
189
+ "__hasProp|extends|slice|bind|indexOf").split("|")
190
+ );
191
+
192
+ var supportClass = lang.arrayToMap((
193
+ "Array|Boolean|Date|Function|Number|Object|RegExp|ReferenceError|" +
194
+ "RangeError|String|SyntaxError|Error|EvalError|TypeError|URIError").split("|")
195
+ );
196
+
197
+ var supportFunction = lang.arrayToMap((
198
+ "Math|JSON|isNaN|isFinite|parseInt|parseFloat|encodeURI|" +
199
+ "encodeURIComponent|decodeURI|decodeURIComponent|RangeError|String|" +
200
+ "SyntaxError|Error|EvalError|TypeError|URIError").split("|")
201
+ );
202
+
203
+ this.$rules = {
204
+ start : [
205
+ {
206
+ token : "identifier",
207
+ regex : "(?:(?:\\.|::)\\s*)" + identifier
208
+ }, {
209
+ token : "variable",
210
+ regex : "@(?:" + identifier + ")?"
211
+ }, {
212
+ token: function(value) {
213
+ if (keywords.hasOwnProperty(value))
214
+ return "keyword";
215
+ else if (langConstant.hasOwnProperty(value))
216
+ return "constant.language";
217
+ else if (illegal.hasOwnProperty(value))
218
+ return "invalid.illegal";
219
+ else if (supportClass.hasOwnProperty(value))
220
+ return "language.support.class";
221
+ else if (supportFunction.hasOwnProperty(value))
222
+ return "language.support.function";
223
+ else
224
+ return "identifier";
225
+ },
226
+ regex : identifier
227
+ }, {
228
+ token : "constant.numeric",
229
+ regex : "(?:0x[\\da-fA-F]+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[eE][+-]?\\d+)?)"
230
+ }, {
231
+ token : "string",
232
+ merge : true,
233
+ regex : "'''",
234
+ next : "qdoc"
235
+ }, {
236
+ token : "string",
237
+ merge : true,
238
+ regex : '"""',
239
+ next : "qqdoc"
240
+ }, {
241
+ token : "string",
242
+ merge : true,
243
+ regex : "'",
244
+ next : "qstring"
245
+ }, {
246
+ token : "string",
247
+ merge : true,
248
+ regex : '"',
249
+ next : "qqstring"
250
+ }, {
251
+ token : "string",
252
+ merge : true,
253
+ regex : "`",
254
+ next : "js"
255
+ }, {
256
+ token : "string.regex",
257
+ merge : true,
258
+ regex : "///",
259
+ next : "heregex"
260
+ }, {
261
+ token : "string.regex",
262
+ regex : "/(?!\\s)[^[/\\n\\\\]*(?: (?:\\\\.|\\[[^\\]\\n\\\\]*(?:\\\\.[^\\]\\n\\\\]*)*\\])[^[/\\n\\\\]*)*/[imgy]{0,4}(?!\\w)"
263
+ }, {
264
+ token : "comment",
265
+ merge : true,
266
+ regex : "###(?!#)",
267
+ next : "comment"
268
+ }, {
269
+ token : "comment",
270
+ regex : "#.*"
271
+ }, {
272
+ token : "punctuation.operator",
273
+ regex : "\\?|\\:|\\,|\\."
274
+ }, {
275
+ token : "keyword.operator",
276
+ regex : "(?:[\\-=]>|[-+*/%<>&|^!?=]=|>>>=?|\\-\\-|\\+\\+|::|&&=|\\|\\|=|<<=|>>=|\\?\\.|\\.{2,3}|\\!)"
277
+ }, {
278
+ token : "paren.lparen",
279
+ regex : "[({[]"
280
+ }, {
281
+ token : "paren.rparen",
282
+ regex : "[\\]})]"
283
+ }, {
284
+ token : "text",
285
+ regex : "\\s+"
286
+ }],
287
+
288
+ qdoc : [{
289
+ token : "string",
290
+ regex : ".*?'''",
291
+ next : "start"
292
+ }, stringfill],
293
+
294
+ qqdoc : [{
295
+ token : "string",
296
+ regex : '.*?"""',
297
+ next : "start"
298
+ }, stringfill],
299
+
300
+ qstring : [{
301
+ token : "string",
302
+ regex : "[^\\\\']*(?:\\\\.[^\\\\']*)*'",
303
+ merge : true,
304
+ next : "start"
305
+ }, stringfill],
306
+
307
+ qqstring : [{
308
+ token : "string",
309
+ regex : '[^\\\\"]*(?:\\\\.[^\\\\"]*)*"',
310
+ merge : true,
311
+ next : "start"
312
+ }, stringfill],
313
+
314
+ js : [{
315
+ token : "string",
316
+ merge : true,
317
+ regex : "[^\\\\`]*(?:\\\\.[^\\\\`]*)*`",
318
+ next : "start"
319
+ }, stringfill],
320
+
321
+ heregex : [{
322
+ token : "string.regex",
323
+ regex : '.*?///[imgy]{0,4}',
324
+ next : "start"
325
+ }, {
326
+ token : "comment.regex",
327
+ regex : "\\s+(?:#.*)?"
328
+ }, {
329
+ token : "string.regex",
330
+ merge : true,
331
+ regex : "\\S+"
332
+ }],
333
+
334
+ comment : [{
335
+ token : "comment",
336
+ regex : '.*?###',
337
+ next : "start"
338
+ }, {
339
+ token : "comment",
340
+ merge : true,
341
+ regex : ".+"
342
+ }]
343
+ };
344
+ }
345
+
346
+ exports.CoffeeHighlightRules = CoffeeHighlightRules;
347
+ });
348
+ /* ***** BEGIN LICENSE BLOCK *****
349
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
350
+ *
351
+ * The contents of this file are subject to the Mozilla Public License Version
352
+ * 1.1 (the "License"); you may not use this file except in compliance with
353
+ * the License. You may obtain a copy of the License at
354
+ * http://www.mozilla.org/MPL/
355
+ *
356
+ * Software distributed under the License is distributed on an "AS IS" basis,
357
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
358
+ * for the specific language governing rights and limitations under the
359
+ * License.
360
+ *
361
+ * The Original Code is Ajax.org Code Editor (ACE).
362
+ *
363
+ * The Initial Developer of the Original Code is
364
+ * Ajax.org B.V.
365
+ * Portions created by the Initial Developer are Copyright (C) 2010
366
+ * the Initial Developer. All Rights Reserved.
367
+ *
368
+ * Contributor(s):
369
+ * Fabian Jakobs <fabian AT ajax DOT org>
370
+ *
371
+ * Alternatively, the contents of this file may be used under the terms of
372
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
373
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
374
+ * in which case the provisions of the GPL or the LGPL are applicable instead
375
+ * of those above. If you wish to allow use of your version of this file only
376
+ * under the terms of either the GPL or the LGPL, and not to allow others to
377
+ * use your version of this file under the terms of the MPL, indicate your
378
+ * decision by deleting the provisions above and replace them with the notice
379
+ * and other provisions required by the GPL or the LGPL. If you do not delete
380
+ * the provisions above, a recipient may use your version of this file under
381
+ * the terms of any one of the MPL, the GPL or the LGPL.
382
+ *
383
+ * ***** END LICENSE BLOCK ***** */
384
+
385
+ define('ace/mode/matching_brace_outdent', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) {
386
+ "use strict";
387
+
388
+ var Range = require("../range").Range;
389
+
390
+ var MatchingBraceOutdent = function() {};
391
+
392
+ (function() {
393
+
394
+ this.checkOutdent = function(line, input) {
395
+ if (! /^\s+$/.test(line))
396
+ return false;
397
+
398
+ return /^\s*\}/.test(input);
399
+ };
400
+
401
+ this.autoOutdent = function(doc, row) {
402
+ var line = doc.getLine(row);
403
+ var match = line.match(/^(\s*\})/);
404
+
405
+ if (!match) return 0;
406
+
407
+ var column = match[1].length;
408
+ var openBracePos = doc.findMatchingBracket({row: row, column: column});
409
+
410
+ if (!openBracePos || openBracePos.row == row) return 0;
411
+
412
+ var indent = this.$getIndent(doc.getLine(openBracePos.row));
413
+ doc.replace(new Range(row, 0, row, column-1), indent);
414
+ };
415
+
416
+ this.$getIndent = function(line) {
417
+ var match = line.match(/^(\s+)/);
418
+ if (match) {
419
+ return match[1];
420
+ }
421
+
422
+ return "";
423
+ };
424
+
425
+ }).call(MatchingBraceOutdent.prototype);
426
+
427
+ exports.MatchingBraceOutdent = MatchingBraceOutdent;
428
+ });
429
+ /* ***** BEGIN LICENSE BLOCK *****
430
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
431
+ *
432
+ * The contents of this file are subject to the Mozilla Public License Version
433
+ * 1.1 (the "License"); you may not use this file except in compliance with
434
+ * the License. You may obtain a copy of the License at
435
+ * http://www.mozilla.org/MPL/
436
+ *
437
+ * Software distributed under the License is distributed on an "AS IS" basis,
438
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
439
+ * for the specific language governing rights and limitations under the
440
+ * License.
441
+ *
442
+ * The Original Code is Ajax.org Code Editor (ACE).
443
+ *
444
+ * The Initial Developer of the Original Code is
445
+ * Ajax.org B.V.
446
+ * Portions created by the Initial Developer are Copyright (C) 2010
447
+ * the Initial Developer. All Rights Reserved.
448
+ *
449
+ * Contributor(s):
450
+ * Fabian Jakobs <fabian AT ajax DOT org>
451
+ *
452
+ * Alternatively, the contents of this file may be used under the terms of
453
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
454
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
455
+ * in which case the provisions of the GPL or the LGPL are applicable instead
456
+ * of those above. If you wish to allow use of your version of this file only
457
+ * under the terms of either the GPL or the LGPL, and not to allow others to
458
+ * use your version of this file under the terms of the MPL, indicate your
459
+ * decision by deleting the provisions above and replace them with the notice
460
+ * and other provisions required by the GPL or the LGPL. If you do not delete
461
+ * the provisions above, a recipient may use your version of this file under
462
+ * the terms of any one of the MPL, the GPL or the LGPL.
463
+ *
464
+ * ***** END LICENSE BLOCK ***** */
465
+
466
+ define('ace/mode/folding/pythonic', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/folding/fold_mode'], function(require, exports, module) {
467
+ "use strict";
468
+
469
+ var oop = require("../../lib/oop");
470
+ var BaseFoldMode = require("./fold_mode").FoldMode;
471
+
472
+ var FoldMode = exports.FoldMode = function(markers) {
473
+ this.foldingStartMarker = new RegExp("(?:([\\[{])|(" + markers + "))(?:\\s*)(?:#.*)?$");
474
+ };
475
+ oop.inherits(FoldMode, BaseFoldMode);
476
+
477
+ (function() {
478
+
479
+ this.getFoldWidgetRange = function(session, foldStyle, row) {
480
+ var line = session.getLine(row);
481
+ var match = line.match(this.foldingStartMarker);
482
+ if (match) {
483
+ if (match[1])
484
+ return this.openingBracketBlock(session, match[1], row, match.index);
485
+ if (match[2])
486
+ return this.indentationBlock(session, row, match.index + match[2].length);
487
+ return this.indentationBlock(session, row);
488
+ }
489
+ }
490
+
491
+ }).call(FoldMode.prototype);
492
+
493
+ });/* ***** BEGIN LICENSE BLOCK *****
494
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
495
+ *
496
+ * The contents of this file are subject to the Mozilla Public License Version
497
+ * 1.1 (the "License"); you may not use this file except in compliance with
498
+ * the License. You may obtain a copy of the License at
499
+ * http://www.mozilla.org/MPL/
500
+ *
501
+ * Software distributed under the License is distributed on an "AS IS" basis,
502
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
503
+ * for the specific language governing rights and limitations under the
504
+ * License.
505
+ *
506
+ * The Original Code is Ajax.org Code Editor (ACE).
507
+ *
508
+ * The Initial Developer of the Original Code is
509
+ * Ajax.org B.V.
510
+ * Portions created by the Initial Developer are Copyright (C) 2010
511
+ * the Initial Developer. All Rights Reserved.
512
+ *
513
+ * Contributor(s):
514
+ * Fabian Jakobs <fabian AT ajax DOT org>
515
+ *
516
+ * Alternatively, the contents of this file may be used under the terms of
517
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
518
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
519
+ * in which case the provisions of the GPL or the LGPL are applicable instead
520
+ * of those above. If you wish to allow use of your version of this file only
521
+ * under the terms of either the GPL or the LGPL, and not to allow others to
522
+ * use your version of this file under the terms of the MPL, indicate your
523
+ * decision by deleting the provisions above and replace them with the notice
524
+ * and other provisions required by the GPL or the LGPL. If you do not delete
525
+ * the provisions above, a recipient may use your version of this file under
526
+ * the terms of any one of the MPL, the GPL or the LGPL.
527
+ *
528
+ * ***** END LICENSE BLOCK ***** */
529
+
530
+ define('ace/mode/folding/fold_mode', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) {
531
+ "use strict";
532
+
533
+ var Range = require("../../range").Range;
534
+
535
+ var FoldMode = exports.FoldMode = function() {};
536
+
537
+ (function() {
538
+
539
+ this.foldingStartMarker = null;
540
+ this.foldingStopMarker = null;
541
+
542
+ // must return "" if there's no fold, to enable caching
543
+ this.getFoldWidget = function(session, foldStyle, row) {
544
+ var line = session.getLine(row);
545
+ if (this.foldingStartMarker.test(line))
546
+ return "start";
547
+ if (foldStyle == "markbeginend"
548
+ && this.foldingStopMarker
549
+ && this.foldingStopMarker.test(line))
550
+ return "end";
551
+ return "";
552
+ };
553
+
554
+ this.getFoldWidgetRange = function(session, foldStyle, row) {
555
+ return null;
556
+ };
557
+
558
+ this.indentationBlock = function(session, row, column) {
559
+ var re = /^\s*/;
560
+ var startRow = row;
561
+ var endRow = row;
562
+ var line = session.getLine(row);
563
+ var startColumn = column || line.length;
564
+ var startLevel = line.match(re)[0].length;
565
+ var maxRow = session.getLength()
566
+
567
+ while (++row < maxRow) {
568
+ line = session.getLine(row);
569
+ var level = line.match(re)[0].length;
570
+
571
+ if (level == line.length)
572
+ continue;
573
+
574
+ if (level <= startLevel)
575
+ break;
576
+
577
+ endRow = row;
578
+ }
579
+
580
+ if (endRow > startRow) {
581
+ var endColumn = session.getLine(endRow).length;
582
+ return new Range(startRow, startColumn, endRow, endColumn);
583
+ }
584
+ };
585
+
586
+ this.openingBracketBlock = function(session, bracket, row, column) {
587
+ var start = {row: row, column: column + 1};
588
+ var end = session.$findClosingBracket(bracket, start);
589
+ if (!end)
590
+ return;
591
+
592
+ var fw = session.foldWidgets[end.row];
593
+ if (fw == null)
594
+ fw = this.getFoldWidget(session, end.row);
595
+
596
+ if (fw == "start") {
597
+ end.row --;
598
+ end.column = session.getLine(end.row).length;
599
+ }
600
+ return Range.fromPoints(start, end);
601
+ };
602
+
603
+ }).call(FoldMode.prototype);
604
+
605
+ });