ace-rails-ap 4.1.3 → 4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (437) hide show
  1. checksums.yaml +5 -5
  2. data/.gitmodules +1 -1
  3. data/Gemfile +2 -3
  4. data/ace-rails-ap.gemspec +0 -2
  5. data/lib/ace/rails/version.rb +1 -1
  6. data/update.sh +1 -1
  7. data/vendor/assets/javascripts/ace/ace.js +5192 -3414
  8. data/vendor/assets/javascripts/ace/ext-beautify.js +281 -288
  9. data/vendor/assets/javascripts/ace/ext-code_lens.js +238 -0
  10. data/vendor/assets/javascripts/ace/ext-elastic_tabstops_lite.js +6 -3
  11. data/vendor/assets/javascripts/ace/ext-emmet.js +353 -246
  12. data/vendor/assets/javascripts/ace/ext-error_marker.js +6 -3
  13. data/vendor/assets/javascripts/ace/ext-keybinding_menu.js +61 -38
  14. data/vendor/assets/javascripts/ace/ext-language_tools.js +532 -343
  15. data/vendor/assets/javascripts/ace/ext-linking.js +8 -5
  16. data/vendor/assets/javascripts/ace/ext-modelist.js +46 -12
  17. data/vendor/assets/javascripts/ace/ext-options.js +793 -0
  18. data/vendor/assets/javascripts/ace/ext-prompt.js +2783 -0
  19. data/vendor/assets/javascripts/ace/ext-rtl.js +122 -0
  20. data/vendor/assets/javascripts/ace/ext-searchbox.js +45 -40
  21. data/vendor/assets/javascripts/ace/ext-settings_menu.js +520 -369
  22. data/vendor/assets/javascripts/ace/ext-spellcheck.js +6 -4
  23. data/vendor/assets/javascripts/ace/ext-split.js +7 -46
  24. data/vendor/assets/javascripts/ace/ext-static_highlight.js +90 -22
  25. data/vendor/assets/javascripts/ace/ext-statusbar.js +9 -6
  26. data/vendor/assets/javascripts/ace/ext-textarea.js +21 -18
  27. data/vendor/assets/javascripts/ace/ext-themelist.js +10 -6
  28. data/vendor/assets/javascripts/ace/ext-whitespace.js +13 -6
  29. data/vendor/assets/javascripts/ace/keybinding-emacs.js +49 -61
  30. data/vendor/assets/javascripts/ace/keybinding-sublime.js +422 -0
  31. data/vendor/assets/javascripts/ace/keybinding-vim.js +620 -287
  32. data/vendor/assets/javascripts/ace/keybinding-vscode.js +262 -0
  33. data/vendor/assets/javascripts/ace/mode-abap.js +10 -3
  34. data/vendor/assets/javascripts/ace/mode-abc.js +14 -4
  35. data/vendor/assets/javascripts/ace/mode-actionscript.js +13 -5
  36. data/vendor/assets/javascripts/ace/mode-ada.js +54 -4
  37. data/vendor/assets/javascripts/ace/mode-alda.js +311 -0
  38. data/vendor/assets/javascripts/ace/mode-apache_conf.js +12 -5
  39. data/vendor/assets/javascripts/ace/mode-apex.js +457 -0
  40. data/vendor/assets/javascripts/ace/mode-applescript.js +11 -4
  41. data/vendor/assets/javascripts/ace/mode-aql.js +102 -0
  42. data/vendor/assets/javascripts/ace/mode-asciidoc.js +9 -2
  43. data/vendor/assets/javascripts/ace/mode-asl.js +422 -0
  44. data/vendor/assets/javascripts/ace/mode-assembly_x86.js +11 -4
  45. data/vendor/assets/javascripts/ace/mode-autohotkey.js +17 -8
  46. data/vendor/assets/javascripts/ace/mode-batchfile.js +12 -5
  47. data/vendor/assets/javascripts/ace/mode-c9search.js +9 -3
  48. data/vendor/assets/javascripts/ace/mode-c_cpp.js +23 -7
  49. data/vendor/assets/javascripts/ace/mode-cirru.js +11 -4
  50. data/vendor/assets/javascripts/ace/mode-clojure.js +9 -1
  51. data/vendor/assets/javascripts/ace/mode-cobol.js +8 -1
  52. data/vendor/assets/javascripts/ace/mode-coffee.js +12 -4
  53. data/vendor/assets/javascripts/ace/mode-coldfusion.js +163 -134
  54. data/vendor/assets/javascripts/ace/mode-crystal.js +642 -0
  55. data/vendor/assets/javascripts/ace/mode-csharp.js +13 -6
  56. data/vendor/assets/javascripts/ace/mode-csound_document.js +4036 -0
  57. data/vendor/assets/javascripts/ace/mode-csound_orchestra.js +2966 -0
  58. data/vendor/assets/javascripts/ace/mode-csound_score.js +462 -0
  59. data/vendor/assets/javascripts/ace/mode-csp.js +59 -0
  60. data/vendor/assets/javascripts/ace/mode-css.js +48 -27
  61. data/vendor/assets/javascripts/ace/mode-curly.js +162 -133
  62. data/vendor/assets/javascripts/ace/mode-d.js +12 -5
  63. data/vendor/assets/javascripts/ace/mode-dart.js +46 -20
  64. data/vendor/assets/javascripts/ace/mode-diff.js +11 -3
  65. data/vendor/assets/javascripts/ace/mode-django.js +164 -134
  66. data/vendor/assets/javascripts/ace/mode-dockerfile.js +12 -4
  67. data/vendor/assets/javascripts/ace/mode-dot.js +11 -4
  68. data/vendor/assets/javascripts/ace/mode-drools.js +46 -5
  69. data/vendor/assets/javascripts/ace/mode-edifact.js +166 -0
  70. data/vendor/assets/javascripts/ace/mode-eiffel.js +8 -1
  71. data/vendor/assets/javascripts/ace/mode-ejs.js +832 -298
  72. data/vendor/assets/javascripts/ace/mode-elixir.js +11 -4
  73. data/vendor/assets/javascripts/ace/mode-elm.js +10 -3
  74. data/vendor/assets/javascripts/ace/mode-erlang.js +13 -5
  75. data/vendor/assets/javascripts/ace/mode-forth.js +12 -5
  76. data/vendor/assets/javascripts/ace/mode-fortran.js +10 -3
  77. data/vendor/assets/javascripts/ace/mode-fsharp.js +316 -0
  78. data/vendor/assets/javascripts/ace/{mode-mipsassembler.js → mode-fsl.js} +91 -28
  79. data/vendor/assets/javascripts/ace/mode-ftl.js +23 -12
  80. data/vendor/assets/javascripts/ace/mode-gcode.js +8 -1
  81. data/vendor/assets/javascripts/ace/mode-gherkin.js +9 -4
  82. data/vendor/assets/javascripts/ace/mode-gitignore.js +8 -1
  83. data/vendor/assets/javascripts/ace/mode-glsl.js +24 -8
  84. data/vendor/assets/javascripts/ace/mode-gobstones.js +267 -99
  85. data/vendor/assets/javascripts/ace/mode-golang.js +11 -4
  86. data/vendor/assets/javascripts/ace/mode-graphqlschema.js +11 -3
  87. data/vendor/assets/javascripts/ace/mode-groovy.js +14 -5
  88. data/vendor/assets/javascripts/ace/mode-haml.js +442 -116
  89. data/vendor/assets/javascripts/ace/mode-handlebars.js +162 -133
  90. data/vendor/assets/javascripts/ace/mode-haskell.js +14 -6
  91. data/vendor/assets/javascripts/ace/mode-haskell_cabal.js +8 -1
  92. data/vendor/assets/javascripts/ace/mode-haxe.js +11 -4
  93. data/vendor/assets/javascripts/ace/mode-hjson.js +13 -6
  94. data/vendor/assets/javascripts/ace/mode-html.js +162 -133
  95. data/vendor/assets/javascripts/ace/mode-html_elixir.js +165 -136
  96. data/vendor/assets/javascripts/ace/mode-html_ruby.js +832 -298
  97. data/vendor/assets/javascripts/ace/mode-ini.js +8 -1
  98. data/vendor/assets/javascripts/ace/mode-io.js +14 -12
  99. data/vendor/assets/javascripts/ace/mode-jack.js +10 -3
  100. data/vendor/assets/javascripts/ace/mode-jade.js +272 -376
  101. data/vendor/assets/javascripts/ace/mode-java.js +110 -7
  102. data/vendor/assets/javascripts/ace/mode-javascript.js +14 -5
  103. data/vendor/assets/javascripts/ace/mode-json.js +13 -3
  104. data/vendor/assets/javascripts/ace/mode-json5.js +360 -0
  105. data/vendor/assets/javascripts/ace/mode-jsoniq.js +25 -12
  106. data/vendor/assets/javascripts/ace/mode-jsp.js +60 -15
  107. data/vendor/assets/javascripts/ace/mode-jssm.js +325 -0
  108. data/vendor/assets/javascripts/ace/mode-jsx.js +11 -4
  109. data/vendor/assets/javascripts/ace/mode-julia.js +12 -5
  110. data/vendor/assets/javascripts/ace/mode-kotlin.js +18 -7
  111. data/vendor/assets/javascripts/ace/mode-latex.js +87 -15
  112. data/vendor/assets/javascripts/ace/mode-less.js +47 -27
  113. data/vendor/assets/javascripts/ace/mode-liquid.js +2030 -472
  114. data/vendor/assets/javascripts/ace/mode-lisp.js +9 -2
  115. data/vendor/assets/javascripts/ace/mode-livescript.js +10 -2
  116. data/vendor/assets/javascripts/ace/mode-logiql.js +10 -3
  117. data/vendor/assets/javascripts/ace/mode-logtalk.js +352 -0
  118. data/vendor/assets/javascripts/ace/mode-lsl.js +11 -3
  119. data/vendor/assets/javascripts/ace/mode-lua.js +40 -12
  120. data/vendor/assets/javascripts/ace/mode-luapage.js +194 -144
  121. data/vendor/assets/javascripts/ace/mode-lucene.js +106 -22
  122. data/vendor/assets/javascripts/ace/mode-makefile.js +11 -3
  123. data/vendor/assets/javascripts/ace/mode-markdown.js +530 -201
  124. data/vendor/assets/javascripts/ace/mode-mask.js +101 -84
  125. data/vendor/assets/javascripts/ace/mode-matlab.js +8 -1
  126. data/vendor/assets/javascripts/ace/mode-maze.js +11 -3
  127. data/vendor/assets/javascripts/ace/mode-mediawiki.js +592 -0
  128. data/vendor/assets/javascripts/ace/mode-mel.js +11 -4
  129. data/vendor/assets/javascripts/ace/mode-mixal.js +122 -0
  130. data/vendor/assets/javascripts/ace/mode-mushcode.js +9 -2
  131. data/vendor/assets/javascripts/ace/mode-mysql.js +11 -4
  132. data/vendor/assets/javascripts/ace/mode-nginx.js +298 -0
  133. data/vendor/assets/javascripts/ace/mode-nim.js +363 -0
  134. data/vendor/assets/javascripts/ace/mode-nix.js +23 -7
  135. data/vendor/assets/javascripts/ace/mode-nsis.js +15 -8
  136. data/vendor/assets/javascripts/ace/mode-nunjucks.js +2698 -0
  137. data/vendor/assets/javascripts/ace/mode-objectivec.js +23 -8
  138. data/vendor/assets/javascripts/ace/mode-ocaml.js +8 -1
  139. data/vendor/assets/javascripts/ace/mode-pascal.js +92 -67
  140. data/vendor/assets/javascripts/ace/mode-perl.js +11 -3
  141. data/vendor/assets/javascripts/ace/mode-perl6.js +593 -0
  142. data/vendor/assets/javascripts/ace/mode-pgsql.js +314 -71
  143. data/vendor/assets/javascripts/ace/mode-php.js +1042 -995
  144. data/vendor/assets/javascripts/ace/mode-php_laravel_blade.js +13104 -0
  145. data/vendor/assets/javascripts/ace/mode-pig.js +13 -6
  146. data/vendor/assets/javascripts/ace/mode-plain_text.js +8 -1
  147. data/vendor/assets/javascripts/ace/mode-powershell.js +10 -3
  148. data/vendor/assets/javascripts/ace/mode-praat.js +17 -7
  149. data/vendor/assets/javascripts/ace/mode-prisma.js +489 -0
  150. data/vendor/assets/javascripts/ace/mode-prolog.js +12 -5
  151. data/vendor/assets/javascripts/ace/mode-properties.js +8 -1
  152. data/vendor/assets/javascripts/ace/mode-protobuf.js +23 -7
  153. data/vendor/assets/javascripts/ace/mode-puppet.js +368 -0
  154. data/vendor/assets/javascripts/ace/mode-python.js +306 -63
  155. data/vendor/assets/javascripts/ace/mode-qml.js +381 -0
  156. data/vendor/assets/javascripts/ace/mode-r.js +15 -4
  157. data/vendor/assets/javascripts/ace/mode-razor.js +166 -136
  158. data/vendor/assets/javascripts/ace/mode-rdoc.js +41 -3
  159. data/vendor/assets/javascripts/ace/mode-red.js +450 -0
  160. data/vendor/assets/javascripts/ace/mode-redshift.js +360 -0
  161. data/vendor/assets/javascripts/ace/mode-rhtml.js +162 -133
  162. data/vendor/assets/javascripts/ace/mode-rst.js +9 -1
  163. data/vendor/assets/javascripts/ace/mode-ruby.js +678 -166
  164. data/vendor/assets/javascripts/ace/mode-rust.js +16 -7
  165. data/vendor/assets/javascripts/ace/mode-sass.js +211 -116
  166. data/vendor/assets/javascripts/ace/mode-scad.js +11 -4
  167. data/vendor/assets/javascripts/ace/mode-scala.js +14 -5
  168. data/vendor/assets/javascripts/ace/mode-scheme.js +9 -2
  169. data/vendor/assets/javascripts/ace/mode-scss.js +412 -125
  170. data/vendor/assets/javascripts/ace/mode-sh.js +12 -4
  171. data/vendor/assets/javascripts/ace/mode-sjs.js +16 -7
  172. data/vendor/assets/javascripts/ace/mode-slim.js +5240 -0
  173. data/vendor/assets/javascripts/ace/mode-smarty.js +164 -135
  174. data/vendor/assets/javascripts/ace/mode-snippets.js +24 -16
  175. data/vendor/assets/javascripts/ace/mode-soy_template.js +164 -135
  176. data/vendor/assets/javascripts/ace/mode-space.js +8 -1
  177. data/vendor/assets/javascripts/ace/mode-sparql.js +13 -6
  178. data/vendor/assets/javascripts/ace/mode-sql.js +10 -2
  179. data/vendor/assets/javascripts/ace/mode-sqlserver.js +13 -5
  180. data/vendor/assets/javascripts/ace/mode-stylus.js +20 -10
  181. data/vendor/assets/javascripts/ace/mode-svg.js +27 -13
  182. data/vendor/assets/javascripts/ace/mode-swift.js +21 -8
  183. data/vendor/assets/javascripts/ace/mode-tcl.js +14 -3
  184. data/vendor/assets/javascripts/ace/mode-terraform.js +400 -0
  185. data/vendor/assets/javascripts/ace/mode-tex.js +9 -1
  186. data/vendor/assets/javascripts/ace/mode-text.js +8 -0
  187. data/vendor/assets/javascripts/ace/mode-textile.js +9 -1
  188. data/vendor/assets/javascripts/ace/mode-toml.js +9 -2
  189. data/vendor/assets/javascripts/ace/mode-tsx.js +28 -31
  190. data/vendor/assets/javascripts/ace/mode-turtle.js +13 -6
  191. data/vendor/assets/javascripts/ace/mode-twig.js +163 -134
  192. data/vendor/assets/javascripts/ace/mode-typescript.js +28 -31
  193. data/vendor/assets/javascripts/ace/mode-vala.js +14 -6
  194. data/vendor/assets/javascripts/ace/mode-vbscript.js +453 -17
  195. data/vendor/assets/javascripts/ace/mode-velocity.js +163 -133
  196. data/vendor/assets/javascripts/ace/mode-verilog.js +19 -5
  197. data/vendor/assets/javascripts/ace/mode-vhdl.js +13 -7
  198. data/vendor/assets/javascripts/ace/mode-visualforce.js +2640 -0
  199. data/vendor/assets/javascripts/ace/mode-wollok.js +17 -8
  200. data/vendor/assets/javascripts/ace/mode-xml.js +21 -9
  201. data/vendor/assets/javascripts/ace/mode-xquery.js +25 -12
  202. data/vendor/assets/javascripts/ace/mode-yaml.js +59 -18
  203. data/vendor/assets/javascripts/ace/mode-zeek.js +539 -0
  204. data/vendor/assets/javascripts/ace/snippets/abap.js +8 -6
  205. data/vendor/assets/javascripts/ace/snippets/abc.js +8 -1
  206. data/vendor/assets/javascripts/ace/snippets/actionscript.js +8 -1
  207. data/vendor/assets/javascripts/ace/snippets/ada.js +8 -6
  208. data/vendor/assets/javascripts/ace/snippets/alda.js +9 -0
  209. data/vendor/assets/javascripts/ace/snippets/apache_conf.js +8 -6
  210. data/vendor/assets/javascripts/ace/snippets/apex.js +9 -0
  211. data/vendor/assets/javascripts/ace/snippets/applescript.js +8 -6
  212. data/vendor/assets/javascripts/ace/snippets/aql.js +9 -0
  213. data/vendor/assets/javascripts/ace/snippets/asciidoc.js +8 -6
  214. data/vendor/assets/javascripts/ace/snippets/asl.js +9 -0
  215. data/vendor/assets/javascripts/ace/snippets/assembly_x86.js +8 -6
  216. data/vendor/assets/javascripts/ace/snippets/autohotkey.js +8 -6
  217. data/vendor/assets/javascripts/ace/snippets/batchfile.js +8 -6
  218. data/vendor/assets/javascripts/ace/snippets/c9search.js +8 -6
  219. data/vendor/assets/javascripts/ace/snippets/c_cpp.js +8 -1
  220. data/vendor/assets/javascripts/ace/snippets/cirru.js +8 -6
  221. data/vendor/assets/javascripts/ace/snippets/clojure.js +8 -1
  222. data/vendor/assets/javascripts/ace/snippets/cobol.js +8 -6
  223. data/vendor/assets/javascripts/ace/snippets/coffee.js +8 -1
  224. data/vendor/assets/javascripts/ace/snippets/coldfusion.js +8 -6
  225. data/vendor/assets/javascripts/ace/snippets/crystal.js +9 -0
  226. data/vendor/assets/javascripts/ace/snippets/csharp.js +8 -6
  227. data/vendor/assets/javascripts/ace/snippets/csound_document.js +24 -0
  228. data/vendor/assets/javascripts/ace/snippets/csound_orchestra.js +61 -0
  229. data/vendor/assets/javascripts/ace/snippets/csound_score.js +9 -0
  230. data/vendor/assets/javascripts/ace/snippets/csp.js +9 -0
  231. data/vendor/assets/javascripts/ace/snippets/css.js +8 -1
  232. data/vendor/assets/javascripts/ace/snippets/curly.js +8 -6
  233. data/vendor/assets/javascripts/ace/snippets/d.js +8 -6
  234. data/vendor/assets/javascripts/ace/snippets/dart.js +8 -1
  235. data/vendor/assets/javascripts/ace/snippets/diff.js +8 -1
  236. data/vendor/assets/javascripts/ace/snippets/django.js +8 -1
  237. data/vendor/assets/javascripts/ace/snippets/dockerfile.js +8 -6
  238. data/vendor/assets/javascripts/ace/snippets/dot.js +8 -6
  239. data/vendor/assets/javascripts/ace/snippets/drools.js +8 -1
  240. data/vendor/assets/javascripts/ace/snippets/edifact.js +254 -0
  241. data/vendor/assets/javascripts/ace/snippets/eiffel.js +8 -6
  242. data/vendor/assets/javascripts/ace/snippets/ejs.js +8 -6
  243. data/vendor/assets/javascripts/ace/snippets/elixir.js +8 -6
  244. data/vendor/assets/javascripts/ace/snippets/elm.js +8 -6
  245. data/vendor/assets/javascripts/ace/snippets/erlang.js +8 -1
  246. data/vendor/assets/javascripts/ace/snippets/forth.js +8 -6
  247. data/vendor/assets/javascripts/ace/snippets/fortran.js +8 -6
  248. data/vendor/assets/javascripts/ace/snippets/fsharp.js +9 -0
  249. data/vendor/assets/javascripts/ace/snippets/fsl.js +14 -0
  250. data/vendor/assets/javascripts/ace/snippets/ftl.js +8 -6
  251. data/vendor/assets/javascripts/ace/snippets/gcode.js +8 -6
  252. data/vendor/assets/javascripts/ace/snippets/gherkin.js +8 -6
  253. data/vendor/assets/javascripts/ace/snippets/gitignore.js +8 -6
  254. data/vendor/assets/javascripts/ace/snippets/glsl.js +8 -6
  255. data/vendor/assets/javascripts/ace/snippets/gobstones.js +1701 -24
  256. data/vendor/assets/javascripts/ace/snippets/golang.js +8 -6
  257. data/vendor/assets/javascripts/ace/snippets/graphqlschema.js +8 -1
  258. data/vendor/assets/javascripts/ace/snippets/groovy.js +8 -6
  259. data/vendor/assets/javascripts/ace/snippets/haml.js +8 -1
  260. data/vendor/assets/javascripts/ace/snippets/handlebars.js +8 -6
  261. data/vendor/assets/javascripts/ace/snippets/haskell.js +8 -1
  262. data/vendor/assets/javascripts/ace/snippets/haskell_cabal.js +8 -6
  263. data/vendor/assets/javascripts/ace/snippets/haxe.js +8 -6
  264. data/vendor/assets/javascripts/ace/snippets/hjson.js +8 -6
  265. data/vendor/assets/javascripts/ace/snippets/html.js +36 -2
  266. data/vendor/assets/javascripts/ace/snippets/html_elixir.js +8 -6
  267. data/vendor/assets/javascripts/ace/snippets/html_ruby.js +8 -6
  268. data/vendor/assets/javascripts/ace/snippets/ini.js +8 -6
  269. data/vendor/assets/javascripts/ace/snippets/io.js +8 -1
  270. data/vendor/assets/javascripts/ace/snippets/jack.js +8 -6
  271. data/vendor/assets/javascripts/ace/snippets/jade.js +8 -6
  272. data/vendor/assets/javascripts/ace/snippets/java.js +8 -1
  273. data/vendor/assets/javascripts/ace/snippets/javascript.js +8 -1
  274. data/vendor/assets/javascripts/ace/snippets/json.js +8 -6
  275. data/vendor/assets/javascripts/ace/snippets/json5.js +9 -0
  276. data/vendor/assets/javascripts/ace/snippets/jsoniq.js +8 -1
  277. data/vendor/assets/javascripts/ace/snippets/jsp.js +8 -1
  278. data/vendor/assets/javascripts/ace/snippets/jssm.js +9 -0
  279. data/vendor/assets/javascripts/ace/snippets/jsx.js +8 -6
  280. data/vendor/assets/javascripts/ace/snippets/julia.js +8 -6
  281. data/vendor/assets/javascripts/ace/snippets/kotlin.js +8 -6
  282. data/vendor/assets/javascripts/ace/snippets/latex.js +8 -6
  283. data/vendor/assets/javascripts/ace/snippets/less.js +8 -6
  284. data/vendor/assets/javascripts/ace/snippets/liquid.js +890 -2
  285. data/vendor/assets/javascripts/ace/snippets/lisp.js +8 -6
  286. data/vendor/assets/javascripts/ace/snippets/livescript.js +8 -6
  287. data/vendor/assets/javascripts/ace/snippets/logiql.js +8 -6
  288. data/vendor/assets/javascripts/ace/snippets/logtalk.js +9 -0
  289. data/vendor/assets/javascripts/ace/snippets/lsl.js +8 -1
  290. data/vendor/assets/javascripts/ace/snippets/lua.js +8 -1
  291. data/vendor/assets/javascripts/ace/snippets/luapage.js +8 -6
  292. data/vendor/assets/javascripts/ace/snippets/lucene.js +8 -6
  293. data/vendor/assets/javascripts/ace/snippets/makefile.js +8 -1
  294. data/vendor/assets/javascripts/ace/snippets/markdown.js +8 -1
  295. data/vendor/assets/javascripts/ace/snippets/mask.js +8 -6
  296. data/vendor/assets/javascripts/ace/snippets/matlab.js +8 -6
  297. data/vendor/assets/javascripts/ace/snippets/maze.js +8 -1
  298. data/vendor/assets/javascripts/ace/snippets/mediawiki.js +9 -0
  299. data/vendor/assets/javascripts/ace/snippets/mel.js +8 -6
  300. data/vendor/assets/javascripts/ace/snippets/mixal.js +9 -0
  301. data/vendor/assets/javascripts/ace/snippets/mushcode.js +8 -6
  302. data/vendor/assets/javascripts/ace/snippets/mysql.js +8 -6
  303. data/vendor/assets/javascripts/ace/snippets/nginx.js +9 -0
  304. data/vendor/assets/javascripts/ace/snippets/nim.js +9 -0
  305. data/vendor/assets/javascripts/ace/snippets/nix.js +8 -6
  306. data/vendor/assets/javascripts/ace/snippets/nsis.js +8 -6
  307. data/vendor/assets/javascripts/ace/snippets/nunjucks.js +9 -0
  308. data/vendor/assets/javascripts/ace/snippets/objectivec.js +8 -6
  309. data/vendor/assets/javascripts/ace/snippets/ocaml.js +8 -6
  310. data/vendor/assets/javascripts/ace/snippets/pascal.js +8 -6
  311. data/vendor/assets/javascripts/ace/snippets/perl.js +8 -1
  312. data/vendor/assets/javascripts/ace/snippets/perl6.js +9 -0
  313. data/vendor/assets/javascripts/ace/snippets/pgsql.js +8 -6
  314. data/vendor/assets/javascripts/ace/snippets/php.js +49 -36
  315. data/vendor/assets/javascripts/ace/snippets/php_laravel_blade.js +9 -0
  316. data/vendor/assets/javascripts/ace/snippets/pig.js +8 -6
  317. data/vendor/assets/javascripts/ace/snippets/plain_text.js +8 -6
  318. data/vendor/assets/javascripts/ace/snippets/powershell.js +8 -6
  319. data/vendor/assets/javascripts/ace/snippets/praat.js +8 -6
  320. data/vendor/assets/javascripts/ace/snippets/prisma.js +9 -0
  321. data/vendor/assets/javascripts/ace/snippets/prolog.js +8 -6
  322. data/vendor/assets/javascripts/ace/snippets/properties.js +8 -6
  323. data/vendor/assets/javascripts/ace/snippets/protobuf.js +8 -6
  324. data/vendor/assets/javascripts/ace/snippets/puppet.js +9 -0
  325. data/vendor/assets/javascripts/ace/snippets/python.js +8 -1
  326. data/vendor/assets/javascripts/ace/snippets/qml.js +9 -0
  327. data/vendor/assets/javascripts/ace/snippets/r.js +8 -1
  328. data/vendor/assets/javascripts/ace/snippets/razor.js +8 -1
  329. data/vendor/assets/javascripts/ace/snippets/rdoc.js +8 -6
  330. data/vendor/assets/javascripts/ace/snippets/red.js +9 -0
  331. data/vendor/assets/javascripts/ace/snippets/redshift.js +9 -0
  332. data/vendor/assets/javascripts/ace/snippets/rhtml.js +8 -6
  333. data/vendor/assets/javascripts/ace/snippets/rst.js +8 -1
  334. data/vendor/assets/javascripts/ace/snippets/ruby.js +8 -1
  335. data/vendor/assets/javascripts/ace/snippets/rust.js +8 -6
  336. data/vendor/assets/javascripts/ace/snippets/sass.js +8 -6
  337. data/vendor/assets/javascripts/ace/snippets/scad.js +8 -6
  338. data/vendor/assets/javascripts/ace/snippets/scala.js +8 -6
  339. data/vendor/assets/javascripts/ace/snippets/scheme.js +8 -6
  340. data/vendor/assets/javascripts/ace/snippets/scss.js +8 -6
  341. data/vendor/assets/javascripts/ace/snippets/sh.js +8 -1
  342. data/vendor/assets/javascripts/ace/snippets/sjs.js +8 -6
  343. data/vendor/assets/javascripts/ace/snippets/slim.js +9 -0
  344. data/vendor/assets/javascripts/ace/snippets/smarty.js +8 -6
  345. data/vendor/assets/javascripts/ace/snippets/snippets.js +8 -1
  346. data/vendor/assets/javascripts/ace/snippets/soy_template.js +8 -6
  347. data/vendor/assets/javascripts/ace/snippets/space.js +8 -6
  348. data/vendor/assets/javascripts/ace/snippets/sparql.js +8 -6
  349. data/vendor/assets/javascripts/ace/snippets/sql.js +8 -1
  350. data/vendor/assets/javascripts/ace/snippets/sqlserver.js +8 -1
  351. data/vendor/assets/javascripts/ace/snippets/stylus.js +8 -6
  352. data/vendor/assets/javascripts/ace/snippets/svg.js +8 -6
  353. data/vendor/assets/javascripts/ace/snippets/swift.js +8 -6
  354. data/vendor/assets/javascripts/ace/snippets/tcl.js +8 -1
  355. data/vendor/assets/javascripts/ace/snippets/terraform.js +9 -0
  356. data/vendor/assets/javascripts/ace/snippets/tex.js +8 -1
  357. data/vendor/assets/javascripts/ace/snippets/text.js +8 -6
  358. data/vendor/assets/javascripts/ace/snippets/textile.js +8 -1
  359. data/vendor/assets/javascripts/ace/snippets/toml.js +8 -6
  360. data/vendor/assets/javascripts/ace/snippets/tsx.js +8 -6
  361. data/vendor/assets/javascripts/ace/snippets/turtle.js +8 -6
  362. data/vendor/assets/javascripts/ace/snippets/twig.js +8 -6
  363. data/vendor/assets/javascripts/ace/snippets/typescript.js +8 -6
  364. data/vendor/assets/javascripts/ace/snippets/vala.js +8 -1
  365. data/vendor/assets/javascripts/ace/snippets/vbscript.js +8 -6
  366. data/vendor/assets/javascripts/ace/snippets/velocity.js +8 -1
  367. data/vendor/assets/javascripts/ace/snippets/verilog.js +8 -6
  368. data/vendor/assets/javascripts/ace/snippets/vhdl.js +8 -6
  369. data/vendor/assets/javascripts/ace/snippets/visualforce.js +9 -0
  370. data/vendor/assets/javascripts/ace/snippets/wollok.js +8 -1
  371. data/vendor/assets/javascripts/ace/snippets/xml.js +8 -6
  372. data/vendor/assets/javascripts/ace/snippets/xquery.js +8 -1
  373. data/vendor/assets/javascripts/ace/snippets/yaml.js +8 -6
  374. data/vendor/assets/javascripts/ace/snippets/zeek.js +9 -0
  375. data/vendor/assets/javascripts/ace/theme-ambiance.js +11 -8
  376. data/vendor/assets/javascripts/ace/theme-chaos.js +9 -2
  377. data/vendor/assets/javascripts/ace/theme-chrome.js +8 -1
  378. data/vendor/assets/javascripts/ace/theme-clouds.js +8 -1
  379. data/vendor/assets/javascripts/ace/theme-clouds_midnight.js +8 -1
  380. data/vendor/assets/javascripts/ace/theme-cobalt.js +8 -1
  381. data/vendor/assets/javascripts/ace/theme-crimson_editor.js +8 -1
  382. data/vendor/assets/javascripts/ace/theme-dawn.js +8 -1
  383. data/vendor/assets/javascripts/ace/theme-dracula.js +135 -0
  384. data/vendor/assets/javascripts/ace/theme-dreamweaver.js +8 -1
  385. data/vendor/assets/javascripts/ace/theme-eclipse.js +8 -1
  386. data/vendor/assets/javascripts/ace/theme-github.js +8 -1
  387. data/vendor/assets/javascripts/ace/theme-gob.js +8 -1
  388. data/vendor/assets/javascripts/ace/theme-gruvbox.js +8 -1
  389. data/vendor/assets/javascripts/ace/theme-idle_fingers.js +8 -1
  390. data/vendor/assets/javascripts/ace/theme-iplastic.js +8 -1
  391. data/vendor/assets/javascripts/ace/theme-katzenmilch.js +8 -1
  392. data/vendor/assets/javascripts/ace/theme-kr_theme.js +8 -1
  393. data/vendor/assets/javascripts/ace/theme-kuroir.js +8 -1
  394. data/vendor/assets/javascripts/ace/theme-merbivore.js +8 -1
  395. data/vendor/assets/javascripts/ace/theme-merbivore_soft.js +8 -1
  396. data/vendor/assets/javascripts/ace/theme-mono_industrial.js +8 -1
  397. data/vendor/assets/javascripts/ace/theme-monokai.js +8 -1
  398. data/vendor/assets/javascripts/ace/theme-nord_dark.js +102 -0
  399. data/vendor/assets/javascripts/ace/theme-pastel_on_dark.js +8 -1
  400. data/vendor/assets/javascripts/ace/theme-solarized_dark.js +8 -1
  401. data/vendor/assets/javascripts/ace/theme-solarized_light.js +9 -2
  402. data/vendor/assets/javascripts/ace/theme-sqlserver.js +8 -1
  403. data/vendor/assets/javascripts/ace/theme-terminal.js +8 -1
  404. data/vendor/assets/javascripts/ace/theme-textmate.js +9 -1
  405. data/vendor/assets/javascripts/ace/theme-tomorrow.js +8 -1
  406. data/vendor/assets/javascripts/ace/theme-tomorrow_night.js +8 -1
  407. data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue.js +8 -1
  408. data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright.js +8 -1
  409. data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties.js +8 -1
  410. data/vendor/assets/javascripts/ace/theme-twilight.js +8 -1
  411. data/vendor/assets/javascripts/ace/theme-vibrant_ink.js +8 -1
  412. data/vendor/assets/javascripts/ace/theme-xcode.js +8 -1
  413. data/vendor/assets/javascripts/ace/worker-base.js +1421 -0
  414. data/vendor/assets/javascripts/ace/worker-coffee.js +55 -742
  415. data/vendor/assets/javascripts/ace/worker-css.js +66 -739
  416. data/vendor/assets/javascripts/ace/worker-html.js +55 -738
  417. data/vendor/assets/javascripts/ace/worker-javascript.js +6693 -4209
  418. data/vendor/assets/javascripts/ace/worker-json.js +56 -737
  419. data/vendor/assets/javascripts/ace/worker-lua.js +56 -738
  420. data/vendor/assets/javascripts/ace/worker-php.js +897 -1512
  421. data/vendor/assets/javascripts/ace/worker-xml.js +129 -808
  422. data/vendor/assets/javascripts/ace/worker-xquery.js +54 -737
  423. metadata +74 -19
  424. data/vendor/assets/javascripts/ace/ext-chromevox.js +0 -540
  425. data/vendor/assets/javascripts/ace/ext-old_ie.js +0 -502
  426. data/vendor/assets/javascripts/ace/mode-bash.js +0 -247
  427. data/vendor/assets/javascripts/ace/mode-bro.js +0 -327
  428. data/vendor/assets/javascripts/ace/mode-lean.js +0 -281
  429. data/vendor/assets/javascripts/ace/mode-live_script.js +0 -481
  430. data/vendor/assets/javascripts/ace/mode-mips_assembler.js +0 -235
  431. data/vendor/assets/javascripts/ace/mode-swig.js +0 -1099
  432. data/vendor/assets/javascripts/ace/snippets/bro.js +0 -7
  433. data/vendor/assets/javascripts/ace/snippets/lean.js +0 -7
  434. data/vendor/assets/javascripts/ace/snippets/live_script.js +0 -7
  435. data/vendor/assets/javascripts/ace/snippets/mips_assembler.js +0 -7
  436. data/vendor/assets/javascripts/ace/snippets/mipsassembler.js +0 -7
  437. data/vendor/assets/javascripts/ace/snippets/swig.js +0 -7
@@ -1,43 +1,120 @@
1
- define("ace/mode/lucene_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"], function(require, exports, module) {
1
+ define("ace/mode/lucene_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
2
2
  "use strict";
3
3
 
4
4
  var oop = require("../lib/oop");
5
- var lang = require("../lib/lang");
6
5
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
7
6
 
8
7
  var LuceneHighlightRules = function() {
9
8
  this.$rules = {
10
9
  "start" : [
11
10
  {
12
- token : "constant.character.negation",
13
- regex : "[\\-]"
11
+ token: "constant.language.escape",
12
+ regex: /\\[\-+&|!(){}\[\]^"~*?:\\]/
14
13
  }, {
15
- token : "constant.character.interro",
16
- regex : "[\\?]"
14
+ token: "constant.character.negation",
15
+ regex: "\\-"
17
16
  }, {
18
- token : "constant.character.asterisk",
19
- regex : "[\\*]"
17
+ token: "constant.character.interro",
18
+ regex: "\\?"
19
+ }, {
20
+ token: "constant.character.required",
21
+ regex: "\\+"
22
+ }, {
23
+ token: "constant.character.asterisk",
24
+ regex: "\\*"
20
25
  }, {
21
26
  token: 'constant.character.proximity',
22
- regex: '~[0-9]+\\b'
27
+ regex: '~(?:0\\.[0-9]+|[0-9]+)?'
28
+ }, {
29
+ token: 'keyword.operator',
30
+ regex: '(AND|OR|NOT|TO)\\b'
31
+ }, {
32
+ token: "paren.lparen",
33
+ regex: "[\\(\\{\\[]"
34
+ }, {
35
+ token: "paren.rparen",
36
+ regex: "[\\)\\}\\]]"
37
+ }, {
38
+ token: "keyword.operator",
39
+ regex: /[><=^]/
40
+ }, {
41
+ token: "constant.numeric",
42
+ regex: /\d[\d.-]*/
43
+ }, {
44
+ token: "string",
45
+ regex: /"(?:\\"|[^"])*"/
46
+ }, {
47
+ token: "keyword",
48
+ regex: /(?:\\.|[^\s\-+&|!(){}\[\]^"~*?:\\])+:/,
49
+ next: "maybeRegex"
50
+ }, {
51
+ token: "term",
52
+ regex: /\w+/
53
+ }, {
54
+ token: "text",
55
+ regex: /\s+/
56
+ }
57
+ ],
58
+ "maybeRegex": [{
59
+ token: "text",
60
+ regex: /\s+/
61
+ }, {
62
+ token: "string.regexp.start",
63
+ regex: "/",
64
+ next: "regex"
65
+ }, {
66
+ regex: "",
67
+ next: "start"
68
+ }],
69
+ "regex": [
70
+ {
71
+ token: "regexp.keyword.operator",
72
+ regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
73
+ }, {
74
+ token: "string.regexp.end",
75
+ regex: "/[sxngimy]*",
76
+ next: "no_regex"
23
77
  }, {
24
- token : 'keyword.operator',
25
- regex: '(?:AND|OR|NOT)\\b'
78
+ token : "invalid",
79
+ regex: /\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/
26
80
  }, {
27
- token : "paren.lparen",
28
- regex : "[\\(]"
81
+ token : "constant.language.escape",
82
+ regex: /\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/
29
83
  }, {
30
- token : "paren.rparen",
31
- regex : "[\\)]"
84
+ token: "constant.language.escape",
85
+ regex: "<\d+-\d+>|[~&@]"
32
86
  }, {
33
- token : "keyword",
34
- regex : "[\\S]+:"
87
+ token : "constant.language.delimiter",
88
+ regex: /\|/
35
89
  }, {
36
- token : "string", // " string
37
- regex : '".*?"'
90
+ token: "constant.language.escape",
91
+ regex: /\[\^?/,
92
+ next: "regex_character_class"
38
93
  }, {
39
- token : "text",
40
- regex : "\\s+"
94
+ token: "empty",
95
+ regex: "$",
96
+ next: "no_regex"
97
+ }, {
98
+ defaultToken: "string.regexp"
99
+ }
100
+ ],
101
+ "regex_character_class": [
102
+ {
103
+ token: "regexp.charclass.keyword.operator",
104
+ regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
105
+ }, {
106
+ token: "constant.language.escape",
107
+ regex: "]",
108
+ next: "regex"
109
+ }, {
110
+ token: "constant.language.escape",
111
+ regex: "-"
112
+ }, {
113
+ token: "empty",
114
+ regex: "$",
115
+ next: "no_regex"
116
+ }, {
117
+ defaultToken: "string.regexp.charachterclass"
41
118
  }
42
119
  ]
43
120
  };
@@ -67,4 +144,11 @@ oop.inherits(Mode, TextMode);
67
144
  }).call(Mode.prototype);
68
145
 
69
146
  exports.Mode = Mode;
70
- });
147
+ }); (function() {
148
+ window.require(["ace/mode/lucene"], function(m) {
149
+ if (typeof module == "object" && typeof exports == "object" && module) {
150
+ module.exports = m;
151
+ }
152
+ });
153
+ })();
154
+
@@ -39,7 +39,7 @@ var ShHighlightRules = function() {
39
39
  var fileDescriptor = "(?:&" + intPart + ")";
40
40
 
41
41
  var variableName = "[a-zA-Z_][a-zA-Z0-9_]*";
42
- var variable = "(?:" + variableName + "=)";
42
+ var variable = "(?:" + variableName + "(?==))";
43
43
 
44
44
  var builtinVariable = "(?:\\$(?:SHLVL|\\$|\\!|\\?))";
45
45
 
@@ -281,7 +281,7 @@ var MakefileHighlightRules = function() {
281
281
  next : "start"
282
282
  }
283
283
  ]
284
- }
284
+ };
285
285
 
286
286
  };
287
287
 
@@ -398,7 +398,15 @@ oop.inherits(Mode, TextMode);
398
398
  this.$indentWithTabs = true;
399
399
 
400
400
  this.$id = "ace/mode/makefile";
401
+ this.snippetFileId = "ace/snippets/makefile";
401
402
  }).call(Mode.prototype);
402
403
 
403
404
  exports.Mode = Mode;
404
- });
405
+ }); (function() {
406
+ window.require(["ace/mode/makefile"], function(m) {
407
+ if (typeof module == "object" && typeof exports == "object" && module) {
408
+ module.exports = m;
409
+ }
410
+ });
411
+ })();
412
+
@@ -25,7 +25,7 @@ DocCommentHighlightRules.getTagRule = function(start) {
25
25
  token : "comment.doc.tag.storage.type",
26
26
  regex : "\\b(?:TODO|FIXME|XXX|HACK)\\b"
27
27
  };
28
- }
28
+ };
29
29
 
30
30
  DocCommentHighlightRules.getStartRule = function(start) {
31
31
  return {
@@ -181,7 +181,8 @@ var JavaScriptHighlightRules = function(options) {
181
181
  next : "property"
182
182
  }, {
183
183
  token : "storage.type",
184
- regex : /=>/
184
+ regex : /=>/,
185
+ next : "start"
185
186
  }, {
186
187
  token : "keyword.operator",
187
188
  regex : /--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,
@@ -582,8 +583,8 @@ oop.inherits(FoldMode, BaseFoldMode);
582
583
 
583
584
  (function() {
584
585
 
585
- this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
586
- this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
586
+ this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/;
587
+ this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/;
587
588
  this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/;
588
589
  this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/;
589
590
  this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/;
@@ -783,6 +784,7 @@ oop.inherits(Mode, TextMode);
783
784
  };
784
785
 
785
786
  this.$id = "ace/mode/javascript";
787
+ this.snippetFileId = "ace/snippets/javascript";
786
788
  }).call(Mode.prototype);
787
789
 
788
790
  exports.Mode = Mode;
@@ -969,7 +971,7 @@ var XmlHighlightRules = function(normalize) {
969
971
  stack.splice(0);
970
972
  return this.token;
971
973
  }}
972
- ]
974
+ ];
973
975
 
974
976
  this.embedRules(HighlightRules, prefix, [{
975
977
  token: ["meta.tag.punctuation.end-tag-open.xml", "meta.tag." + tag + ".tag-name.xml"],
@@ -1000,7 +1002,7 @@ var TokenIterator = require("../../token_iterator").TokenIterator;
1000
1002
  var lang = require("../../lib/lang");
1001
1003
 
1002
1004
  function is(token, type) {
1003
- return token.type.lastIndexOf(type + ".xml") > -1;
1005
+ return token && token.type.lastIndexOf(type + ".xml") > -1;
1004
1006
  }
1005
1007
 
1006
1008
  var XmlBehaviour = function () {
@@ -1070,14 +1072,19 @@ var XmlBehaviour = function () {
1070
1072
  if (is(token, "reference.attribute-value"))
1071
1073
  return;
1072
1074
  if (is(token, "attribute-value")) {
1073
- var firstChar = token.value.charAt(0);
1074
- if (firstChar == '"' || firstChar == "'") {
1075
- var lastChar = token.value.charAt(token.value.length - 1);
1076
- var tokenEnd = iterator.getCurrentTokenColumn() + token.value.length;
1077
- if (tokenEnd > position.column || tokenEnd == position.column && firstChar != lastChar)
1075
+ var tokenEndColumn = iterator.getCurrentTokenColumn() + token.value.length;
1076
+ if (position.column < tokenEndColumn)
1077
+ return;
1078
+ if (position.column == tokenEndColumn) {
1079
+ var nextToken = iterator.stepForward();
1080
+ if (nextToken && is(nextToken, "attribute-value"))
1078
1081
  return;
1082
+ iterator.stepBackward();
1079
1083
  }
1080
1084
  }
1085
+
1086
+ if (/^\s*>/.test(session.getLine(position.row).slice(position.column)))
1087
+ return;
1081
1088
  while (!is(token, "tag-name")) {
1082
1089
  token = iterator.stepBackward();
1083
1090
  if (token.value == "<") {
@@ -1213,7 +1220,7 @@ function is(token, type) {
1213
1220
  if (/comment/.test(session.getState(row)) && /<!-/.test(session.getLine(row)))
1214
1221
  return "start";
1215
1222
  return "";
1216
- }
1223
+ };
1217
1224
  this._getFirstTagInLine = function(session, row) {
1218
1225
  var tokens = session.getTokens(row);
1219
1226
  var tag = new Tag();
@@ -1459,9 +1466,9 @@ define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop
1459
1466
  var oop = require("../lib/oop");
1460
1467
  var lang = require("../lib/lang");
1461
1468
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
1462
- var supportType = exports.supportType = "align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|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|bottom|box-shadow|box-sizing|caption-side|clear|clip|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|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index";
1469
+ var supportType = exports.supportType = "align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|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|bottom|box-shadow|box-sizing|caption-side|clear|clip|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|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index";
1463
1470
  var supportFunction = exports.supportFunction = "rgb|rgba|url|attr|counter|counters";
1464
- 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";
1471
+ 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|zoom";
1465
1472
  var supportConstantColor = exports.supportConstantColor = "aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen";
1466
1473
  var supportConstantFonts = exports.supportConstantFonts = "arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace";
1467
1474
 
@@ -1491,7 +1498,7 @@ var CssHighlightRules = function() {
1491
1498
  regex: "\\}"
1492
1499
  }, {
1493
1500
  token: "string",
1494
- regex: "@",
1501
+ regex: "@(?!viewport)",
1495
1502
  next: "media"
1496
1503
  }, {
1497
1504
  token: "keyword",
@@ -1514,7 +1521,7 @@ var CssHighlightRules = function() {
1514
1521
  }, {
1515
1522
  caseInsensitive: true
1516
1523
  }],
1517
-
1524
+
1518
1525
  "media": [{
1519
1526
  include : ["strings", "url", "comments"]
1520
1527
  }, {
@@ -1551,6 +1558,9 @@ var CssHighlightRules = function() {
1551
1558
  "ruleset" : [{
1552
1559
  regex : "-(webkit|ms|moz|o)-",
1553
1560
  token : "text"
1561
+ }, {
1562
+ token : "punctuation.operator",
1563
+ regex : "[:;]"
1554
1564
  }, {
1555
1565
  token : "paren.rparen",
1556
1566
  regex : "\\}",
@@ -1559,7 +1569,7 @@ var CssHighlightRules = function() {
1559
1569
  include : ["strings", "url", "comments"]
1560
1570
  }, {
1561
1571
  token : ["constant.numeric", "keyword"],
1562
- 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|%)"
1572
+ regex : "(" + numRe + ")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"
1563
1573
  }, {
1564
1574
  token : "constant.numeric",
1565
1575
  regex : numRe
@@ -1583,7 +1593,7 @@ var CssHighlightRules = function() {
1583
1593
  }, {
1584
1594
  caseInsensitive: true
1585
1595
  }],
1586
-
1596
+
1587
1597
  url: [{
1588
1598
  token : "support.function",
1589
1599
  regex : "(?:url(:?-prefix)?|domain|regexp)\\(",
@@ -1595,7 +1605,7 @@ var CssHighlightRules = function() {
1595
1605
  defaultToken: "string"
1596
1606
  }]
1597
1607
  }],
1598
-
1608
+
1599
1609
  strings: [{
1600
1610
  token : "string.start",
1601
1611
  regex : "'",
@@ -1633,7 +1643,7 @@ var CssHighlightRules = function() {
1633
1643
  token : "constant.language.escape",
1634
1644
  regex : /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/
1635
1645
  }]
1636
-
1646
+
1637
1647
  };
1638
1648
 
1639
1649
  this.normalizeRules();
@@ -1757,18 +1767,14 @@ var CssCompletions = function() {
1757
1767
  }
1758
1768
 
1759
1769
  this.completionsDefined = true;
1760
- }
1770
+ };
1761
1771
 
1762
1772
  this.getCompletions = function(state, session, pos, prefix) {
1763
1773
  if (!this.completionsDefined) {
1764
1774
  this.defineCompletions();
1765
1775
  }
1766
1776
 
1767
- var token = session.getTokenAt(pos.row, pos.column);
1768
-
1769
- if (!token)
1770
- return [];
1771
- if (state==='ruleset'){
1777
+ if (state==='ruleset' || session.$mode.$id == "ace/mode/scss") {
1772
1778
  var line = session.getLine(pos.row).substr(0, pos.column);
1773
1779
  if (/:[^;]+$/.test(line)) {
1774
1780
  /([\w\-]+):[^:]*$/.test(line);
@@ -1787,9 +1793,9 @@ var CssCompletions = function() {
1787
1793
  return properties.map(function(property){
1788
1794
  return {
1789
1795
  caption: property,
1790
- snippet: property + ': $0',
1796
+ snippet: property + ': $0;',
1791
1797
  meta: "property",
1792
- score: Number.MAX_VALUE
1798
+ score: 1000000
1793
1799
  };
1794
1800
  });
1795
1801
  };
@@ -1809,7 +1815,7 @@ var CssCompletions = function() {
1809
1815
  caption: value,
1810
1816
  snippet: value,
1811
1817
  meta: "property value",
1812
- score: Number.MAX_VALUE
1818
+ score: 1000000
1813
1819
  };
1814
1820
  });
1815
1821
  };
@@ -1832,7 +1838,7 @@ var CssBehaviour = function () {
1832
1838
  this.inherit(CstyleBehaviour);
1833
1839
 
1834
1840
  this.add("colon", "insertion", function (state, action, editor, session, text) {
1835
- if (text === ':') {
1841
+ if (text === ':' && editor.selection.isEmpty()) {
1836
1842
  var cursor = editor.getCursorPosition();
1837
1843
  var iterator = new TokenIterator(session, cursor.row, cursor.column);
1838
1844
  var token = iterator.getCurrentToken();
@@ -1846,13 +1852,13 @@ var CssBehaviour = function () {
1846
1852
  return {
1847
1853
  text: '',
1848
1854
  selection: [1, 1]
1849
- }
1855
+ };
1850
1856
  }
1851
- if (!line.substring(cursor.column).match(/^\s*;/)) {
1857
+ if (/^(\s+[^;]|\s*$)/.test(line.substring(cursor.column))) {
1852
1858
  return {
1853
1859
  text: ':;',
1854
1860
  selection: [1, 1]
1855
- }
1861
+ };
1856
1862
  }
1857
1863
  }
1858
1864
  }
@@ -1879,7 +1885,7 @@ var CssBehaviour = function () {
1879
1885
  });
1880
1886
 
1881
1887
  this.add("semicolon", "insertion", function (state, action, editor, session, text) {
1882
- if (text === ';') {
1888
+ if (text === ';' && editor.selection.isEmpty()) {
1883
1889
  var cursor = editor.getCursorPosition();
1884
1890
  var line = session.doc.getLine(cursor.row);
1885
1891
  var rightChar = line.substring(cursor.column, cursor.column + 1);
@@ -1887,12 +1893,26 @@ var CssBehaviour = function () {
1887
1893
  return {
1888
1894
  text: '',
1889
1895
  selection: [1, 1]
1890
- }
1896
+ };
1891
1897
  }
1892
1898
  }
1893
1899
  });
1894
1900
 
1895
- }
1901
+ this.add("!important", "insertion", function (state, action, editor, session, text) {
1902
+ if (text === '!' && editor.selection.isEmpty()) {
1903
+ var cursor = editor.getCursorPosition();
1904
+ var line = session.doc.getLine(cursor.row);
1905
+
1906
+ if (/^\s*(;|}|$)/.test(line.substring(cursor.column))) {
1907
+ return {
1908
+ text: '!important',
1909
+ selection: [10, 10]
1910
+ };
1911
+ }
1912
+ }
1913
+ });
1914
+
1915
+ };
1896
1916
  oop.inherits(CssBehaviour, CstyleBehaviour);
1897
1917
 
1898
1918
  exports.CssBehaviour = CssBehaviour;
@@ -1967,6 +1987,7 @@ oop.inherits(Mode, TextMode);
1967
1987
  };
1968
1988
 
1969
1989
  this.$id = "ace/mode/css";
1990
+ this.snippetFileId = "ace/snippets/css";
1970
1991
  }).call(Mode.prototype);
1971
1992
 
1972
1993
  exports.Mode = Mode;
@@ -2218,120 +2239,120 @@ var eventAttributes = [
2218
2239
  var globalAttributes = commonAttributes.concat(eventAttributes);
2219
2240
 
2220
2241
  var attributeMap = {
2221
- "html": {"manifest": 1},
2222
- "head": {},
2223
- "title": {},
2224
- "base": {"href": 1, "target": 1},
2225
- "link": {"href": 1, "hreflang": 1, "rel": {"stylesheet": 1, "icon": 1}, "media": {"all": 1, "screen": 1, "print": 1}, "type": {"text/css": 1, "image/png": 1, "image/jpeg": 1, "image/gif": 1}, "sizes": 1},
2226
- "meta": {"http-equiv": {"content-type": 1}, "name": {"description": 1, "keywords": 1}, "content": {"text/html; charset=UTF-8": 1}, "charset": 1},
2227
- "style": {"type": 1, "media": {"all": 1, "screen": 1, "print": 1}, "scoped": 1},
2228
- "script": {"charset": 1, "type": {"text/javascript": 1}, "src": 1, "defer": 1, "async": 1},
2229
- "noscript": {"href": 1},
2230
- "body": {"onafterprint": 1, "onbeforeprint": 1, "onbeforeunload": 1, "onhashchange": 1, "onmessage": 1, "onoffline": 1, "onpopstate": 1, "onredo": 1, "onresize": 1, "onstorage": 1, "onundo": 1, "onunload": 1},
2231
- "section": {},
2232
- "nav": {},
2242
+ "a": {"href": 1, "target": {"_blank": 1, "top": 1}, "ping": 1, "rel": {"nofollow": 1, "alternate": 1, "author": 1, "bookmark": 1, "help": 1, "license": 1, "next": 1, "noreferrer": 1, "prefetch": 1, "prev": 1, "search": 1, "tag": 1}, "media": 1, "hreflang": 1, "type": 1},
2243
+ "abbr": {},
2244
+ "address": {},
2245
+ "area": {"shape": 1, "coords": 1, "href": 1, "hreflang": 1, "alt": 1, "target": 1, "media": 1, "rel": 1, "ping": 1, "type": 1},
2233
2246
  "article": {"pubdate": 1},
2234
2247
  "aside": {},
2248
+ "audio": {"src": 1, "autobuffer": 1, "autoplay": {"autoplay": 1}, "loop": {"loop": 1}, "controls": {"controls": 1}, "muted": {"muted": 1}, "preload": {"auto": 1, "metadata": 1, "none": 1 }},
2249
+ "b": {},
2250
+ "base": {"href": 1, "target": 1},
2251
+ "bdi": {},
2252
+ "bdo": {},
2253
+ "blockquote": {"cite": 1},
2254
+ "body": {"onafterprint": 1, "onbeforeprint": 1, "onbeforeunload": 1, "onhashchange": 1, "onmessage": 1, "onoffline": 1, "onpopstate": 1, "onredo": 1, "onresize": 1, "onstorage": 1, "onundo": 1, "onunload": 1},
2255
+ "br": {},
2256
+ "button": {"autofocus": 1, "disabled": {"disabled": 1}, "form": 1, "formaction": 1, "formenctype": 1, "formmethod": 1, "formnovalidate": 1, "formtarget": 1, "name": 1, "value": 1, "type": {"button": 1, "submit": 1}},
2257
+ "canvas": {"width": 1, "height": 1},
2258
+ "caption": {},
2259
+ "cite": {},
2260
+ "code": {},
2261
+ "col": {"span": 1},
2262
+ "colgroup": {"span": 1},
2263
+ "command": {"type": 1, "label": 1, "icon": 1, "disabled": 1, "checked": 1, "radiogroup": 1, "command": 1},
2264
+ "data": {},
2265
+ "datalist": {},
2266
+ "dd": {},
2267
+ "del": {"cite": 1, "datetime": 1},
2268
+ "details": {"open": 1},
2269
+ "dfn": {},
2270
+ "dialog": {"open": 1},
2271
+ "div": {},
2272
+ "dl": {},
2273
+ "dt": {},
2274
+ "em": {},
2275
+ "embed": {"src": 1, "height": 1, "width": 1, "type": 1},
2276
+ "fieldset": {"disabled": 1, "form": 1, "name": 1},
2277
+ "figcaption": {},
2278
+ "figure": {},
2279
+ "footer": {},
2280
+ "form": {"accept-charset": 1, "action": 1, "autocomplete": 1, "enctype": {"multipart/form-data": 1, "application/x-www-form-urlencoded": 1}, "method": {"get": 1, "post": 1}, "name": 1, "novalidate": 1, "target": {"_blank": 1, "top": 1}},
2235
2281
  "h1": {},
2236
2282
  "h2": {},
2237
2283
  "h3": {},
2238
2284
  "h4": {},
2239
2285
  "h5": {},
2240
2286
  "h6": {},
2287
+ "head": {},
2241
2288
  "header": {},
2242
- "footer": {},
2243
- "address": {},
2289
+ "hr": {},
2290
+ "html": {"manifest": 1},
2291
+ "i": {},
2292
+ "iframe": {"name": 1, "src": 1, "height": 1, "width": 1, "sandbox": {"allow-same-origin": 1, "allow-top-navigation": 1, "allow-forms": 1, "allow-scripts": 1}, "seamless": {"seamless": 1}},
2293
+ "img": {"alt": 1, "src": 1, "height": 1, "width": 1, "usemap": 1, "ismap": 1},
2294
+ "input": {
2295
+ "type": {"text": 1, "password": 1, "hidden": 1, "checkbox": 1, "submit": 1, "radio": 1, "file": 1, "button": 1, "reset": 1, "image": 31, "color": 1, "date": 1, "datetime": 1, "datetime-local": 1, "email": 1, "month": 1, "number": 1, "range": 1, "search": 1, "tel": 1, "time": 1, "url": 1, "week": 1},
2296
+ "accept": 1, "alt": 1, "autocomplete": {"on": 1, "off": 1}, "autofocus": {"autofocus": 1}, "checked": {"checked": 1}, "disabled": {"disabled": 1}, "form": 1, "formaction": 1, "formenctype": {"application/x-www-form-urlencoded": 1, "multipart/form-data": 1, "text/plain": 1}, "formmethod": {"get": 1, "post": 1}, "formnovalidate": {"formnovalidate": 1}, "formtarget": {"_blank": 1, "_self": 1, "_parent": 1, "_top": 1}, "height": 1, "list": 1, "max": 1, "maxlength": 1, "min": 1, "multiple": {"multiple": 1}, "name": 1, "pattern": 1, "placeholder": 1, "readonly": {"readonly": 1}, "required": {"required": 1}, "size": 1, "src": 1, "step": 1, "width": 1, "files": 1, "value": 1},
2297
+ "ins": {"cite": 1, "datetime": 1},
2298
+ "kbd": {},
2299
+ "keygen": {"autofocus": 1, "challenge": {"challenge": 1}, "disabled": {"disabled": 1}, "form": 1, "keytype": {"rsa": 1, "dsa": 1, "ec": 1}, "name": 1},
2300
+ "label": {"form": 1, "for": 1},
2301
+ "legend": {},
2302
+ "li": {"value": 1},
2303
+ "link": {"href": 1, "hreflang": 1, "rel": {"stylesheet": 1, "icon": 1}, "media": {"all": 1, "screen": 1, "print": 1}, "type": {"text/css": 1, "image/png": 1, "image/jpeg": 1, "image/gif": 1}, "sizes": 1},
2244
2304
  "main": {},
2305
+ "map": {"name": 1},
2306
+ "mark": {},
2307
+ "math": {},
2308
+ "menu": {"type": 1, "label": 1},
2309
+ "meta": {"http-equiv": {"content-type": 1}, "name": {"description": 1, "keywords": 1}, "content": {"text/html; charset=UTF-8": 1}, "charset": 1},
2310
+ "meter": {"value": 1, "min": 1, "max": 1, "low": 1, "high": 1, "optimum": 1},
2311
+ "nav": {},
2312
+ "noscript": {"href": 1},
2313
+ "object": {"param": 1, "data": 1, "type": 1, "height" : 1, "width": 1, "usemap": 1, "name": 1, "form": 1, "classid": 1},
2314
+ "ol": {"start": 1, "reversed": 1},
2315
+ "optgroup": {"disabled": 1, "label": 1},
2316
+ "option": {"disabled": 1, "selected": 1, "label": 1, "value": 1},
2317
+ "output": {"for": 1, "form": 1, "name": 1},
2245
2318
  "p": {},
2246
- "hr": {},
2319
+ "param": {"name": 1, "value": 1},
2247
2320
  "pre": {},
2248
- "blockquote": {"cite": 1},
2249
- "ol": {"start": 1, "reversed": 1},
2250
- "ul": {},
2251
- "li": {"value": 1},
2252
- "dl": {},
2253
- "dt": {},
2254
- "dd": {},
2255
- "figure": {},
2256
- "figcaption": {},
2257
- "div": {},
2258
- "a": {"href": 1, "target": {"_blank": 1, "top": 1}, "ping": 1, "rel": {"nofollow": 1, "alternate": 1, "author": 1, "bookmark": 1, "help": 1, "license": 1, "next": 1, "noreferrer": 1, "prefetch": 1, "prev": 1, "search": 1, "tag": 1}, "media": 1, "hreflang": 1, "type": 1},
2259
- "em": {},
2260
- "strong": {},
2261
- "small": {},
2262
- "s": {},
2263
- "cite": {},
2321
+ "progress": {"value": 1, "max": 1},
2264
2322
  "q": {"cite": 1},
2265
- "dfn": {},
2266
- "abbr": {},
2267
- "data": {},
2268
- "time": {"datetime": 1},
2269
- "code": {},
2270
- "var": {},
2323
+ "rp": {},
2324
+ "rt": {},
2325
+ "ruby": {},
2326
+ "s": {},
2271
2327
  "samp": {},
2272
- "kbd": {},
2328
+ "script": {"charset": 1, "type": {"text/javascript": 1}, "src": 1, "defer": 1, "async": 1},
2329
+ "select": {"autofocus": 1, "disabled": 1, "form": 1, "multiple": {"multiple": 1}, "name": 1, "size": 1, "readonly":{"readonly": 1}},
2330
+ "small": {},
2331
+ "source": {"src": 1, "type": 1, "media": 1},
2332
+ "span": {},
2333
+ "strong": {},
2334
+ "style": {"type": 1, "media": {"all": 1, "screen": 1, "print": 1}, "scoped": 1},
2273
2335
  "sub": {},
2274
2336
  "sup": {},
2275
- "i": {},
2276
- "b": {},
2277
- "u": {},
2278
- "mark": {},
2279
- "ruby": {},
2280
- "rt": {},
2281
- "rp": {},
2282
- "bdi": {},
2283
- "bdo": {},
2284
- "span": {},
2285
- "br": {},
2286
- "wbr": {},
2287
- "ins": {"cite": 1, "datetime": 1},
2288
- "del": {"cite": 1, "datetime": 1},
2289
- "img": {"alt": 1, "src": 1, "height": 1, "width": 1, "usemap": 1, "ismap": 1},
2290
- "iframe": {"name": 1, "src": 1, "height": 1, "width": 1, "sandbox": {"allow-same-origin": 1, "allow-top-navigation": 1, "allow-forms": 1, "allow-scripts": 1}, "seamless": {"seamless": 1}},
2291
- "embed": {"src": 1, "height": 1, "width": 1, "type": 1},
2292
- "object": {"param": 1, "data": 1, "type": 1, "height" : 1, "width": 1, "usemap": 1, "name": 1, "form": 1, "classid": 1},
2293
- "param": {"name": 1, "value": 1},
2294
- "video": {"src": 1, "autobuffer": 1, "autoplay": {"autoplay": 1}, "loop": {"loop": 1}, "controls": {"controls": 1}, "width": 1, "height": 1, "poster": 1, "muted": {"muted": 1}, "preload": {"auto": 1, "metadata": 1, "none": 1}},
2295
- "audio": {"src": 1, "autobuffer": 1, "autoplay": {"autoplay": 1}, "loop": {"loop": 1}, "controls": {"controls": 1}, "muted": {"muted": 1}, "preload": {"auto": 1, "metadata": 1, "none": 1 }},
2296
- "source": {"src": 1, "type": 1, "media": 1},
2297
- "track": {"kind": 1, "src": 1, "srclang": 1, "label": 1, "default": 1},
2298
- "canvas": {"width": 1, "height": 1},
2299
- "map": {"name": 1},
2300
- "area": {"shape": 1, "coords": 1, "href": 1, "hreflang": 1, "alt": 1, "target": 1, "media": 1, "rel": 1, "ping": 1, "type": 1},
2301
2337
  "svg": {},
2302
- "math": {},
2303
2338
  "table": {"summary": 1},
2304
- "caption": {},
2305
- "colgroup": {"span": 1},
2306
- "col": {"span": 1},
2307
2339
  "tbody": {},
2308
- "thead": {},
2309
- "tfoot": {},
2310
- "tr": {},
2311
2340
  "td": {"headers": 1, "rowspan": 1, "colspan": 1},
2312
- "th": {"headers": 1, "rowspan": 1, "colspan": 1, "scope": 1},
2313
- "form": {"accept-charset": 1, "action": 1, "autocomplete": 1, "enctype": {"multipart/form-data": 1, "application/x-www-form-urlencoded": 1}, "method": {"get": 1, "post": 1}, "name": 1, "novalidate": 1, "target": {"_blank": 1, "top": 1}},
2314
- "fieldset": {"disabled": 1, "form": 1, "name": 1},
2315
- "legend": {},
2316
- "label": {"form": 1, "for": 1},
2317
- "input": {
2318
- "type": {"text": 1, "password": 1, "hidden": 1, "checkbox": 1, "submit": 1, "radio": 1, "file": 1, "button": 1, "reset": 1, "image": 31, "color": 1, "date": 1, "datetime": 1, "datetime-local": 1, "email": 1, "month": 1, "number": 1, "range": 1, "search": 1, "tel": 1, "time": 1, "url": 1, "week": 1},
2319
- "accept": 1, "alt": 1, "autocomplete": {"on": 1, "off": 1}, "autofocus": {"autofocus": 1}, "checked": {"checked": 1}, "disabled": {"disabled": 1}, "form": 1, "formaction": 1, "formenctype": {"application/x-www-form-urlencoded": 1, "multipart/form-data": 1, "text/plain": 1}, "formmethod": {"get": 1, "post": 1}, "formnovalidate": {"formnovalidate": 1}, "formtarget": {"_blank": 1, "_self": 1, "_parent": 1, "_top": 1}, "height": 1, "list": 1, "max": 1, "maxlength": 1, "min": 1, "multiple": {"multiple": 1}, "name": 1, "pattern": 1, "placeholder": 1, "readonly": {"readonly": 1}, "required": {"required": 1}, "size": 1, "src": 1, "step": 1, "width": 1, "files": 1, "value": 1},
2320
- "button": {"autofocus": 1, "disabled": {"disabled": 1}, "form": 1, "formaction": 1, "formenctype": 1, "formmethod": 1, "formnovalidate": 1, "formtarget": 1, "name": 1, "value": 1, "type": {"button": 1, "submit": 1}},
2321
- "select": {"autofocus": 1, "disabled": 1, "form": 1, "multiple": {"multiple": 1}, "name": 1, "size": 1, "readonly":{"readonly": 1}},
2322
- "datalist": {},
2323
- "optgroup": {"disabled": 1, "label": 1},
2324
- "option": {"disabled": 1, "selected": 1, "label": 1, "value": 1},
2325
2341
  "textarea": {"autofocus": {"autofocus": 1}, "disabled": {"disabled": 1}, "form": 1, "maxlength": 1, "name": 1, "placeholder": 1, "readonly": {"readonly": 1}, "required": {"required": 1}, "rows": 1, "cols": 1, "wrap": {"on": 1, "off": 1, "hard": 1, "soft": 1}},
2326
- "keygen": {"autofocus": 1, "challenge": {"challenge": 1}, "disabled": {"disabled": 1}, "form": 1, "keytype": {"rsa": 1, "dsa": 1, "ec": 1}, "name": 1},
2327
- "output": {"for": 1, "form": 1, "name": 1},
2328
- "progress": {"value": 1, "max": 1},
2329
- "meter": {"value": 1, "min": 1, "max": 1, "low": 1, "high": 1, "optimum": 1},
2330
- "details": {"open": 1},
2342
+ "tfoot": {},
2343
+ "th": {"headers": 1, "rowspan": 1, "colspan": 1, "scope": 1},
2344
+ "thead": {},
2345
+ "time": {"datetime": 1},
2346
+ "title": {},
2347
+ "tr": {},
2348
+ "track": {"kind": 1, "src": 1, "srclang": 1, "label": 1, "default": 1},
2349
+ "section": {},
2331
2350
  "summary": {},
2332
- "command": {"type": 1, "label": 1, "icon": 1, "disabled": 1, "checked": 1, "radiogroup": 1, "command": 1},
2333
- "menu": {"type": 1, "label": 1},
2334
- "dialog": {"open": 1}
2351
+ "u": {},
2352
+ "ul": {},
2353
+ "var": {},
2354
+ "video": {"src": 1, "autobuffer": 1, "autoplay": {"autoplay": 1}, "loop": {"loop": 1}, "controls": {"controls": 1}, "width": 1, "height": 1, "poster": 1, "muted": {"muted": 1}, "preload": {"auto": 1, "metadata": 1, "none": 1}},
2355
+ "wbr": {}
2335
2356
  };
2336
2357
 
2337
2358
  var elements = Object.keys(attributeMap);
@@ -2389,7 +2410,7 @@ var HtmlCompletions = function() {
2389
2410
  return {
2390
2411
  value: element,
2391
2412
  meta: "tag",
2392
- score: Number.MAX_VALUE
2413
+ score: 1000000
2393
2414
  };
2394
2415
  });
2395
2416
  };
@@ -2407,7 +2428,7 @@ var HtmlCompletions = function() {
2407
2428
  caption: attribute,
2408
2429
  snippet: attribute + '="$0"',
2409
2430
  meta: "attribute",
2410
- score: Number.MAX_VALUE
2431
+ score: 1000000
2411
2432
  };
2412
2433
  });
2413
2434
  };
@@ -2427,7 +2448,7 @@ var HtmlCompletions = function() {
2427
2448
  caption: value,
2428
2449
  snippet: value,
2429
2450
  meta: "attribute value",
2430
- score: Number.MAX_VALUE
2451
+ score: 1000000
2431
2452
  };
2432
2453
  });
2433
2454
  };
@@ -2440,7 +2461,7 @@ var HtmlCompletions = function() {
2440
2461
  caption: value,
2441
2462
  snippet: value,
2442
2463
  meta: "html entity",
2443
- score: Number.MAX_VALUE
2464
+ score: 1000000
2444
2465
  };
2445
2466
  });
2446
2467
  };
@@ -2520,36 +2541,68 @@ oop.inherits(Mode, TextMode);
2520
2541
  };
2521
2542
 
2522
2543
  this.$id = "ace/mode/html";
2544
+ this.snippetFileId = "ace/snippets/html";
2523
2545
  }).call(Mode.prototype);
2524
2546
 
2525
2547
  exports.Mode = Mode;
2526
2548
  });
2527
2549
 
2528
- define("ace/mode/markdown_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules","ace/mode/html_highlight_rules","ace/mode/css_highlight_rules"], function(require, exports, module) {
2550
+ define("ace/mode/markdown_highlight_rules",["require","exports","module","ace/config","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/html_highlight_rules"], function(require, exports, module) {
2529
2551
  "use strict";
2530
2552
 
2553
+ var modes = require("../config").$modes;
2554
+
2531
2555
  var oop = require("../lib/oop");
2532
2556
  var lang = require("../lib/lang");
2533
2557
  var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
2534
- var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
2535
- var XmlHighlightRules = require("./xml_highlight_rules").XmlHighlightRules;
2536
2558
  var HtmlHighlightRules = require("./html_highlight_rules").HtmlHighlightRules;
2537
- var CssHighlightRules = require("./css_highlight_rules").CssHighlightRules;
2538
2559
 
2539
2560
  var escaped = function(ch) {
2540
2561
  return "(?:[^" + lang.escapeRegExp(ch) + "\\\\]|\\\\.)*";
2541
- }
2542
-
2543
- function github_embed(tag, prefix) {
2544
- return { // Github style block
2545
- token : "support.function",
2546
- regex : "^\\s*```" + tag + "\\s*$",
2547
- push : prefix + "start"
2548
- };
2549
- }
2562
+ };
2550
2563
 
2551
2564
  var MarkdownHighlightRules = function() {
2552
2565
  HtmlHighlightRules.call(this);
2566
+ var codeBlockStartRule = {
2567
+ token : "support.function",
2568
+ regex : /^\s*(```+[^`]*|~~~+[^~]*)$/,
2569
+ onMatch: function(value, state, stack, line) {
2570
+ var m = value.match(/^(\s*)([`~]+)(.*)/);
2571
+ var language = /[\w-]+|$/.exec(m[3])[0];
2572
+ if (!modes[language])
2573
+ language = "";
2574
+ stack.unshift("githubblock", [], [m[1], m[2], language], state);
2575
+ return this.token;
2576
+ },
2577
+ next : "githubblock"
2578
+ };
2579
+ var codeBlockRules = [{
2580
+ token : "support.function",
2581
+ regex : ".*",
2582
+ onMatch: function(value, state, stack, line) {
2583
+ var embedState = stack[1];
2584
+ var indent = stack[2][0];
2585
+ var endMarker = stack[2][1];
2586
+ var language = stack[2][2];
2587
+
2588
+ var m = /^(\s*)(`+|~+)\s*$/.exec(value);
2589
+ if (
2590
+ m && m[1].length < indent.length + 3
2591
+ && m[2].length >= endMarker.length && m[2][0] == endMarker[0]
2592
+ ) {
2593
+ stack.splice(0, 3);
2594
+ this.next = stack.shift();
2595
+ return this.token;
2596
+ }
2597
+ this.next = "";
2598
+ if (language && modes[language]) {
2599
+ var data = modes[language].getTokenizer().getLineTokens(value, embedState.slice(0));
2600
+ stack[1] = data.state;
2601
+ return data.tokens;
2602
+ }
2603
+ return this.token;
2604
+ }
2605
+ }];
2553
2606
 
2554
2607
  this.$rules["start"].unshift({
2555
2608
  token : "empty_line",
@@ -2565,24 +2618,17 @@ var MarkdownHighlightRules = function() {
2565
2618
  token : function(value) {
2566
2619
  return "markup.heading." + value.length;
2567
2620
  },
2568
- regex : /^#{1,6}(?=\s*[^ #]|\s+#.)/,
2621
+ regex : /^#{1,6}(?=\s|$)/,
2569
2622
  next : "header"
2570
2623
  },
2571
- github_embed("(?:javascript|js)", "jscode-"),
2572
- github_embed("xml", "xmlcode-"),
2573
- github_embed("html", "htmlcode-"),
2574
- github_embed("css", "csscode-"),
2575
- { // Github style block
2576
- token : "support.function",
2577
- regex : "^\\s*```\\s*\\S*(?:{.*?\\})?\\s*$",
2578
- next : "githubblock"
2579
- }, { // block quote
2624
+ codeBlockStartRule,
2625
+ { // block quote
2580
2626
  token : "string.blockquote",
2581
2627
  regex : "^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",
2582
2628
  next : "blockquote"
2583
2629
  }, { // HR * - _
2584
2630
  token : "constant",
2585
- regex : "^ {0,2}(?:(?: ?\\* ?){3,}|(?: ?\\- ?){3,}|(?: ?\\_ ?){3,})\\s*$",
2631
+ regex : "^ {0,3}(?:(?:\\* ?){3,}|(?:\\- ?){3,}|(?:\\_ ?){3,})\\s*$",
2586
2632
  next: "allowBlock"
2587
2633
  }, { // list
2588
2634
  token : "markup.list",
@@ -2607,10 +2653,10 @@ var MarkdownHighlightRules = function() {
2607
2653
  regex : "(\\[)(" + escaped("]") + ")(\\]\\s*\\[)("+ escaped("]") + ")(\\])"
2608
2654
  }, { // link by url
2609
2655
  token : ["text", "string", "text", "markup.underline", "string", "text"],
2610
- regex : "(\\[)(" + // [
2611
- escaped("]") + // link text
2656
+ regex : "(\\!?\\[)(" + // [
2657
+ escaped("]") + // link text or alt text
2612
2658
  ")(\\]\\()"+ // ](
2613
- '((?:[^\\)\\s\\\\]|\\\\.|\\s(?=[^"]))*)' + // href
2659
+ '((?:[^\\)\\s\\\\]|\\\\.|\\s(?=[^"]))*)' + // href or image
2614
2660
  '(\\s*"' + escaped('"') + '"\\s*)?' + // "title"
2615
2661
  "(\\))" // )
2616
2662
  }, { // strong ** __
@@ -2658,11 +2704,9 @@ var MarkdownHighlightRules = function() {
2658
2704
  next : "listblock-start"
2659
2705
  }, {
2660
2706
  include : "basic", noEscape: true
2661
- }, { // Github style block
2662
- token : "support.function",
2663
- regex : "^\\s*```\\s*[a-zA-Z]*(?:{.*?\\})?\\s*$",
2664
- next : "githubblock"
2665
- }, {
2707
+ },
2708
+ codeBlockStartRule,
2709
+ {
2666
2710
  defaultToken : "list" //do not use markup.list to allow stling leading `*` differntly
2667
2711
  } ],
2668
2712
 
@@ -2680,39 +2724,9 @@ var MarkdownHighlightRules = function() {
2680
2724
  defaultToken : "string.blockquote"
2681
2725
  } ],
2682
2726
 
2683
- "githubblock" : [ {
2684
- token : "support.function",
2685
- regex : "^\\s*```",
2686
- next : "start"
2687
- }, {
2688
- defaultToken : "support.function"
2689
- } ]
2727
+ "githubblock" : codeBlockRules
2690
2728
  });
2691
2729
 
2692
- this.embedRules(JavaScriptHighlightRules, "jscode-", [{
2693
- token : "support.function",
2694
- regex : "^\\s*```",
2695
- next : "pop"
2696
- }]);
2697
-
2698
- this.embedRules(HtmlHighlightRules, "htmlcode-", [{
2699
- token : "support.function",
2700
- regex : "^\\s*```",
2701
- next : "pop"
2702
- }]);
2703
-
2704
- this.embedRules(CssHighlightRules, "csscode-", [{
2705
- token : "support.function",
2706
- regex : "^\\s*```",
2707
- next : "pop"
2708
- }]);
2709
-
2710
- this.embedRules(XmlHighlightRules, "xmlcode-", [{
2711
- token : "support.function",
2712
- regex : "^\\s*```",
2713
- next : "pop"
2714
- }]);
2715
-
2716
2730
  this.normalizeRules();
2717
2731
  };
2718
2732
  oop.inherits(MarkdownHighlightRules, TextHighlightRules);
@@ -2785,7 +2799,7 @@ oop.inherits(FoldMode, BaseFoldMode);
2785
2799
  var ch = token.value[0];
2786
2800
  if (ch == "=") return 6;
2787
2801
  if (ch == "-") return 5;
2788
- return 7 - token.value.search(/[^#]/);
2802
+ return 7 - token.value.search(/[^#]|$/);
2789
2803
  }
2790
2804
 
2791
2805
  if (isHeading(row)) {
@@ -2816,7 +2830,310 @@ oop.inherits(FoldMode, BaseFoldMode);
2816
2830
 
2817
2831
  });
2818
2832
 
2819
- define("ace/mode/markdown",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript","ace/mode/xml","ace/mode/html","ace/mode/markdown_highlight_rules","ace/mode/folding/markdown"], function(require, exports, module) {
2833
+ define("ace/mode/sh_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
2834
+ "use strict";
2835
+
2836
+ var oop = require("../lib/oop");
2837
+ var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
2838
+
2839
+ var reservedKeywords = exports.reservedKeywords = (
2840
+ '!|{|}|case|do|done|elif|else|'+
2841
+ 'esac|fi|for|if|in|then|until|while|'+
2842
+ '&|;|export|local|read|typeset|unset|'+
2843
+ 'elif|select|set|function|declare|readonly'
2844
+ );
2845
+
2846
+ var languageConstructs = exports.languageConstructs = (
2847
+ '[|]|alias|bg|bind|break|builtin|'+
2848
+ 'cd|command|compgen|complete|continue|'+
2849
+ 'dirs|disown|echo|enable|eval|exec|'+
2850
+ 'exit|fc|fg|getopts|hash|help|history|'+
2851
+ 'jobs|kill|let|logout|popd|printf|pushd|'+
2852
+ 'pwd|return|set|shift|shopt|source|'+
2853
+ 'suspend|test|times|trap|type|ulimit|'+
2854
+ 'umask|unalias|wait'
2855
+ );
2856
+
2857
+ var ShHighlightRules = function() {
2858
+ var keywordMapper = this.createKeywordMapper({
2859
+ "keyword": reservedKeywords,
2860
+ "support.function.builtin": languageConstructs,
2861
+ "invalid.deprecated": "debugger"
2862
+ }, "identifier");
2863
+
2864
+ var integer = "(?:(?:[1-9]\\d*)|(?:0))";
2865
+
2866
+ var fraction = "(?:\\.\\d+)";
2867
+ var intPart = "(?:\\d+)";
2868
+ var pointFloat = "(?:(?:" + intPart + "?" + fraction + ")|(?:" + intPart + "\\.))";
2869
+ var exponentFloat = "(?:(?:" + pointFloat + "|" + intPart + ")" + ")";
2870
+ var floatNumber = "(?:" + exponentFloat + "|" + pointFloat + ")";
2871
+ var fileDescriptor = "(?:&" + intPart + ")";
2872
+
2873
+ var variableName = "[a-zA-Z_][a-zA-Z0-9_]*";
2874
+ var variable = "(?:" + variableName + "(?==))";
2875
+
2876
+ var builtinVariable = "(?:\\$(?:SHLVL|\\$|\\!|\\?))";
2877
+
2878
+ var func = "(?:" + variableName + "\\s*\\(\\))";
2879
+
2880
+ this.$rules = {
2881
+ "start" : [{
2882
+ token : "constant",
2883
+ regex : /\\./
2884
+ }, {
2885
+ token : ["text", "comment"],
2886
+ regex : /(^|\s)(#.*)$/
2887
+ }, {
2888
+ token : "string.start",
2889
+ regex : '"',
2890
+ push : [{
2891
+ token : "constant.language.escape",
2892
+ regex : /\\(?:[$`"\\]|$)/
2893
+ }, {
2894
+ include : "variables"
2895
+ }, {
2896
+ token : "keyword.operator",
2897
+ regex : /`/ // TODO highlight `
2898
+ }, {
2899
+ token : "string.end",
2900
+ regex : '"',
2901
+ next: "pop"
2902
+ }, {
2903
+ defaultToken: "string"
2904
+ }]
2905
+ }, {
2906
+ token : "string",
2907
+ regex : "\\$'",
2908
+ push : [{
2909
+ token : "constant.language.escape",
2910
+ regex : /\\(?:[abeEfnrtv\\'"]|x[a-fA-F\d]{1,2}|u[a-fA-F\d]{4}([a-fA-F\d]{4})?|c.|\d{1,3})/
2911
+ }, {
2912
+ token : "string",
2913
+ regex : "'",
2914
+ next: "pop"
2915
+ }, {
2916
+ defaultToken: "string"
2917
+ }]
2918
+ }, {
2919
+ regex : "<<<",
2920
+ token : "keyword.operator"
2921
+ }, {
2922
+ stateName: "heredoc",
2923
+ regex : "(<<-?)(\\s*)(['\"`]?)([\\w\\-]+)(['\"`]?)",
2924
+ onMatch : function(value, currentState, stack) {
2925
+ var next = value[2] == '-' ? "indentedHeredoc" : "heredoc";
2926
+ var tokens = value.split(this.splitRegex);
2927
+ stack.push(next, tokens[4]);
2928
+ return [
2929
+ {type:"constant", value: tokens[1]},
2930
+ {type:"text", value: tokens[2]},
2931
+ {type:"string", value: tokens[3]},
2932
+ {type:"support.class", value: tokens[4]},
2933
+ {type:"string", value: tokens[5]}
2934
+ ];
2935
+ },
2936
+ rules: {
2937
+ heredoc: [{
2938
+ onMatch: function(value, currentState, stack) {
2939
+ if (value === stack[1]) {
2940
+ stack.shift();
2941
+ stack.shift();
2942
+ this.next = stack[0] || "start";
2943
+ return "support.class";
2944
+ }
2945
+ this.next = "";
2946
+ return "string";
2947
+ },
2948
+ regex: ".*$",
2949
+ next: "start"
2950
+ }],
2951
+ indentedHeredoc: [{
2952
+ token: "string",
2953
+ regex: "^\t+"
2954
+ }, {
2955
+ onMatch: function(value, currentState, stack) {
2956
+ if (value === stack[1]) {
2957
+ stack.shift();
2958
+ stack.shift();
2959
+ this.next = stack[0] || "start";
2960
+ return "support.class";
2961
+ }
2962
+ this.next = "";
2963
+ return "string";
2964
+ },
2965
+ regex: ".*$",
2966
+ next: "start"
2967
+ }]
2968
+ }
2969
+ }, {
2970
+ regex : "$",
2971
+ token : "empty",
2972
+ next : function(currentState, stack) {
2973
+ if (stack[0] === "heredoc" || stack[0] === "indentedHeredoc")
2974
+ return stack[0];
2975
+ return currentState;
2976
+ }
2977
+ }, {
2978
+ token : ["keyword", "text", "text", "text", "variable"],
2979
+ regex : /(declare|local|readonly)(\s+)(?:(-[fixar]+)(\s+))?([a-zA-Z_][a-zA-Z0-9_]*\b)/
2980
+ }, {
2981
+ token : "variable.language",
2982
+ regex : builtinVariable
2983
+ }, {
2984
+ token : "variable",
2985
+ regex : variable
2986
+ }, {
2987
+ include : "variables"
2988
+ }, {
2989
+ token : "support.function",
2990
+ regex : func
2991
+ }, {
2992
+ token : "support.function",
2993
+ regex : fileDescriptor
2994
+ }, {
2995
+ token : "string", // ' string
2996
+ start : "'", end : "'"
2997
+ }, {
2998
+ token : "constant.numeric", // float
2999
+ regex : floatNumber
3000
+ }, {
3001
+ token : "constant.numeric", // integer
3002
+ regex : integer + "\\b"
3003
+ }, {
3004
+ token : keywordMapper,
3005
+ regex : "[a-zA-Z_][a-zA-Z0-9_]*\\b"
3006
+ }, {
3007
+ token : "keyword.operator",
3008
+ regex : "\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|~|<|>|<=|=>|=|!=|[%&|`]"
3009
+ }, {
3010
+ token : "punctuation.operator",
3011
+ regex : ";"
3012
+ }, {
3013
+ token : "paren.lparen",
3014
+ regex : "[\\[\\(\\{]"
3015
+ }, {
3016
+ token : "paren.rparen",
3017
+ regex : "[\\]]"
3018
+ }, {
3019
+ token : "paren.rparen",
3020
+ regex : "[\\)\\}]",
3021
+ next : "pop"
3022
+ }],
3023
+ variables: [{
3024
+ token : "variable",
3025
+ regex : /(\$)(\w+)/
3026
+ }, {
3027
+ token : ["variable", "paren.lparen"],
3028
+ regex : /(\$)(\()/,
3029
+ push : "start"
3030
+ }, {
3031
+ token : ["variable", "paren.lparen", "keyword.operator", "variable", "keyword.operator"],
3032
+ regex : /(\$)(\{)([#!]?)(\w+|[*@#?\-$!0_])(:[?+\-=]?|##?|%%?|,,?\/|\^\^?)?/,
3033
+ push : "start"
3034
+ }, {
3035
+ token : "variable",
3036
+ regex : /\$[*@#?\-$!0_]/
3037
+ }, {
3038
+ token : ["variable", "paren.lparen"],
3039
+ regex : /(\$)(\{)/,
3040
+ push : "start"
3041
+ }]
3042
+ };
3043
+
3044
+ this.normalizeRules();
3045
+ };
3046
+
3047
+ oop.inherits(ShHighlightRules, TextHighlightRules);
3048
+
3049
+ exports.ShHighlightRules = ShHighlightRules;
3050
+ });
3051
+
3052
+ define("ace/mode/sh",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/sh_highlight_rules","ace/range","ace/mode/folding/cstyle","ace/mode/behaviour/cstyle"], function(require, exports, module) {
3053
+ "use strict";
3054
+
3055
+ var oop = require("../lib/oop");
3056
+ var TextMode = require("./text").Mode;
3057
+ var ShHighlightRules = require("./sh_highlight_rules").ShHighlightRules;
3058
+ var Range = require("../range").Range;
3059
+ var CStyleFoldMode = require("./folding/cstyle").FoldMode;
3060
+ var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
3061
+
3062
+ var Mode = function() {
3063
+ this.HighlightRules = ShHighlightRules;
3064
+ this.foldingRules = new CStyleFoldMode();
3065
+ this.$behaviour = new CstyleBehaviour();
3066
+ };
3067
+ oop.inherits(Mode, TextMode);
3068
+
3069
+ (function() {
3070
+
3071
+
3072
+ this.lineCommentStart = "#";
3073
+
3074
+ this.getNextLineIndent = function(state, line, tab) {
3075
+ var indent = this.$getIndent(line);
3076
+
3077
+ var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
3078
+ var tokens = tokenizedLine.tokens;
3079
+
3080
+ if (tokens.length && tokens[tokens.length-1].type == "comment") {
3081
+ return indent;
3082
+ }
3083
+
3084
+ if (state == "start") {
3085
+ var match = line.match(/^.*[\{\(\[:]\s*$/);
3086
+ if (match) {
3087
+ indent += tab;
3088
+ }
3089
+ }
3090
+
3091
+ return indent;
3092
+ };
3093
+
3094
+ var outdents = {
3095
+ "pass": 1,
3096
+ "return": 1,
3097
+ "raise": 1,
3098
+ "break": 1,
3099
+ "continue": 1
3100
+ };
3101
+
3102
+ this.checkOutdent = function(state, line, input) {
3103
+ if (input !== "\r\n" && input !== "\r" && input !== "\n")
3104
+ return false;
3105
+
3106
+ var tokens = this.getTokenizer().getLineTokens(line.trim(), state).tokens;
3107
+
3108
+ if (!tokens)
3109
+ return false;
3110
+ do {
3111
+ var last = tokens.pop();
3112
+ } while (last && (last.type == "comment" || (last.type == "text" && last.value.match(/^\s+$/))));
3113
+
3114
+ if (!last)
3115
+ return false;
3116
+
3117
+ return (last.type == "keyword" && outdents[last.value]);
3118
+ };
3119
+
3120
+ this.autoOutdent = function(state, doc, row) {
3121
+
3122
+ row += 1;
3123
+ var indent = this.$getIndent(doc.getLine(row));
3124
+ var tab = doc.getTabString();
3125
+ if (indent.slice(-tab.length) == tab)
3126
+ doc.remove(new Range(row, indent.length-tab.length, row, indent.length));
3127
+ };
3128
+
3129
+ this.$id = "ace/mode/sh";
3130
+ this.snippetFileId = "ace/snippets/sh";
3131
+ }).call(Mode.prototype);
3132
+
3133
+ exports.Mode = Mode;
3134
+ });
3135
+
3136
+ define("ace/mode/markdown",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript","ace/mode/xml","ace/mode/html","ace/mode/markdown_highlight_rules","ace/mode/folding/markdown","ace/mode/javascript","ace/mode/html","ace/mode/sh","ace/mode/sh","ace/mode/xml","ace/mode/css"], function(require, exports, module) {
2820
3137
  "use strict";
2821
3138
 
2822
3139
  var oop = require("../lib/oop");
@@ -2831,9 +3148,12 @@ var Mode = function() {
2831
3148
  this.HighlightRules = MarkdownHighlightRules;
2832
3149
 
2833
3150
  this.createModeDelegates({
2834
- "js-": JavaScriptMode,
2835
- "xml-": XmlMode,
2836
- "html-": HtmlMode
3151
+ javascript: require("./javascript").Mode,
3152
+ html: require("./html").Mode,
3153
+ bash: require("./sh").Mode,
3154
+ sh: require("./sh").Mode,
3155
+ xml: require("./xml").Mode,
3156
+ css: require("./css").Mode
2837
3157
  });
2838
3158
 
2839
3159
  this.foldingRules = new MarkdownFoldMode();
@@ -2844,6 +3164,7 @@ oop.inherits(Mode, TextMode);
2844
3164
  (function() {
2845
3165
  this.type = "text";
2846
3166
  this.blockComment = {start: "<!--", end: "-->"};
3167
+ this.$quotes = {'"': '"', "`": "`"};
2847
3168
 
2848
3169
  this.getNextLineIndent = function(state, line, tab) {
2849
3170
  if (state == "listblock") {
@@ -2859,7 +3180,15 @@ oop.inherits(Mode, TextMode);
2859
3180
  }
2860
3181
  };
2861
3182
  this.$id = "ace/mode/markdown";
3183
+ this.snippetFileId = "ace/snippets/markdown";
2862
3184
  }).call(Mode.prototype);
2863
3185
 
2864
3186
  exports.Mode = Mode;
2865
- });
3187
+ }); (function() {
3188
+ window.require(["ace/mode/markdown"], function(m) {
3189
+ if (typeof module == "object" && typeof exports == "object" && module) {
3190
+ module.exports = m;
3191
+ }
3192
+ });
3193
+ })();
3194
+