jquery-ace-rails 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (205) hide show
  1. data/README.md +36 -0
  2. data/lib/jquery-ace-rails.rb +5 -0
  3. data/lib/jquery-ace-rails/engine.rb +4 -0
  4. data/lib/jquery-ace-rails/version.rb +3 -0
  5. data/vendor/assets/javascripts/jquery-ace/jquery-ace.coffee +126 -0
  6. data/vendor/assets/javascripts/jquery-ace/jquery-ace.js +195 -0
  7. data/vendor/assets/javascripts/jquery-ace/jquery-ace.min.js +1 -0
  8. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/ace.js +11 -0
  9. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/ext-static_highlight.js +1 -0
  10. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/ext-textarea.js +1 -0
  11. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/keybinding-emacs.js +1 -0
  12. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/keybinding-vim.js +1 -0
  13. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-abap.js +1 -0
  14. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-asciidoc.js +1 -0
  15. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-c9search.js +1 -0
  16. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-c_cpp.js +1 -0
  17. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-clojure.js +1 -0
  18. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-coffee.js +1 -0
  19. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-coldfusion.js +1 -0
  20. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-csharp.js +1 -0
  21. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-css.js +1 -0
  22. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-dart.js +1 -0
  23. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-diff.js +1 -0
  24. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-dot.js +1 -0
  25. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-glsl.js +1 -0
  26. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-golang.js +1 -0
  27. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-groovy.js +1 -0
  28. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-haml.js +1 -0
  29. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-haxe.js +1 -0
  30. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-html.js +1 -0
  31. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-jade.js +1 -0
  32. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-java.js +1 -0
  33. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-javascript.js +1 -0
  34. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-json.js +1 -0
  35. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-jsp.js +1 -0
  36. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-jsx.js +1 -0
  37. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-latex.js +1 -0
  38. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-less.js +1 -0
  39. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-liquid.js +1 -0
  40. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-lisp.js +1 -0
  41. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-lua.js +1 -0
  42. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-luapage.js +1 -0
  43. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-lucene.js +1 -0
  44. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-makefile.js +1 -0
  45. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-markdown.js +1 -0
  46. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-objectivec.js +1 -0
  47. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-ocaml.js +1 -0
  48. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-perl.js +1 -0
  49. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-pgsql.js +1 -0
  50. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-php.js +1 -0
  51. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-powershell.js +1 -0
  52. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-python.js +1 -0
  53. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-r.js +1 -0
  54. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-rdoc.js +1 -0
  55. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-rhtml.js +1 -0
  56. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-ruby.js +1 -0
  57. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-scad.js +1 -0
  58. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-scala.js +1 -0
  59. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-scss.js +1 -0
  60. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-sh.js +1 -0
  61. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-sql.js +1 -0
  62. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-stylus.js +1 -0
  63. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-svg.js +1 -0
  64. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-tcl.js +1 -0
  65. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-tex.js +1 -0
  66. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-text.js +0 -0
  67. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-textile.js +1 -0
  68. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-typescript.js +1 -0
  69. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-xml.js +1 -0
  70. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-xquery.js +1 -0
  71. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/mode-yaml.js +1 -0
  72. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-ambiance.js +1 -0
  73. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-chaos.js +1 -0
  74. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-chrome.js +1 -0
  75. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-clouds.js +1 -0
  76. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-clouds_midnight.js +1 -0
  77. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-cobalt.js +1 -0
  78. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-crimson_editor.js +1 -0
  79. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-dawn.js +1 -0
  80. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-dreamweaver.js +1 -0
  81. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-eclipse.js +1 -0
  82. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-github.js +1 -0
  83. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-idle_fingers.js +1 -0
  84. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-kr.js +1 -0
  85. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-merbivore.js +1 -0
  86. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-merbivore_soft.js +1 -0
  87. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-mono_industrial.js +1 -0
  88. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-monokai.js +1 -0
  89. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-pastel_on_dark.js +1 -0
  90. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-solarized_dark.js +1 -0
  91. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-solarized_light.js +1 -0
  92. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-textmate.js +1 -0
  93. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-tomorrow.js +1 -0
  94. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-tomorrow_night.js +1 -0
  95. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-tomorrow_night_blue.js +1 -0
  96. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-tomorrow_night_bright.js +1 -0
  97. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-tomorrow_night_eighties.js +1 -0
  98. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-twilight.js +1 -0
  99. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-vibrant_ink.js +1 -0
  100. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/theme-xcode.js +1 -0
  101. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/worker-coffee.js +1 -0
  102. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/worker-css.js +1 -0
  103. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/worker-javascript.js +1 -0
  104. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/worker-json.js +1 -0
  105. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src-min-noconflict/worker-xquery.js +1 -0
  106. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/ace.js +14262 -0
  107. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/ext-static_highlight.js +96 -0
  108. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/ext-textarea.js +591 -0
  109. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/keybinding-emacs.js +364 -0
  110. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/keybinding-vim.js +1646 -0
  111. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-abap.js +259 -0
  112. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-asciidoc.js +372 -0
  113. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-c9search.js +187 -0
  114. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-c_cpp.js +765 -0
  115. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-clojure.js +325 -0
  116. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-coffee.js +520 -0
  117. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-coldfusion.js +1725 -0
  118. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-csharp.js +605 -0
  119. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-css.js +680 -0
  120. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-dart.js +279 -0
  121. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-diff.js +163 -0
  122. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-dot.js +348 -0
  123. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-glsl.js +838 -0
  124. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-golang.js +660 -0
  125. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-groovy.js +1082 -0
  126. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-haml.js +440 -0
  127. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-haxe.js +610 -0
  128. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-html.js +1850 -0
  129. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-jade.js +2035 -0
  130. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-java.js +1041 -0
  131. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-javascript.js +921 -0
  132. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-json.js +574 -0
  133. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-jsp.js +1371 -0
  134. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-jsx.js +635 -0
  135. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-latex.js +217 -0
  136. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-less.js +394 -0
  137. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-liquid.js +921 -0
  138. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-lisp.js +142 -0
  139. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-lua.js +609 -0
  140. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-luapage.js +2463 -0
  141. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-lucene.js +64 -0
  142. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-makefile.js +314 -0
  143. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-markdown.js +2228 -0
  144. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-objectivec.js +655 -0
  145. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-ocaml.js +448 -0
  146. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-perl.js +319 -0
  147. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-pgsql.js +928 -0
  148. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-php.js +2299 -0
  149. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-powershell.js +611 -0
  150. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-python.js +290 -0
  151. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-r.js +410 -0
  152. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-rdoc.js +189 -0
  153. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-rhtml.js +2138 -0
  154. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-ruby.js +410 -0
  155. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-scad.js +698 -0
  156. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-scala.js +1070 -0
  157. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-scss.js +416 -0
  158. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-sh.js +232 -0
  159. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-sql.js +145 -0
  160. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-stylus.js +474 -0
  161. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-svg.js +1490 -0
  162. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-tcl.js +342 -0
  163. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-tex.js +171 -0
  164. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-text.js +0 -0
  165. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-textile.js +175 -0
  166. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-typescript.js +1011 -0
  167. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-xml.js +792 -0
  168. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-xquery.js +676 -0
  169. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/mode-yaml.js +298 -0
  170. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-ambiance.js +202 -0
  171. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-chaos.js +167 -0
  172. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-chrome.js +161 -0
  173. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-clouds.js +135 -0
  174. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-clouds_midnight.js +136 -0
  175. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-cobalt.js +150 -0
  176. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-crimson_editor.js +154 -0
  177. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-dawn.js +146 -0
  178. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-dreamweaver.js +173 -0
  179. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-eclipse.js +122 -0
  180. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-github.js +136 -0
  181. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-idle_fingers.js +136 -0
  182. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-kr.js +143 -0
  183. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-merbivore.js +135 -0
  184. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-merbivore_soft.js +136 -0
  185. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-mono_industrial.js +148 -0
  186. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-monokai.js +140 -0
  187. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-pastel_on_dark.js +148 -0
  188. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-solarized_dark.js +128 -0
  189. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-solarized_light.js +131 -0
  190. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-textmate.js +163 -0
  191. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-tomorrow.js +147 -0
  192. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-tomorrow_night.js +147 -0
  193. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-tomorrow_night_blue.js +145 -0
  194. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-tomorrow_night_bright.js +147 -0
  195. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-tomorrow_night_eighties.js +144 -0
  196. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-twilight.js +147 -0
  197. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-vibrant_ink.js +131 -0
  198. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/theme-xcode.js +125 -0
  199. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/worker-coffee.js +6985 -0
  200. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/worker-css.js +7741 -0
  201. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/worker-javascript.js +6387 -0
  202. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/worker-json.js +2228 -0
  203. data/vendor/assets/javascripts/jquery-ace/vendor/ace-build/src/worker-xquery.js +21719 -0
  204. data/vendor/assets/javascripts/jquery-ace/vendor/jquery-1.8.3.min.js +2 -0
  205. metadata +249 -0
@@ -0,0 +1,921 @@
1
+ /* ***** BEGIN LICENSE BLOCK *****
2
+ * Distributed under the BSD license:
3
+ *
4
+ * Copyright (c) 2010, Ajax.org B.V.
5
+ * All rights reserved.
6
+ *
7
+ * Redistribution and use in source and binary forms, with or without
8
+ * modification, are permitted provided that the following conditions are met:
9
+ * * Redistributions of source code must retain the above copyright
10
+ * notice, this list of conditions and the following disclaimer.
11
+ * * Redistributions in binary form must reproduce the above copyright
12
+ * notice, this list of conditions and the following disclaimer in the
13
+ * documentation and/or other materials provided with the distribution.
14
+ * * Neither the name of Ajax.org B.V. nor the
15
+ * names of its contributors may be used to endorse or promote products
16
+ * derived from this software without specific prior written permission.
17
+ *
18
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
+ * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY
22
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
+ *
29
+ * ***** END LICENSE BLOCK ***** */
30
+
31
+ define('ace/mode/liquid', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/liquid_highlight_rules', 'ace/mode/matching_brace_outdent', 'ace/range'], function(require, exports, module) {
32
+
33
+ var oop = require("../lib/oop");
34
+ var TextMode = require("./text").Mode;
35
+ var Tokenizer = require("../tokenizer").Tokenizer;
36
+ var LiquidHighlightRules = require("./liquid_highlight_rules").LiquidHighlightRules;
37
+ var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
38
+ var Range = require("../range").Range;
39
+
40
+ var Mode = function() {
41
+ this.$tokenizer = new Tokenizer(new LiquidHighlightRules().getRules());
42
+ this.$outdent = new MatchingBraceOutdent();
43
+ };
44
+ oop.inherits(Mode, TextMode);
45
+
46
+ (function() {
47
+
48
+ this.toggleCommentLines = function(state, doc, startRow, endRow) {
49
+ var outdent = true;
50
+ var outentedRows = [];
51
+ var re = /^(\s*)#/;
52
+
53
+ for (var i=startRow; i<= endRow; i++) {
54
+ if (!re.test(doc.getLine(i))) {
55
+ outdent = false;
56
+ break;
57
+ }
58
+ }
59
+
60
+ if (outdent) {
61
+ var deleteRange = new Range(0, 0, 0, 0);
62
+ for (var i=startRow; i<= endRow; i++)
63
+ {
64
+ var line = doc.getLine(i);
65
+ var m = line.match(re);
66
+ deleteRange.start.row = i;
67
+ deleteRange.end.row = i;
68
+ deleteRange.end.column = m[0].length;
69
+ doc.replace(deleteRange, m[1]);
70
+ }
71
+ }
72
+ else {
73
+ doc.indentRows(startRow, endRow, "#");
74
+ }
75
+ };
76
+
77
+ this.getNextLineIndent = function(state, line, tab) {
78
+ var indent = this.$getIndent(line);
79
+
80
+ var tokenizedLine = this.$tokenizer.getLineTokens(line, state);
81
+ var tokens = tokenizedLine.tokens;
82
+ var endState = tokenizedLine.state;
83
+
84
+ if (tokens.length && tokens[tokens.length-1].type == "comment") {
85
+ return indent;
86
+ }
87
+
88
+ if (state == "start") {
89
+ var match = line.match(/^.*[\{\(\[]\s*$/);
90
+ if (match) {
91
+ indent += tab;
92
+ }
93
+ }
94
+
95
+ return indent;
96
+ };
97
+
98
+ this.checkOutdent = function(state, line, input) {
99
+ return this.$outdent.checkOutdent(line, input);
100
+ };
101
+
102
+ this.autoOutdent = function(state, doc, row) {
103
+ this.$outdent.autoOutdent(doc, row);
104
+ };
105
+
106
+ }).call(Mode.prototype);
107
+
108
+ exports.Mode = Mode;
109
+ });
110
+
111
+ define('ace/mode/liquid_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/css_highlight_rules', 'ace/mode/javascript_highlight_rules', 'ace/mode/xml_util', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
112
+
113
+
114
+ var oop = require("../lib/oop");
115
+ var CssHighlightRules = require("./css_highlight_rules").CssHighlightRules;
116
+ var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
117
+ var xmlUtil = require("./xml_util");
118
+ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
119
+
120
+ var LiquidHighlightRules = function() {
121
+ var functions = (
122
+ "date|capitalize|downcase|upcase|first|last|join|sort|map|size|escape|" +
123
+ "escape_once|strip_html|strip_newlines|newline_to_br|replace|replace_first|" +
124
+ "truncate|truncatewords|prepend|append|minus|plus|times|divided_by|split"
125
+ );
126
+
127
+ var keywords = (
128
+ "capture|endcapture|case|endcase|when|comment|endcomment|" +
129
+ "cycle|for|endfor|in|reversed|if|endif|else|elsif|include|endinclude|unless|endunless|" +
130
+ "style|text|image|widget|plugin|marker|endmarker|tablerow|endtablerow"
131
+ );
132
+
133
+ var builtinVariables = 'forloop|tablerowloop';
134
+
135
+ var definitions = ("assign");
136
+
137
+ var keywordMapper = this.createKeywordMapper({
138
+ "variable.language": builtinVariables,
139
+ "keyword": keywords,
140
+ "support.function": functions,
141
+ "keyword.definition": definitions
142
+ }, "identifier");
143
+
144
+ this.$rules = {
145
+ start : [{
146
+ token : "variable",
147
+ regex : "{%",
148
+ next : "liquid_start"
149
+ }, {
150
+ token : "variable",
151
+ regex : "{{",
152
+ next : "liquid_start"
153
+ }, {
154
+ token : "meta.tag",
155
+ regex : "<\\!\\[CDATA\\[",
156
+ next : "cdata"
157
+ }, {
158
+ token : "xml-pe",
159
+ regex : "<\\?.*?\\?>"
160
+ }, {
161
+ token : "comment",
162
+ regex : "<\\!--",
163
+ next : "comment"
164
+ }, {
165
+ token : "meta.tag",
166
+ regex : "<(?=\\s*script\\b)",
167
+ next : "script"
168
+ }, {
169
+ token : "meta.tag",
170
+ regex : "<(?=\\s*style\\b)",
171
+ next : "style"
172
+ }, {
173
+ token : "meta.tag", // opening tag
174
+ regex : "<\\/?",
175
+ next : "tag"
176
+ }, {
177
+ token : "text",
178
+ regex : "\\s+"
179
+ }, {
180
+ token : "text",
181
+ regex : "[^<]+"
182
+ } ],
183
+
184
+ cdata : [ {
185
+ token : "text",
186
+ regex : "\\]\\]>",
187
+ next : "start"
188
+ }, {
189
+ token : "text",
190
+ regex : "\\s+"
191
+ }, {
192
+ token : "text",
193
+ regex : ".+"
194
+ } ],
195
+
196
+ comment : [ {
197
+ token : "comment",
198
+ regex : ".*?-->",
199
+ next : "start"
200
+ }, {
201
+ token : "comment",
202
+ regex : ".+"
203
+ } ] ,
204
+
205
+ liquid_start : [{
206
+ token: "variable",
207
+ regex: "}}",
208
+ next: "start"
209
+ }, {
210
+ token: "variable",
211
+ regex: "%}",
212
+ next: "start"
213
+ }, {
214
+ token : "string", // single line
215
+ regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
216
+ }, {
217
+ token : "string", // single line
218
+ regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
219
+ }, {
220
+ token : "constant.numeric", // hex
221
+ regex : "0[xX][0-9a-fA-F]+\\b"
222
+ }, {
223
+ token : "constant.numeric", // float
224
+ regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
225
+ }, {
226
+ token : "constant.language.boolean",
227
+ regex : "(?:true|false)\\b"
228
+ }, {
229
+ token : keywordMapper,
230
+ regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
231
+ }, {
232
+ token : "keyword.operator",
233
+ regex : "\/|\\*|\\-|\\+|=|!=|\\?\\:"
234
+ }, {
235
+ token : "paren.lparen",
236
+ regex : /[\[\({]/
237
+ }, {
238
+ token : "paren.rparen",
239
+ regex : /[\])}]/
240
+ }, {
241
+ token : "text",
242
+ regex : "\\s+"
243
+ }]
244
+ };
245
+
246
+ xmlUtil.tag(this.$rules, "tag", "start");
247
+ xmlUtil.tag(this.$rules, "style", "css-start");
248
+ xmlUtil.tag(this.$rules, "script", "js-start");
249
+
250
+ this.embedRules(JavaScriptHighlightRules, "js-", [{
251
+ token: "comment",
252
+ regex: "\\/\\/.*(?=<\\/script>)",
253
+ next: "tag"
254
+ }, {
255
+ token: "meta.tag",
256
+ regex: "<\\/(?=script)",
257
+ next: "tag"
258
+ }]);
259
+
260
+ this.embedRules(CssHighlightRules, "css-", [{
261
+ token: "meta.tag",
262
+ regex: "<\\/(?=style)",
263
+ next: "tag"
264
+ }]);
265
+ };
266
+ oop.inherits(LiquidHighlightRules, TextHighlightRules);
267
+
268
+ exports.LiquidHighlightRules = LiquidHighlightRules;
269
+ });
270
+
271
+ define('ace/mode/css_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/lang', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
272
+
273
+
274
+ var oop = require("../lib/oop");
275
+ var lang = require("../lib/lang");
276
+ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
277
+ var supportType = exports.supportType = "animation-fill-mode|alignment-adjust|alignment-baseline|animation-delay|animation-direction|animation-duration|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|animation|appearance|azimuth|backface-visibility|background-attachment|background-break|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|background|baseline-shift|binding|bleed|bookmark-label|bookmark-level|bookmark-state|bookmark-target|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|border|bottom|box-align|box-decoration-break|box-direction|box-flex-group|box-flex|box-lines|box-ordinal-group|box-orient|box-pack|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|clear|clip|color-profile|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|crop|cue-after|cue-before|cue|cursor|direction|display|dominant-baseline|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|elevation|empty-cells|fit|fit-position|float-offset|float|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|font|grid-columns|grid-rows|hanging-punctuation|height|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|hyphens|icon|image-orientation|image-rendering|image-resolution|inline-box-align|left|letter-spacing|line-height|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|line-stacking|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|margin|mark-after|mark-before|mark|marks|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max-height|max-width|min-height|min-width|move-to|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|orphans|outline-color|outline-offset|outline-style|outline-width|outline|overflow-style|overflow-x|overflow-y|overflow|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page-policy|page|pause-after|pause-before|pause|perspective-origin|perspective|phonemes|pitch-range|pitch|play-during|position|presentation-level|punctuation-trim|quotes|rendering-intent|resize|rest-after|rest-before|rest|richness|right|rotation-point|rotation|ruby-align|ruby-overhang|ruby-position|ruby-span|size|speak-header|speak-numeral|speak-punctuation|speak|speech-rate|stress|string-set|table-layout|target-name|target-new|target-position|target|text-align-last|text-align|text-decoration|text-emphasis|text-height|text-indent|text-justify|text-outline|text-shadow|text-transform|text-wrap|top|transform-origin|transform-style|transform|transition-delay|transition-duration|transition-property|transition-timing-function|transition|unicode-bidi|vertical-align|visibility|voice-balance|voice-duration|voice-family|voice-pitch-range|voice-pitch|voice-rate|voice-stress|voice-volume|volume|white-space-collapse|white-space|widows|width|word-break|word-spacing|word-wrap|z-index";
278
+ var supportFunction = exports.supportFunction = "rgb|rgba|url|attr|counter|counters";
279
+ var supportConstant = exports.supportConstant = "absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero";
280
+ var supportConstantColor = exports.supportConstantColor = "aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow";
281
+ var supportConstantFonts = exports.supportConstantFonts = "arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace";
282
+
283
+ var numRe = exports.numRe = "\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))";
284
+ var pseudoElements = exports.pseudoElements = "(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b";
285
+ var pseudoClasses = exports.pseudoClasses = "(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b";
286
+
287
+ var CssHighlightRules = function() {
288
+
289
+ var keywordMapper = this.createKeywordMapper({
290
+ "support.function": supportFunction,
291
+ "support.constant": supportConstant,
292
+ "support.type": supportType,
293
+ "support.constant.color": supportConstantColor,
294
+ "support.constant.fonts": supportConstantFonts
295
+ }, "text", true);
296
+
297
+ var base_ruleset = [
298
+ {
299
+ token : "comment", // multi line comment
300
+ regex : "\\/\\*",
301
+ next : "ruleset_comment"
302
+ }, {
303
+ token : "string", // single line
304
+ regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
305
+ }, {
306
+ token : "string", // single line
307
+ regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
308
+ }, {
309
+ token : ["constant.numeric", "keyword"],
310
+ regex : "(" + numRe + ")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"
311
+ }, {
312
+ token : "constant.numeric",
313
+ regex : numRe
314
+ }, {
315
+ token : "constant.numeric", // hex6 color
316
+ regex : "#[a-f0-9]{6}"
317
+ }, {
318
+ token : "constant.numeric", // hex3 color
319
+ regex : "#[a-f0-9]{3}"
320
+ }, {
321
+ token : ["punctuation", "entity.other.attribute-name.pseudo-element.css"],
322
+ regex : pseudoElements
323
+ }, {
324
+ token : ["punctuation", "entity.other.attribute-name.pseudo-class.css"],
325
+ regex : pseudoClasses
326
+ }, {
327
+ token : keywordMapper,
328
+ regex : "\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"
329
+ }
330
+ ];
331
+
332
+ var ruleset = lang.copyArray(base_ruleset);
333
+ ruleset.unshift({
334
+ token : "paren.rparen",
335
+ regex : "\\}",
336
+ next: "start"
337
+ });
338
+
339
+ var media_ruleset = lang.copyArray( base_ruleset );
340
+ media_ruleset.unshift({
341
+ token : "paren.rparen",
342
+ regex : "\\}",
343
+ next: "media"
344
+ });
345
+
346
+ var base_comment = [{
347
+ token : "comment", // comment spanning whole line
348
+ regex : ".+"
349
+ }];
350
+
351
+ var comment = lang.copyArray(base_comment);
352
+ comment.unshift({
353
+ token : "comment", // closing comment
354
+ regex : ".*?\\*\\/",
355
+ next : "start"
356
+ });
357
+
358
+ var media_comment = lang.copyArray(base_comment);
359
+ media_comment.unshift({
360
+ token : "comment", // closing comment
361
+ regex : ".*?\\*\\/",
362
+ next : "media"
363
+ });
364
+
365
+ var ruleset_comment = lang.copyArray(base_comment);
366
+ ruleset_comment.unshift({
367
+ token : "comment", // closing comment
368
+ regex : ".*?\\*\\/",
369
+ next : "ruleset"
370
+ });
371
+
372
+ this.$rules = {
373
+ "start" : [{
374
+ token : "comment", // multi line comment
375
+ regex : "\\/\\*",
376
+ next : "comment"
377
+ }, {
378
+ token: "paren.lparen",
379
+ regex: "\\{",
380
+ next: "ruleset"
381
+ }, {
382
+ token: "string",
383
+ regex: "@.*?{",
384
+ next: "media"
385
+ },{
386
+ token: "keyword",
387
+ regex: "#[a-z0-9-_]+"
388
+ },{
389
+ token: "variable",
390
+ regex: "\\.[a-z0-9-_]+"
391
+ },{
392
+ token: "string",
393
+ regex: ":[a-z0-9-_]+"
394
+ },{
395
+ token: "constant",
396
+ regex: "[a-z0-9-_]+"
397
+ }],
398
+
399
+ "media" : [ {
400
+ token : "comment", // multi line comment
401
+ regex : "\\/\\*",
402
+ next : "media_comment"
403
+ }, {
404
+ token: "paren.lparen",
405
+ regex: "\\{",
406
+ next: "media_ruleset"
407
+ },{
408
+ token: "string",
409
+ regex: "\\}",
410
+ next: "start"
411
+ },{
412
+ token: "keyword",
413
+ regex: "#[a-z0-9-_]+"
414
+ },{
415
+ token: "variable",
416
+ regex: "\\.[a-z0-9-_]+"
417
+ },{
418
+ token: "string",
419
+ regex: ":[a-z0-9-_]+"
420
+ },{
421
+ token: "constant",
422
+ regex: "[a-z0-9-_]+"
423
+ }],
424
+
425
+ "comment" : comment,
426
+
427
+ "ruleset" : ruleset,
428
+ "ruleset_comment" : ruleset_comment,
429
+
430
+ "media_ruleset" : media_ruleset,
431
+ "media_comment" : media_comment
432
+ };
433
+ };
434
+
435
+ oop.inherits(CssHighlightRules, TextHighlightRules);
436
+
437
+ exports.CssHighlightRules = CssHighlightRules;
438
+
439
+ });
440
+
441
+ define('ace/mode/javascript_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/doc_comment_highlight_rules', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
442
+
443
+
444
+ var oop = require("../lib/oop");
445
+ var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
446
+ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
447
+
448
+ var JavaScriptHighlightRules = function() {
449
+ var keywordMapper = this.createKeywordMapper({
450
+ "variable.language":
451
+ "Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|" + // Constructors
452
+ "Namespace|QName|XML|XMLList|" + // E4X
453
+ "ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|" +
454
+ "Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|" +
455
+ "Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|" + // Errors
456
+ "SyntaxError|TypeError|URIError|" +
457
+ "decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|" + // Non-constructor functions
458
+ "isNaN|parseFloat|parseInt|" +
459
+ "JSON|Math|" + // Other
460
+ "this|arguments|prototype|window|document" , // Pseudo
461
+ "keyword":
462
+ "const|yield|import|get|set|" +
463
+ "break|case|catch|continue|default|delete|do|else|finally|for|function|" +
464
+ "if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|" +
465
+ "__parent__|__count__|escape|unescape|with|__proto__|" +
466
+ "class|enum|extends|super|export|implements|private|public|interface|package|protected|static",
467
+ "storage.type":
468
+ "const|let|var|function",
469
+ "constant.language":
470
+ "null|Infinity|NaN|undefined",
471
+ "support.function":
472
+ "alert"
473
+ }, "identifier");
474
+ var kwBeforeRe = "case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void";
475
+ var identifierRe = "[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b";
476
+
477
+ var escapedRe = "\\\\(?:x[0-9a-fA-F]{2}|" + // hex
478
+ "u[0-9a-fA-F]{4}|" + // unicode
479
+ "[0-2][0-7]{0,2}|" + // oct
480
+ "3[0-6][0-7]?|" + // oct
481
+ "37[0-7]?|" + // oct
482
+ "[4-7][0-7]?|" + //oct
483
+ ".)";
484
+
485
+ this.$rules = {
486
+ "start" : [
487
+ {
488
+ token : "comment",
489
+ regex : /\/\/.*$/
490
+ },
491
+ DocCommentHighlightRules.getStartRule("doc-start"),
492
+ {
493
+ token : "comment", // multi line comment
494
+ regex : /\/\*/,
495
+ next : "comment"
496
+ }, {
497
+ token : "string",
498
+ regex : "'(?=.)",
499
+ next : "qstring"
500
+ }, {
501
+ token : "string",
502
+ regex : '"(?=.)',
503
+ next : "qqstring"
504
+ }, {
505
+ token : "constant.numeric", // hex
506
+ regex : /0[xX][0-9a-fA-F]+\b/
507
+ }, {
508
+ token : "constant.numeric", // float
509
+ regex : /[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/
510
+ }, {
511
+ token : [
512
+ "storage.type", "punctuation.operator", "support.function",
513
+ "punctuation.operator", "entity.name.function", "text","keyword.operator"
514
+ ],
515
+ regex : "(" + identifierRe + ")(\\.)(prototype)(\\.)(" + identifierRe +")(\\s*)(=)",
516
+ next: "function_arguments"
517
+ }, {
518
+ token : [
519
+ "storage.type", "punctuation.operator", "entity.name.function", "text",
520
+ "keyword.operator", "text", "storage.type", "text", "paren.lparen"
521
+ ],
522
+ regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
523
+ next: "function_arguments"
524
+ }, {
525
+ token : [
526
+ "entity.name.function", "text", "keyword.operator", "text", "storage.type",
527
+ "text", "paren.lparen"
528
+ ],
529
+ regex : "(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
530
+ next: "function_arguments"
531
+ }, {
532
+ token : [
533
+ "storage.type", "punctuation.operator", "entity.name.function", "text",
534
+ "keyword.operator", "text",
535
+ "storage.type", "text", "entity.name.function", "text", "paren.lparen"
536
+ ],
537
+ regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",
538
+ next: "function_arguments"
539
+ }, {
540
+ token : [
541
+ "storage.type", "text", "entity.name.function", "text", "paren.lparen"
542
+ ],
543
+ regex : "(function)(\\s+)(" + identifierRe + ")(\\s*)(\\()",
544
+ next: "function_arguments"
545
+ }, {
546
+ token : [
547
+ "entity.name.function", "text", "punctuation.operator",
548
+ "text", "storage.type", "text", "paren.lparen"
549
+ ],
550
+ regex : "(" + identifierRe + ")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",
551
+ next: "function_arguments"
552
+ }, {
553
+ token : [
554
+ "text", "text", "storage.type", "text", "paren.lparen"
555
+ ],
556
+ regex : "(:)(\\s*)(function)(\\s*)(\\()",
557
+ next: "function_arguments"
558
+ }, {
559
+ token : "constant.language.boolean",
560
+ regex : /(?:true|false)\b/
561
+ }, {
562
+ token : "keyword",
563
+ regex : "(?:" + kwBeforeRe + ")\\b",
564
+ next : "regex_allowed"
565
+ }, {
566
+ token : ["punctuation.operator", "support.function"],
567
+ regex : /(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:opzzzz|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/
568
+ }, {
569
+ token : ["punctuation.operator", "support.function.dom"],
570
+ regex : /(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/
571
+ }, {
572
+ token : ["punctuation.operator", "support.constant"],
573
+ regex : /(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/
574
+ }, {
575
+ token : ["storage.type", "punctuation.operator", "support.function.firebug"],
576
+ regex : /(console)(\.)(warn|info|log|error|time|timeEnd|assert)\b/
577
+ }, {
578
+ token : keywordMapper,
579
+ regex : identifierRe
580
+ }, {
581
+ token : "keyword.operator",
582
+ regex : /--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,
583
+ next : "regex_allowed"
584
+ }, {
585
+ token : "punctuation.operator",
586
+ regex : /\?|\:|\,|\;|\./,
587
+ next : "regex_allowed"
588
+ }, {
589
+ token : "paren.lparen",
590
+ regex : /[\[({]/,
591
+ next : "regex_allowed"
592
+ }, {
593
+ token : "paren.rparen",
594
+ regex : /[\])}]/
595
+ }, {
596
+ token : "keyword.operator",
597
+ regex : /\/=?/,
598
+ next : "regex_allowed"
599
+ }, {
600
+ token: "comment",
601
+ regex: /^#!.*$/
602
+ }, {
603
+ token : "text",
604
+ regex : /\s+/
605
+ }
606
+ ],
607
+ "regex_allowed": [
608
+ DocCommentHighlightRules.getStartRule("doc-start"),
609
+ {
610
+ token : "comment", // multi line comment
611
+ regex : "\\/\\*",
612
+ next : "comment_regex_allowed"
613
+ }, {
614
+ token : "comment",
615
+ regex : "\\/\\/.*$"
616
+ }, {
617
+ token: "string.regexp",
618
+ regex: "\\/",
619
+ next: "regex",
620
+ }, {
621
+ token : "text",
622
+ regex : "\\s+"
623
+ }, {
624
+ token: "empty",
625
+ regex: "",
626
+ next: "start"
627
+ }
628
+ ],
629
+ "regex": [
630
+ {
631
+ token: "regexp.keyword.operator",
632
+ regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
633
+ }, {
634
+ token: "string.regexp",
635
+ regex: "/\\w*",
636
+ next: "start",
637
+ }, {
638
+ token : "invalid",
639
+ regex: /\{\d+,?(?:\d+)?}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/
640
+ }, {
641
+ token : "constant.language.escape",
642
+ regex: /\(\?[:=!]|\)|{\d+,?(?:\d+)?}|{,\d+}|[+*]\?|[(|)$^+*?]/
643
+ }, {
644
+ token: "string.regexp",
645
+ regex: /{|[^{\[\/\\(|)$^+*?]+/,
646
+ }, {
647
+ token: "constant.language.escape",
648
+ regex: /\[\^?/,
649
+ next: "regex_character_class",
650
+ }, {
651
+ token: "empty",
652
+ regex: "",
653
+ next: "start"
654
+ }
655
+ ],
656
+ "regex_character_class": [
657
+ {
658
+ token: "regexp.keyword.operator",
659
+ regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
660
+ }, {
661
+ token: "constant.language.escape",
662
+ regex: "]",
663
+ next: "regex",
664
+ }, {
665
+ token: "constant.language.escape",
666
+ regex: "-"
667
+ }, {
668
+ token: "string.regexp.charachterclass",
669
+ regex: /[^\]\-\\]+/,
670
+ }, {
671
+ token: "empty",
672
+ regex: "",
673
+ next: "start"
674
+ }
675
+ ],
676
+ "function_arguments": [
677
+ {
678
+ token: "variable.parameter",
679
+ regex: identifierRe
680
+ }, {
681
+ token: "punctuation.operator",
682
+ regex: "[, ]+",
683
+ }, {
684
+ token: "punctuation.operator",
685
+ regex: "$",
686
+ }, {
687
+ token: "empty",
688
+ regex: "",
689
+ next: "start"
690
+ }
691
+ ],
692
+ "comment_regex_allowed" : [
693
+ {
694
+ token : "comment", // closing comment
695
+ regex : ".*?\\*\\/",
696
+ next : "regex_allowed"
697
+ }, {
698
+ token : "comment", // comment spanning whole line
699
+ regex : ".+"
700
+ }
701
+ ],
702
+ "comment" : [
703
+ {
704
+ token : "comment", // closing comment
705
+ regex : ".*?\\*\\/",
706
+ next : "start"
707
+ }, {
708
+ token : "comment", // comment spanning whole line
709
+ regex : ".+"
710
+ }
711
+ ],
712
+ "qqstring" : [
713
+ {
714
+ token : "constant.language.escape",
715
+ regex : escapedRe
716
+ }, {
717
+ token : "string",
718
+ regex : "\\\\$",
719
+ next : "qqstring",
720
+ }, {
721
+ token : "string",
722
+ regex : '"|$',
723
+ next : "start",
724
+ }, {
725
+ token : "string",
726
+ regex : '.|\\w+|\\s+',
727
+ }
728
+ ],
729
+ "qstring" : [
730
+ {
731
+ token : "constant.language.escape",
732
+ regex : escapedRe
733
+ }, {
734
+ token : "string",
735
+ regex : "\\\\$",
736
+ next : "qstring",
737
+ }, {
738
+ token : "string",
739
+ regex : "'|$",
740
+ next : "start",
741
+ }, {
742
+ token : "string",
743
+ regex : '.|\\w+|\\s+',
744
+ }
745
+ ]
746
+ };
747
+
748
+ this.embedRules(DocCommentHighlightRules, "doc-",
749
+ [ DocCommentHighlightRules.getEndRule("start") ]);
750
+ };
751
+
752
+ oop.inherits(JavaScriptHighlightRules, TextHighlightRules);
753
+
754
+ exports.JavaScriptHighlightRules = JavaScriptHighlightRules;
755
+ });
756
+
757
+ define('ace/mode/doc_comment_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
758
+
759
+
760
+ var oop = require("../lib/oop");
761
+ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
762
+
763
+ var DocCommentHighlightRules = function() {
764
+
765
+ this.$rules = {
766
+ "start" : [ {
767
+ token : "comment.doc.tag",
768
+ regex : "@[\\w\\d_]+" // TODO: fix email addresses
769
+ }, {
770
+ token : "comment.doc",
771
+ regex : "\\s+"
772
+ }, {
773
+ token : "comment.doc",
774
+ regex : "TODO"
775
+ }, {
776
+ token : "comment.doc",
777
+ regex : "[^@\\*]+"
778
+ }, {
779
+ token : "comment.doc",
780
+ regex : "."
781
+ }]
782
+ };
783
+ };
784
+
785
+ oop.inherits(DocCommentHighlightRules, TextHighlightRules);
786
+
787
+ DocCommentHighlightRules.getStartRule = function(start) {
788
+ return {
789
+ token : "comment.doc", // doc comment
790
+ regex : "\\/\\*(?=\\*)",
791
+ next : start
792
+ };
793
+ };
794
+
795
+ DocCommentHighlightRules.getEndRule = function (start) {
796
+ return {
797
+ token : "comment.doc", // closing comment
798
+ regex : "\\*\\/",
799
+ next : start
800
+ };
801
+ };
802
+
803
+
804
+ exports.DocCommentHighlightRules = DocCommentHighlightRules;
805
+
806
+ });
807
+
808
+ define('ace/mode/xml_util', ['require', 'exports', 'module' ], function(require, exports, module) {
809
+
810
+
811
+ function string(state) {
812
+ return [{
813
+ token : "string",
814
+ regex : '"',
815
+ next : state + "_qqstring"
816
+ }, {
817
+ token : "string",
818
+ regex : "'",
819
+ next : state + "_qstring"
820
+ }];
821
+ }
822
+
823
+ function multiLineString(quote, state) {
824
+ return [
825
+ {token : "string", regex : quote, next : state},
826
+ {
827
+ token : "constant.language.escape",
828
+ regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
829
+ },
830
+ {token : "string", regex : '\\w+|.|\\s+'}
831
+ ];
832
+ }
833
+
834
+ exports.tag = function(states, name, nextState, tagMap) {
835
+ states[name] = [{
836
+ token : "text",
837
+ regex : "\\s+"
838
+ }, {
839
+
840
+ token : !tagMap ? "meta.tag.tag-name" : function(value) {
841
+ if (tagMap[value])
842
+ return "meta.tag.tag-name." + tagMap[value];
843
+ else
844
+ return "meta.tag.tag-name";
845
+ },
846
+ regex : "[-_a-zA-Z0-9:]+",
847
+ next : name + "_embed_attribute_list"
848
+ }, {
849
+ token: "empty",
850
+ regex: "",
851
+ next : name + "_embed_attribute_list"
852
+ }];
853
+
854
+ states[name + "_qstring"] = multiLineString("'", name + "_embed_attribute_list");
855
+ states[name + "_qqstring"] = multiLineString("\"", name + "_embed_attribute_list");
856
+
857
+ states[name + "_embed_attribute_list"] = [{
858
+ token : "meta.tag.r",
859
+ regex : "/?>",
860
+ next : nextState
861
+ }, {
862
+ token : "keyword.operator",
863
+ regex : "="
864
+ }, {
865
+ token : "entity.other.attribute-name",
866
+ regex : "[-_a-zA-Z0-9:]+"
867
+ }, {
868
+ token : "constant.numeric", // float
869
+ regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
870
+ }, {
871
+ token : "text",
872
+ regex : "\\s+"
873
+ }].concat(string(name));
874
+ };
875
+
876
+ });
877
+
878
+ define('ace/mode/matching_brace_outdent', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) {
879
+
880
+
881
+ var Range = require("../range").Range;
882
+
883
+ var MatchingBraceOutdent = function() {};
884
+
885
+ (function() {
886
+
887
+ this.checkOutdent = function(line, input) {
888
+ if (! /^\s+$/.test(line))
889
+ return false;
890
+
891
+ return /^\s*\}/.test(input);
892
+ };
893
+
894
+ this.autoOutdent = function(doc, row) {
895
+ var line = doc.getLine(row);
896
+ var match = line.match(/^(\s*\})/);
897
+
898
+ if (!match) return 0;
899
+
900
+ var column = match[1].length;
901
+ var openBracePos = doc.findMatchingBracket({row: row, column: column});
902
+
903
+ if (!openBracePos || openBracePos.row == row) return 0;
904
+
905
+ var indent = this.$getIndent(doc.getLine(openBracePos.row));
906
+ doc.replace(new Range(row, 0, row, column-1), indent);
907
+ };
908
+
909
+ this.$getIndent = function(line) {
910
+ var match = line.match(/^(\s+)/);
911
+ if (match) {
912
+ return match[1];
913
+ }
914
+
915
+ return "";
916
+ };
917
+
918
+ }).call(MatchingBraceOutdent.prototype);
919
+
920
+ exports.MatchingBraceOutdent = MatchingBraceOutdent;
921
+ });