${1}\n\
+snippet bdo\n\
+ ${2}\n\
+snippet bdo:l\n\
+ ${1}\n\
+snippet bdo:r\n\
+ ${1}\n\
+snippet blockquote\n\
+ \n\
+ ${1}\n\
+
\n\
+snippet body\n\
+ \n\
+ ${1}\n\
+ \n\
+snippet br\n\
+
${1}\n\
+snippet button\n\
+ \n\
+snippet button.\n\
+ \n\
+snippet button#\n\
+ \n\
+snippet button:s\n\
+ \n\
+snippet button:r\n\
+ \n\
+snippet canvas\n\
+ \n\
+snippet caption\n\
+ ${1}\n\
+snippet cite\n\
+ ${1}\n\
+snippet code\n\
+ ${1}\n\
+snippet col\n\
+ ${1}\n\
+snippet col+\n\
+ \n\
+ col+${1}\n\
+snippet colgroup\n\
+ \n\
+ ${1}\n\
+ \n\
+snippet colgroup+\n\
+ \n\
+ \n\
+ col+${1}\n\
+ \n\
+snippet command\n\
+ \n\
+snippet command:c\n\
+ \n\
+snippet command:r\n\
+ \n\
+snippet datagrid\n\
+ \n\
+ ${1}\n\
+ \n\
+snippet datalist\n\
+ \n\
+snippet datatemplate\n\
+ \n\
+ ${1}\n\
+ \n\
+snippet dd\n\
+ ${1}\n\
+snippet dd.\n\
+ ${2}\n\
+snippet dd#\n\
+ ${2}\n\
+snippet del\n\
+ ${1}\n\
+snippet details\n\
+ ${1} \n\
+snippet dfn\n\
+ ${1}\n\
+snippet dialog\n\
+ \n\
+snippet div\n\
+ \n\
+ ${1}\n\
+
\n\
+snippet div.\n\
+ \n\
+ ${2}\n\
+
\n\
+snippet div#\n\
+ \n\
+ ${2}\n\
+
\n\
+snippet dl\n\
+ \n\
+ ${1}\n\
+
\n\
+snippet dl.\n\
+ \n\
+ ${2}\n\
+
\n\
+snippet dl#\n\
+ \n\
+ ${2}\n\
+
\n\
+snippet dl+\n\
+ \n\
+ - ${1}
\n\
+ - ${2}
\n\
+ dt+${3}\n\
+
\n\
+snippet dt\n\
+ ${1}\n\
+snippet dt.\n\
+ ${2}\n\
+snippet dt#\n\
+ ${2}\n\
+snippet dt+\n\
+ ${1}\n\
+ ${2}\n\
+ dt+${3}\n\
+snippet em\n\
+ ${1}\n\
+snippet embed\n\
+ \n\
+snippet fieldset\n\
+ \n\
+snippet fieldset.\n\
+ \n\
+snippet fieldset#\n\
+ \n\
+snippet fieldset+\n\
+ \n\
+ fieldset+${3}\n\
+snippet figcaption\n\
+ ${1}\n\
+snippet figure\n\
+ ${1}\n\
+snippet footer\n\
+ \n\
+snippet footer.\n\
+ \n\
+snippet footer#\n\
+ \n\
+snippet form\n\
+ \n\
+snippet form.\n\
+ \n\
+snippet form#\n\
+ \n\
+snippet h1\n\
+ ${1}
\n\
+snippet h1.\n\
+ ${2}
\n\
+snippet h1#\n\
+ ${2}
\n\
+snippet h2\n\
+ ${1}
\n\
+snippet h2.\n\
+ ${2}
\n\
+snippet h2#\n\
+ ${2}
\n\
+snippet h3\n\
+ ${1}
\n\
+snippet h3.\n\
+ ${2}
\n\
+snippet h3#\n\
+ ${2}
\n\
+snippet h4\n\
+ ${1}
\n\
+snippet h4.\n\
+ ${2}
\n\
+snippet h4#\n\
+ ${2}
\n\
+snippet h5\n\
+ ${1}
\n\
+snippet h5.\n\
+ ${2}
\n\
+snippet h5#\n\
+ ${2}
\n\
+snippet h6\n\
+ ${1}
\n\
+snippet h6.\n\
+ ${2}
\n\
+snippet h6#\n\
+ ${2}
\n\
+snippet head\n\
+ \n\
+ \n\
+\n\
+ ${1:`substitute(Filename('', 'Page Title'), '^.', '\\u&', '')`}\n\
+ ${2}\n\
+ \n\
+snippet header\n\
+ \n\
+snippet header.\n\
+ \n\
+snippet header#\n\
+ \n\
+snippet hgroup\n\
+ \n\
+ ${1}\n\
+ \n\
+snippet hgroup.\n\
+ \n\
+ ${2}\n\
+ \n\
+snippet hr\n\
+
${1}\n\
+snippet html\n\
+ \n\
+ ${1}\n\
+ \n\
+snippet xhtml\n\
+ \n\
+ ${1}\n\
+ \n\
+snippet html5\n\
+ \n\
+ \n\
+ \n\
+ \n\
+ ${1:`substitute(Filename('', 'Page Title'), '^.', '\\u&', '')`}\n\
+ ${2:meta}\n\
+ \n\
+ \n\
+ ${3:body}\n\
+ \n\
+ \n\
+snippet i\n\
+ ${1}\n\
+snippet iframe\n\
+ ${2}\n\
+snippet iframe.\n\
+ ${3}\n\
+snippet iframe#\n\
+ ${3}\n\
+snippet img\n\
+
${3}\n\
+snippet img.\n\
+
${4}\n\
+snippet img#\n\
+
${4}\n\
+snippet input\n\
+ ${5}\n\
+snippet input.\n\
+ ${6}\n\
+snippet input:text\n\
+ ${4}\n\
+snippet input:submit\n\
+ ${4}\n\
+snippet input:hidden\n\
+ ${4}\n\
+snippet input:button\n\
+ ${4}\n\
+snippet input:image\n\
+ ${5}\n\
+snippet input:checkbox\n\
+ ${3}\n\
+snippet input:radio\n\
+ ${3}\n\
+snippet input:color\n\
+ ${4}\n\
+snippet input:date\n\
+ ${4}\n\
+snippet input:datetime\n\
+ ${4}\n\
+snippet input:datetime-local\n\
+ ${4}\n\
+snippet input:email\n\
+ ${4}\n\
+snippet input:file\n\
+ ${4}\n\
+snippet input:month\n\
+ ${4}\n\
+snippet input:number\n\
+ ${4}\n\
+snippet input:password\n\
+ ${4}\n\
+snippet input:range\n\
+ ${4}\n\
+snippet input:reset\n\
+ ${4}\n\
+snippet input:search\n\
+ ${4}\n\
+snippet input:time\n\
+ ${4}\n\
+snippet input:url\n\
+ ${4}\n\
+snippet input:week\n\
+ ${4}\n\
+snippet ins\n\
+ ${1}\n\
+snippet kbd\n\
+ ${1}\n\
+snippet keygen\n\
+ ${1}\n\
+snippet label\n\
+ \n\
+snippet label:i\n\
+ \n\
+ ${7}\n\
+snippet label:s\n\
+ \n\
+ \n\
+snippet legend\n\
+ \n\
+snippet legend+\n\
+ \n\
+snippet li\n\
+ ${1}\n\
+snippet li.\n\
+ ${2}\n\
+snippet li+\n\
+ ${1}\n\
+ li+${2}\n\
+snippet lia\n\
+ ${1}\n\
+snippet lia+\n\
+ ${1}\n\
+ lia+${3}\n\
+snippet link\n\
+ ${5}\n\
+snippet link:atom\n\
+ ${2}\n\
+snippet link:css\n\
+ ${4}\n\
+snippet link:favicon\n\
+ ${2}\n\
+snippet link:rss\n\
+ ${2}\n\
+snippet link:touch\n\
+ ${2}\n\
+snippet map\n\
+ \n\
+snippet map.\n\
+ \n\
+snippet map#\n\
+ \n\
+snippet map+\n\
+ ${7}\n\
+snippet mark\n\
+ ${1}\n\
+snippet menu\n\
+ \n\
+snippet menu:c\n\
+ \n\
+snippet menu:t\n\
+ \n\
+snippet meta\n\
+ ${3}\n\
+snippet meta:compat\n\
+ ${3}\n\
+snippet meta:refresh\n\
+ ${3}\n\
+snippet meta:utf\n\
+ ${3}\n\
+snippet meter\n\
+ ${1}\n\
+snippet nav\n\
+ \n\
+snippet nav.\n\
+ \n\
+snippet nav#\n\
+ \n\
+snippet noscript\n\
+ \n\
+snippet object\n\
+ ${4}\n\
+# Embed QT Movie\n\
+snippet movie\n\
+ ${6}\n\
+snippet ol\n\
+ \n\
+ ${1}\n\
+
\n\
+snippet ol.\n\
+ \n\
+ ${2}\n\
+
\n\
+snippet ol#\n\
+ \n\
+ ${2}\n\
+
\n\
+snippet ol+\n\
+ \n\
+ - ${1}
\n\
+ li+${2}\n\
+
\n\
+snippet opt\n\
+ \n\
+snippet opt+\n\
+ \n\
+ opt+${3}\n\
+snippet optt\n\
+ \n\
+snippet optgroup\n\
+ \n\
+snippet output\n\
+ \n\
+snippet p\n\
+ ${1}
\n\
+snippet param\n\
+ ${3}\n\
+snippet pre\n\
+ \n\
+ ${1}\n\
+ \n\
+snippet progress\n\
+ \n\
+snippet q\n\
+ ${1}
\n\
+snippet rp\n\
+ \n\
+snippet rt\n\
+ \n\
+snippet ruby\n\
+ \n\
+ \n\
+ \n\
+snippet s\n\
+ ${1}\n\
+snippet samp\n\
+ \n\
+ ${1}\n\
+ \n\
+snippet script\n\
+ \n\
+snippet scriptsrc\n\
+ \n\
+snippet section\n\
+ \n\
+snippet section.\n\
+ \n\
+snippet section#\n\
+ \n\
+snippet select\n\
+ \n\
+snippet select.\n\
+ \n\
+snippet select+\n\
+ \n\
+snippet small\n\
+ ${1}\n\
+snippet source\n\
+ \n\
+snippet span\n\
+ ${1}\n\
+snippet strong\n\
+ ${1}\n\
+snippet style\n\
+ \n\
+snippet sub\n\
+ ${1}\n\
+snippet summary\n\
+ \n\
+ ${1}\n\
+ \n\
+snippet sup\n\
+ ${1}\n\
+snippet table\n\
+ \n\
+snippet table.\n\
+ \n\
+snippet table#\n\
+ \n\
+snippet tbody\n\
+ \n\
+ ${1}\n\
+ \n\
+snippet td\n\
+ ${1} | \n\
+snippet td.\n\
+ ${2} | \n\
+snippet td#\n\
+ ${2} | \n\
+snippet td+\n\
+ ${1} | \n\
+ td+${2}\n\
+snippet textarea\n\
+ ${6}\n\
+snippet tfoot\n\
+ \n\
+ ${1}\n\
+ \n\
+snippet th\n\
+ ${1} | \n\
+snippet th.\n\
+ ${2} | \n\
+snippet th#\n\
+ ${2} | \n\
+snippet th+\n\
+ ${1} | \n\
+ th+${2}\n\
+snippet thead\n\
+ \n\
+ ${1}\n\
+ \n\
+snippet time\n\
+ \n\
+snippet title\n\
+ ${1:`substitute(Filename('', 'Page Title'), '^.', '\\u&', '')`}\n\
+snippet tr\n\
+ \n\
+ ${1}\n\
+
\n\
+snippet tr+\n\
+ \n\
+ | ${1} | \n\
+ td+${2}\n\
+
\n\
+snippet track\n\
+ ${6}\n\
+snippet ul\n\
+ \n\
+snippet ul.\n\
+ \n\
+snippet ul#\n\
+ \n\
+snippet ul+\n\
+ \n\
+ - ${1}
\n\
+ li+${2}\n\
+
\n\
+snippet var\n\
+ ${1}\n\
+snippet video\n\
+ ${8}\n\
+snippet wbr\n\
+ ${1}\n\
+";
+exports.scope = "html";
+
+});
diff --git a/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/javascript.js b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/javascript.js
new file mode 100644
index 000000000..f3f998ad6
--- /dev/null
+++ b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/javascript.js
@@ -0,0 +1,202 @@
+ace.define("ace/snippets/javascript",["require","exports","module"], function(require, exports, module) {
+"use strict";
+
+exports.snippetText = "# Prototype\n\
+snippet proto\n\
+ ${1:class_name}.prototype.${2:method_name} = function(${3:first_argument}) {\n\
+ ${4:// body...}\n\
+ };\n\
+# Function\n\
+snippet fun\n\
+ function ${1?:function_name}(${2:argument}) {\n\
+ ${3:// body...}\n\
+ }\n\
+# Anonymous Function\n\
+regex /((=)\\s*|(:)\\s*|(\\()|\\b)/f/(\\))?/\n\
+snippet f\n\
+ function${M1?: ${1:functionName}}($2) {\n\
+ ${0:$TM_SELECTED_TEXT}\n\
+ }${M2?;}${M3?,}${M4?)}\n\
+# Immediate function\n\
+trigger \\(?f\\(\n\
+endTrigger \\)?\n\
+snippet f(\n\
+ (function(${1}) {\n\
+ ${0:${TM_SELECTED_TEXT:/* code */}}\n\
+ }(${1}));\n\
+# if\n\
+snippet if\n\
+ if (${1:true}) {\n\
+ ${0}\n\
+ }\n\
+# if ... else\n\
+snippet ife\n\
+ if (${1:true}) {\n\
+ ${2}\n\
+ } else {\n\
+ ${0}\n\
+ }\n\
+# tertiary conditional\n\
+snippet ter\n\
+ ${1:/* condition */} ? ${2:a} : ${3:b}\n\
+# switch\n\
+snippet switch\n\
+ switch (${1:expression}) {\n\
+ case '${3:case}':\n\
+ ${4:// code}\n\
+ break;\n\
+ ${5}\n\
+ default:\n\
+ ${2:// code}\n\
+ }\n\
+# case\n\
+snippet case\n\
+ case '${1:case}':\n\
+ ${2:// code}\n\
+ break;\n\
+ ${3}\n\
+\n\
+# while (...) {...}\n\
+snippet wh\n\
+ while (${1:/* condition */}) {\n\
+ ${0:/* code */}\n\
+ }\n\
+# try\n\
+snippet try\n\
+ try {\n\
+ ${0:/* code */}\n\
+ } catch (e) {}\n\
+# do...while\n\
+snippet do\n\
+ do {\n\
+ ${2:/* code */}\n\
+ } while (${1:/* condition */});\n\
+# Object Method\n\
+snippet :f\n\
+regex /([,{[])|^\\s*/:f/\n\
+ ${1:method_name}: function(${2:attribute}) {\n\
+ ${0}\n\
+ }${3:,}\n\
+# setTimeout function\n\
+snippet setTimeout\n\
+regex /\\b/st|timeout|setTimeo?u?t?/\n\
+ setTimeout(function() {${3:$TM_SELECTED_TEXT}}, ${1:10});\n\
+# Get Elements\n\
+snippet gett\n\
+ getElementsBy${1:TagName}('${2}')${3}\n\
+# Get Element\n\
+snippet get\n\
+ getElementBy${1:Id}('${2}')${3}\n\
+# console.log (Firebug)\n\
+snippet cl\n\
+ console.log(${1});\n\
+# return\n\
+snippet ret\n\
+ return ${1:result}\n\
+# for (property in object ) { ... }\n\
+snippet fori\n\
+ for (var ${1:prop} in ${2:Things}) {\n\
+ ${0:$2[$1]}\n\
+ }\n\
+# hasOwnProperty\n\
+snippet has\n\
+ hasOwnProperty(${1})\n\
+# docstring\n\
+snippet /**\n\
+ /**\n\
+ * ${1:description}\n\
+ *\n\
+ */\n\
+snippet @par\n\
+regex /^\\s*\\*\\s*/@(para?m?)?/\n\
+ @param {${1:type}} ${2:name} ${3:description}\n\
+snippet @ret\n\
+ @return {${1:type}} ${2:description}\n\
+# JSON.parse\n\
+snippet jsonp\n\
+ JSON.parse(${1:jstr});\n\
+# JSON.stringify\n\
+snippet jsons\n\
+ JSON.stringify(${1:object});\n\
+# self-defining function\n\
+snippet sdf\n\
+ var ${1:function_name} = function(${2:argument}) {\n\
+ ${3:// initial code ...}\n\
+\n\
+ $1 = function($2) {\n\
+ ${4:// main code}\n\
+ };\n\
+ }\n\
+# singleton\n\
+snippet sing\n\
+ function ${1:Singleton} (${2:argument}) {\n\
+ // the cached instance\n\
+ var instance;\n\
+\n\
+ // rewrite the constructor\n\
+ $1 = function $1($2) {\n\
+ return instance;\n\
+ };\n\
+ \n\
+ // carry over the prototype properties\n\
+ $1.prototype = this;\n\
+\n\
+ // the instance\n\
+ instance = new $1();\n\
+\n\
+ // reset the constructor pointer\n\
+ instance.constructor = $1;\n\
+\n\
+ ${3:// code ...}\n\
+\n\
+ return instance;\n\
+ }\n\
+# class\n\
+snippet class\n\
+regex /^\\s*/clas{0,2}/\n\
+ var ${1:class} = function(${20}) {\n\
+ $40$0\n\
+ };\n\
+ \n\
+ (function() {\n\
+ ${60:this.prop = \"\"}\n\
+ }).call(${1:class}.prototype);\n\
+ \n\
+ exports.${1:class} = ${1:class};\n\
+# \n\
+snippet for-\n\
+ for (var ${1:i} = ${2:Things}.length; ${1:i}--; ) {\n\
+ ${0:${2:Things}[${1:i}];}\n\
+ }\n\
+# for (...) {...}\n\
+snippet for\n\
+ for (var ${1:i} = 0; $1 < ${2:Things}.length; $1++) {\n\
+ ${3:$2[$1]}$0\n\
+ }\n\
+# for (...) {...} (Improved Native For-Loop)\n\
+snippet forr\n\
+ for (var ${1:i} = ${2:Things}.length - 1; $1 >= 0; $1--) {\n\
+ ${3:$2[$1]}$0\n\
+ }\n\
+\n\
+\n\
+#modules\n\
+snippet def\n\
+ define(function(require, exports, module) {\n\
+ \"use strict\";\n\
+ var ${1/.*\\///} = require(\"${1}\");\n\
+ \n\
+ $TM_SELECTED_TEXT\n\
+ });\n\
+snippet req\n\
+guard ^\\s*\n\
+ var ${1/.*\\///} = require(\"${1}\");\n\
+ $0\n\
+snippet requ\n\
+guard ^\\s*\n\
+ var ${1/.*\\/(.)/\\u$1/} = require(\"${1}\").${1/.*\\/(.)/\\u$1/};\n\
+ $0\n\
+";
+exports.scope = "javascript";
+
+});
diff --git a/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/markdown.js b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/markdown.js
new file mode 100644
index 000000000..d05f16b96
--- /dev/null
+++ b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/markdown.js
@@ -0,0 +1,95 @@
+ace.define("ace/snippets/markdown",["require","exports","module"], function(require, exports, module) {
+"use strict";
+
+exports.snippetText = "# Markdown\n\
+\n\
+# Includes octopress (http://octopress.org/) snippets\n\
+\n\
+snippet [\n\
+ [${1:text}](http://${2:address} \"${3:title}\")\n\
+snippet [*\n\
+ [${1:link}](${2:`@*`} \"${3:title}\")${4}\n\
+\n\
+snippet [:\n\
+ [${1:id}]: http://${2:url} \"${3:title}\"\n\
+snippet [:*\n\
+ [${1:id}]: ${2:`@*`} \"${3:title}\"\n\
+\n\
+snippet \n\
+snippet ${4}\n\
+\n\
+snippet ![:\n\
+ ![${1:id}]: ${2:url} \"${3:title}\"\n\
+snippet ![:*\n\
+ ![${1:id}]: ${2:`@*`} \"${3:title}\"\n\
+\n\
+snippet ===\n\
+regex /^/=+/=*//\n\
+ ${PREV_LINE/./=/g}\n\
+ \n\
+ ${0}\n\
+snippet ---\n\
+regex /^/-+/-*//\n\
+ ${PREV_LINE/./-/g}\n\
+ \n\
+ ${0}\n\
+snippet blockquote\n\
+ {% blockquote %}\n\
+ ${1:quote}\n\
+ {% endblockquote %}\n\
+\n\
+snippet blockquote-author\n\
+ {% blockquote ${1:author}, ${2:title} %}\n\
+ ${3:quote}\n\
+ {% endblockquote %}\n\
+\n\
+snippet blockquote-link\n\
+ {% blockquote ${1:author} ${2:URL} ${3:link_text} %}\n\
+ ${4:quote}\n\
+ {% endblockquote %}\n\
+\n\
+snippet bt-codeblock-short\n\
+ ```\n\
+ ${1:code_snippet}\n\
+ ```\n\
+\n\
+snippet bt-codeblock-full\n\
+ ``` ${1:language} ${2:title} ${3:URL} ${4:link_text}\n\
+ ${5:code_snippet}\n\
+ ```\n\
+\n\
+snippet codeblock-short\n\
+ {% codeblock %}\n\
+ ${1:code_snippet}\n\
+ {% endcodeblock %}\n\
+\n\
+snippet codeblock-full\n\
+ {% codeblock ${1:title} lang:${2:language} ${3:URL} ${4:link_text} %}\n\
+ ${5:code_snippet}\n\
+ {% endcodeblock %}\n\
+\n\
+snippet gist-full\n\
+ {% gist ${1:gist_id} ${2:filename} %}\n\
+\n\
+snippet gist-short\n\
+ {% gist ${1:gist_id} %}\n\
+\n\
+snippet img\n\
+ {% img ${1:class} ${2:URL} ${3:width} ${4:height} ${5:title_text} ${6:alt_text} %}\n\
+\n\
+snippet youtube\n\
+ {% youtube ${1:video_id} %}\n\
+\n\
+# The quote should appear only once in the text. It is inherently part of it.\n\
+# See http://octopress.org/docs/plugins/pullquote/ for more info.\n\
+\n\
+snippet pullquote\n\
+ {% pullquote %}\n\
+ ${1:text} {\" ${2:quote} \"} ${3:text}\n\
+ {% endpullquote %}\n\
+";
+exports.scope = "markdown";
+
+});
diff --git a/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/php-inline.js b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/php-inline.js
new file mode 100644
index 000000000..a99ab6e09
--- /dev/null
+++ b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/php-inline.js
@@ -0,0 +1,384 @@
+ace.define("ace/snippets/php",["require","exports","module"], function(require, exports, module) {
+"use strict";
+
+exports.snippetText = "snippet \n\
+ \n\
+# this one is for php5.4\n\
+snippet =\n\
+ =${1}?>\n\
+snippet ns\n\
+ namespace ${1:Foo\\Bar\\Baz};\n\
+ ${2}\n\
+snippet use\n\
+ use ${1:Foo\\Bar\\Baz};\n\
+ ${2}\n\
+snippet c\n\
+ ${1:abstract }class ${2:$FILENAME}\n\
+ {\n\
+ ${3}\n\
+ }\n\
+snippet i\n\
+ interface ${1:$FILENAME}\n\
+ {\n\
+ ${2}\n\
+ }\n\
+snippet t.\n\
+ $this->${1}\n\
+snippet f\n\
+ function ${1:foo}(${2:array }${3:$bar})\n\
+ {\n\
+ ${4}\n\
+ }\n\
+# method\n\
+snippet m\n\
+ ${1:abstract }${2:protected}${3: static} function ${4:foo}(${5:array }${6:$bar})\n\
+ {\n\
+ ${7}\n\
+ }\n\
+# setter method\n\
+snippet sm \n\
+ /**\n\
+ * Sets the value of ${1:foo}\n\
+ *\n\
+ * @param ${2:$1} $$1 ${3:description}\n\
+ *\n\
+ * @return ${4:$FILENAME}\n\
+ */\n\
+ ${5:public} function set${6:$2}(${7:$2 }$$1)\n\
+ {\n\
+ $this->${8:$1} = $$1;\n\
+ return $this;\n\
+ }${9}\n\
+# getter method\n\
+snippet gm\n\
+ /**\n\
+ * Gets the value of ${1:foo}\n\
+ *\n\
+ * @return ${2:$1}\n\
+ */\n\
+ ${3:public} function get${4:$2}()\n\
+ {\n\
+ return $this->${5:$1};\n\
+ }${6}\n\
+#setter\n\
+snippet $s\n\
+ ${1:$foo}->set${2:Bar}(${3});\n\
+#getter\n\
+snippet $g\n\
+ ${1:$foo}->get${2:Bar}();\n\
+\n\
+# Tertiary conditional\n\
+snippet =?:\n\
+ $${1:foo} = ${2:true} ? ${3:a} : ${4};\n\
+snippet ?:\n\
+ ${1:true} ? ${2:a} : ${3}\n\
+\n\
+snippet C\n\
+ $_COOKIE['${1:variable}']${2}\n\
+snippet E\n\
+ $_ENV['${1:variable}']${2}\n\
+snippet F\n\
+ $_FILES['${1:variable}']${2}\n\
+snippet G\n\
+ $_GET['${1:variable}']${2}\n\
+snippet P\n\
+ $_POST['${1:variable}']${2}\n\
+snippet R\n\
+ $_REQUEST['${1:variable}']${2}\n\
+snippet S\n\
+ $_SERVER['${1:variable}']${2}\n\
+snippet SS\n\
+ $_SESSION['${1:variable}']${2}\n\
+ \n\
+# the following are old ones\n\
+snippet inc\n\
+ include '${1:file}';${2}\n\
+snippet inc1\n\
+ include_once '${1:file}';${2}\n\
+snippet req\n\
+ require '${1:file}';${2}\n\
+snippet req1\n\
+ require_once '${1:file}';${2}\n\
+# Start Docblock\n\
+snippet /*\n\
+ /**\n\
+ * ${1}\n\
+ */\n\
+# Class - post doc\n\
+snippet doc_cp\n\
+ /**\n\
+ * ${1:undocumented class}\n\
+ *\n\
+ * @package ${2:default}\n\
+ * @subpackage ${3:default}\n\
+ * @author ${4:`g:snips_author`}\n\
+ */${5}\n\
+# Class Variable - post doc\n\
+snippet doc_vp\n\
+ /**\n\
+ * ${1:undocumented class variable}\n\
+ *\n\
+ * @var ${2:string}\n\
+ */${3}\n\
+# Class Variable\n\
+snippet doc_v\n\
+ /**\n\
+ * ${3:undocumented class variable}\n\
+ *\n\
+ * @var ${4:string}\n\
+ */\n\
+ ${1:var} $${2};${5}\n\
+# Class\n\
+snippet doc_c\n\
+ /**\n\
+ * ${3:undocumented class}\n\
+ *\n\
+ * @package ${4:default}\n\
+ * @subpackage ${5:default}\n\
+ * @author ${6:`g:snips_author`}\n\
+ */\n\
+ ${1:}class ${2:}\n\
+ {\n\
+ ${7}\n\
+ } // END $1class $2\n\
+# Constant Definition - post doc\n\
+snippet doc_dp\n\
+ /**\n\
+ * ${1:undocumented constant}\n\
+ */${2}\n\
+# Constant Definition\n\
+snippet doc_d\n\
+ /**\n\
+ * ${3:undocumented constant}\n\
+ */\n\
+ define(${1}, ${2});${4}\n\
+# Function - post doc\n\
+snippet doc_fp\n\
+ /**\n\
+ * ${1:undocumented function}\n\
+ *\n\
+ * @return ${2:void}\n\
+ * @author ${3:`g:snips_author`}\n\
+ */${4}\n\
+# Function signature\n\
+snippet doc_s\n\
+ /**\n\
+ * ${4:undocumented function}\n\
+ *\n\
+ * @return ${5:void}\n\
+ * @author ${6:`g:snips_author`}\n\
+ */\n\
+ ${1}function ${2}(${3});${7}\n\
+# Function\n\
+snippet doc_f\n\
+ /**\n\
+ * ${4:undocumented function}\n\
+ *\n\
+ * @return ${5:void}\n\
+ * @author ${6:`g:snips_author`}\n\
+ */\n\
+ ${1}function ${2}(${3})\n\
+ {${7}\n\
+ }\n\
+# Header\n\
+snippet doc_h\n\
+ /**\n\
+ * ${1}\n\
+ *\n\
+ * @author ${2:`g:snips_author`}\n\
+ * @version ${3:$Id$}\n\
+ * @copyright ${4:$2}, `strftime('%d %B, %Y')`\n\
+ * @package ${5:default}\n\
+ */\n\
+ \n\
+# Interface\n\
+snippet interface\n\
+ /**\n\
+ * ${2:undocumented class}\n\
+ *\n\
+ * @package ${3:default}\n\
+ * @author ${4:`g:snips_author`}\n\
+ */\n\
+ interface ${1:$FILENAME}\n\
+ {\n\
+ ${5}\n\
+ }\n\
+# class ...\n\
+snippet class\n\
+ /**\n\
+ * ${1}\n\
+ */\n\
+ class ${2:$FILENAME}\n\
+ {\n\
+ ${3}\n\
+ /**\n\
+ * ${4}\n\
+ */\n\
+ ${5:public} function ${6:__construct}(${7:argument})\n\
+ {\n\
+ ${8:// code...}\n\
+ }\n\
+ }\n\
+# define(...)\n\
+snippet def\n\
+ define('${1}'${2});${3}\n\
+# defined(...)\n\
+snippet def?\n\
+ ${1}defined('${2}')${3}\n\
+snippet wh\n\
+ while (${1:/* condition */}) {\n\
+ ${2:// code...}\n\
+ }\n\
+# do ... while\n\
+snippet do\n\
+ do {\n\
+ ${2:// code... }\n\
+ } while (${1:/* condition */});\n\
+snippet if\n\
+ if (${1:/* condition */}) {\n\
+ ${2:// code...}\n\
+ }\n\
+snippet ifil\n\
+ \n\
+ ${2:}\n\
+ \n\
+snippet ife\n\
+ if (${1:/* condition */}) {\n\
+ ${2:// code...}\n\
+ } else {\n\
+ ${3:// code...}\n\
+ }\n\
+ ${4}\n\
+snippet ifeil\n\
+ \n\
+ ${2:}\n\
+ \n\
+ ${3:}\n\
+ \n\
+ ${4}\n\
+snippet else\n\
+ else {\n\
+ ${1:// code...}\n\
+ }\n\
+snippet elseif\n\
+ elseif (${1:/* condition */}) {\n\
+ ${2:// code...}\n\
+ }\n\
+snippet switch\n\
+ switch ($${1:variable}) {\n\
+ case '${2:value}':\n\
+ ${3:// code...}\n\
+ break;\n\
+ ${5}\n\
+ default:\n\
+ ${4:// code...}\n\
+ break;\n\
+ }\n\
+snippet case\n\
+ case '${1:value}':\n\
+ ${2:// code...}\n\
+ break;${3}\n\
+snippet for\n\
+ for ($${2:i} = 0; $$2 < ${1:count}; $$2${3:++}) {\n\
+ ${4: // code...}\n\
+ }\n\
+snippet foreach\n\
+ foreach ($${1:variable} as $${2:value}) {\n\
+ ${3:// code...}\n\
+ }\n\
+snippet foreachil\n\
+ \n\
+ ${3:}\n\
+ \n\
+snippet foreachk\n\
+ foreach ($${1:variable} as $${2:key} => $${3:value}) {\n\
+ ${4:// code...}\n\
+ }\n\
+snippet foreachkil\n\
+ $${3:value}): ?>\n\
+ ${4:}\n\
+ \n\
+# $... = array (...)\n\
+snippet array\n\
+ $${1:arrayName} = array('${2}' => ${3});${4}\n\
+snippet try\n\
+ try {\n\
+ ${2}\n\
+ } catch (${1:Exception} $e) {\n\
+ }\n\
+# lambda with closure\n\
+snippet lambda\n\
+ ${1:static }function (${2:args}) use (${3:&$x, $y /*put vars in scope (closure) */}) {\n\
+ ${4}\n\
+ };\n\
+# pre_dump();\n\
+snippet pd\n\
+ echo ''; var_dump(${1}); echo '';\n\
+# pre_dump(); die();\n\
+snippet pdd\n\
+ echo ''; var_dump(${1}); echo ''; die(${2:});\n\
+snippet vd\n\
+ var_dump(${1});\n\
+snippet vdd\n\
+ var_dump(${1}); die(${2:});\n\
+snippet http_redirect\n\
+ header (\"HTTP/1.1 301 Moved Permanently\"); \n\
+ header (\"Location: \".URL); \n\
+ exit();\n\
+# Getters & Setters\n\
+snippet gs\n\
+ /**\n\
+ * Gets the value of ${1:foo}\n\
+ *\n\
+ * @return ${2:$1}\n\
+ */\n\
+ public function get${3:$2}()\n\
+ {\n\
+ return $this->${4:$1};\n\
+ }\n\
+\n\
+ /**\n\
+ * Sets the value of $1\n\
+ *\n\
+ * @param $2 $$1 ${5:description}\n\
+ *\n\
+ * @return ${6:$FILENAME}\n\
+ */\n\
+ public function set$3(${7:$2 }$$1)\n\
+ {\n\
+ $this->$4 = $$1;\n\
+ return $this;\n\
+ }${8}\n\
+# anotation, get, and set, useful for doctrine\n\
+snippet ags\n\
+ /**\n\
+ * ${1:description}\n\
+ * \n\
+ * @${7}\n\
+ */\n\
+ ${2:protected} $${3:foo};\n\
+\n\
+ public function get${4:$3}()\n\
+ {\n\
+ return $this->$3;\n\
+ }\n\
+\n\
+ public function set$4(${5:$4 }$${6:$3})\n\
+ {\n\
+ $this->$3 = $$6;\n\
+ return $this;\n\
+ }\n\
+snippet rett\n\
+ return true;\n\
+snippet retf\n\
+ return false;\n\
+";
+exports.scope = "php";
+
+});
diff --git a/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/php.js b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/php.js
new file mode 100644
index 000000000..a99ab6e09
--- /dev/null
+++ b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/php.js
@@ -0,0 +1,384 @@
+ace.define("ace/snippets/php",["require","exports","module"], function(require, exports, module) {
+"use strict";
+
+exports.snippetText = "snippet \n\
+ \n\
+# this one is for php5.4\n\
+snippet =\n\
+ =${1}?>\n\
+snippet ns\n\
+ namespace ${1:Foo\\Bar\\Baz};\n\
+ ${2}\n\
+snippet use\n\
+ use ${1:Foo\\Bar\\Baz};\n\
+ ${2}\n\
+snippet c\n\
+ ${1:abstract }class ${2:$FILENAME}\n\
+ {\n\
+ ${3}\n\
+ }\n\
+snippet i\n\
+ interface ${1:$FILENAME}\n\
+ {\n\
+ ${2}\n\
+ }\n\
+snippet t.\n\
+ $this->${1}\n\
+snippet f\n\
+ function ${1:foo}(${2:array }${3:$bar})\n\
+ {\n\
+ ${4}\n\
+ }\n\
+# method\n\
+snippet m\n\
+ ${1:abstract }${2:protected}${3: static} function ${4:foo}(${5:array }${6:$bar})\n\
+ {\n\
+ ${7}\n\
+ }\n\
+# setter method\n\
+snippet sm \n\
+ /**\n\
+ * Sets the value of ${1:foo}\n\
+ *\n\
+ * @param ${2:$1} $$1 ${3:description}\n\
+ *\n\
+ * @return ${4:$FILENAME}\n\
+ */\n\
+ ${5:public} function set${6:$2}(${7:$2 }$$1)\n\
+ {\n\
+ $this->${8:$1} = $$1;\n\
+ return $this;\n\
+ }${9}\n\
+# getter method\n\
+snippet gm\n\
+ /**\n\
+ * Gets the value of ${1:foo}\n\
+ *\n\
+ * @return ${2:$1}\n\
+ */\n\
+ ${3:public} function get${4:$2}()\n\
+ {\n\
+ return $this->${5:$1};\n\
+ }${6}\n\
+#setter\n\
+snippet $s\n\
+ ${1:$foo}->set${2:Bar}(${3});\n\
+#getter\n\
+snippet $g\n\
+ ${1:$foo}->get${2:Bar}();\n\
+\n\
+# Tertiary conditional\n\
+snippet =?:\n\
+ $${1:foo} = ${2:true} ? ${3:a} : ${4};\n\
+snippet ?:\n\
+ ${1:true} ? ${2:a} : ${3}\n\
+\n\
+snippet C\n\
+ $_COOKIE['${1:variable}']${2}\n\
+snippet E\n\
+ $_ENV['${1:variable}']${2}\n\
+snippet F\n\
+ $_FILES['${1:variable}']${2}\n\
+snippet G\n\
+ $_GET['${1:variable}']${2}\n\
+snippet P\n\
+ $_POST['${1:variable}']${2}\n\
+snippet R\n\
+ $_REQUEST['${1:variable}']${2}\n\
+snippet S\n\
+ $_SERVER['${1:variable}']${2}\n\
+snippet SS\n\
+ $_SESSION['${1:variable}']${2}\n\
+ \n\
+# the following are old ones\n\
+snippet inc\n\
+ include '${1:file}';${2}\n\
+snippet inc1\n\
+ include_once '${1:file}';${2}\n\
+snippet req\n\
+ require '${1:file}';${2}\n\
+snippet req1\n\
+ require_once '${1:file}';${2}\n\
+# Start Docblock\n\
+snippet /*\n\
+ /**\n\
+ * ${1}\n\
+ */\n\
+# Class - post doc\n\
+snippet doc_cp\n\
+ /**\n\
+ * ${1:undocumented class}\n\
+ *\n\
+ * @package ${2:default}\n\
+ * @subpackage ${3:default}\n\
+ * @author ${4:`g:snips_author`}\n\
+ */${5}\n\
+# Class Variable - post doc\n\
+snippet doc_vp\n\
+ /**\n\
+ * ${1:undocumented class variable}\n\
+ *\n\
+ * @var ${2:string}\n\
+ */${3}\n\
+# Class Variable\n\
+snippet doc_v\n\
+ /**\n\
+ * ${3:undocumented class variable}\n\
+ *\n\
+ * @var ${4:string}\n\
+ */\n\
+ ${1:var} $${2};${5}\n\
+# Class\n\
+snippet doc_c\n\
+ /**\n\
+ * ${3:undocumented class}\n\
+ *\n\
+ * @package ${4:default}\n\
+ * @subpackage ${5:default}\n\
+ * @author ${6:`g:snips_author`}\n\
+ */\n\
+ ${1:}class ${2:}\n\
+ {\n\
+ ${7}\n\
+ } // END $1class $2\n\
+# Constant Definition - post doc\n\
+snippet doc_dp\n\
+ /**\n\
+ * ${1:undocumented constant}\n\
+ */${2}\n\
+# Constant Definition\n\
+snippet doc_d\n\
+ /**\n\
+ * ${3:undocumented constant}\n\
+ */\n\
+ define(${1}, ${2});${4}\n\
+# Function - post doc\n\
+snippet doc_fp\n\
+ /**\n\
+ * ${1:undocumented function}\n\
+ *\n\
+ * @return ${2:void}\n\
+ * @author ${3:`g:snips_author`}\n\
+ */${4}\n\
+# Function signature\n\
+snippet doc_s\n\
+ /**\n\
+ * ${4:undocumented function}\n\
+ *\n\
+ * @return ${5:void}\n\
+ * @author ${6:`g:snips_author`}\n\
+ */\n\
+ ${1}function ${2}(${3});${7}\n\
+# Function\n\
+snippet doc_f\n\
+ /**\n\
+ * ${4:undocumented function}\n\
+ *\n\
+ * @return ${5:void}\n\
+ * @author ${6:`g:snips_author`}\n\
+ */\n\
+ ${1}function ${2}(${3})\n\
+ {${7}\n\
+ }\n\
+# Header\n\
+snippet doc_h\n\
+ /**\n\
+ * ${1}\n\
+ *\n\
+ * @author ${2:`g:snips_author`}\n\
+ * @version ${3:$Id$}\n\
+ * @copyright ${4:$2}, `strftime('%d %B, %Y')`\n\
+ * @package ${5:default}\n\
+ */\n\
+ \n\
+# Interface\n\
+snippet interface\n\
+ /**\n\
+ * ${2:undocumented class}\n\
+ *\n\
+ * @package ${3:default}\n\
+ * @author ${4:`g:snips_author`}\n\
+ */\n\
+ interface ${1:$FILENAME}\n\
+ {\n\
+ ${5}\n\
+ }\n\
+# class ...\n\
+snippet class\n\
+ /**\n\
+ * ${1}\n\
+ */\n\
+ class ${2:$FILENAME}\n\
+ {\n\
+ ${3}\n\
+ /**\n\
+ * ${4}\n\
+ */\n\
+ ${5:public} function ${6:__construct}(${7:argument})\n\
+ {\n\
+ ${8:// code...}\n\
+ }\n\
+ }\n\
+# define(...)\n\
+snippet def\n\
+ define('${1}'${2});${3}\n\
+# defined(...)\n\
+snippet def?\n\
+ ${1}defined('${2}')${3}\n\
+snippet wh\n\
+ while (${1:/* condition */}) {\n\
+ ${2:// code...}\n\
+ }\n\
+# do ... while\n\
+snippet do\n\
+ do {\n\
+ ${2:// code... }\n\
+ } while (${1:/* condition */});\n\
+snippet if\n\
+ if (${1:/* condition */}) {\n\
+ ${2:// code...}\n\
+ }\n\
+snippet ifil\n\
+ \n\
+ ${2:}\n\
+ \n\
+snippet ife\n\
+ if (${1:/* condition */}) {\n\
+ ${2:// code...}\n\
+ } else {\n\
+ ${3:// code...}\n\
+ }\n\
+ ${4}\n\
+snippet ifeil\n\
+ \n\
+ ${2:}\n\
+ \n\
+ ${3:}\n\
+ \n\
+ ${4}\n\
+snippet else\n\
+ else {\n\
+ ${1:// code...}\n\
+ }\n\
+snippet elseif\n\
+ elseif (${1:/* condition */}) {\n\
+ ${2:// code...}\n\
+ }\n\
+snippet switch\n\
+ switch ($${1:variable}) {\n\
+ case '${2:value}':\n\
+ ${3:// code...}\n\
+ break;\n\
+ ${5}\n\
+ default:\n\
+ ${4:// code...}\n\
+ break;\n\
+ }\n\
+snippet case\n\
+ case '${1:value}':\n\
+ ${2:// code...}\n\
+ break;${3}\n\
+snippet for\n\
+ for ($${2:i} = 0; $$2 < ${1:count}; $$2${3:++}) {\n\
+ ${4: // code...}\n\
+ }\n\
+snippet foreach\n\
+ foreach ($${1:variable} as $${2:value}) {\n\
+ ${3:// code...}\n\
+ }\n\
+snippet foreachil\n\
+ \n\
+ ${3:}\n\
+ \n\
+snippet foreachk\n\
+ foreach ($${1:variable} as $${2:key} => $${3:value}) {\n\
+ ${4:// code...}\n\
+ }\n\
+snippet foreachkil\n\
+ $${3:value}): ?>\n\
+ ${4:}\n\
+ \n\
+# $... = array (...)\n\
+snippet array\n\
+ $${1:arrayName} = array('${2}' => ${3});${4}\n\
+snippet try\n\
+ try {\n\
+ ${2}\n\
+ } catch (${1:Exception} $e) {\n\
+ }\n\
+# lambda with closure\n\
+snippet lambda\n\
+ ${1:static }function (${2:args}) use (${3:&$x, $y /*put vars in scope (closure) */}) {\n\
+ ${4}\n\
+ };\n\
+# pre_dump();\n\
+snippet pd\n\
+ echo ''; var_dump(${1}); echo '';\n\
+# pre_dump(); die();\n\
+snippet pdd\n\
+ echo ''; var_dump(${1}); echo ''; die(${2:});\n\
+snippet vd\n\
+ var_dump(${1});\n\
+snippet vdd\n\
+ var_dump(${1}); die(${2:});\n\
+snippet http_redirect\n\
+ header (\"HTTP/1.1 301 Moved Permanently\"); \n\
+ header (\"Location: \".URL); \n\
+ exit();\n\
+# Getters & Setters\n\
+snippet gs\n\
+ /**\n\
+ * Gets the value of ${1:foo}\n\
+ *\n\
+ * @return ${2:$1}\n\
+ */\n\
+ public function get${3:$2}()\n\
+ {\n\
+ return $this->${4:$1};\n\
+ }\n\
+\n\
+ /**\n\
+ * Sets the value of $1\n\
+ *\n\
+ * @param $2 $$1 ${5:description}\n\
+ *\n\
+ * @return ${6:$FILENAME}\n\
+ */\n\
+ public function set$3(${7:$2 }$$1)\n\
+ {\n\
+ $this->$4 = $$1;\n\
+ return $this;\n\
+ }${8}\n\
+# anotation, get, and set, useful for doctrine\n\
+snippet ags\n\
+ /**\n\
+ * ${1:description}\n\
+ * \n\
+ * @${7}\n\
+ */\n\
+ ${2:protected} $${3:foo};\n\
+\n\
+ public function get${4:$3}()\n\
+ {\n\
+ return $this->$3;\n\
+ }\n\
+\n\
+ public function set$4(${5:$4 }$${6:$3})\n\
+ {\n\
+ $this->$3 = $$6;\n\
+ return $this;\n\
+ }\n\
+snippet rett\n\
+ return true;\n\
+snippet retf\n\
+ return false;\n\
+";
+exports.scope = "php";
+
+});
diff --git a/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/sass.js b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/sass.js
new file mode 100644
index 000000000..b9adc9d8c
--- /dev/null
+++ b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/sass.js
@@ -0,0 +1,7 @@
+ace.define("ace/snippets/sass",["require","exports","module"], function(require, exports, module) {
+"use strict";
+
+exports.snippetText =undefined;
+exports.scope = "sass";
+
+});
diff --git a/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/scss.js b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/scss.js
new file mode 100644
index 000000000..fbd98f74c
--- /dev/null
+++ b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/scss.js
@@ -0,0 +1,7 @@
+ace.define("ace/snippets/scss",["require","exports","module"], function(require, exports, module) {
+"use strict";
+
+exports.snippetText =undefined;
+exports.scope = "scss";
+
+});
diff --git a/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/text.js b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/text.js
new file mode 100644
index 000000000..57b897bf6
--- /dev/null
+++ b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/text.js
@@ -0,0 +1,7 @@
+ace.define("ace/snippets/text",["require","exports","module"], function(require, exports, module) {
+"use strict";
+
+exports.snippetText =undefined;
+exports.scope = "text";
+
+});
diff --git a/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/twig.js b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/twig.js
new file mode 100644
index 000000000..ccc6073cf
--- /dev/null
+++ b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/twig.js
@@ -0,0 +1,7 @@
+ace.define("ace/snippets/twig",["require","exports","module"], function(require, exports, module) {
+"use strict";
+
+exports.snippetText =undefined;
+exports.scope = "twig";
+
+});
diff --git a/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/yaml.js b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/yaml.js
new file mode 100644
index 000000000..1adceabee
--- /dev/null
+++ b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/snippets/yaml.js
@@ -0,0 +1,7 @@
+ace.define("ace/snippets/yaml",["require","exports","module"], function(require, exports, module) {
+"use strict";
+
+exports.snippetText =undefined;
+exports.scope = "yaml";
+
+});
diff --git a/modules/backend/formwidgets/codeeditor/assets/vendor/ace/theme-github.js b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/theme-github.js
index 5ae86ce48..d19512c6e 100755
--- a/modules/backend/formwidgets/codeeditor/assets/vendor/ace/theme-github.js
+++ b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/theme-github.js
@@ -66,7 +66,6 @@ background: rgb(181, 213, 255);\
}\
.ace-github.ace_multiselect .ace_selection.ace_start {\
box-shadow: 0 0 3px 0px white;\
-border-radius: 2px;\
}\
.ace-github.ace_nobold .ace_line > span {\
font-weight: normal !important;\
diff --git a/modules/backend/formwidgets/codeeditor/assets/vendor/ace/theme-kuroir.js b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/theme-kuroir.js
index a74c29dab..30e0a8bb3 100755
--- a/modules/backend/formwidgets/codeeditor/assets/vendor/ace/theme-kuroir.js
+++ b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/theme-kuroir.js
@@ -23,7 +23,6 @@ background: rgba(245, 170, 0, 0.57);\
}\
.ace-kuroir.ace_multiselect .ace_selection.ace_start {\
box-shadow: 0 0 3px 0px #E8E9E8;\
-border-radius: 2px;\
}\
.ace-kuroir .ace_marker-layer .ace_step {\
background: rgb(198, 219, 174);\
diff --git a/modules/backend/formwidgets/codeeditor/assets/vendor/ace/worker-css.js b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/worker-css.js
index 444267d2c..28774f78e 100755
--- a/modules/backend/formwidgets/codeeditor/assets/vendor/ace/worker-css.js
+++ b/modules/backend/formwidgets/codeeditor/assets/vendor/ace/worker-css.js
@@ -5,15 +5,16 @@ if (typeof window.window != "undefined" && window.document)
if (window.require && window.define)
return;
-window.console = function() {
- var msgs = Array.prototype.slice.call(arguments, 0);
- postMessage({type: "log", data: msgs});
-};
-window.console.error =
-window.console.warn =
-window.console.log =
-window.console.trace = window.console;
-
+if (!window.console) {
+ window.console = function() {
+ var msgs = Array.prototype.slice.call(arguments, 0);
+ postMessage({type: "log", data: msgs});
+ };
+ window.console.error =
+ window.console.warn =
+ window.console.log =
+ window.console.trace = window.console;
+}
window.window = window;
window.ace = window;
@@ -562,7 +563,7 @@ var Range = function(startRow, startColumn, endRow, endColumn) {
if (!this.isMultiLine()) {
if (row === this.start.row) {
return column < this.start.column ? -1 : (column > this.end.column ? 1 : 0);
- };
+ }
}
if (row < this.start.row)
@@ -1245,7 +1246,7 @@ var Document = function(textOrLines) {
}
};
this.replace = function(range, text) {
- if (!range instanceof Range)
+ if (!(range instanceof Range))
range = Range.fromPoints(range.start, range.end);
if (text.length === 0 && range.isEmpty())
return range.start;
@@ -3157,9 +3158,9 @@ Parser.prototype = function(){
if (operator){
values.push(operator);
} /*else {
- values.push(new PropertyValue(valueParts, valueParts[0].line, valueParts[0].col));
- valueParts = [];
- }*/
+ values.push(new PropertyValue(valueParts, valueParts[0].line, valueParts[0].col));
+ valueParts = [];
+ }*/
value = this._term(inFunction);
@@ -3614,7 +3615,7 @@ var Properties = {
"alignment-baseline" : "baseline | use-script | before-edge | text-before-edge | after-edge | text-after-edge | central | middle | ideographic | alphabetic | hanging | mathematical",
"animation" : 1,
"animation-delay" : { multi: "