bedrock_sass 0.1.9 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (534) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -5
  3. data/assets/_vendor/ace/ace.js +21635 -0
  4. data/assets/_vendor/ace/ext-beautify.js +318 -0
  5. data/assets/_vendor/ace/ext-elastic_tabstops_lite.js +277 -0
  6. data/assets/_vendor/ace/ext-emmet.js +1226 -0
  7. data/assets/_vendor/ace/ext-error_marker.js +10 -0
  8. data/assets/_vendor/ace/ext-keybinding_menu.js +189 -0
  9. data/assets/_vendor/ace/ext-language_tools.js +1997 -0
  10. data/assets/_vendor/ace/ext-linking.js +65 -0
  11. data/assets/_vendor/ace/ext-modelist.js +228 -0
  12. data/assets/_vendor/ace/ext-options.js +750 -0
  13. data/assets/_vendor/ace/ext-rtl.js +110 -0
  14. data/assets/_vendor/ace/ext-searchbox.js +512 -0
  15. data/assets/_vendor/ace/ext-settings_menu.js +771 -0
  16. data/assets/_vendor/ace/ext-spellcheck.js +75 -0
  17. data/assets/_vendor/ace/ext-split.js +208 -0
  18. data/assets/_vendor/ace/ext-static_highlight.js +226 -0
  19. data/assets/_vendor/ace/ext-statusbar.js +57 -0
  20. data/assets/_vendor/ace/ext-textarea.js +567 -0
  21. data/assets/_vendor/ace/ext-themelist.js +67 -0
  22. data/assets/_vendor/ace/ext-whitespace.js +210 -0
  23. data/assets/_vendor/ace/keybinding-emacs.js +1165 -0
  24. data/assets/_vendor/ace/keybinding-vim.js +5673 -0
  25. data/assets/_vendor/ace/mode-abap.js +222 -0
  26. data/assets/_vendor/ace/mode-abc.js +267 -0
  27. data/assets/_vendor/ace/mode-actionscript.js +274 -0
  28. data/assets/_vendor/ace/mode-ada.js +138 -0
  29. data/assets/_vendor/ace/mode-apache_conf.js +363 -0
  30. data/assets/_vendor/ace/mode-applescript.js +279 -0
  31. data/assets/_vendor/ace/mode-asciidoc.js +349 -0
  32. data/assets/_vendor/ace/mode-asl.js +422 -0
  33. data/assets/_vendor/ace/mode-assembly_x86.js +193 -0
  34. data/assets/_vendor/ace/mode-autohotkey.js +243 -0
  35. data/assets/_vendor/ace/mode-batchfile.js +230 -0
  36. data/assets/_vendor/ace/mode-bro.js +334 -0
  37. data/assets/_vendor/ace/mode-c9search.js +294 -0
  38. data/assets/_vendor/ace/mode-c_cpp.js +502 -0
  39. data/assets/_vendor/ace/mode-cirru.js +211 -0
  40. data/assets/_vendor/ace/mode-clojure.js +314 -0
  41. data/assets/_vendor/ace/mode-cobol.js +102 -0
  42. data/assets/_vendor/ace/mode-coffee.js +400 -0
  43. data/assets/_vendor/ace/mode-coldfusion.js +2596 -0
  44. data/assets/_vendor/ace/mode-csharp.js +502 -0
  45. data/assets/_vendor/ace/mode-csound_document.js +3749 -0
  46. data/assets/_vendor/ace/mode-csound_orchestra.js +2687 -0
  47. data/assets/_vendor/ace/mode-csound_score.js +454 -0
  48. data/assets/_vendor/ace/mode-csp.js +60 -0
  49. data/assets/_vendor/ace/mode-css.js +723 -0
  50. data/assets/_vendor/ace/mode-curly.js +2564 -0
  51. data/assets/_vendor/ace/mode-d.js +520 -0
  52. data/assets/_vendor/ace/mode-dart.js +703 -0
  53. data/assets/_vendor/ace/mode-diff.js +146 -0
  54. data/assets/_vendor/ace/mode-django.js +2594 -0
  55. data/assets/_vendor/ace/mode-dockerfile.js +498 -0
  56. data/assets/_vendor/ace/mode-dot.js +418 -0
  57. data/assets/_vendor/ace/mode-drools.js +496 -0
  58. data/assets/_vendor/ace/mode-edifact.js +165 -0
  59. data/assets/_vendor/ace/mode-eiffel.js +136 -0
  60. data/assets/_vendor/ace/mode-ejs.js +3026 -0
  61. data/assets/_vendor/ace/mode-elixir.js +501 -0
  62. data/assets/_vendor/ace/mode-elm.js +307 -0
  63. data/assets/_vendor/ace/mode-erlang.js +1009 -0
  64. data/assets/_vendor/ace/mode-forth.js +297 -0
  65. data/assets/_vendor/ace/mode-fortran.js +431 -0
  66. data/assets/_vendor/ace/mode-fsharp.js +314 -0
  67. data/assets/_vendor/ace/mode-ftl.js +1192 -0
  68. data/assets/_vendor/ace/mode-gcode.js +94 -0
  69. data/assets/_vendor/ace/mode-gherkin.js +172 -0
  70. data/assets/_vendor/ace/mode-gitignore.js +60 -0
  71. data/assets/_vendor/ace/mode-glsl.js +579 -0
  72. data/assets/_vendor/ace/mode-gobstones.js +929 -0
  73. data/assets/_vendor/ace/mode-golang.js +414 -0
  74. data/assets/_vendor/ace/mode-graphqlschema.js +214 -0
  75. data/assets/_vendor/ace/mode-groovy.js +986 -0
  76. data/assets/_vendor/ace/mode-haml.js +1555 -0
  77. data/assets/_vendor/ace/mode-handlebars.js +2622 -0
  78. data/assets/_vendor/ace/mode-haskell.js +379 -0
  79. data/assets/_vendor/ace/mode-haskell_cabal.js +142 -0
  80. data/assets/_vendor/ace/mode-haxe.js +386 -0
  81. data/assets/_vendor/ace/mode-hjson.js +353 -0
  82. data/assets/_vendor/ace/mode-html.js +2509 -0
  83. data/assets/_vendor/ace/mode-html_elixir.js +3087 -0
  84. data/assets/_vendor/ace/mode-html_ruby.js +3043 -0
  85. data/assets/_vendor/ace/mode-ini.js +163 -0
  86. data/assets/_vendor/ace/mode-io.js +253 -0
  87. data/assets/_vendor/ace/mode-jack.js +347 -0
  88. data/assets/_vendor/ace/mode-jade.js +2126 -0
  89. data/assets/_vendor/ace/mode-java.js +975 -0
  90. data/assets/_vendor/ace/mode-javascript.js +797 -0
  91. data/assets/_vendor/ace/mode-json.js +327 -0
  92. data/assets/_vendor/ace/mode-jsoniq.js +4940 -0
  93. data/assets/_vendor/ace/mode-jsp.js +1430 -0
  94. data/assets/_vendor/ace/mode-jssm.js +325 -0
  95. data/assets/_vendor/ace/mode-jsx.js +412 -0
  96. data/assets/_vendor/ace/mode-julia.js +303 -0
  97. data/assets/_vendor/ace/mode-kotlin.js +795 -0
  98. data/assets/_vendor/ace/mode-latex.js +297 -0
  99. data/assets/_vendor/ace/mode-less.js +841 -0
  100. data/assets/_vendor/ace/mode-liquid.js +1193 -0
  101. data/assets/_vendor/ace/mode-lisp.js +112 -0
  102. data/assets/_vendor/ace/mode-livescript.js +280 -0
  103. data/assets/_vendor/ace/mode-logiql.js +317 -0
  104. data/assets/_vendor/ace/mode-lsl.js +343 -0
  105. data/assets/_vendor/ace/mode-lua.js +432 -0
  106. data/assets/_vendor/ace/mode-luapage.js +3007 -0
  107. data/assets/_vendor/ace/mode-lucene.js +87 -0
  108. data/assets/_vendor/ace/mode-makefile.js +410 -0
  109. data/assets/_vendor/ace/mode-markdown.js +3189 -0
  110. data/assets/_vendor/ace/mode-mask.js +1802 -0
  111. data/assets/_vendor/ace/mode-matlab.js +264 -0
  112. data/assets/_vendor/ace/mode-maze.js +291 -0
  113. data/assets/_vendor/ace/mode-mel.js +263 -0
  114. data/assets/_vendor/ace/mode-mixal.js +123 -0
  115. data/assets/_vendor/ace/mode-mushcode.js +681 -0
  116. data/assets/_vendor/ace/mode-mysql.js +168 -0
  117. data/assets/_vendor/ace/mode-nix.js +646 -0
  118. data/assets/_vendor/ace/mode-nsis.js +312 -0
  119. data/assets/_vendor/ace/mode-objectivec.js +739 -0
  120. data/assets/_vendor/ace/mode-ocaml.js +422 -0
  121. data/assets/_vendor/ace/mode-pascal.js +205 -0
  122. data/assets/_vendor/ace/mode-perl.js +380 -0
  123. data/assets/_vendor/ace/mode-pgsql.js +1508 -0
  124. data/assets/_vendor/ace/mode-php.js +13088 -0
  125. data/assets/_vendor/ace/mode-php_laravel_blade.js +13289 -0
  126. data/assets/_vendor/ace/mode-pig.js +310 -0
  127. data/assets/_vendor/ace/mode-plain_text.js +33 -0
  128. data/assets/_vendor/ace/mode-powershell.js +418 -0
  129. data/assets/_vendor/ace/mode-praat.js +478 -0
  130. data/assets/_vendor/ace/mode-prolog.js +371 -0
  131. data/assets/_vendor/ace/mode-properties.js +81 -0
  132. data/assets/_vendor/ace/mode-protobuf.js +592 -0
  133. data/assets/_vendor/ace/mode-puppet.js +370 -0
  134. data/assets/_vendor/ace/mode-python.js +273 -0
  135. data/assets/_vendor/ace/mode-r.js +310 -0
  136. data/assets/_vendor/ace/mode-razor.js +2869 -0
  137. data/assets/_vendor/ace/mode-rdoc.js +243 -0
  138. data/assets/_vendor/ace/mode-red.js +450 -0
  139. data/assets/_vendor/ace/mode-redshift.js +361 -0
  140. data/assets/_vendor/ace/mode-rhtml.js +2806 -0
  141. data/assets/_vendor/ace/mode-rst.js +257 -0
  142. data/assets/_vendor/ace/mode-ruby.js +497 -0
  143. data/assets/_vendor/ace/mode-rust.js +279 -0
  144. data/assets/_vendor/ace/mode-sass.js +441 -0
  145. data/assets/_vendor/ace/mode-scad.js +414 -0
  146. data/assets/_vendor/ace/mode-scala.js +982 -0
  147. data/assets/_vendor/ace/mode-scheme.js +232 -0
  148. data/assets/_vendor/ace/mode-scss.js +606 -0
  149. data/assets/_vendor/ace/mode-sh.js +447 -0
  150. data/assets/_vendor/ace/mode-sjs.js +1014 -0
  151. data/assets/_vendor/ace/mode-slim.js +4736 -0
  152. data/assets/_vendor/ace/mode-smarty.js +2635 -0
  153. data/assets/_vendor/ace/mode-snippets.js +207 -0
  154. data/assets/_vendor/ace/mode-soy_template.js +2847 -0
  155. data/assets/_vendor/ace/mode-space.js +168 -0
  156. data/assets/_vendor/ace/mode-sparql.js +320 -0
  157. data/assets/_vendor/ace/mode-sql.js +111 -0
  158. data/assets/_vendor/ace/mode-sqlserver.js +444 -0
  159. data/assets/_vendor/ace/mode-stylus.js +471 -0
  160. data/assets/_vendor/ace/mode-svg.js +1581 -0
  161. data/assets/_vendor/ace/mode-swift.js +390 -0
  162. data/assets/_vendor/ace/mode-tcl.js +383 -0
  163. data/assets/_vendor/ace/mode-terraform.js +398 -0
  164. data/assets/_vendor/ace/mode-tex.js +159 -0
  165. data/assets/_vendor/ace/mode-text.js +10 -0
  166. data/assets/_vendor/ace/mode-textile.js +150 -0
  167. data/assets/_vendor/ace/mode-toml.js +154 -0
  168. data/assets/_vendor/ace/mode-tsx.js +887 -0
  169. data/assets/_vendor/ace/mode-turtle.js +296 -0
  170. data/assets/_vendor/ace/mode-twig.js +2693 -0
  171. data/assets/_vendor/ace/mode-typescript.js +868 -0
  172. data/assets/_vendor/ace/mode-vala.js +676 -0
  173. data/assets/_vendor/ace/mode-vbscript.js +207 -0
  174. data/assets/_vendor/ace/mode-velocity.js +2790 -0
  175. data/assets/_vendor/ace/mode-verilog.js +119 -0
  176. data/assets/_vendor/ace/mode-vhdl.js +118 -0
  177. data/assets/_vendor/ace/mode-wollok.js +911 -0
  178. data/assets/_vendor/ace/mode-xml.js +677 -0
  179. data/assets/_vendor/ace/mode-xquery.js +4922 -0
  180. data/assets/_vendor/ace/mode-yaml.js +300 -0
  181. data/assets/_vendor/ace/snippets/abap.js +15 -0
  182. data/assets/_vendor/ace/snippets/abc.js +46 -0
  183. data/assets/_vendor/ace/snippets/actionscript.js +172 -0
  184. data/assets/_vendor/ace/snippets/ada.js +15 -0
  185. data/assets/_vendor/ace/snippets/apache_conf.js +15 -0
  186. data/assets/_vendor/ace/snippets/applescript.js +15 -0
  187. data/assets/_vendor/ace/snippets/asciidoc.js +15 -0
  188. data/assets/_vendor/ace/snippets/asl.js +14 -0
  189. data/assets/_vendor/ace/snippets/assembly_x86.js +15 -0
  190. data/assets/_vendor/ace/snippets/autohotkey.js +15 -0
  191. data/assets/_vendor/ace/snippets/batchfile.js +15 -0
  192. data/assets/_vendor/ace/snippets/bro.js +15 -0
  193. data/assets/_vendor/ace/snippets/c9search.js +15 -0
  194. data/assets/_vendor/ace/snippets/c_cpp.js +146 -0
  195. data/assets/_vendor/ace/snippets/cirru.js +15 -0
  196. data/assets/_vendor/ace/snippets/clojure.js +105 -0
  197. data/assets/_vendor/ace/snippets/cobol.js +15 -0
  198. data/assets/_vendor/ace/snippets/coffee.js +110 -0
  199. data/assets/_vendor/ace/snippets/coldfusion.js +15 -0
  200. data/assets/_vendor/ace/snippets/csharp.js +15 -0
  201. data/assets/_vendor/ace/snippets/csound_document.js +25 -0
  202. data/assets/_vendor/ace/snippets/csound_orchestra.js +62 -0
  203. data/assets/_vendor/ace/snippets/csound_score.js +15 -0
  204. data/assets/_vendor/ace/snippets/csp.js +15 -0
  205. data/assets/_vendor/ace/snippets/css.js +982 -0
  206. data/assets/_vendor/ace/snippets/curly.js +15 -0
  207. data/assets/_vendor/ace/snippets/d.js +15 -0
  208. data/assets/_vendor/ace/snippets/dart.js +98 -0
  209. data/assets/_vendor/ace/snippets/diff.js +26 -0
  210. data/assets/_vendor/ace/snippets/django.js +123 -0
  211. data/assets/_vendor/ace/snippets/dockerfile.js +15 -0
  212. data/assets/_vendor/ace/snippets/dot.js +15 -0
  213. data/assets/_vendor/ace/snippets/drools.js +34 -0
  214. data/assets/_vendor/ace/snippets/edifact.js +255 -0
  215. data/assets/_vendor/ace/snippets/eiffel.js +15 -0
  216. data/assets/_vendor/ace/snippets/ejs.js +15 -0
  217. data/assets/_vendor/ace/snippets/elixir.js +15 -0
  218. data/assets/_vendor/ace/snippets/elm.js +15 -0
  219. data/assets/_vendor/ace/snippets/erlang.js +175 -0
  220. data/assets/_vendor/ace/snippets/forth.js +15 -0
  221. data/assets/_vendor/ace/snippets/fortran.js +15 -0
  222. data/assets/_vendor/ace/snippets/fsharp.js +15 -0
  223. data/assets/_vendor/ace/snippets/ftl.js +15 -0
  224. data/assets/_vendor/ace/snippets/gcode.js +15 -0
  225. data/assets/_vendor/ace/snippets/gherkin.js +15 -0
  226. data/assets/_vendor/ace/snippets/gitignore.js +15 -0
  227. data/assets/_vendor/ace/snippets/glsl.js +15 -0
  228. data/assets/_vendor/ace/snippets/gobstones.js +49 -0
  229. data/assets/_vendor/ace/snippets/golang.js +15 -0
  230. data/assets/_vendor/ace/snippets/graphqlschema.js +47 -0
  231. data/assets/_vendor/ace/snippets/groovy.js +15 -0
  232. data/assets/_vendor/ace/snippets/haml.js +35 -0
  233. data/assets/_vendor/ace/snippets/handlebars.js +15 -0
  234. data/assets/_vendor/ace/snippets/haskell.js +97 -0
  235. data/assets/_vendor/ace/snippets/haskell_cabal.js +15 -0
  236. data/assets/_vendor/ace/snippets/haxe.js +15 -0
  237. data/assets/_vendor/ace/snippets/hjson.js +15 -0
  238. data/assets/_vendor/ace/snippets/html.js +870 -0
  239. data/assets/_vendor/ace/snippets/html_elixir.js +15 -0
  240. data/assets/_vendor/ace/snippets/html_ruby.js +15 -0
  241. data/assets/_vendor/ace/snippets/ini.js +15 -0
  242. data/assets/_vendor/ace/snippets/io.js +77 -0
  243. data/assets/_vendor/ace/snippets/jack.js +15 -0
  244. data/assets/_vendor/ace/snippets/jade.js +15 -0
  245. data/assets/_vendor/ace/snippets/java.js +255 -0
  246. data/assets/_vendor/ace/snippets/javascript.js +210 -0
  247. data/assets/_vendor/ace/snippets/json.js +15 -0
  248. data/assets/_vendor/ace/snippets/jsoniq.js +76 -0
  249. data/assets/_vendor/ace/snippets/jsp.js +114 -0
  250. data/assets/_vendor/ace/snippets/jssm.js +15 -0
  251. data/assets/_vendor/ace/snippets/jsx.js +15 -0
  252. data/assets/_vendor/ace/snippets/julia.js +15 -0
  253. data/assets/_vendor/ace/snippets/kotlin.js +15 -0
  254. data/assets/_vendor/ace/snippets/latex.js +15 -0
  255. data/assets/_vendor/ace/snippets/less.js +15 -0
  256. data/assets/_vendor/ace/snippets/liquid.js +15 -0
  257. data/assets/_vendor/ace/snippets/lisp.js +15 -0
  258. data/assets/_vendor/ace/snippets/livescript.js +15 -0
  259. data/assets/_vendor/ace/snippets/logiql.js +15 -0
  260. data/assets/_vendor/ace/snippets/lsl.js +1247 -0
  261. data/assets/_vendor/ace/snippets/lua.js +36 -0
  262. data/assets/_vendor/ace/snippets/luapage.js +15 -0
  263. data/assets/_vendor/ace/snippets/lucene.js +15 -0
  264. data/assets/_vendor/ace/snippets/makefile.js +19 -0
  265. data/assets/_vendor/ace/snippets/markdown.js +103 -0
  266. data/assets/_vendor/ace/snippets/mask.js +15 -0
  267. data/assets/_vendor/ace/snippets/matlab.js +15 -0
  268. data/assets/_vendor/ace/snippets/maze.js +24 -0
  269. data/assets/_vendor/ace/snippets/mel.js +15 -0
  270. data/assets/_vendor/ace/snippets/mixal.js +15 -0
  271. data/assets/_vendor/ace/snippets/mushcode.js +15 -0
  272. data/assets/_vendor/ace/snippets/mysql.js +15 -0
  273. data/assets/_vendor/ace/snippets/nix.js +15 -0
  274. data/assets/_vendor/ace/snippets/nsis.js +15 -0
  275. data/assets/_vendor/ace/snippets/objectivec.js +15 -0
  276. data/assets/_vendor/ace/snippets/ocaml.js +15 -0
  277. data/assets/_vendor/ace/snippets/pascal.js +15 -0
  278. data/assets/_vendor/ace/snippets/perl.js +362 -0
  279. data/assets/_vendor/ace/snippets/pgsql.js +15 -0
  280. data/assets/_vendor/ace/snippets/php.js +398 -0
  281. data/assets/_vendor/ace/snippets/php_laravel_blade.js +15 -0
  282. data/assets/_vendor/ace/snippets/pig.js +15 -0
  283. data/assets/_vendor/ace/snippets/plain_text.js +15 -0
  284. data/assets/_vendor/ace/snippets/powershell.js +15 -0
  285. data/assets/_vendor/ace/snippets/praat.js +15 -0
  286. data/assets/_vendor/ace/snippets/prolog.js +15 -0
  287. data/assets/_vendor/ace/snippets/properties.js +15 -0
  288. data/assets/_vendor/ace/snippets/protobuf.js +15 -0
  289. data/assets/_vendor/ace/snippets/puppet.js +15 -0
  290. data/assets/_vendor/ace/snippets/python.js +173 -0
  291. data/assets/_vendor/ace/snippets/r.js +136 -0
  292. data/assets/_vendor/ace/snippets/razor.js +18 -0
  293. data/assets/_vendor/ace/snippets/rdoc.js +15 -0
  294. data/assets/_vendor/ace/snippets/red.js +15 -0
  295. data/assets/_vendor/ace/snippets/redshift.js +15 -0
  296. data/assets/_vendor/ace/snippets/rhtml.js +15 -0
  297. data/assets/_vendor/ace/snippets/rst.js +37 -0
  298. data/assets/_vendor/ace/snippets/ruby.js +943 -0
  299. data/assets/_vendor/ace/snippets/rust.js +15 -0
  300. data/assets/_vendor/ace/snippets/sass.js +15 -0
  301. data/assets/_vendor/ace/snippets/scad.js +15 -0
  302. data/assets/_vendor/ace/snippets/scala.js +15 -0
  303. data/assets/_vendor/ace/snippets/scheme.js +15 -0
  304. data/assets/_vendor/ace/snippets/scss.js +15 -0
  305. data/assets/_vendor/ace/snippets/sh.js +98 -0
  306. data/assets/_vendor/ace/snippets/sjs.js +15 -0
  307. data/assets/_vendor/ace/snippets/slim.js +15 -0
  308. data/assets/_vendor/ace/snippets/smarty.js +15 -0
  309. data/assets/_vendor/ace/snippets/snippets.js +24 -0
  310. data/assets/_vendor/ace/snippets/soy_template.js +15 -0
  311. data/assets/_vendor/ace/snippets/space.js +15 -0
  312. data/assets/_vendor/ace/snippets/sparql.js +15 -0
  313. data/assets/_vendor/ace/snippets/sql.js +41 -0
  314. data/assets/_vendor/ace/snippets/sqlserver.js +84 -0
  315. data/assets/_vendor/ace/snippets/stylus.js +15 -0
  316. data/assets/_vendor/ace/snippets/svg.js +15 -0
  317. data/assets/_vendor/ace/snippets/swift.js +15 -0
  318. data/assets/_vendor/ace/snippets/tcl.js +107 -0
  319. data/assets/_vendor/ace/snippets/terraform.js +15 -0
  320. data/assets/_vendor/ace/snippets/tex.js +205 -0
  321. data/assets/_vendor/ace/snippets/text.js +15 -0
  322. data/assets/_vendor/ace/snippets/textile.js +45 -0
  323. data/assets/_vendor/ace/snippets/toml.js +15 -0
  324. data/assets/_vendor/ace/snippets/tsx.js +15 -0
  325. data/assets/_vendor/ace/snippets/turtle.js +15 -0
  326. data/assets/_vendor/ace/snippets/twig.js +15 -0
  327. data/assets/_vendor/ace/snippets/typescript.js +15 -0
  328. data/assets/_vendor/ace/snippets/vala.js +201 -0
  329. data/assets/_vendor/ace/snippets/vbscript.js +15 -0
  330. data/assets/_vendor/ace/snippets/velocity.js +44 -0
  331. data/assets/_vendor/ace/snippets/verilog.js +15 -0
  332. data/assets/_vendor/ace/snippets/vhdl.js +15 -0
  333. data/assets/_vendor/ace/snippets/wollok.js +99 -0
  334. data/assets/_vendor/ace/snippets/xml.js +15 -0
  335. data/assets/_vendor/ace/snippets/xquery.js +76 -0
  336. data/assets/_vendor/ace/snippets/yaml.js +15 -0
  337. data/assets/_vendor/ace/theme-ambiance.js +185 -0
  338. data/assets/_vendor/ace/theme-chaos.js +164 -0
  339. data/assets/_vendor/ace/theme-chrome.js +136 -0
  340. data/assets/_vendor/ace/theme-clouds.js +103 -0
  341. data/assets/_vendor/ace/theme-clouds_midnight.js +104 -0
  342. data/assets/_vendor/ace/theme-cobalt.js +121 -0
  343. data/assets/_vendor/ace/theme-crimson_editor.js +126 -0
  344. data/assets/_vendor/ace/theme-dawn.js +116 -0
  345. data/assets/_vendor/ace/theme-dracula.js +136 -0
  346. data/assets/_vendor/ace/theme-dreamweaver.js +149 -0
  347. data/assets/_vendor/ace/theme-eclipse.js +106 -0
  348. data/assets/_vendor/ace/theme-github.js +110 -0
  349. data/assets/_vendor/ace/theme-gob.js +120 -0
  350. data/assets/_vendor/ace/theme-gruvbox.js +90 -0
  351. data/assets/_vendor/ace/theme-idle_fingers.js +104 -0
  352. data/assets/_vendor/ace/theme-iplastic.js +129 -0
  353. data/assets/_vendor/ace/theme-katzenmilch.js +129 -0
  354. data/assets/_vendor/ace/theme-kr_theme.js +112 -0
  355. data/assets/_vendor/ace/theme-kuroir.js +69 -0
  356. data/assets/_vendor/ace/theme-merbivore.js +103 -0
  357. data/assets/_vendor/ace/theme-merbivore_soft.js +104 -0
  358. data/assets/_vendor/ace/theme-mono_industrial.js +115 -0
  359. data/assets/_vendor/ace/theme-monokai.js +113 -0
  360. data/assets/_vendor/ace/theme-pastel_on_dark.js +116 -0
  361. data/assets/_vendor/ace/theme-solarized_dark.js +96 -0
  362. data/assets/_vendor/ace/theme-solarized_light.js +99 -0
  363. data/assets/_vendor/ace/theme-sqlserver.js +146 -0
  364. data/assets/_vendor/ace/theme-terminal.js +122 -0
  365. data/assets/_vendor/ace/theme-textmate.js +138 -0
  366. data/assets/_vendor/ace/theme-tomorrow.js +116 -0
  367. data/assets/_vendor/ace/theme-tomorrow_night.js +116 -0
  368. data/assets/_vendor/ace/theme-tomorrow_night_blue.js +114 -0
  369. data/assets/_vendor/ace/theme-tomorrow_night_bright.js +129 -0
  370. data/assets/_vendor/ace/theme-tomorrow_night_eighties.js +116 -0
  371. data/assets/_vendor/ace/theme-twilight.js +117 -0
  372. data/assets/_vendor/ace/theme-vibrant_ink.js +102 -0
  373. data/assets/_vendor/ace/theme-xcode.js +96 -0
  374. data/assets/_vendor/ace/worker-coffee.js +2165 -0
  375. data/assets/_vendor/ace/worker-css.js +8764 -0
  376. data/assets/_vendor/ace/worker-html.js +11614 -0
  377. data/assets/_vendor/ace/worker-javascript.js +12491 -0
  378. data/assets/_vendor/ace/worker-json.js +2396 -0
  379. data/assets/_vendor/ace/worker-lua.js +3637 -0
  380. data/assets/_vendor/ace/worker-php.js +4313 -0
  381. data/assets/_vendor/ace/worker-xml.js +3899 -0
  382. data/assets/_vendor/ace/worker-xquery.js +70688 -0
  383. data/assets/_vendor/motion-ui/_settings.scss +1 -0
  384. data/assets/_vendor/motion-ui/effects/_fade.scss +1 -4
  385. data/assets/_vendor/motion-ui/effects/_hinge.scss +4 -3
  386. data/assets/_vendor/motion-ui/effects/_shake.scss +1 -1
  387. data/assets/_vendor/motion-ui/effects/_slide.scss +4 -3
  388. data/assets/_vendor/motion-ui/effects/_spin.scss +4 -3
  389. data/assets/_vendor/motion-ui/effects/_wiggle.scss +1 -1
  390. data/assets/_vendor/motion-ui/effects/_zoom.scss +2 -2
  391. data/assets/_vendor/motion-ui/motion-ui.scss +2 -0
  392. data/assets/_vendor/motion-ui/transitions/_fade.scss +6 -4
  393. data/assets/_vendor/motion-ui/transitions/_hinge.scss +3 -2
  394. data/assets/_vendor/motion-ui/transitions/_slide.scss +3 -2
  395. data/assets/_vendor/motion-ui/transitions/_spin.scss +2 -1
  396. data/assets/_vendor/motion-ui/transitions/_zoom.scss +6 -4
  397. data/assets/_vendor/motion-ui/util/_animation.scss +1 -1
  398. data/assets/_vendor/motion-ui/util/_args.scss +2 -2
  399. data/assets/_vendor/motion-ui/util/_function.scss +94 -0
  400. data/assets/_vendor/motion-ui/util/_keyframe.scss +5 -5
  401. data/assets/_vendor/motion-ui/util/_series.scss +20 -17
  402. data/assets/_vendor/motion-ui/util/_string.scss +36 -0
  403. data/assets/_vendor/tinymce/plugins/advlist/plugin.js +136 -404
  404. data/assets/_vendor/tinymce/plugins/advlist/plugin.min.js +1 -1
  405. data/assets/_vendor/tinymce/plugins/anchor/plugin.js +103 -323
  406. data/assets/_vendor/tinymce/plugins/anchor/plugin.min.js +1 -1
  407. data/assets/_vendor/tinymce/plugins/autolink/plugin.js +153 -377
  408. data/assets/_vendor/tinymce/plugins/autolink/plugin.min.js +1 -1
  409. data/assets/_vendor/tinymce/plugins/autoresize/plugin.js +145 -427
  410. data/assets/_vendor/tinymce/plugins/autoresize/plugin.min.js +1 -1
  411. data/assets/_vendor/tinymce/plugins/autosave/plugin.js +197 -579
  412. data/assets/_vendor/tinymce/plugins/autosave/plugin.min.js +1 -1
  413. data/assets/_vendor/tinymce/plugins/bbcode/plugin.js +88 -251
  414. data/assets/_vendor/tinymce/plugins/bbcode/plugin.min.js +1 -1
  415. data/assets/_vendor/tinymce/plugins/charmap/plugin.js +1243 -818
  416. data/assets/_vendor/tinymce/plugins/charmap/plugin.min.js +1 -1
  417. data/assets/_vendor/tinymce/plugins/code/plugin.js +82 -326
  418. data/assets/_vendor/tinymce/plugins/code/plugin.min.js +1 -1
  419. data/assets/_vendor/tinymce/plugins/codesample/plugin.js +829 -1444
  420. data/assets/_vendor/tinymce/plugins/codesample/plugin.min.js +1 -1
  421. data/assets/_vendor/tinymce/plugins/colorpicker/plugin.js +111 -257
  422. data/assets/_vendor/tinymce/plugins/colorpicker/plugin.min.js +1 -1
  423. data/assets/_vendor/tinymce/plugins/contextmenu/plugin.js +141 -469
  424. data/assets/_vendor/tinymce/plugins/contextmenu/plugin.min.js +1 -1
  425. data/assets/_vendor/tinymce/plugins/directionality/plugin.js +57 -261
  426. data/assets/_vendor/tinymce/plugins/directionality/plugin.min.js +1 -1
  427. data/assets/_vendor/tinymce/plugins/emoticons/plugin.js +78 -247
  428. data/assets/_vendor/tinymce/plugins/emoticons/plugin.min.js +1 -1
  429. data/assets/_vendor/tinymce/plugins/fullpage/plugin.js +463 -906
  430. data/assets/_vendor/tinymce/plugins/fullpage/plugin.min.js +1 -1
  431. data/assets/_vendor/tinymce/plugins/fullscreen/plugin.js +149 -427
  432. data/assets/_vendor/tinymce/plugins/fullscreen/plugin.min.js +1 -1
  433. data/assets/_vendor/tinymce/plugins/help/plugin.js +634 -1434
  434. data/assets/_vendor/tinymce/plugins/help/plugin.min.js +1 -1
  435. data/assets/_vendor/tinymce/plugins/hr/plugin.js +29 -185
  436. data/assets/_vendor/tinymce/plugins/hr/plugin.min.js +1 -1
  437. data/assets/_vendor/tinymce/plugins/image/plugin.js +1147 -1508
  438. data/assets/_vendor/tinymce/plugins/image/plugin.min.js +1 -1
  439. data/assets/_vendor/tinymce/plugins/imagetools/plugin.js +3319 -4079
  440. data/assets/_vendor/tinymce/plugins/imagetools/plugin.min.js +1 -2
  441. data/assets/_vendor/tinymce/plugins/importcss/plugin.js +230 -543
  442. data/assets/_vendor/tinymce/plugins/importcss/plugin.min.js +1 -1
  443. data/assets/_vendor/tinymce/plugins/insertdatetime/plugin.js +151 -460
  444. data/assets/_vendor/tinymce/plugins/insertdatetime/plugin.min.js +1 -1
  445. data/assets/_vendor/tinymce/plugins/legacyoutput/plugin.js +204 -379
  446. data/assets/_vendor/tinymce/plugins/legacyoutput/plugin.min.js +1 -1
  447. data/assets/_vendor/tinymce/plugins/link/plugin.js +644 -1162
  448. data/assets/_vendor/tinymce/plugins/link/plugin.min.js +1 -1
  449. data/assets/_vendor/tinymce/plugins/lists/plugin.js +1005 -1875
  450. data/assets/_vendor/tinymce/plugins/lists/plugin.min.js +1 -1
  451. data/assets/_vendor/tinymce/plugins/media/plugin.js +1066 -1926
  452. data/assets/_vendor/tinymce/plugins/media/plugin.min.js +1 -1
  453. data/assets/_vendor/tinymce/plugins/nonbreaking/plugin.js +70 -298
  454. data/assets/_vendor/tinymce/plugins/nonbreaking/plugin.min.js +1 -1
  455. data/assets/_vendor/tinymce/plugins/noneditable/plugin.js +96 -294
  456. data/assets/_vendor/tinymce/plugins/noneditable/plugin.min.js +1 -1
  457. data/assets/_vendor/tinymce/plugins/pagebreak/plugin.js +92 -337
  458. data/assets/_vendor/tinymce/plugins/pagebreak/plugin.min.js +1 -1
  459. data/assets/_vendor/tinymce/plugins/paste/plugin.js +1363 -2801
  460. data/assets/_vendor/tinymce/plugins/paste/plugin.min.js +1 -1
  461. data/assets/_vendor/tinymce/plugins/preview/plugin.js +106 -393
  462. data/assets/_vendor/tinymce/plugins/preview/plugin.min.js +1 -1
  463. data/assets/_vendor/tinymce/plugins/print/plugin.js +29 -185
  464. data/assets/_vendor/tinymce/plugins/print/plugin.min.js +1 -1
  465. data/assets/_vendor/tinymce/plugins/save/plugin.js +100 -350
  466. data/assets/_vendor/tinymce/plugins/save/plugin.min.js +1 -1
  467. data/assets/_vendor/tinymce/plugins/searchreplace/plugin.js +491 -865
  468. data/assets/_vendor/tinymce/plugins/searchreplace/plugin.min.js +1 -1
  469. data/assets/_vendor/tinymce/plugins/spellchecker/plugin.js +630 -1292
  470. data/assets/_vendor/tinymce/plugins/spellchecker/plugin.min.js +1 -1
  471. data/assets/_vendor/tinymce/plugins/tabfocus/plugin.js +96 -391
  472. data/assets/_vendor/tinymce/plugins/tabfocus/plugin.min.js +1 -1
  473. data/assets/_vendor/tinymce/plugins/table/plugin.js +9537 -14920
  474. data/assets/_vendor/tinymce/plugins/table/plugin.min.js +1 -5
  475. data/assets/_vendor/tinymce/plugins/template/plugin.js +309 -771
  476. data/assets/_vendor/tinymce/plugins/template/plugin.min.js +1 -1
  477. data/assets/_vendor/tinymce/plugins/textcolor/plugin.js +319 -592
  478. data/assets/_vendor/tinymce/plugins/textcolor/plugin.min.js +1 -1
  479. data/assets/_vendor/tinymce/plugins/textpattern/plugin.js +326 -674
  480. data/assets/_vendor/tinymce/plugins/textpattern/plugin.min.js +1 -1
  481. data/assets/_vendor/tinymce/plugins/toc/plugin.js +199 -530
  482. data/assets/_vendor/tinymce/plugins/toc/plugin.min.js +1 -1
  483. data/assets/_vendor/tinymce/plugins/visualblocks/plugin.js +112 -436
  484. data/assets/_vendor/tinymce/plugins/visualblocks/plugin.min.js +1 -1
  485. data/assets/_vendor/tinymce/plugins/visualchars/plugin.js +428 -1248
  486. data/assets/_vendor/tinymce/plugins/visualchars/plugin.min.js +1 -1
  487. data/assets/_vendor/tinymce/plugins/wordcount/plugin.js +307 -699
  488. data/assets/_vendor/tinymce/plugins/wordcount/plugin.min.js +1 -1
  489. data/assets/_vendor/tinymce/skins/lightgray/content.inline.min.css +1 -1
  490. data/assets/_vendor/tinymce/skins/lightgray/content.min.css +1 -1
  491. data/assets/_vendor/tinymce/skins/lightgray/fonts/tinymce.eot +0 -0
  492. data/assets/_vendor/tinymce/skins/lightgray/fonts/tinymce.svg +1 -1
  493. data/assets/_vendor/tinymce/skins/lightgray/fonts/tinymce.ttf +0 -0
  494. data/assets/_vendor/tinymce/skins/lightgray/fonts/tinymce.woff +0 -0
  495. data/assets/_vendor/tinymce/skins/lightgray/skin.min.css +1 -1
  496. data/assets/_vendor/tinymce/skins/lightgray/skin.mobile.min.css +1 -1
  497. data/assets/_vendor/tinymce/themes/inlite/theme.js +9693 -18245
  498. data/assets/_vendor/tinymce/themes/inlite/theme.min.js +1 -5
  499. data/assets/_vendor/tinymce/themes/mobile/theme.js +12629 -22467
  500. data/assets/_vendor/tinymce/themes/mobile/theme.min.js +1 -8
  501. data/assets/_vendor/tinymce/themes/modern/theme.js +9510 -17780
  502. data/assets/_vendor/tinymce/themes/modern/theme.min.js +1 -5
  503. data/assets/_vendor/tinymce/tinymce.js +25087 -42606
  504. data/assets/_vendor/yoastseo/css/_icons.scss +7 -7
  505. data/assets/_vendor/yoastseo/css/_snippet-editor.scss +1 -1
  506. data/assets/bedrock/js/bedrock.js +1 -71697
  507. data/assets/bedrock/scss/_bedrock-components.scss +20 -0
  508. data/assets/bedrock/scss/_bedrock-settings.scss +12 -4
  509. data/assets/bedrock/scss/_foundation-settings.scss +4 -2
  510. data/assets/bedrock/scss/components/ace-editor.scss +21 -0
  511. data/assets/bedrock/scss/components/attachments-grid.scss +18 -15
  512. data/assets/bedrock/scss/components/date-picker.scss +146 -0
  513. data/assets/bedrock/scss/components/dropzone-upload.scss +7 -0
  514. data/assets/bedrock/scss/components/file-input.scss +7 -0
  515. data/assets/bedrock/scss/components/file-preview.scss +36 -0
  516. data/assets/bedrock/scss/components/frame-embed.scss +23 -0
  517. data/assets/bedrock/scss/components/global.scss +27 -0
  518. data/assets/bedrock/scss/components/helper-classes.scss +1 -0
  519. data/assets/bedrock/scss/components/icon-box.scss +38 -0
  520. data/assets/bedrock/scss/components/item-list.scss +66 -0
  521. data/assets/bedrock/scss/components/lists.scss +58 -0
  522. data/assets/bedrock/scss/components/off-canvas-menu.scss +27 -15
  523. data/assets/bedrock/scss/components/place-autocomplete.scss +90 -0
  524. data/assets/bedrock/scss/components/rrule-generator.scss +102 -0
  525. data/assets/bedrock/scss/components/rrule-reveal.scss +14 -0
  526. data/assets/bedrock/scss/components/select-box.scss +1 -0
  527. data/assets/bedrock/scss/components/seo-analysis.scss +5 -0
  528. data/assets/bedrock/scss/components/textarea.scss +14 -2
  529. data/assets/bedrock/scss/components/tiny-mce-editor.scss +5 -16
  530. data/lib/bedrock_sass.rb +5 -0
  531. data/lib/bedrock_sass/version.rb +1 -1
  532. data/lib/tasks/before_assets_precompile.rake +1 -0
  533. metadata +395 -4
  534. data/CODE_OF_CONDUCT.md +0 -74
@@ -0,0 +1,307 @@
1
+ define("ace/mode/elm_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
2
+ "use strict";
3
+
4
+ var oop = require("../lib/oop");
5
+ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
6
+
7
+ var ElmHighlightRules = function() {
8
+ var keywordMapper = this.createKeywordMapper({
9
+ "keyword": "as|case|class|data|default|deriving|do|else|export|foreign|" +
10
+ "hiding|jsevent|if|import|in|infix|infixl|infixr|instance|let|" +
11
+ "module|newtype|of|open|then|type|where|_|port|\u03BB"
12
+ }, "identifier");
13
+
14
+ var escapeRe = /\\(\d+|['"\\&trnbvf])/;
15
+
16
+ var smallRe = /[a-z_]/.source;
17
+ var largeRe = /[A-Z]/.source;
18
+ var idRe = /[a-z_A-Z0-9']/.source;
19
+
20
+ this.$rules = {
21
+ start: [{
22
+ token: "string.start",
23
+ regex: '"',
24
+ next: "string"
25
+ }, {
26
+ token: "string.character",
27
+ regex: "'(?:" + escapeRe.source + "|.)'?"
28
+ }, {
29
+ regex: /0(?:[xX][0-9A-Fa-f]+|[oO][0-7]+)|\d+(\.\d+)?([eE][-+]?\d*)?/,
30
+ token: "constant.numeric"
31
+ }, {
32
+ token: "comment",
33
+ regex: "--.*"
34
+ }, {
35
+ token : "keyword",
36
+ regex : /\.\.|\||:|=|\\|"|->|<-|\u2192/
37
+ }, {
38
+ token : "keyword.operator",
39
+ regex : /[-!#$%&*+.\/<=>?@\\^|~:\u03BB\u2192]+/
40
+ }, {
41
+ token : "operator.punctuation",
42
+ regex : /[,;`]/
43
+ }, {
44
+ regex : largeRe + idRe + "+\\.?",
45
+ token : function(value) {
46
+ if (value[value.length - 1] == ".")
47
+ return "entity.name.function";
48
+ return "constant.language";
49
+ }
50
+ }, {
51
+ regex : "^" + smallRe + idRe + "+",
52
+ token : function(value) {
53
+ return "constant.language";
54
+ }
55
+ }, {
56
+ token : keywordMapper,
57
+ regex : "[\\w\\xff-\\u218e\\u2455-\\uffff]+\\b"
58
+ }, {
59
+ regex: "{-#?",
60
+ token: "comment.start",
61
+ onMatch: function(value, currentState, stack) {
62
+ this.next = value.length == 2 ? "blockComment" : "docComment";
63
+ return this.token;
64
+ }
65
+ }, {
66
+ token: "variable.language",
67
+ regex: /\[markdown\|/,
68
+ next: "markdown"
69
+ }, {
70
+ token: "paren.lparen",
71
+ regex: /[\[({]/
72
+ }, {
73
+ token: "paren.rparen",
74
+ regex: /[\])}]/
75
+ } ],
76
+ markdown: [{
77
+ regex: /\|\]/,
78
+ next: "start"
79
+ }, {
80
+ defaultToken : "string"
81
+ }],
82
+ blockComment: [{
83
+ regex: "{-",
84
+ token: "comment.start",
85
+ push: "blockComment"
86
+ }, {
87
+ regex: "-}",
88
+ token: "comment.end",
89
+ next: "pop"
90
+ }, {
91
+ defaultToken: "comment"
92
+ }],
93
+ docComment: [{
94
+ regex: "{-",
95
+ token: "comment.start",
96
+ push: "docComment"
97
+ }, {
98
+ regex: "-}",
99
+ token: "comment.end",
100
+ next: "pop"
101
+ }, {
102
+ defaultToken: "doc.comment"
103
+ }],
104
+ string: [{
105
+ token: "constant.language.escape",
106
+ regex: escapeRe
107
+ }, {
108
+ token: "text",
109
+ regex: /\\(\s|$)/,
110
+ next: "stringGap"
111
+ }, {
112
+ token: "string.end",
113
+ regex: '"',
114
+ next: "start"
115
+ }, {
116
+ defaultToken: "string"
117
+ }],
118
+ stringGap: [{
119
+ token: "text",
120
+ regex: /\\/,
121
+ next: "string"
122
+ }, {
123
+ token: "error",
124
+ regex: "",
125
+ next: "start"
126
+ }]
127
+ };
128
+
129
+ this.normalizeRules();
130
+ };
131
+
132
+ oop.inherits(ElmHighlightRules, TextHighlightRules);
133
+
134
+ exports.ElmHighlightRules = ElmHighlightRules;
135
+ });
136
+
137
+ define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
138
+ "use strict";
139
+
140
+ var oop = require("../../lib/oop");
141
+ var Range = require("../../range").Range;
142
+ var BaseFoldMode = require("./fold_mode").FoldMode;
143
+
144
+ var FoldMode = exports.FoldMode = function(commentRegex) {
145
+ if (commentRegex) {
146
+ this.foldingStartMarker = new RegExp(
147
+ this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
148
+ );
149
+ this.foldingStopMarker = new RegExp(
150
+ this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
151
+ );
152
+ }
153
+ };
154
+ oop.inherits(FoldMode, BaseFoldMode);
155
+
156
+ (function() {
157
+
158
+ this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/;
159
+ this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/;
160
+ this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/;
161
+ this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/;
162
+ this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/;
163
+ this._getFoldWidgetBase = this.getFoldWidget;
164
+ this.getFoldWidget = function(session, foldStyle, row) {
165
+ var line = session.getLine(row);
166
+
167
+ if (this.singleLineBlockCommentRe.test(line)) {
168
+ if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))
169
+ return "";
170
+ }
171
+
172
+ var fw = this._getFoldWidgetBase(session, foldStyle, row);
173
+
174
+ if (!fw && this.startRegionRe.test(line))
175
+ return "start"; // lineCommentRegionStart
176
+
177
+ return fw;
178
+ };
179
+
180
+ this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
181
+ var line = session.getLine(row);
182
+
183
+ if (this.startRegionRe.test(line))
184
+ return this.getCommentRegionBlock(session, line, row);
185
+
186
+ var match = line.match(this.foldingStartMarker);
187
+ if (match) {
188
+ var i = match.index;
189
+
190
+ if (match[1])
191
+ return this.openingBracketBlock(session, match[1], row, i);
192
+
193
+ var range = session.getCommentFoldRange(row, i + match[0].length, 1);
194
+
195
+ if (range && !range.isMultiLine()) {
196
+ if (forceMultiline) {
197
+ range = this.getSectionRange(session, row);
198
+ } else if (foldStyle != "all")
199
+ range = null;
200
+ }
201
+
202
+ return range;
203
+ }
204
+
205
+ if (foldStyle === "markbegin")
206
+ return;
207
+
208
+ var match = line.match(this.foldingStopMarker);
209
+ if (match) {
210
+ var i = match.index + match[0].length;
211
+
212
+ if (match[1])
213
+ return this.closingBracketBlock(session, match[1], row, i);
214
+
215
+ return session.getCommentFoldRange(row, i, -1);
216
+ }
217
+ };
218
+
219
+ this.getSectionRange = function(session, row) {
220
+ var line = session.getLine(row);
221
+ var startIndent = line.search(/\S/);
222
+ var startRow = row;
223
+ var startColumn = line.length;
224
+ row = row + 1;
225
+ var endRow = row;
226
+ var maxRow = session.getLength();
227
+ while (++row < maxRow) {
228
+ line = session.getLine(row);
229
+ var indent = line.search(/\S/);
230
+ if (indent === -1)
231
+ continue;
232
+ if (startIndent > indent)
233
+ break;
234
+ var subRange = this.getFoldWidgetRange(session, "all", row);
235
+
236
+ if (subRange) {
237
+ if (subRange.start.row <= startRow) {
238
+ break;
239
+ } else if (subRange.isMultiLine()) {
240
+ row = subRange.end.row;
241
+ } else if (startIndent == indent) {
242
+ break;
243
+ }
244
+ }
245
+ endRow = row;
246
+ }
247
+
248
+ return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
249
+ };
250
+ this.getCommentRegionBlock = function(session, line, row) {
251
+ var startColumn = line.search(/\s*$/);
252
+ var maxRow = session.getLength();
253
+ var startRow = row;
254
+
255
+ var re = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/;
256
+ var depth = 1;
257
+ while (++row < maxRow) {
258
+ line = session.getLine(row);
259
+ var m = re.exec(line);
260
+ if (!m) continue;
261
+ if (m[1]) depth--;
262
+ else depth++;
263
+
264
+ if (!depth) break;
265
+ }
266
+
267
+ var endRow = row;
268
+ if (endRow > startRow) {
269
+ return new Range(startRow, startColumn, endRow, line.length);
270
+ }
271
+ };
272
+
273
+ }).call(FoldMode.prototype);
274
+
275
+ });
276
+
277
+ define("ace/mode/elm",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/elm_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module) {
278
+ "use strict";
279
+
280
+ var oop = require("../lib/oop");
281
+ var TextMode = require("./text").Mode;
282
+ var HighlightRules = require("./elm_highlight_rules").ElmHighlightRules;
283
+ var FoldMode = require("./folding/cstyle").FoldMode;
284
+
285
+ var Mode = function() {
286
+ this.HighlightRules = HighlightRules;
287
+ this.foldingRules = new FoldMode();
288
+ this.$behaviour = this.$defaultBehaviour;
289
+ };
290
+ oop.inherits(Mode, TextMode);
291
+
292
+ (function() {
293
+ this.lineCommentStart = "--";
294
+ this.blockComment = {start: "{-", end: "-}", nestable: true};
295
+ this.$id = "ace/mode/elm";
296
+ }).call(Mode.prototype);
297
+
298
+ exports.Mode = Mode;
299
+ });
300
+ (function() {
301
+ window.require(["ace/mode/elm"], function(m) {
302
+ if (typeof module == "object" && typeof exports == "object" && module) {
303
+ module.exports = m;
304
+ }
305
+ });
306
+ })();
307
+
@@ -0,0 +1,1009 @@
1
+ define("ace/mode/erlang_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
2
+ "use strict";
3
+
4
+ var oop = require("../lib/oop");
5
+ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
6
+
7
+ var ErlangHighlightRules = function() {
8
+ this.$rules = { start:
9
+ [ { include: '#module-directive' },
10
+ { include: '#import-export-directive' },
11
+ { include: '#behaviour-directive' },
12
+ { include: '#record-directive' },
13
+ { include: '#define-directive' },
14
+ { include: '#macro-directive' },
15
+ { include: '#directive' },
16
+ { include: '#function' },
17
+ { include: '#everything-else' } ],
18
+ '#atom':
19
+ [ { token: 'punctuation.definition.symbol.begin.erlang',
20
+ regex: '\'',
21
+ push:
22
+ [ { token: 'punctuation.definition.symbol.end.erlang',
23
+ regex: '\'',
24
+ next: 'pop' },
25
+ { token:
26
+ [ 'punctuation.definition.escape.erlang',
27
+ 'constant.other.symbol.escape.erlang',
28
+ 'punctuation.definition.escape.erlang',
29
+ 'constant.other.symbol.escape.erlang',
30
+ 'constant.other.symbol.escape.erlang' ],
31
+ regex: '(\\\\)(?:([bdefnrstv\\\\\'"])|(\\^)([@-_])|([0-7]{1,3}))' },
32
+ { token: 'invalid.illegal.atom.erlang', regex: '\\\\\\^?.?' },
33
+ { defaultToken: 'constant.other.symbol.quoted.single.erlang' } ] },
34
+ { token: 'constant.other.symbol.unquoted.erlang',
35
+ regex: '[a-z][a-zA-Z\\d@_]*' } ],
36
+ '#behaviour-directive':
37
+ [ { token:
38
+ [ 'meta.directive.behaviour.erlang',
39
+ 'punctuation.section.directive.begin.erlang',
40
+ 'meta.directive.behaviour.erlang',
41
+ 'keyword.control.directive.behaviour.erlang',
42
+ 'meta.directive.behaviour.erlang',
43
+ 'punctuation.definition.parameters.begin.erlang',
44
+ 'meta.directive.behaviour.erlang',
45
+ 'entity.name.type.class.behaviour.definition.erlang',
46
+ 'meta.directive.behaviour.erlang',
47
+ 'punctuation.definition.parameters.end.erlang',
48
+ 'meta.directive.behaviour.erlang',
49
+ 'punctuation.section.directive.end.erlang' ],
50
+ regex: '^(\\s*)(-)(\\s*)(behaviour)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\))(\\s*)(\\.)' } ],
51
+ '#binary':
52
+ [ { token: 'punctuation.definition.binary.begin.erlang',
53
+ regex: '<<',
54
+ push:
55
+ [ { token: 'punctuation.definition.binary.end.erlang',
56
+ regex: '>>',
57
+ next: 'pop' },
58
+ { token:
59
+ [ 'punctuation.separator.binary.erlang',
60
+ 'punctuation.separator.value-size.erlang' ],
61
+ regex: '(,)|(:)' },
62
+ { include: '#internal-type-specifiers' },
63
+ { include: '#everything-else' },
64
+ { defaultToken: 'meta.structure.binary.erlang' } ] } ],
65
+ '#character':
66
+ [ { token:
67
+ [ 'punctuation.definition.character.erlang',
68
+ 'punctuation.definition.escape.erlang',
69
+ 'constant.character.escape.erlang',
70
+ 'punctuation.definition.escape.erlang',
71
+ 'constant.character.escape.erlang',
72
+ 'constant.character.escape.erlang' ],
73
+ regex: '(\\$)(\\\\)(?:([bdefnrstv\\\\\'"])|(\\^)([@-_])|([0-7]{1,3}))' },
74
+ { token: 'invalid.illegal.character.erlang',
75
+ regex: '\\$\\\\\\^?.?' },
76
+ { token:
77
+ [ 'punctuation.definition.character.erlang',
78
+ 'constant.character.erlang' ],
79
+ regex: '(\\$)(\\S)' },
80
+ { token: 'invalid.illegal.character.erlang', regex: '\\$.?' } ],
81
+ '#comment':
82
+ [ { token: 'punctuation.definition.comment.erlang',
83
+ regex: '%.*$',
84
+ push_:
85
+ [ { token: 'comment.line.percentage.erlang',
86
+ regex: '$',
87
+ next: 'pop' },
88
+ { defaultToken: 'comment.line.percentage.erlang' } ] } ],
89
+ '#define-directive':
90
+ [ { token:
91
+ [ 'meta.directive.define.erlang',
92
+ 'punctuation.section.directive.begin.erlang',
93
+ 'meta.directive.define.erlang',
94
+ 'keyword.control.directive.define.erlang',
95
+ 'meta.directive.define.erlang',
96
+ 'punctuation.definition.parameters.begin.erlang',
97
+ 'meta.directive.define.erlang',
98
+ 'entity.name.function.macro.definition.erlang',
99
+ 'meta.directive.define.erlang',
100
+ 'punctuation.separator.parameters.erlang' ],
101
+ regex: '^(\\s*)(-)(\\s*)(define)(\\s*)(\\()(\\s*)([a-zA-Z\\d@_]+)(\\s*)(,)',
102
+ push:
103
+ [ { token:
104
+ [ 'punctuation.definition.parameters.end.erlang',
105
+ 'meta.directive.define.erlang',
106
+ 'punctuation.section.directive.end.erlang' ],
107
+ regex: '(\\))(\\s*)(\\.)',
108
+ next: 'pop' },
109
+ { include: '#everything-else' },
110
+ { defaultToken: 'meta.directive.define.erlang' } ] },
111
+ { token: 'meta.directive.define.erlang',
112
+ regex: '(?=^\\s*-\\s*define\\s*\\(\\s*[a-zA-Z\\d@_]+\\s*\\()',
113
+ push:
114
+ [ { token:
115
+ [ 'punctuation.definition.parameters.end.erlang',
116
+ 'meta.directive.define.erlang',
117
+ 'punctuation.section.directive.end.erlang' ],
118
+ regex: '(\\))(\\s*)(\\.)',
119
+ next: 'pop' },
120
+ { token:
121
+ [ 'text',
122
+ 'punctuation.section.directive.begin.erlang',
123
+ 'text',
124
+ 'keyword.control.directive.define.erlang',
125
+ 'text',
126
+ 'punctuation.definition.parameters.begin.erlang',
127
+ 'text',
128
+ 'entity.name.function.macro.definition.erlang',
129
+ 'text',
130
+ 'punctuation.definition.parameters.begin.erlang' ],
131
+ regex: '^(\\s*)(-)(\\s*)(define)(\\s*)(\\()(\\s*)([a-zA-Z\\d@_]+)(\\s*)(\\()',
132
+ push:
133
+ [ { token:
134
+ [ 'punctuation.definition.parameters.end.erlang',
135
+ 'text',
136
+ 'punctuation.separator.parameters.erlang' ],
137
+ regex: '(\\))(\\s*)(,)',
138
+ next: 'pop' },
139
+ { token: 'punctuation.separator.parameters.erlang', regex: ',' },
140
+ { include: '#everything-else' } ] },
141
+ { token: 'punctuation.separator.define.erlang',
142
+ regex: '\\|\\||\\||:|;|,|\\.|->' },
143
+ { include: '#everything-else' },
144
+ { defaultToken: 'meta.directive.define.erlang' } ] } ],
145
+ '#directive':
146
+ [ { token:
147
+ [ 'meta.directive.erlang',
148
+ 'punctuation.section.directive.begin.erlang',
149
+ 'meta.directive.erlang',
150
+ 'keyword.control.directive.erlang',
151
+ 'meta.directive.erlang',
152
+ 'punctuation.definition.parameters.begin.erlang' ],
153
+ regex: '^(\\s*)(-)(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\(?)',
154
+ push:
155
+ [ { token:
156
+ [ 'punctuation.definition.parameters.end.erlang',
157
+ 'meta.directive.erlang',
158
+ 'punctuation.section.directive.end.erlang' ],
159
+ regex: '(\\)?)(\\s*)(\\.)',
160
+ next: 'pop' },
161
+ { include: '#everything-else' },
162
+ { defaultToken: 'meta.directive.erlang' } ] },
163
+ { token:
164
+ [ 'meta.directive.erlang',
165
+ 'punctuation.section.directive.begin.erlang',
166
+ 'meta.directive.erlang',
167
+ 'keyword.control.directive.erlang',
168
+ 'meta.directive.erlang',
169
+ 'punctuation.section.directive.end.erlang' ],
170
+ regex: '^(\\s*)(-)(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\.)' } ],
171
+ '#everything-else':
172
+ [ { include: '#comment' },
173
+ { include: '#record-usage' },
174
+ { include: '#macro-usage' },
175
+ { include: '#expression' },
176
+ { include: '#keyword' },
177
+ { include: '#textual-operator' },
178
+ { include: '#function-call' },
179
+ { include: '#tuple' },
180
+ { include: '#list' },
181
+ { include: '#binary' },
182
+ { include: '#parenthesized-expression' },
183
+ { include: '#character' },
184
+ { include: '#number' },
185
+ { include: '#atom' },
186
+ { include: '#string' },
187
+ { include: '#symbolic-operator' },
188
+ { include: '#variable' } ],
189
+ '#expression':
190
+ [ { token: 'keyword.control.if.erlang',
191
+ regex: '\\bif\\b',
192
+ push:
193
+ [ { token: 'keyword.control.end.erlang',
194
+ regex: '\\bend\\b',
195
+ next: 'pop' },
196
+ { include: '#internal-expression-punctuation' },
197
+ { include: '#everything-else' },
198
+ { defaultToken: 'meta.expression.if.erlang' } ] },
199
+ { token: 'keyword.control.case.erlang',
200
+ regex: '\\bcase\\b',
201
+ push:
202
+ [ { token: 'keyword.control.end.erlang',
203
+ regex: '\\bend\\b',
204
+ next: 'pop' },
205
+ { include: '#internal-expression-punctuation' },
206
+ { include: '#everything-else' },
207
+ { defaultToken: 'meta.expression.case.erlang' } ] },
208
+ { token: 'keyword.control.receive.erlang',
209
+ regex: '\\breceive\\b',
210
+ push:
211
+ [ { token: 'keyword.control.end.erlang',
212
+ regex: '\\bend\\b',
213
+ next: 'pop' },
214
+ { include: '#internal-expression-punctuation' },
215
+ { include: '#everything-else' },
216
+ { defaultToken: 'meta.expression.receive.erlang' } ] },
217
+ { token:
218
+ [ 'keyword.control.fun.erlang',
219
+ 'text',
220
+ 'entity.name.type.class.module.erlang',
221
+ 'text',
222
+ 'punctuation.separator.module-function.erlang',
223
+ 'text',
224
+ 'entity.name.function.erlang',
225
+ 'text',
226
+ 'punctuation.separator.function-arity.erlang' ],
227
+ regex: '\\b(fun)(\\s*)(?:([a-z][a-zA-Z\\d@_]*)(\\s*)(:)(\\s*))?([a-z][a-zA-Z\\d@_]*)(\\s*)(/)' },
228
+ { token: 'keyword.control.fun.erlang',
229
+ regex: '\\bfun\\b',
230
+ push:
231
+ [ { token: 'keyword.control.end.erlang',
232
+ regex: '\\bend\\b',
233
+ next: 'pop' },
234
+ { token: 'text',
235
+ regex: '(?=\\()',
236
+ push:
237
+ [ { token: 'punctuation.separator.clauses.erlang',
238
+ regex: ';|(?=\\bend\\b)',
239
+ next: 'pop' },
240
+ { include: '#internal-function-parts' } ] },
241
+ { include: '#everything-else' },
242
+ { defaultToken: 'meta.expression.fun.erlang' } ] },
243
+ { token: 'keyword.control.try.erlang',
244
+ regex: '\\btry\\b',
245
+ push:
246
+ [ { token: 'keyword.control.end.erlang',
247
+ regex: '\\bend\\b',
248
+ next: 'pop' },
249
+ { include: '#internal-expression-punctuation' },
250
+ { include: '#everything-else' },
251
+ { defaultToken: 'meta.expression.try.erlang' } ] },
252
+ { token: 'keyword.control.begin.erlang',
253
+ regex: '\\bbegin\\b',
254
+ push:
255
+ [ { token: 'keyword.control.end.erlang',
256
+ regex: '\\bend\\b',
257
+ next: 'pop' },
258
+ { include: '#internal-expression-punctuation' },
259
+ { include: '#everything-else' },
260
+ { defaultToken: 'meta.expression.begin.erlang' } ] },
261
+ { token: 'keyword.control.query.erlang',
262
+ regex: '\\bquery\\b',
263
+ push:
264
+ [ { token: 'keyword.control.end.erlang',
265
+ regex: '\\bend\\b',
266
+ next: 'pop' },
267
+ { include: '#everything-else' },
268
+ { defaultToken: 'meta.expression.query.erlang' } ] } ],
269
+ '#function':
270
+ [ { token:
271
+ [ 'meta.function.erlang',
272
+ 'entity.name.function.definition.erlang',
273
+ 'meta.function.erlang' ],
274
+ regex: '^(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(?=\\()',
275
+ push:
276
+ [ { token: 'punctuation.terminator.function.erlang',
277
+ regex: '\\.',
278
+ next: 'pop' },
279
+ { token: [ 'text', 'entity.name.function.erlang', 'text' ],
280
+ regex: '^(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(?=\\()' },
281
+ { token: 'text',
282
+ regex: '(?=\\()',
283
+ push:
284
+ [ { token: 'punctuation.separator.clauses.erlang',
285
+ regex: ';|(?=\\.)',
286
+ next: 'pop' },
287
+ { include: '#parenthesized-expression' },
288
+ { include: '#internal-function-parts' } ] },
289
+ { include: '#everything-else' },
290
+ { defaultToken: 'meta.function.erlang' } ] } ],
291
+ '#function-call':
292
+ [ { token: 'meta.function-call.erlang',
293
+ regex: '(?=(?:[a-z][a-zA-Z\\d@_]*|\'[^\']*\')\\s*(?:\\(|:\\s*(?:[a-z][a-zA-Z\\d@_]*|\'[^\']*\')\\s*\\())',
294
+ push:
295
+ [ { token: 'punctuation.definition.parameters.end.erlang',
296
+ regex: '\\)',
297
+ next: 'pop' },
298
+ { token:
299
+ [ 'entity.name.type.class.module.erlang',
300
+ 'text',
301
+ 'punctuation.separator.module-function.erlang',
302
+ 'text',
303
+ 'entity.name.function.guard.erlang',
304
+ 'text',
305
+ 'punctuation.definition.parameters.begin.erlang' ],
306
+ regex: '(?:(erlang)(\\s*)(:)(\\s*))?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)(\\s*)(\\()',
307
+ push:
308
+ [ { token: 'text', regex: '(?=\\))', next: 'pop' },
309
+ { token: 'punctuation.separator.parameters.erlang', regex: ',' },
310
+ { include: '#everything-else' } ] },
311
+ { token:
312
+ [ 'entity.name.type.class.module.erlang',
313
+ 'text',
314
+ 'punctuation.separator.module-function.erlang',
315
+ 'text',
316
+ 'entity.name.function.erlang',
317
+ 'text',
318
+ 'punctuation.definition.parameters.begin.erlang' ],
319
+ regex: '(?:([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(:)(\\s*))?([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(\\()',
320
+ push:
321
+ [ { token: 'text', regex: '(?=\\))', next: 'pop' },
322
+ { token: 'punctuation.separator.parameters.erlang', regex: ',' },
323
+ { include: '#everything-else' } ] },
324
+ { defaultToken: 'meta.function-call.erlang' } ] } ],
325
+ '#import-export-directive':
326
+ [ { token:
327
+ [ 'meta.directive.import.erlang',
328
+ 'punctuation.section.directive.begin.erlang',
329
+ 'meta.directive.import.erlang',
330
+ 'keyword.control.directive.import.erlang',
331
+ 'meta.directive.import.erlang',
332
+ 'punctuation.definition.parameters.begin.erlang',
333
+ 'meta.directive.import.erlang',
334
+ 'entity.name.type.class.module.erlang',
335
+ 'meta.directive.import.erlang',
336
+ 'punctuation.separator.parameters.erlang' ],
337
+ regex: '^(\\s*)(-)(\\s*)(import)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(,)',
338
+ push:
339
+ [ { token:
340
+ [ 'punctuation.definition.parameters.end.erlang',
341
+ 'meta.directive.import.erlang',
342
+ 'punctuation.section.directive.end.erlang' ],
343
+ regex: '(\\))(\\s*)(\\.)',
344
+ next: 'pop' },
345
+ { include: '#internal-function-list' },
346
+ { defaultToken: 'meta.directive.import.erlang' } ] },
347
+ { token:
348
+ [ 'meta.directive.export.erlang',
349
+ 'punctuation.section.directive.begin.erlang',
350
+ 'meta.directive.export.erlang',
351
+ 'keyword.control.directive.export.erlang',
352
+ 'meta.directive.export.erlang',
353
+ 'punctuation.definition.parameters.begin.erlang' ],
354
+ regex: '^(\\s*)(-)(\\s*)(export)(\\s*)(\\()',
355
+ push:
356
+ [ { token:
357
+ [ 'punctuation.definition.parameters.end.erlang',
358
+ 'meta.directive.export.erlang',
359
+ 'punctuation.section.directive.end.erlang' ],
360
+ regex: '(\\))(\\s*)(\\.)',
361
+ next: 'pop' },
362
+ { include: '#internal-function-list' },
363
+ { defaultToken: 'meta.directive.export.erlang' } ] } ],
364
+ '#internal-expression-punctuation':
365
+ [ { token:
366
+ [ 'punctuation.separator.clause-head-body.erlang',
367
+ 'punctuation.separator.clauses.erlang',
368
+ 'punctuation.separator.expressions.erlang' ],
369
+ regex: '(->)|(;)|(,)' } ],
370
+ '#internal-function-list':
371
+ [ { token: 'punctuation.definition.list.begin.erlang',
372
+ regex: '\\[',
373
+ push:
374
+ [ { token: 'punctuation.definition.list.end.erlang',
375
+ regex: '\\]',
376
+ next: 'pop' },
377
+ { token:
378
+ [ 'entity.name.function.erlang',
379
+ 'text',
380
+ 'punctuation.separator.function-arity.erlang' ],
381
+ regex: '([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(/)',
382
+ push:
383
+ [ { token: 'punctuation.separator.list.erlang',
384
+ regex: ',|(?=\\])',
385
+ next: 'pop' },
386
+ { include: '#everything-else' } ] },
387
+ { include: '#everything-else' },
388
+ { defaultToken: 'meta.structure.list.function.erlang' } ] } ],
389
+ '#internal-function-parts':
390
+ [ { token: 'text',
391
+ regex: '(?=\\()',
392
+ push:
393
+ [ { token: 'punctuation.separator.clause-head-body.erlang',
394
+ regex: '->',
395
+ next: 'pop' },
396
+ { token: 'punctuation.definition.parameters.begin.erlang',
397
+ regex: '\\(',
398
+ push:
399
+ [ { token: 'punctuation.definition.parameters.end.erlang',
400
+ regex: '\\)',
401
+ next: 'pop' },
402
+ { token: 'punctuation.separator.parameters.erlang', regex: ',' },
403
+ { include: '#everything-else' } ] },
404
+ { token: 'punctuation.separator.guards.erlang', regex: ',|;' },
405
+ { include: '#everything-else' } ] },
406
+ { token: 'punctuation.separator.expressions.erlang',
407
+ regex: ',' },
408
+ { include: '#everything-else' } ],
409
+ '#internal-record-body':
410
+ [ { token: 'punctuation.definition.class.record.begin.erlang',
411
+ regex: '\\{',
412
+ push:
413
+ [ { token: 'meta.structure.record.erlang',
414
+ regex: '(?=\\})',
415
+ next: 'pop' },
416
+ { token:
417
+ [ 'variable.other.field.erlang',
418
+ 'variable.language.omitted.field.erlang',
419
+ 'text',
420
+ 'keyword.operator.assignment.erlang' ],
421
+ regex: '(?:([a-z][a-zA-Z\\d@_]*|\'[^\']*\')|(_))(\\s*)(=|::)',
422
+ push:
423
+ [ { token: 'punctuation.separator.class.record.erlang',
424
+ regex: ',|(?=\\})',
425
+ next: 'pop' },
426
+ { include: '#everything-else' } ] },
427
+ { token:
428
+ [ 'variable.other.field.erlang',
429
+ 'text',
430
+ 'punctuation.separator.class.record.erlang' ],
431
+ regex: '([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)((?:,)?)' },
432
+ { include: '#everything-else' },
433
+ { defaultToken: 'meta.structure.record.erlang' } ] } ],
434
+ '#internal-type-specifiers':
435
+ [ { token: 'punctuation.separator.value-type.erlang',
436
+ regex: '/',
437
+ push:
438
+ [ { token: 'text', regex: '(?=,|:|>>)', next: 'pop' },
439
+ { token:
440
+ [ 'storage.type.erlang',
441
+ 'storage.modifier.signedness.erlang',
442
+ 'storage.modifier.endianness.erlang',
443
+ 'storage.modifier.unit.erlang',
444
+ 'punctuation.separator.type-specifiers.erlang' ],
445
+ regex: '(integer|float|binary|bytes|bitstring|bits)|(signed|unsigned)|(big|little|native)|(unit)|(-)' } ] } ],
446
+ '#keyword':
447
+ [ { token: 'keyword.control.erlang',
448
+ regex: '\\b(?:after|begin|case|catch|cond|end|fun|if|let|of|query|try|receive|when)\\b' } ],
449
+ '#list':
450
+ [ { token: 'punctuation.definition.list.begin.erlang',
451
+ regex: '\\[',
452
+ push:
453
+ [ { token: 'punctuation.definition.list.end.erlang',
454
+ regex: '\\]',
455
+ next: 'pop' },
456
+ { token: 'punctuation.separator.list.erlang',
457
+ regex: '\\||\\|\\||,' },
458
+ { include: '#everything-else' },
459
+ { defaultToken: 'meta.structure.list.erlang' } ] } ],
460
+ '#macro-directive':
461
+ [ { token:
462
+ [ 'meta.directive.ifdef.erlang',
463
+ 'punctuation.section.directive.begin.erlang',
464
+ 'meta.directive.ifdef.erlang',
465
+ 'keyword.control.directive.ifdef.erlang',
466
+ 'meta.directive.ifdef.erlang',
467
+ 'punctuation.definition.parameters.begin.erlang',
468
+ 'meta.directive.ifdef.erlang',
469
+ 'entity.name.function.macro.erlang',
470
+ 'meta.directive.ifdef.erlang',
471
+ 'punctuation.definition.parameters.end.erlang',
472
+ 'meta.directive.ifdef.erlang',
473
+ 'punctuation.section.directive.end.erlang' ],
474
+ regex: '^(\\s*)(-)(\\s*)(ifdef)(\\s*)(\\()(\\s*)([a-zA-Z\\d@_]+)(\\s*)(\\))(\\s*)(\\.)' },
475
+ { token:
476
+ [ 'meta.directive.ifndef.erlang',
477
+ 'punctuation.section.directive.begin.erlang',
478
+ 'meta.directive.ifndef.erlang',
479
+ 'keyword.control.directive.ifndef.erlang',
480
+ 'meta.directive.ifndef.erlang',
481
+ 'punctuation.definition.parameters.begin.erlang',
482
+ 'meta.directive.ifndef.erlang',
483
+ 'entity.name.function.macro.erlang',
484
+ 'meta.directive.ifndef.erlang',
485
+ 'punctuation.definition.parameters.end.erlang',
486
+ 'meta.directive.ifndef.erlang',
487
+ 'punctuation.section.directive.end.erlang' ],
488
+ regex: '^(\\s*)(-)(\\s*)(ifndef)(\\s*)(\\()(\\s*)([a-zA-Z\\d@_]+)(\\s*)(\\))(\\s*)(\\.)' },
489
+ { token:
490
+ [ 'meta.directive.undef.erlang',
491
+ 'punctuation.section.directive.begin.erlang',
492
+ 'meta.directive.undef.erlang',
493
+ 'keyword.control.directive.undef.erlang',
494
+ 'meta.directive.undef.erlang',
495
+ 'punctuation.definition.parameters.begin.erlang',
496
+ 'meta.directive.undef.erlang',
497
+ 'entity.name.function.macro.erlang',
498
+ 'meta.directive.undef.erlang',
499
+ 'punctuation.definition.parameters.end.erlang',
500
+ 'meta.directive.undef.erlang',
501
+ 'punctuation.section.directive.end.erlang' ],
502
+ regex: '^(\\s*)(-)(\\s*)(undef)(\\s*)(\\()(\\s*)([a-zA-Z\\d@_]+)(\\s*)(\\))(\\s*)(\\.)' } ],
503
+ '#macro-usage':
504
+ [ { token:
505
+ [ 'keyword.operator.macro.erlang',
506
+ 'meta.macro-usage.erlang',
507
+ 'entity.name.function.macro.erlang' ],
508
+ regex: '(\\?\\??)(\\s*)([a-zA-Z\\d@_]+)' } ],
509
+ '#module-directive':
510
+ [ { token:
511
+ [ 'meta.directive.module.erlang',
512
+ 'punctuation.section.directive.begin.erlang',
513
+ 'meta.directive.module.erlang',
514
+ 'keyword.control.directive.module.erlang',
515
+ 'meta.directive.module.erlang',
516
+ 'punctuation.definition.parameters.begin.erlang',
517
+ 'meta.directive.module.erlang',
518
+ 'entity.name.type.class.module.definition.erlang',
519
+ 'meta.directive.module.erlang',
520
+ 'punctuation.definition.parameters.end.erlang',
521
+ 'meta.directive.module.erlang',
522
+ 'punctuation.section.directive.end.erlang' ],
523
+ regex: '^(\\s*)(-)(\\s*)(module)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\))(\\s*)(\\.)' } ],
524
+ '#number':
525
+ [ { token: 'text',
526
+ regex: '(?=\\d)',
527
+ push:
528
+ [ { token: 'text', regex: '(?!\\d)', next: 'pop' },
529
+ { token:
530
+ [ 'constant.numeric.float.erlang',
531
+ 'punctuation.separator.integer-float.erlang',
532
+ 'constant.numeric.float.erlang',
533
+ 'punctuation.separator.float-exponent.erlang' ],
534
+ regex: '(\\d+)(\\.)(\\d+)((?:[eE][\\+\\-]?\\d+)?)' },
535
+ { token:
536
+ [ 'constant.numeric.integer.binary.erlang',
537
+ 'punctuation.separator.base-integer.erlang',
538
+ 'constant.numeric.integer.binary.erlang' ],
539
+ regex: '(2)(#)([0-1]+)' },
540
+ { token:
541
+ [ 'constant.numeric.integer.base-3.erlang',
542
+ 'punctuation.separator.base-integer.erlang',
543
+ 'constant.numeric.integer.base-3.erlang' ],
544
+ regex: '(3)(#)([0-2]+)' },
545
+ { token:
546
+ [ 'constant.numeric.integer.base-4.erlang',
547
+ 'punctuation.separator.base-integer.erlang',
548
+ 'constant.numeric.integer.base-4.erlang' ],
549
+ regex: '(4)(#)([0-3]+)' },
550
+ { token:
551
+ [ 'constant.numeric.integer.base-5.erlang',
552
+ 'punctuation.separator.base-integer.erlang',
553
+ 'constant.numeric.integer.base-5.erlang' ],
554
+ regex: '(5)(#)([0-4]+)' },
555
+ { token:
556
+ [ 'constant.numeric.integer.base-6.erlang',
557
+ 'punctuation.separator.base-integer.erlang',
558
+ 'constant.numeric.integer.base-6.erlang' ],
559
+ regex: '(6)(#)([0-5]+)' },
560
+ { token:
561
+ [ 'constant.numeric.integer.base-7.erlang',
562
+ 'punctuation.separator.base-integer.erlang',
563
+ 'constant.numeric.integer.base-7.erlang' ],
564
+ regex: '(7)(#)([0-6]+)' },
565
+ { token:
566
+ [ 'constant.numeric.integer.octal.erlang',
567
+ 'punctuation.separator.base-integer.erlang',
568
+ 'constant.numeric.integer.octal.erlang' ],
569
+ regex: '(8)(#)([0-7]+)' },
570
+ { token:
571
+ [ 'constant.numeric.integer.base-9.erlang',
572
+ 'punctuation.separator.base-integer.erlang',
573
+ 'constant.numeric.integer.base-9.erlang' ],
574
+ regex: '(9)(#)([0-8]+)' },
575
+ { token:
576
+ [ 'constant.numeric.integer.decimal.erlang',
577
+ 'punctuation.separator.base-integer.erlang',
578
+ 'constant.numeric.integer.decimal.erlang' ],
579
+ regex: '(10)(#)(\\d+)' },
580
+ { token:
581
+ [ 'constant.numeric.integer.base-11.erlang',
582
+ 'punctuation.separator.base-integer.erlang',
583
+ 'constant.numeric.integer.base-11.erlang' ],
584
+ regex: '(11)(#)([\\daA]+)' },
585
+ { token:
586
+ [ 'constant.numeric.integer.base-12.erlang',
587
+ 'punctuation.separator.base-integer.erlang',
588
+ 'constant.numeric.integer.base-12.erlang' ],
589
+ regex: '(12)(#)([\\da-bA-B]+)' },
590
+ { token:
591
+ [ 'constant.numeric.integer.base-13.erlang',
592
+ 'punctuation.separator.base-integer.erlang',
593
+ 'constant.numeric.integer.base-13.erlang' ],
594
+ regex: '(13)(#)([\\da-cA-C]+)' },
595
+ { token:
596
+ [ 'constant.numeric.integer.base-14.erlang',
597
+ 'punctuation.separator.base-integer.erlang',
598
+ 'constant.numeric.integer.base-14.erlang' ],
599
+ regex: '(14)(#)([\\da-dA-D]+)' },
600
+ { token:
601
+ [ 'constant.numeric.integer.base-15.erlang',
602
+ 'punctuation.separator.base-integer.erlang',
603
+ 'constant.numeric.integer.base-15.erlang' ],
604
+ regex: '(15)(#)([\\da-eA-E]+)' },
605
+ { token:
606
+ [ 'constant.numeric.integer.hexadecimal.erlang',
607
+ 'punctuation.separator.base-integer.erlang',
608
+ 'constant.numeric.integer.hexadecimal.erlang' ],
609
+ regex: '(16)(#)([\\da-fA-F]+)' },
610
+ { token:
611
+ [ 'constant.numeric.integer.base-17.erlang',
612
+ 'punctuation.separator.base-integer.erlang',
613
+ 'constant.numeric.integer.base-17.erlang' ],
614
+ regex: '(17)(#)([\\da-gA-G]+)' },
615
+ { token:
616
+ [ 'constant.numeric.integer.base-18.erlang',
617
+ 'punctuation.separator.base-integer.erlang',
618
+ 'constant.numeric.integer.base-18.erlang' ],
619
+ regex: '(18)(#)([\\da-hA-H]+)' },
620
+ { token:
621
+ [ 'constant.numeric.integer.base-19.erlang',
622
+ 'punctuation.separator.base-integer.erlang',
623
+ 'constant.numeric.integer.base-19.erlang' ],
624
+ regex: '(19)(#)([\\da-iA-I]+)' },
625
+ { token:
626
+ [ 'constant.numeric.integer.base-20.erlang',
627
+ 'punctuation.separator.base-integer.erlang',
628
+ 'constant.numeric.integer.base-20.erlang' ],
629
+ regex: '(20)(#)([\\da-jA-J]+)' },
630
+ { token:
631
+ [ 'constant.numeric.integer.base-21.erlang',
632
+ 'punctuation.separator.base-integer.erlang',
633
+ 'constant.numeric.integer.base-21.erlang' ],
634
+ regex: '(21)(#)([\\da-kA-K]+)' },
635
+ { token:
636
+ [ 'constant.numeric.integer.base-22.erlang',
637
+ 'punctuation.separator.base-integer.erlang',
638
+ 'constant.numeric.integer.base-22.erlang' ],
639
+ regex: '(22)(#)([\\da-lA-L]+)' },
640
+ { token:
641
+ [ 'constant.numeric.integer.base-23.erlang',
642
+ 'punctuation.separator.base-integer.erlang',
643
+ 'constant.numeric.integer.base-23.erlang' ],
644
+ regex: '(23)(#)([\\da-mA-M]+)' },
645
+ { token:
646
+ [ 'constant.numeric.integer.base-24.erlang',
647
+ 'punctuation.separator.base-integer.erlang',
648
+ 'constant.numeric.integer.base-24.erlang' ],
649
+ regex: '(24)(#)([\\da-nA-N]+)' },
650
+ { token:
651
+ [ 'constant.numeric.integer.base-25.erlang',
652
+ 'punctuation.separator.base-integer.erlang',
653
+ 'constant.numeric.integer.base-25.erlang' ],
654
+ regex: '(25)(#)([\\da-oA-O]+)' },
655
+ { token:
656
+ [ 'constant.numeric.integer.base-26.erlang',
657
+ 'punctuation.separator.base-integer.erlang',
658
+ 'constant.numeric.integer.base-26.erlang' ],
659
+ regex: '(26)(#)([\\da-pA-P]+)' },
660
+ { token:
661
+ [ 'constant.numeric.integer.base-27.erlang',
662
+ 'punctuation.separator.base-integer.erlang',
663
+ 'constant.numeric.integer.base-27.erlang' ],
664
+ regex: '(27)(#)([\\da-qA-Q]+)' },
665
+ { token:
666
+ [ 'constant.numeric.integer.base-28.erlang',
667
+ 'punctuation.separator.base-integer.erlang',
668
+ 'constant.numeric.integer.base-28.erlang' ],
669
+ regex: '(28)(#)([\\da-rA-R]+)' },
670
+ { token:
671
+ [ 'constant.numeric.integer.base-29.erlang',
672
+ 'punctuation.separator.base-integer.erlang',
673
+ 'constant.numeric.integer.base-29.erlang' ],
674
+ regex: '(29)(#)([\\da-sA-S]+)' },
675
+ { token:
676
+ [ 'constant.numeric.integer.base-30.erlang',
677
+ 'punctuation.separator.base-integer.erlang',
678
+ 'constant.numeric.integer.base-30.erlang' ],
679
+ regex: '(30)(#)([\\da-tA-T]+)' },
680
+ { token:
681
+ [ 'constant.numeric.integer.base-31.erlang',
682
+ 'punctuation.separator.base-integer.erlang',
683
+ 'constant.numeric.integer.base-31.erlang' ],
684
+ regex: '(31)(#)([\\da-uA-U]+)' },
685
+ { token:
686
+ [ 'constant.numeric.integer.base-32.erlang',
687
+ 'punctuation.separator.base-integer.erlang',
688
+ 'constant.numeric.integer.base-32.erlang' ],
689
+ regex: '(32)(#)([\\da-vA-V]+)' },
690
+ { token:
691
+ [ 'constant.numeric.integer.base-33.erlang',
692
+ 'punctuation.separator.base-integer.erlang',
693
+ 'constant.numeric.integer.base-33.erlang' ],
694
+ regex: '(33)(#)([\\da-wA-W]+)' },
695
+ { token:
696
+ [ 'constant.numeric.integer.base-34.erlang',
697
+ 'punctuation.separator.base-integer.erlang',
698
+ 'constant.numeric.integer.base-34.erlang' ],
699
+ regex: '(34)(#)([\\da-xA-X]+)' },
700
+ { token:
701
+ [ 'constant.numeric.integer.base-35.erlang',
702
+ 'punctuation.separator.base-integer.erlang',
703
+ 'constant.numeric.integer.base-35.erlang' ],
704
+ regex: '(35)(#)([\\da-yA-Y]+)' },
705
+ { token:
706
+ [ 'constant.numeric.integer.base-36.erlang',
707
+ 'punctuation.separator.base-integer.erlang',
708
+ 'constant.numeric.integer.base-36.erlang' ],
709
+ regex: '(36)(#)([\\da-zA-Z]+)' },
710
+ { token: 'invalid.illegal.integer.erlang',
711
+ regex: '\\d+#[\\da-zA-Z]+' },
712
+ { token: 'constant.numeric.integer.decimal.erlang',
713
+ regex: '\\d+' } ] } ],
714
+ '#parenthesized-expression':
715
+ [ { token: 'punctuation.section.expression.begin.erlang',
716
+ regex: '\\(',
717
+ push:
718
+ [ { token: 'punctuation.section.expression.end.erlang',
719
+ regex: '\\)',
720
+ next: 'pop' },
721
+ { include: '#everything-else' },
722
+ { defaultToken: 'meta.expression.parenthesized' } ] } ],
723
+ '#record-directive':
724
+ [ { token:
725
+ [ 'meta.directive.record.erlang',
726
+ 'punctuation.section.directive.begin.erlang',
727
+ 'meta.directive.record.erlang',
728
+ 'keyword.control.directive.import.erlang',
729
+ 'meta.directive.record.erlang',
730
+ 'punctuation.definition.parameters.begin.erlang',
731
+ 'meta.directive.record.erlang',
732
+ 'entity.name.type.class.record.definition.erlang',
733
+ 'meta.directive.record.erlang',
734
+ 'punctuation.separator.parameters.erlang' ],
735
+ regex: '^(\\s*)(-)(\\s*)(record)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(,)',
736
+ push:
737
+ [ { token:
738
+ [ 'punctuation.definition.class.record.end.erlang',
739
+ 'meta.directive.record.erlang',
740
+ 'punctuation.definition.parameters.end.erlang',
741
+ 'meta.directive.record.erlang',
742
+ 'punctuation.section.directive.end.erlang' ],
743
+ regex: '(\\})(\\s*)(\\))(\\s*)(\\.)',
744
+ next: 'pop' },
745
+ { include: '#internal-record-body' },
746
+ { defaultToken: 'meta.directive.record.erlang' } ] } ],
747
+ '#record-usage':
748
+ [ { token:
749
+ [ 'keyword.operator.record.erlang',
750
+ 'meta.record-usage.erlang',
751
+ 'entity.name.type.class.record.erlang',
752
+ 'meta.record-usage.erlang',
753
+ 'punctuation.separator.record-field.erlang',
754
+ 'meta.record-usage.erlang',
755
+ 'variable.other.field.erlang' ],
756
+ regex: '(#)(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(\\.)(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')' },
757
+ { token:
758
+ [ 'keyword.operator.record.erlang',
759
+ 'meta.record-usage.erlang',
760
+ 'entity.name.type.class.record.erlang' ],
761
+ regex: '(#)(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')',
762
+ push:
763
+ [ { token: 'punctuation.definition.class.record.end.erlang',
764
+ regex: '\\}',
765
+ next: 'pop' },
766
+ { include: '#internal-record-body' },
767
+ { defaultToken: 'meta.record-usage.erlang' } ] } ],
768
+ '#string':
769
+ [ { token: 'punctuation.definition.string.begin.erlang',
770
+ regex: '"',
771
+ push:
772
+ [ { token: 'punctuation.definition.string.end.erlang',
773
+ regex: '"',
774
+ next: 'pop' },
775
+ { token:
776
+ [ 'punctuation.definition.escape.erlang',
777
+ 'constant.character.escape.erlang',
778
+ 'punctuation.definition.escape.erlang',
779
+ 'constant.character.escape.erlang',
780
+ 'constant.character.escape.erlang' ],
781
+ regex: '(\\\\)(?:([bdefnrstv\\\\\'"])|(\\^)([@-_])|([0-7]{1,3}))' },
782
+ { token: 'invalid.illegal.string.erlang', regex: '\\\\\\^?.?' },
783
+ { token:
784
+ [ 'punctuation.definition.placeholder.erlang',
785
+ 'punctuation.separator.placeholder-parts.erlang',
786
+ 'constant.other.placeholder.erlang',
787
+ 'punctuation.separator.placeholder-parts.erlang',
788
+ 'punctuation.separator.placeholder-parts.erlang',
789
+ 'constant.other.placeholder.erlang',
790
+ 'punctuation.separator.placeholder-parts.erlang',
791
+ 'punctuation.separator.placeholder-parts.erlang',
792
+ 'punctuation.separator.placeholder-parts.erlang',
793
+ 'constant.other.placeholder.erlang',
794
+ 'constant.other.placeholder.erlang' ],
795
+ regex: '(~)(?:((?:\\-)?)(\\d+)|(\\*))?(?:(\\.)(?:(\\d+)|(\\*)))?(?:(\\.)(?:(\\*)|(.)))?([~cfegswpWPBX#bx\\+ni])' },
796
+ { token:
797
+ [ 'punctuation.definition.placeholder.erlang',
798
+ 'punctuation.separator.placeholder-parts.erlang',
799
+ 'constant.other.placeholder.erlang',
800
+ 'constant.other.placeholder.erlang' ],
801
+ regex: '(~)((?:\\*)?)((?:\\d+)?)([~du\\-#fsacl])' },
802
+ { token: 'invalid.illegal.string.erlang', regex: '~.?' },
803
+ { defaultToken: 'string.quoted.double.erlang' } ] } ],
804
+ '#symbolic-operator':
805
+ [ { token: 'keyword.operator.symbolic.erlang',
806
+ regex: '\\+\\+|\\+|--|-|\\*|/=|/|=/=|=:=|==|=<|=|<-|<|>=|>|!|::' } ],
807
+ '#textual-operator':
808
+ [ { token: 'keyword.operator.textual.erlang',
809
+ regex: '\\b(?:andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\b' } ],
810
+ '#tuple':
811
+ [ { token: 'punctuation.definition.tuple.begin.erlang',
812
+ regex: '\\{',
813
+ push:
814
+ [ { token: 'punctuation.definition.tuple.end.erlang',
815
+ regex: '\\}',
816
+ next: 'pop' },
817
+ { token: 'punctuation.separator.tuple.erlang', regex: ',' },
818
+ { include: '#everything-else' },
819
+ { defaultToken: 'meta.structure.tuple.erlang' } ] } ],
820
+ '#variable':
821
+ [ { token: [ 'variable.other.erlang', 'variable.language.omitted.erlang' ],
822
+ regex: '(_[a-zA-Z\\d@_]+|[A-Z][a-zA-Z\\d@_]*)|(_)' } ] };
823
+
824
+ this.normalizeRules();
825
+ };
826
+
827
+ ErlangHighlightRules.metaData = { comment: 'The recognition of function definitions and compiler directives (such as module, record and macro definitions) requires that each of the aforementioned constructs must be the first string inside a line (except for whitespace). Also, the function/module/record/macro names must be given unquoted. -- desp',
828
+ fileTypes: [ 'erl', 'hrl' ],
829
+ keyEquivalent: '^~E',
830
+ name: 'Erlang',
831
+ scopeName: 'source.erlang' };
832
+
833
+
834
+ oop.inherits(ErlangHighlightRules, TextHighlightRules);
835
+
836
+ exports.ErlangHighlightRules = ErlangHighlightRules;
837
+ });
838
+
839
+ define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
840
+ "use strict";
841
+
842
+ var oop = require("../../lib/oop");
843
+ var Range = require("../../range").Range;
844
+ var BaseFoldMode = require("./fold_mode").FoldMode;
845
+
846
+ var FoldMode = exports.FoldMode = function(commentRegex) {
847
+ if (commentRegex) {
848
+ this.foldingStartMarker = new RegExp(
849
+ this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
850
+ );
851
+ this.foldingStopMarker = new RegExp(
852
+ this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
853
+ );
854
+ }
855
+ };
856
+ oop.inherits(FoldMode, BaseFoldMode);
857
+
858
+ (function() {
859
+
860
+ this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/;
861
+ this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/;
862
+ this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/;
863
+ this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/;
864
+ this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/;
865
+ this._getFoldWidgetBase = this.getFoldWidget;
866
+ this.getFoldWidget = function(session, foldStyle, row) {
867
+ var line = session.getLine(row);
868
+
869
+ if (this.singleLineBlockCommentRe.test(line)) {
870
+ if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))
871
+ return "";
872
+ }
873
+
874
+ var fw = this._getFoldWidgetBase(session, foldStyle, row);
875
+
876
+ if (!fw && this.startRegionRe.test(line))
877
+ return "start"; // lineCommentRegionStart
878
+
879
+ return fw;
880
+ };
881
+
882
+ this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
883
+ var line = session.getLine(row);
884
+
885
+ if (this.startRegionRe.test(line))
886
+ return this.getCommentRegionBlock(session, line, row);
887
+
888
+ var match = line.match(this.foldingStartMarker);
889
+ if (match) {
890
+ var i = match.index;
891
+
892
+ if (match[1])
893
+ return this.openingBracketBlock(session, match[1], row, i);
894
+
895
+ var range = session.getCommentFoldRange(row, i + match[0].length, 1);
896
+
897
+ if (range && !range.isMultiLine()) {
898
+ if (forceMultiline) {
899
+ range = this.getSectionRange(session, row);
900
+ } else if (foldStyle != "all")
901
+ range = null;
902
+ }
903
+
904
+ return range;
905
+ }
906
+
907
+ if (foldStyle === "markbegin")
908
+ return;
909
+
910
+ var match = line.match(this.foldingStopMarker);
911
+ if (match) {
912
+ var i = match.index + match[0].length;
913
+
914
+ if (match[1])
915
+ return this.closingBracketBlock(session, match[1], row, i);
916
+
917
+ return session.getCommentFoldRange(row, i, -1);
918
+ }
919
+ };
920
+
921
+ this.getSectionRange = function(session, row) {
922
+ var line = session.getLine(row);
923
+ var startIndent = line.search(/\S/);
924
+ var startRow = row;
925
+ var startColumn = line.length;
926
+ row = row + 1;
927
+ var endRow = row;
928
+ var maxRow = session.getLength();
929
+ while (++row < maxRow) {
930
+ line = session.getLine(row);
931
+ var indent = line.search(/\S/);
932
+ if (indent === -1)
933
+ continue;
934
+ if (startIndent > indent)
935
+ break;
936
+ var subRange = this.getFoldWidgetRange(session, "all", row);
937
+
938
+ if (subRange) {
939
+ if (subRange.start.row <= startRow) {
940
+ break;
941
+ } else if (subRange.isMultiLine()) {
942
+ row = subRange.end.row;
943
+ } else if (startIndent == indent) {
944
+ break;
945
+ }
946
+ }
947
+ endRow = row;
948
+ }
949
+
950
+ return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
951
+ };
952
+ this.getCommentRegionBlock = function(session, line, row) {
953
+ var startColumn = line.search(/\s*$/);
954
+ var maxRow = session.getLength();
955
+ var startRow = row;
956
+
957
+ var re = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/;
958
+ var depth = 1;
959
+ while (++row < maxRow) {
960
+ line = session.getLine(row);
961
+ var m = re.exec(line);
962
+ if (!m) continue;
963
+ if (m[1]) depth--;
964
+ else depth++;
965
+
966
+ if (!depth) break;
967
+ }
968
+
969
+ var endRow = row;
970
+ if (endRow > startRow) {
971
+ return new Range(startRow, startColumn, endRow, line.length);
972
+ }
973
+ };
974
+
975
+ }).call(FoldMode.prototype);
976
+
977
+ });
978
+
979
+ define("ace/mode/erlang",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/erlang_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module) {
980
+ "use strict";
981
+
982
+ var oop = require("../lib/oop");
983
+ var TextMode = require("./text").Mode;
984
+ var ErlangHighlightRules = require("./erlang_highlight_rules").ErlangHighlightRules;
985
+ var FoldMode = require("./folding/cstyle").FoldMode;
986
+
987
+ var Mode = function() {
988
+ this.HighlightRules = ErlangHighlightRules;
989
+ this.foldingRules = new FoldMode();
990
+ this.$behaviour = this.$defaultBehaviour;
991
+ };
992
+ oop.inherits(Mode, TextMode);
993
+
994
+ (function() {
995
+ this.lineCommentStart = "%";
996
+ this.blockComment = null;
997
+ this.$id = "ace/mode/erlang";
998
+ }).call(Mode.prototype);
999
+
1000
+ exports.Mode = Mode;
1001
+ });
1002
+ (function() {
1003
+ window.require(["ace/mode/erlang"], function(m) {
1004
+ if (typeof module == "object" && typeof exports == "object" && module) {
1005
+ module.exports = m;
1006
+ }
1007
+ });
1008
+ })();
1009
+