diff --git a/.eslintignore b/.eslintignore
index c77dd4a3..d1a53542 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -1,5 +1,5 @@
# Upstream code
-/modules/ace/
+/modules/lib/
# Build
/vendor/
diff --git a/Gruntfile.js b/Gruntfile.js
index 0a473217..a96b014a 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -27,7 +27,7 @@ module.exports = function ( grunt ) {
all: [
'**/*.{css,less}',
'!node_modules/**',
- '!modules/ace/**',
+ '!modules/lib/**',
'!vendor/**'
]
},
@@ -53,25 +53,25 @@ module.exports = function ( grunt ) {
}
},
clean: {
- ace: [ 'modules/ace/*' ]
+ ace: [ 'modules/lib/ace/*' ]
},
copy: {
ace: {
expand: true,
cwd: 'node_modules/ace-builds/src-noconflict/',
src: [ '**' ],
- dest: 'modules/ace/'
+ dest: 'modules/lib/ace/'
},
- 'ace-license': {
+ 'ace-misc-files': {
expand: true,
cwd: 'node_modules/ace-builds/',
- src: [ 'LICENSE' ],
- dest: 'modules/ace/'
+ src: [ 'LICENSE', 'CHANGELOG.md', 'README.md' ],
+ dest: 'modules/lib/ace/'
}
}
} );
- grunt.registerTask( 'update-ace', [ 'exec:npm-update-ace', 'clean:ace', 'copy:ace', 'copy:ace-license' ] );
+ grunt.registerTask( 'update-ace', [ 'exec:npm-update-ace', 'clean:ace', 'copy:ace', 'copy:ace-misc-files' ] );
grunt.registerTask( 'test', [ 'eslint', 'stylelint', 'banana' ] );
grunt.registerTask( 'default', 'test' );
};
diff --git a/extension.json b/extension.json
index 921d0d4e..317f880a 100644
--- a/extension.json
+++ b/extension.json
@@ -2,8 +2,7 @@
"name": "CodeEditor",
"author": [
"Brion Vibber",
- "Derk-Jan Hartman",
- "[https://ace.c9.io/ authors of Ace]"
+ "Derk-Jan Hartman"
],
"url": "https://www.mediawiki.org/wiki/Extension:CodeEditor",
"descriptionmsg": "codeeditor-desc",
@@ -110,13 +109,13 @@
"ext.codeEditor.ace": {
"group": "ext.codeEditor.ace",
"scripts": [
- "ace/ace.js",
- "ace/mode-javascript.js",
- "ace/mode-json.js",
- "ace/mode-css.js",
- "ace/mode-lua.js",
- "ace/ext-language_tools.js",
- "ace/ext-modelist.js"
+ "lib/ace/ace.js",
+ "lib/ace/mode-javascript.js",
+ "lib/ace/mode-json.js",
+ "lib/ace/mode-css.js",
+ "lib/ace/mode-lua.js",
+ "lib/ace/ext-language_tools.js",
+ "lib/ace/ext-modelist.js"
],
"styles": [
"ace.less"
@@ -125,20 +124,20 @@
"ext.codeEditor.ace.modes": {
"group": "ext.codeEditor.ace",
"scripts": [
- "ace/mode-c_cpp.js",
- "ace/mode-clojure.js",
- "ace/mode-csharp.js",
- "ace/mode-coffee.js",
- "ace/mode-groovy.js",
- "ace/mode-html.js",
- "ace/mode-java.js",
- "ace/mode-latex.js",
- "ace/mode-ocaml.js",
- "ace/mode-perl.js",
- "ace/mode-php.js",
- "ace/mode-python.js",
- "ace/mode-ruby.js",
- "ace/mode-scala.js"
+ "lib/ace/mode-c_cpp.js",
+ "lib/ace/mode-clojure.js",
+ "lib/ace/mode-csharp.js",
+ "lib/ace/mode-coffee.js",
+ "lib/ace/mode-groovy.js",
+ "lib/ace/mode-html.js",
+ "lib/ace/mode-java.js",
+ "lib/ace/mode-latex.js",
+ "lib/ace/mode-ocaml.js",
+ "lib/ace/mode-perl.js",
+ "lib/ace/mode-php.js",
+ "lib/ace/mode-python.js",
+ "lib/ace/mode-ruby.js",
+ "lib/ace/mode-scala.js"
],
"dependencies": "ext.codeEditor.ace"
}
@@ -147,6 +146,7 @@
"localBasePath": "modules",
"remoteExtPath": "CodeEditor/modules"
},
+ "ForeignResourcesDir": "modules/lib",
"AutoloadNamespaces": {
"MediaWiki\\Extension\\CodeEditor\\": "includes/"
},
diff --git a/modules/jquery.codeEditor.js b/modules/jquery.codeEditor.js
index 4b4ea8b2..e3a9e781 100644
--- a/modules/jquery.codeEditor.js
+++ b/modules/jquery.codeEditor.js
@@ -335,7 +335,7 @@
// Protocol relative
basePath = window.location.protocol + basePath;
}
- ace.config.set( 'basePath', basePath + '/CodeEditor/modules/ace' );
+ ace.config.set( 'basePath', basePath + '/CodeEditor/modules/lib/ace' );
if ( lang ) {
// Ace doesn't like replacing a textarea directly.
diff --git a/modules/lib/ace/CHANGELOG.md b/modules/lib/ace/CHANGELOG.md
new file mode 100644
index 00000000..c808aee3
--- /dev/null
+++ b/modules/lib/ace/CHANGELOG.md
@@ -0,0 +1,878 @@
+# Changelog
+
+All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
+
+### [1.15.2](https://github.com/ajaxorg/ace/compare/v1.15.1...v1.15.2) (2023-02-16)
+
+### [1.15.1](https://github.com/ajaxorg/ace/compare/v1.15.0...v1.15.1) (2023-02-13)
+
+
+### Bug Fixes
+
+* Added lateral keyword introduced in MySQL 8.0.14 ([#5053](https://github.com/ajaxorg/ace/issues/5053)) ([3250956](https://github.com/ajaxorg/ace/commit/32509568010d8b881cc9f1a6d6bd76e6f69360ea))
+* Implement highlight mode for PL/SQL (Oracle) dialect ([#5037](https://github.com/ajaxorg/ace/issues/5037)) ([159aa70](https://github.com/ajaxorg/ace/commit/159aa70d551530f2866fb0006fad37bd75e60dda))
+* Improve MySQL highlighting mode ([#5050](https://github.com/ajaxorg/ace/issues/5050)) ([00f6089](https://github.com/ajaxorg/ace/commit/00f60890a36121d7c705445514dcf79a81055f55))
+
+## [1.15.0](https://github.com/ajaxorg/ace/compare/v1.14.0...v1.15.0) (2023-01-25)
+
+
+### Features
+
+* Added Editor API to set the ghost text ([#5036](https://github.com/ajaxorg/ace/issues/5036)) ([958d573](https://github.com/ajaxorg/ace/commit/958d57383c4ebfacd414eb817aecc2e0982d1b36))
+
+
+### Bug Fixes
+
+* Added highlighting for TIES keyword introduced in PostgreSQL 13 ([#5033](https://github.com/ajaxorg/ace/issues/5033)) ([9588086](https://github.com/ajaxorg/ace/commit/95880868c2a9912f7c6a2c3942d67fc2a980094e))
+* editor shadow appears under the selected line background when horizontal scroll is active ([#5020](https://github.com/ajaxorg/ace/issues/5020)) ([ab4f788](https://github.com/ajaxorg/ace/commit/ab4f788455ae182ae133fa202d737efa5461ff79))
+* Remove broken keybinding from vscode mode ([#5032](https://github.com/ajaxorg/ace/issues/5032)) ([68ff964](https://github.com/ajaxorg/ace/commit/68ff964a214cc2da66e4a35b313ff66dd4490e34))
+
+## [1.14.0](https://github.com/ajaxorg/ace/compare/v1.13.1...v1.14.0) (2022-12-12)
+
+
+### Features
+
+* Autocomplete accessibility features ([#5008](https://github.com/ajaxorg/ace/issues/5008)) ([3b7bb5e](https://github.com/ajaxorg/ace/commit/3b7bb5e4afbad0f2bdbc7f8487442a5cb78b8284))
+
+
+### Bug Fixes
+
+* Add missing options to `EditorOptions` ([#5003](https://github.com/ajaxorg/ace/issues/5003)) ([451b63f](https://github.com/ajaxorg/ace/commit/451b63f2243762d6de2fc5b9ee8c580c348b933c))
+* added GREATEST|LEAST logical functions added in SQL Server 2022 ([#5009](https://github.com/ajaxorg/ace/issues/5009)) ([e3f3e7a](https://github.com/ajaxorg/ace/commit/e3f3e7ab3efe540ac345325f06278a8ab1871371))
+* Better ES6 support for JavaScript Mode ([6fb39e3](https://github.com/ajaxorg/ace/commit/6fb39e38c79dd966233e48ed06be800c59c4c101))
+* Fix vim keybindings scroll to the selected line ([#4980](https://github.com/ajaxorg/ace/issues/4980)) ([8562f94](https://github.com/ajaxorg/ace/commit/8562f9493e0ebef865064992f0526fdc6df8535a))
+* show 2 context characters of a line when moving to it ([#4998](https://github.com/ajaxorg/ace/issues/4998)) ([743190e](https://github.com/ajaxorg/ace/commit/743190ea71841c0186b2f513b3d1e1a9e30d3de3))
+* Update ace.d.ts typings for navigate ([#5011](https://github.com/ajaxorg/ace/issues/5011)) ([a302709](https://github.com/ajaxorg/ace/commit/a30270990cc0041edb6985059915f96524ebb154))
+
+### [1.13.2](https://github.com/ajaxorg/ace/compare/v1.13.1...v1.13.2) (2022-12-07)
+
+
+### Bug Fixes
+
+* Add missing options to `EditorOptions` ([#5003](https://github.com/ajaxorg/ace/issues/5003)) ([451b63f](https://github.com/ajaxorg/ace/commit/451b63f2243762d6de2fc5b9ee8c580c348b933c))
+* Better ES6 support for JavaScript Mode ([6fb39e3](https://github.com/ajaxorg/ace/commit/6fb39e38c79dd966233e48ed06be800c59c4c101))
+* Fix vim keybindings scroll to the selected line ([#4980](https://github.com/ajaxorg/ace/issues/4980)) ([8562f94](https://github.com/ajaxorg/ace/commit/8562f9493e0ebef865064992f0526fdc6df8535a))
+* show 2 context characters of a line when moving to it ([#4998](https://github.com/ajaxorg/ace/issues/4998)) ([743190e](https://github.com/ajaxorg/ace/commit/743190ea71841c0186b2f513b3d1e1a9e30d3de3))
+
+### [1.13.1](https://github.com/ajaxorg/ace/compare/v1.13.0...v1.13.1) (2022-11-16)
+
+
+### Bug Fixes
+
+* Change curly braces insertion behavior for Markdown to act the same as for other braces ([#4994](https://github.com/ajaxorg/ace/issues/4994)) ([2760234](https://github.com/ajaxorg/ace/commit/2760234d3d8d1acba72a42df7763482655af5ebc))
+* incorrect cursor position for very long lines ([#4996](https://github.com/ajaxorg/ace/issues/4996)) ([e57a9d9](https://github.com/ajaxorg/ace/commit/e57a9d9eef0c056cd38a07c77c460bea39cc9551))
+
+## [1.13.0](https://github.com/ajaxorg/ace/compare/v1.12.5...v1.13.0) (2022-11-11)
+
+
+### Features
+
+* add highlight mode for Apache JEXL ([#4979](https://github.com/ajaxorg/ace/issues/4979)) ([4e8926e](https://github.com/ajaxorg/ace/commit/4e8926ef9f9207e57529e07cdbe2305b09e712e2))
+
+
+### Bug Fixes
+
+* Add missing options to `VirtualRendererOptions` and `EditorOptions` ([#4983](https://github.com/ajaxorg/ace/issues/4983)) ([19dd2ec](https://github.com/ajaxorg/ace/commit/19dd2ecc178bef2fedd6a53900f2db58ea7a3c23))
+* Fix of scroll while interrupting animation ([#4993](https://github.com/ajaxorg/ace/issues/4993)) ([0092f3f](https://github.com/ajaxorg/ace/commit/0092f3f8c1f0d9c8a0b8bebe58cc3517931697b7))
+* rare case when document passed to `dom.scrollbarWidth` doesn't have `documentElement` ([#4981](https://github.com/ajaxorg/ace/issues/4981)) ([df44158](https://github.com/ajaxorg/ace/commit/df441585ef44e17a027141e3ceed648e104e9cf9))
+
+### [1.12.5](https://github.com/ajaxorg/ace/compare/v1.12.4...v1.12.5) (2022-11-01)
+
+
+### Bug Fixes
+
+* enableLiveAutocompletion documentation ([#4976](https://github.com/ajaxorg/ace/issues/4976)) ([987ab76](https://github.com/ajaxorg/ace/commit/987ab7602e06acc9b08c75914f5c1335d5cdc8cc))
+* vim "normal" mode brackets highlighting ([0fbc54c](https://github.com/ajaxorg/ace/commit/0fbc54cc5130b0271928995660413ba0fab678cb))
+
+### [1.12.4](https://github.com/ajaxorg/ace/compare/v1.12.3...v1.12.4) (2022-10-31)
+
+
+### Bug Fixes
+
+* Open valid url under cursor ([#4970](https://github.com/ajaxorg/ace/issues/4970)) ([bf2913a](https://github.com/ajaxorg/ace/commit/bf2913a71624e94d13727115b2aa0ef0c279c89f))
+* Update for Csound 6.18.0 ([#4974](https://github.com/ajaxorg/ace/issues/4974)) ([6886b02](https://github.com/ajaxorg/ace/commit/6886b0233e9e1d8d6cce5d3ade7b27fe4527c940))
+* update/add missing demo samples ([#4975](https://github.com/ajaxorg/ace/issues/4975)) ([2b8236e](https://github.com/ajaxorg/ace/commit/2b8236eaf1df10caa9ff45a06902df14947cd968))
+
+### [1.12.3](https://github.com/ajaxorg/ace/compare/v1.12.2...v1.12.3) (2022-10-18)
+
+
+### Bug Fixes
+
+* Fix syntax error in the custom scroll CSS ([#4968](https://github.com/ajaxorg/ace/issues/4968)) ([f2a424a](https://github.com/ajaxorg/ace/commit/f2a424a649f655b9511b1bb6047097634edb0e3f))
+
+### [1.12.2](https://github.com/ajaxorg/ace/compare/v1.12.1...v1.12.2) (2022-10-18)
+
+
+### Bug Fixes
+
+* custom scrollbar breaks csp mode ([#4967](https://github.com/ajaxorg/ace/issues/4967)) ([be8eb12](https://github.com/ajaxorg/ace/commit/be8eb1236fb7e1d27cedf033d301f094ec6764e5))
+* find all in range bug ([13bd553](https://github.com/ajaxorg/ace/commit/13bd55348dc8de5c547c74ec0e48c52b6db96a26))
+* Namespace-relative names for php ([#4963](https://github.com/ajaxorg/ace/issues/4963)) ([96e4066](https://github.com/ajaxorg/ace/commit/96e4066341fb7b82d02ad8272929711073d3bfc4))
+
+### [1.12.1](https://github.com/ajaxorg/ace/compare/v1.12.0...v1.12.1) (2022-10-17)
+
+
+### Bug Fixes
+
+* php worker rules for T_NAME_FULLY_QUALIFIED ([#4960](https://github.com/ajaxorg/ace/issues/4960)) ([52dbb05](https://github.com/ajaxorg/ace/commit/52dbb0577693e29f124a1f16008b4e11e2ce7c02))
+* recognisition of uppercase hex numbers for stylus mode ([#4962](https://github.com/ajaxorg/ace/issues/4962)) ([87e0dc7](https://github.com/ajaxorg/ace/commit/87e0dc7b868798300e874e39304aeda18d3d1a76))
+
+## [1.12.0](https://github.com/ajaxorg/ace/compare/v1.11.2...v1.12.0) (2022-10-15)
+
+
+### Features
+
+* implement BibTeX mode highlighting ([ab9e191](https://github.com/ajaxorg/ace/commit/ab9e1916cb3363260de58b808bdc21fd6bc01618))
+
+
+### Bug Fixes
+
+* `MockDom's` `ClassList` `toggle` and `contains` methods return `boolean` instead of `void` ([e8c0a1f](https://github.com/ajaxorg/ace/commit/e8c0a1f35d302966626896aaf84b056e76a8e66e))
+* change lua version to 5.3 ([#4954](https://github.com/ajaxorg/ace/issues/4954)) ([fc56af5](https://github.com/ajaxorg/ace/commit/fc56af5936a2ebfdfa0871ca6a68ccf7ecc7dbf0))
+* documentation for TokenIterator methods ([#4955](https://github.com/ajaxorg/ace/issues/4955)) ([6bff7b4](https://github.com/ajaxorg/ace/commit/6bff7b43c7ad34dd5fafc81c5de773e9d709026d))
+* Fixed comment folding bugs for html (xml like languages) ([#4910](https://github.com/ajaxorg/ace/issues/4910)) ([5279a8a](https://github.com/ajaxorg/ace/commit/5279a8a71719bf5c7099db1774a3d9669d9e5694))
+* mode change for vim tests ([236a31e](https://github.com/ajaxorg/ace/commit/236a31e5d69fd4fd874b667b38dd1bf0685f75c5))
+* php worker rules for `T_NAME_FULLY_QUALIFIED`, `T_NAME_QUALIFIED`, `T_NAME_RELATIVE` namespaced names tokens ([#4948](https://github.com/ajaxorg/ace/issues/4948)) ([059ff71](https://github.com/ajaxorg/ace/commit/059ff7186ac95d38fa11821488c847d3786d3486))
+* tools to work with new ace project structure ([7894c4b](https://github.com/ajaxorg/ace/commit/7894c4bbc6da5eb3521efb3b89b1a189202c2497))
+
+### [1.11.2](https://github.com/ajaxorg/ace/compare/v1.11.1...v1.11.2) (2022-09-26)
+
+
+### Bug Fixes
+
+* Fixed handling surrogare characters in insert, replace, delete mode in Vim ([72fd4b7](https://github.com/ajaxorg/ace/commit/72fd4b7b616f070be198dc8fc437d48a74637a53))
+* Fixed handling surrogate characters in insert-after mode in Vim ([38f893a](https://github.com/ajaxorg/ace/commit/38f893a13b1f1dedea4407a8f3ef1d6098873269))
+
+### [1.11.1](https://github.com/ajaxorg/ace/compare/v1.11.0...v1.11.1) (2022-09-23)
+
+
+### Bug Fixes
+
+* Discrepancy between keywords used by mode-aql.js in the current version and the version used by arangodb ([1503dd0](https://github.com/ajaxorg/ace/commit/1503dd06f2d651d16af964978fb8c62e0304b6d6))
+* The editor can be crashed by passing in undefined into the setValue method ([56e6e56](https://github.com/ajaxorg/ace/commit/56e6e56137ea5717009e3687019f64dae7f88da2))
+* Update vim mode ([#4933](https://github.com/ajaxorg/ace/issues/4933)) ([3b89ed0](https://github.com/ajaxorg/ace/commit/3b89ed06069cb45edb59b7442b5cc6c15b33cfa4))
+
+## [1.11.0](https://github.com/ajaxorg/ace/compare/v1.10.1...v1.11.0) (2022-09-20)
+
+
+### Features
+
+* add gutter indicators for annotations; add custom scrollbar to display gutter indicators ([62fb0d8](https://github.com/ajaxorg/ace/commit/62fb0d8fba813241d01356962ed20ac868a29ede))
+
+
+### Bug Fixes
+
+* change scroll behaviour for `onmousedown` to immediate scroll to point ([392b224](https://github.com/ajaxorg/ace/commit/392b224ceb4e82b4d906c36aef2ea4953e3d440e))
+* Do not try apply highlight indent guide if the file is empty ([#4928](https://github.com/ajaxorg/ace/issues/4928)) ([a90ef27](https://github.com/ajaxorg/ace/commit/a90ef275298b524c493076e47aae13036f6e6271))
+* restrict annotation mark max height and optimise marks coords on canvas ([a6e2259](https://github.com/ajaxorg/ace/commit/a6e2259eb0a282c62fd9e6fde31d86b6c14ec06d))
+
+### [1.10.1](https://github.com/ajaxorg/ace/compare/v1.10.0...v1.10.1) (2022-09-06)
+
+
+### Bug Fixes
+
+* prevent javascript snippets file confusing old packagers ([#4917](https://github.com/ajaxorg/ace/issues/4917)) ([5d7b65c](https://github.com/ajaxorg/ace/commit/5d7b65c30aff0106a7001f68ecdf13a23893eaad))
+
+## [1.10.0](https://github.com/ajaxorg/ace/compare/v1.9.6...v1.10.0) (2022-08-31)
+
+
+### Features
+
+* editor option for indent guide highlighting ([f1f6517](https://github.com/ajaxorg/ace/commit/f1f6517a30d6819d1c8ca045744cdeb2925ccf0a))
+
+
+### Bug Fixes
+
+* add mock `getHighlightIndentGuides` and `setHighlightIndentGuides` for old tests to work ([4067512](https://github.com/ajaxorg/ace/commit/4067512a72934b23a0866eca33812425c37a7363))
+* added "flex-start" and "flex-end" ([#4912](https://github.com/ajaxorg/ace/issues/4912)) ([3e14988](https://github.com/ajaxorg/ace/commit/3e14988209354f94483307f168705690e15adaf5))
+* Fix problematic semicolon in CSS media queries ([#4849](https://github.com/ajaxorg/ace/issues/4849)) ([18a459a](https://github.com/ajaxorg/ace/commit/18a459a26430bfa58e0f798c4bacce6a799c77bd))
+* more optimal way to accessing an element's list of classes; mark `highlightIndentGuide` as internal property ([855a874](https://github.com/ajaxorg/ace/commit/855a874ffde4824bb8de6e56cb44fad64d49725b))
+* strictly equal instead of loosely ([d4c1ab8](https://github.com/ajaxorg/ace/commit/d4c1ab8ef6ee608e2570b7ca6d1d941c5a6628a9))
+* Updated Jshint to 2.13.5 ([#4911](https://github.com/ajaxorg/ace/issues/4911)) ([2401fbd](https://github.com/ajaxorg/ace/commit/2401fbd93f0d61cc01150c1071145e974dd6693f))
+
+### [1.9.6](https://github.com/ajaxorg/ace/compare/v1.9.5...v1.9.6) (2022-08-17)
+
+
+### Bug Fixes
+
+* better way to extract css for csp environments ([1b0612b](https://github.com/ajaxorg/ace/commit/1b0612b5a5ed33a2f1931e4aa08cb2d54ec8585c))
+
+### [1.9.5](https://github.com/ajaxorg/ace/compare/v1.9.4...v1.9.5) (2022-08-10)
+
+
+### Bug Fixes
+
+* reverted fix build script CSS extract with `options.compress` ([#4894](https://github.com/ajaxorg/ace/issues/4894)) ([8fa4500](https://github.com/ajaxorg/ace/commit/8fa45008887c957bc9c78c65e805e73240f2b33f))
+
+### [1.9.4](https://github.com/ajaxorg/ace/compare/v1.9.2...v1.9.4) (2022-08-09)
+
+### [1.9.3](https://github.com/ajaxorg/ace/compare/v1.9.2...v1.9.3) (2022-08-08)
+
+### [1.9.2](https://github.com/ajaxorg/ace/compare/v1.9.1...v1.9.2) (2022-08-08)
+
+### [1.9.1](https://github.com/ajaxorg/ace/compare/v1.9.0...v1.9.1) (2022-08-08)
+
+## [1.9.0](https://github.com/ajaxorg/ace/compare/v1.8.1...v1.9.0) (2022-08-08)
+
+
+### Features
+
+* added ability to limit amount of undos/redos ([#4872](https://github.com/ajaxorg/ace/issues/4872)) ([897ee0a](https://github.com/ajaxorg/ace/commit/897ee0a071ef4341338a285a1d9d8781fe5689de))
+* publish Ace source code to ace-code NPM package ([#4881](https://github.com/ajaxorg/ace/issues/4881)) ([66cf041](https://github.com/ajaxorg/ace/commit/66cf0418bedf221a507d9a173583538c97885410))
+
+
+### Bug Fixes
+
+* Fix determination of anonymous code blocks in Postgres Mode (fixes [#4790](https://github.com/ajaxorg/ace/issues/4790)) ([06f7e22](https://github.com/ajaxorg/ace/commit/06f7e2290543ca6566aab56228a8fc8daddfcf55))
+* Fixed Ace typings ([23208f2](https://github.com/ajaxorg/ace/commit/23208f2f19020d1f69b90bc3b02460bda8422072))
+* Fixed jsDoc annotations ([e15abb4](https://github.com/ajaxorg/ace/commit/e15abb443abfad2de59c620ce49fc5498ce6d33e)), closes [#4879](https://github.com/ajaxorg/ace/issues/4879)
+* refactor of kotlin mode to simplify states and resolve incorrect highlights ([a30a99d](https://github.com/ajaxorg/ace/commit/a30a99df731c2f10c2006181ca58a96e7fc21155))
+* returned precise highlight for functions params, generics and types ([967aa6b](https://github.com/ajaxorg/ace/commit/967aa6b05c4a69a5deac1b20c297648444ade7d6))
+* Rust identifiers normally recognised now; generics highlight support; doc comments support ([#4868](https://github.com/ajaxorg/ace/issues/4868)) ([bbb5800](https://github.com/ajaxorg/ace/commit/bbb5800b4cf56d2996691edc63edc2783e19f427))
+
+### [1.8.1](https://github.com/ajaxorg/ace/compare/v1.8.0...v1.8.1) (2022-07-21)
+
+
+### Bug Fixes
+
+* prevent race condition when creating css files in build ([1777bfb](https://github.com/ajaxorg/ace/commit/1777bfb7dca4dcaf575293ac9cacbc284f692351))
+
+## [1.8.0](https://github.com/ajaxorg/ace/compare/v1.7.1...v1.8.0) (2022-07-20)
+
+
+### Features
+
+* Use mini require ([#4845](https://github.com/ajaxorg/ace/issues/4845)) ([b9fabd4](https://github.com/ajaxorg/ace/commit/b9fabd47c0765d40117809cd3978b95d593370fb))
+
+
+### Bug Fixes
+
+* add undocumented Target command ([62e8e9e](https://github.com/ajaxorg/ace/commit/62e8e9e4d3b21552dd83d454b7fd55d4981d096a)), closes [#4839](https://github.com/ajaxorg/ace/issues/4839)
+* added NSIS 3.08 commands ([acad68c](https://github.com/ajaxorg/ace/commit/acad68cf92f5372257b061e300e31f71df9c62e9)), closes [#4838](https://github.com/ajaxorg/ace/issues/4838)
+* **bidihandler:** check for undefined before access length property on `splits` variable ([457b657](https://github.com/ajaxorg/ace/commit/457b65748f331740ded529fd7bbd06b86819fa4e))
+* correct highlight of php heredoc strings with one word on line ([ae4564c](https://github.com/ajaxorg/ace/commit/ae4564c2961b006ca849625a0dee1093061eba5a))
+* Fixed typo in Nord Dark theme. ([#4843](https://github.com/ajaxorg/ace/issues/4843)) ([38bf666](https://github.com/ajaxorg/ace/commit/38bf6663f43be1c45bfba3dc68c4a4820fb2661d))
+* Move session.onChange and placeholder.onChange handlers to be first in the change event handler queue ([bcb51f2](https://github.com/ajaxorg/ace/commit/bcb51f2b2a2ba2e1f30ebf543d97e7450574763f))
+* reuse `getTargetDir` function ([b89c4db](https://github.com/ajaxorg/ace/commit/b89c4db3424687856ff9c9e732435c35438b0cb9))
+* type declarations ([a8830fc](https://github.com/ajaxorg/ace/commit/a8830fc83708a7e51053038f1c6d7fde23e82e9d))
+
+### [1.7.1](https://github.com/ajaxorg/ace/compare/v1.7.0...v1.7.1) (2022-06-29)
+
+
+### Bug Fixes
+
+* Fixed accessing properties when err is null in onerror handler ([3b62a07](https://github.com/ajaxorg/ace/commit/3b62a0713e68fd76bfa9c52fa2112b56888d2349))
+* Uncaught TypeError: Cannot read properties of undefined in worker code ([ce068ac](https://github.com/ajaxorg/ace/commit/ce068ac29f0056f6a10d0fc99181b8ba3e274cfe))
+
+## [1.7.0](https://github.com/ajaxorg/ace/compare/v1.6.1...v1.7.0) (2022-06-28)
+
+
+### Features
+
+* Add Robot Framework syntax highlighting ([773c0c5](https://github.com/ajaxorg/ace/commit/773c0c5d8b87fabb643d8c1e2053f536c53318e8)), closes [#4614](https://github.com/ajaxorg/ace/issues/4614)
+* Added YAML language linter ([451f915](https://github.com/ajaxorg/ace/commit/451f915e645f8a172098316196ae2e029fc26aed)), closes [#3979](https://github.com/ajaxorg/ace/issues/3979)
+
+
+### Bug Fixes
+
+* Added two tmthemes gruvbox dark (hard) and light (hard) ([6b1e67f](https://github.com/ajaxorg/ace/commit/6b1e67f844056fd238a35094e8f4e4b197e0a9a4)), closes [#3673](https://github.com/ajaxorg/ace/issues/3673)
+* adds ignore browserified dir to eslintignore ([56b591b](https://github.com/ajaxorg/ace/commit/56b591b49673fcd062fd53325f74629d4cf45e3f))
+* Allow setAnnotations to use custom className ([f505879](https://github.com/ajaxorg/ace/commit/f505879d0463a8b2781e0e7caaaa857444d51f85)), closes [#4362](https://github.com/ajaxorg/ace/issues/4362)
+* Avoid substitutions when Webpack was introduced ([a540323](https://github.com/ajaxorg/ace/commit/a540323e933c6bad164bdc9f103d8de744ee1546)), closes [#4476](https://github.com/ajaxorg/ace/issues/4476)
+* Highlighting DISTINCT keyword in SQL ([fb3820a](https://github.com/ajaxorg/ace/commit/fb3820a9c1624c49a149d388bf26aa3d504704bb)), closes [#4399](https://github.com/ajaxorg/ace/issues/4399)
+* Make sure completions aren't null or undefined ([a78e127](https://github.com/ajaxorg/ace/commit/a78e127e8fd7d724b96208447caa384783616323)), closes [#4608](https://github.com/ajaxorg/ace/issues/4608)
+
+### [1.6.1](https://github.com/ajaxorg/ace/compare/v1.6.0...v1.6.1) (2022-06-24)
+
+
+### Bug Fixes
+
+* Highlight unicode characters in Python function and class names ([be6f2d1](https://github.com/ajaxorg/ace/commit/be6f2d125a8ffe70ceb336051da6a161ce9cf1bc))
+* Incorrect YAML syntax highlighting for version numbers with multiple periods ([049d761](https://github.com/ajaxorg/ace/commit/049d76131e6122f7397fb30cc341db34baaf2813))
+* Incorrect YAML syntax highlighting for version numbers with multiple periods [#4827](https://github.com/ajaxorg/ace/issues/4827) ([915fcaf](https://github.com/ajaxorg/ace/commit/915fcaf542469a7dc0e3e7235f23a66a3abaadb9))
+
+## [1.6.0](https://github.com/ajaxorg/ace/compare/v1.5.3...v1.6.0) (2022-06-10)
+
+
+### Bug Fixes
+
+* Add class to tooltip DOM element distinguish errors from warnings ([#4810](https://github.com/ajaxorg/ace/issues/4810)) ([d2446d6](https://github.com/ajaxorg/ace/commit/d2446d68e7ace4d1a860de6a5a3e5031f074161b))
+* Autocomplete stopped working after upgrade to v1.5.2 ([48e6b60](https://github.com/ajaxorg/ace/commit/48e6b601ad5ae03a99a341843194c3854d2376c2))
+* Fix css EOF duplicate errors [#4816](https://github.com/ajaxorg/ace/issues/4816) ([48176f6](https://github.com/ajaxorg/ace/commit/48176f66c8ca0dd239968329b471f55b548ee467))
+* Fix overflow button for long lines with one token ([#4818](https://github.com/ajaxorg/ace/issues/4818)) ([3f93451](https://github.com/ajaxorg/ace/commit/3f934510514a25c53edf64bb80911a96b7133908))
+
+### [1.5.3](https://github.com/ajaxorg/ace/compare/v1.5.2...v1.5.3) (2022-05-31)
+
+
+### Bug Fixes
+
+* Colors for variable, function and constant should be different ([#4802](https://github.com/ajaxorg/ace/issues/4802)) ([9e81bda](https://github.com/ajaxorg/ace/commit/9e81bdafc3d563421cae458259d4c4e1b449a237))
+
+### [1.5.2](https://github.com/ajaxorg/ace/compare/v1.5.1...v1.5.2) (2022-05-30)
+
+
+### Bug Fixes
+
+* Added es6-shim library to fix old browsers ([#4720](https://github.com/ajaxorg/ace/issues/4720)) ([5ba71a0](https://github.com/ajaxorg/ace/commit/5ba71a0b8b0804d8cb385f7b2ee6b63e9bd1c3b8))
+* Added mockdom.before method ([#4724](https://github.com/ajaxorg/ace/issues/4724)) ([ffedba3](https://github.com/ajaxorg/ace/commit/ffedba3e18138d7739285d1a9b945d01d384948e))
+* Added support for cjs, mjs and log modes ([#4718](https://github.com/ajaxorg/ace/issues/4718)) ([375498a](https://github.com/ajaxorg/ace/commit/375498a12ff28cf955224baf60d242421817220d))
+* Adds missed functions into `php_completions.js` ([#4726](https://github.com/ajaxorg/ace/issues/4726)) ([7d5f4b8](https://github.com/ajaxorg/ace/commit/7d5f4b83f3ecc854e70f1508e9247e39ca9de30a))
+* Cannot read property of null for bgTokenizer after session is destroyed ([#4713](https://github.com/ajaxorg/ace/issues/4713)) ([d604f52](https://github.com/ajaxorg/ace/commit/d604f52d60e3ec2dced126337ad46a2cf71bf294))
+* Do not render selected word markers for the same range multiple times ([#4727](https://github.com/ajaxorg/ace/issues/4727)) ([cd30f59](https://github.com/ajaxorg/ace/commit/cd30f591e40d5286fdabaa9f688f3c6066fbffff))
+* Fixed popup CSS styling ([#4728](https://github.com/ajaxorg/ace/issues/4728)) ([045a3e6](https://github.com/ajaxorg/ace/commit/045a3e652ec37b1ab3b716cdf2bc24967a75eb77))
+* Fixed scrolling code lenses into view ([#4717](https://github.com/ajaxorg/ace/issues/4717)) ([710b14a](https://github.com/ajaxorg/ace/commit/710b14a7709d7499a4d182ad707b3cbbb6e73a64))
+* Multiple improvements for Ace themes ([#4715](https://github.com/ajaxorg/ace/issues/4715)) ([87ad55d](https://github.com/ajaxorg/ace/commit/87ad55daf243bdc619e15fbf220dc5ded235ed4c))
+* Only send postMessage through worker if it's defined ([#4722](https://github.com/ajaxorg/ace/issues/4722)) ([2afa4bf](https://github.com/ajaxorg/ace/commit/2afa4bf91bbc99f29bd0a7c1f0adc600af2ceeae))
+* Pass additional arguments for command.exec ([#4723](https://github.com/ajaxorg/ace/issues/4723)) ([3b36762](https://github.com/ajaxorg/ace/commit/3b36762c045246efbc2e11eaa08d20a90142d26f))
+* Removed focussing after timeout in text input ([#4716](https://github.com/ajaxorg/ace/issues/4716)) ([f8ea48f](https://github.com/ajaxorg/ace/commit/f8ea48f1fe6362696ed30e01030e75c117ce4323))
+* Throw invalid delta error if change is out of range and added V2 for worker and worker client ([#4721](https://github.com/ajaxorg/ace/issues/4721)) ([f269889](https://github.com/ajaxorg/ace/commit/f2698895d6617f1c7ebeed14b7ecbb1c5d71bb51))
+* Updated ace typings ([#4714](https://github.com/ajaxorg/ace/issues/4714)) ([d5d6f9a](https://github.com/ajaxorg/ace/commit/d5d6f9a32ad443d02aa89d9f140917637f5f52ab))
+
+### [1.5.1](https://github.com/ajaxorg/ace/compare/v1.5.0...v1.5.1) (2022-05-23)
+
+
+### Bug Fixes
+
+* Correctly tokenize YAML meta tags with non alphabetical characters after multiline string ([#4706](https://github.com/ajaxorg/ace/issues/4706)) ([0164811](https://github.com/ajaxorg/ace/commit/0164811fd95ecae9a46ce6fd7278e9c8b0b48eed))
+* Made commas be tokenized as punctuation operator instead of text in JSON ([#4703](https://github.com/ajaxorg/ace/issues/4703)) ([4c4883a](https://github.com/ajaxorg/ace/commit/4c4883a854836b652dbb798b78f207ae4b1924b8))
+* Multiple Partiql and Amazon Ion textual notation fixes ([#4686](https://github.com/ajaxorg/ace/issues/4686)) ([bffba8d](https://github.com/ajaxorg/ace/commit/bffba8d934773bc9236d741f1a1ce2237a971b3e))
+* PHP syntax fix for AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG ([#4705](https://github.com/ajaxorg/ace/issues/4705)) ([d59c22b](https://github.com/ajaxorg/ace/commit/d59c22b603eaa9d688249a3cc11812e641f25426))
+* Python functions should be highlighted as functions ([#4708](https://github.com/ajaxorg/ace/issues/4708)) ([b2aaf1f](https://github.com/ajaxorg/ace/commit/b2aaf1f5644397959bd8c94e9e705da176242edd))
+* Updated PHP mode to support PHP8.1 syntax ([#4696](https://github.com/ajaxorg/ace/issues/4696)) ([33cf1c6](https://github.com/ajaxorg/ace/commit/33cf1c66af970edaf7eb0a468276fca249b8a5c8))
+
+## [1.5.0](https://github.com/ajaxorg/ace/compare/v1.4.14...v1.5.0) (2022-05-12)
+
+
+### Features
+
+* Added ability to configure certain format options for beautify extension ([20275de](https://github.com/ajaxorg/ace/commit/20275de79c40636d27d5ce293cf528c915338fbd))
+
+
+### Bug Fixes
+
+* Modify syntax ([b78d772](https://github.com/ajaxorg/ace/commit/b78d77240e1909b9d91fcd2ac35a4c17af05f56b))
+* Render bidirectional unicode characters as control characters ([#4693](https://github.com/ajaxorg/ace/issues/4693)) ([4d2ecf0](https://github.com/ajaxorg/ace/commit/4d2ecf08afeb1556f2511a1423729c2549802da8))
+
+2022.01.26 Version 1.4.14
+
+- update vim mode
+- remove slow regex in beautify extension
+
+ 2021.09.30 Version 1.4.13
+
+- added useStrictCSP global option to use in environments where dynamic style creation is disabled
+ see demo/csp.html for an example of a page which loads external css files instead of generating styles with javascript
+- updated vim mode, added support for gqq command
+
+ 2020.07.06 Version 1.4.12
+
+- removed unused es5-shim
+- imporved ruby and vbscript highlighting and folding
+- workaround for double space being converted to dot on mobile keyboards
+
+ 2020.04.15 Version 1.4.10
+
+- added workaround for chrome bug causing memory leak after calling editor.destroy
+- added code folding support for vbscript mode
+
+ 2020.04.01 Version 1.4.9
+
+- added option to disable autoindent
+- added new language modes
+- fixed backspace not working with some mobile keyboards
+
+ 2020.01.14 Version 1.4.8
+
+- highlight both matched braces, and highlight unmatched brace in red
+- improve snippet manager
+- compatibility with webpack file-loader v5
+- improve vim mode
+
+ 2019.10.17 Version 1.4.7
+
+- add placeholder option
+
+ 2019.09.08 Version 1.4.6
+
+- restore native behavior of ctrl-p on mac (jumptomatching command is moved to cmd-\)
+- improve snippet manager
+- fix backspace handling on mobile
+
+ 2019.06.17 Version 1.4.5
+
+- improve scrolling and selection on mobile
+- improve type definitions
+
+ 2019.04.24 Version 1.4.4
+
+- add experimental command prompt
+- add chrystal, nim and nginx highlight rules
+- fix regression in vim mode on ios
+
+ 2019.02.21 Version 1.4.3
+
+- add sublime keybindings
+- add rtl option
+- implement ` and < textobjects in vim mode
+
+ 2018.11.21 Version 1.4.2
+
+- fix regression in vim mode
+- improve keyboard input handling on ipad and IE
+- add new syntax highlighters
+
+ 2018.08.07 Version 1.4.1
+
+- fix regression in autocomplete
+
+ 2018.08.06 Version 1.4.0
+
+- remove usage of innerHTML
+- improved handling of textinput for IME and mobile
+- add support for relative line numbers
+- improve autocompletion popup
+
+ 2018.03.26 Version 1.3.3
+
+- fix regession in static-highlight extension
+- use css animation for cursor blinking
+
+ 2018.03.21 Version 1.3.2
+
+- add experimental support for using ace-builds with webpack
+
+ 2018.02.11 Version 1.3.1
+
+- fixed regression with selectionChange event not firing some times
+- improved handling of non-ascii characters in vim normal mode
+
+ 2018.01.31 Version 1.3.0
+
+- added copy copyWithEmptySelection option
+- improved undoManager
+- improved settings_menu plugin
+- improved handling of files with very long lines
+- fixed bug with scrolling editor out of view in transformed elements
+
+ 2017.10.17 Version 1.2.9
+
+- added support for bidirectional text, with monospace font (Alex Shensis)
+- added support for emoji 😊
+
+- new language modes
+
+ - Red (Toomas Vooglaid)
+ - CSound (Nathan Whetsell)
+ - JSSM (John Haugeland)
+
+- New Themes
+
+ - Dracula (Austin Schwartz)
+
+ 2017.07.02 Version 1.2.8
+
+- Fixed small bugs in searchbox and autocompleter
+
+ 2017.06.18 Version 1.2.7
+
+- Added Support for arrow keys on external IPad keyboard (Emanuele Tamponi)
+- added match counter to searchbox extension
+
+* implemented higlighting of multiline strings in yaml mode (Maxim Trushin)
+* improved haml syntax highlighter (Andrés Álvarez)
+
+ 2016.12.03 Version 1.2.6
+
+- Fixed IME handling on new Chrome
+- Support for php 7 in the syntax checker
+
+ 2016.08.16 Version 1.2.5
+
+- Fixed regression in noconflict mode
+
+ 2016.07.27 Version 1.2.4
+
+- Maintenance release with several new modes and small bugfixes
+
+ 2016.01.17 Version 1.2.3
+
+- Bugfixes
+ - fix memory leak in setSession (Tyler Stalder)
+ - double click not working on linux/mac
+- new language modes
+
+ - reStructuredText (Robin Jarry)
+ - NSIS (Jan T. Sott)
+
+ 2015.10.28 Version 1.2.1
+
+- new language modes
+
+ - Swift
+ - JSX
+
+ 2015.07.11 Version 1.2.0
+
+- New Features
+
+ - Indented soft wrap (danyaPostfactum)
+ - Rounded borders on selections
+
+- API Changes
+
+ - unified delta types `{start, end, action, lines}` (Alden Daniels https://github.com/ajaxorg/ace/pull/1745)
+ - "change" event listeners on session and editor get delta objects directly
+
+- new language modes
+
+ - SQLServer (Morgan Yarbrough)
+
+ 2015.04.03 Version 1.1.9
+
+ - Small Enhancements and Bugfixes
+
+ 2014.11.08 Version 1.1.8
+
+- API Changes
+ - `editor.commands.commandKeyBinding` now contains direct map from keys to commands instead of grouping them by hashid
+- New Features
+ - Improved autoindent for html and php modes (Adam Jimenez)
+ - Find All from searchbox (Colton Voege)
+- new language modes
+
+ - Elixir, Elm
+ 2014.09.21 Version 1.1.7
+
+- Bugfixes
+
+ - fix several bugs in autocompletion
+ - workaround for inaccurate getBoundingClientRect on chrome 37
+
+ 2014.08.17 Version 1.1.6
+
+- Bugfixes
+ - fix regression in double tap to highlight
+ - Improved Latex Mode (Daniel Felder)
+- API Changes
+
+ - editor.destroy destroys editor.session too (call editor.setSession(null) to prevent that)
+
+- new language modes
+
+* Praat (José Joaquín Atria)
+* Eiffel (Victorien Elvinger)
+* G-code (Adam Joseph Cook)
+ 2014.07.09 Version 1.1.5
+
+- Bugfixes
+
+ - fix regression in autocomplete popup
+
+- new language modes
+
+* gitignore (Devon Carew)
+ 2014.07.01 Version 1.1.4
+
+- New Features
+
+ - Highlight matching tags (Adam Jimenez)
+ - Improved jump to matching command (Adam Jimenez)
+
+- new language modes
+
+* AppleScript (Yaogang Lian)
+* Vala
+
+ 2014.03.08 Version 1.1.3
+
+- New Features
+
+ - Allow syntax checkers to be loaded from CDN (Derk-Jan Hartman)
+ - Add ColdFusion behavior (Abram Adams)
+ - add showLineNumbers option
+ - Add html syntax checker (danyaPostfactum)
+
+- new language modes
+
+ - Gherkin (Patrick Nevels)
+ - Smarty
+
+ 2013.12.02 Version 1.1.2
+
+- New Features
+ - Accessibility Theme for Ace (Peter Xiao)
+ - use snipetManager for expanding emmet snippets
+ - update jshint to 2.1.4
+ - improve php syntax checker (jdalegonzalez)
+ - add option for autoresizing
+ - add option for autohiding vertical scrollbar
+ - improvements to highlighting of xml like languages (danyaPostfactum)
+ - add support for autocompletion and snippets (gjtorikyan danyaPostfactum and others)
+ - add option to merge similar changes in undo history
+ - add scrollPastEnd option
+ - use html5 dragndrop for text dragging (danyaPostfactum)
+- API Changes
+
+ - fixed typo in HashHandler commmandManager
+
+- new language modes
+
+ - Nix (Zef Hemel)
+ - Protobuf (Zef Hemel)
+ - Soy
+ - Handlebars
+
+ 2013.06.04 Version 1.1.1
+
+ - Improved emacs keybindings (Robert Krahn)
+ - Added markClean, isClean methods to UndoManager (Joonsoo Jeon)
+ - Do not allow `Toggle comments` command to remove spaces from indentation
+ - Softer colors for indent guides in dark themes
+
+- new language modes
+
+ - Ada
+ - Assembly_x86
+ - Cobol
+ - D
+ - ejs
+ - MATLAB
+ - MySQL
+ - Twig
+ - Verilog
+
+ 2013.05.01, Version 1.1.0
+
+- API Changes
+
+ - Default position of the editor container is changed to relative. Add `.ace_editor {position: absolute}` css rule to restore old behavior
+ - Changed default line-height to `normal` to not conflict with bootstrap. Use `line-height: inherit` for old behavior.
+ - Changed marker types accepted by session.addMarker. It now accepts "text"|"line"|"fullLine"|"screenLine"
+ - Internal classnames used by editor were made more consistent
+ - Introduced `editor.setOption/getOption/setOptions/getOptions` methods
+ - Introduced positionToIndex, indexToPosition methods
+
+- New Features
+
+ - Improved emacs mode (chetstone)
+ with Incremental search and Occur modes (Robert Krahn)
+
+ - Improved ime handling
+ - Searchbox (Vlad Zinculescu)
+
+ - Added elastic tabstops lite extension (Garen Torikian)
+ - Added extension for whitespace manipulation
+ - Added extension for enabling spellchecking from contextmenu
+ - Added extension for displaying available keyboard shortcuts (Matthew Christopher Kastor-Inare III)
+ - Added extension for displaying options panel (Matthew Christopher Kastor-Inare III)
+ - Added modelist extension (Matthew Christopher Kastor-Inare III)
+
+ - Improved toggleCommentLines and added ToggleCommentBlock command
+ - `:;` pairing in CSS mode (danyaPostfactum)
+
+ - Added suppoert for Delete and SelectAll from context menu (danyaPostfactum)
+
+ - Make wrapping behavior optional
+ - Selective bracket insertion/skipping
+ - Added commands for increase/decrease numbers, sort lines (Vlad Zinculescu)
+ - Folding for Markdown, Lua, LaTeX
+ - Selective bracket insertion/skipping for C-like languages
+
+- Many new languages
+
+ - Scheme (Mu Lei)
+ - Dot (edwardsp)
+ - FreeMarker (nguillaumin)
+ - Tiny Mushcode (h3rb)
+ - Velocity (Ryan Griffith)
+ - TOML (Garen Torikian)
+ - LSL (Nemurimasu Neiro, Builders Brewery)
+ - Curly (Libo Cannici)
+ - vbScript (Jan Jongboom)
+ - R (RStudio)
+ - ABAP
+ - Lucene (Graham Scott)
+ - Haml (Garen Torikian)
+ - Objective-C (Garen Torikian)
+ - Makefile (Garen Torikian)
+ - TypeScript (Garen Torikian)
+ - Lisp (Garen Torikian)
+ - Stylus (Garen Torikian)
+ - Dart (Garen Torikian)
+
+- Live syntax checks
+
+ - PHP (danyaPostfactum)
+ - Lua
+
+- New Themes
+
+ - Chaos
+ - Terminal
+ 2012.09.17, Version 1.0.0
+
+- New Features
+
+ - Multiple cursors and selections (https://c9.io/site/blog/2012/08/be-an-armenian-warrior-with-block-selection-on-steroids/)
+ - Fold buttons displayed in the gutter
+ - Indent Guides
+ - Completely reworked vim mode (Sergi Mansilla)
+ - Improved emacs keybindings
+ - Autoclosing of html tags (danyaPostfactum)
+
+- 20 New language modes
+
+ - Coldfusion (Russ)
+ - Diff
+ - GLSL (Ed Mackey)
+ - Go (Davide Saurino)
+ - Haxe (Jason O'Neil)
+ - Jade (Garen Torikian)
+ - jsx (Syu Kato)
+ - LaTeX (James Allen)
+ - Less (John Roepke)
+ - Liquid (Bernie Telles)
+ - Lua (Lee Gao)
+ - LuaPage (Choonster)
+ - Markdown (Chris Spencer)
+ - PostgreSQL (John DeSoi)
+ - Powershell (John Kane)
+ - Sh (Richo Healey)
+ - SQL (Jonathan Camile)
+ - Tcl (Cristoph Hochreiner)
+ - XQuery (William Candillion)
+ - Yaml (Meg Sharkey)
+
+ * Live syntax checks
+
+ - for XQuery and JSON
+
+- New Themes
+
+ - Ambiance (Irakli Gozalishvili)
+ - Dreamweaver (Adam Jimenez)
+ - Github (bootstraponline)
+ - Tommorrow themes (https://github.com/chriskempson/tomorrow-theme)
+ - XCode
+
+- Many Small Enhancements and Bugfixes
+
+ 2011.08.02, Version 0.2.0
+
+- Split view (Julian Viereck)
+
+ - split editor area horizontally or vertivally to show two files at the same
+ time
+
+- Code Folding (Julian Viereck)
+
+ - Unstructured code folding
+ - Will be the basis for language aware folding
+
+- Mode behaviours (Chris Spencer)
+
+ - Adds mode specific hooks which allow transformations of entered text
+ - Autoclosing of braces, paranthesis and quotation marks in C style modes
+ - Autoclosing of angular brackets in XML style modes
+
+- New language modes
+ - Clojure (Carin Meier)
+ - C# (Rob Conery)
+ - Groovy (Ben Tilford)
+ - Scala (Ben Tilford)
+ - JSON
+ - OCaml (Sergi Mansilla)
+ - Perl (Panagiotis Astithas)
+ - SCSS/SASS (Andreas Madsen)
+ - SVG
+ - Textile (Kelley van Evert)
+ - SCAD (Jacob Hansson)
+- Live syntax checks
+
+ - Lint for CSS using CSS Lint
+ - CoffeeScript
+
+- New Themes
+
+ - Crimson Editor (iebuggy)
+ - Merbivore (Michael Schwartz)
+ - Merbivore soft (Michael Schwartz)
+ - Solarized dark/light (David Alan Hjelle)
+ - Vibrant Ink (Michael Schwartz)
+
+- Small Features/Enhancements
+
+ - Lots of render performance optimizations (Harutyun Amirjanyan)
+ - Improved Ruby highlighting (Chris Wanstrath, Trent Ogren)
+ - Improved PHP highlighting (Thomas Hruska)
+ - Improved CSS highlighting (Sean Kellogg)
+ - Clicks which cause the editor to be focused don't reset the selection
+ - Make padding text layer specific so that print margin and active line
+ highlight are not affected (Irakli Gozalishvili)
+ - Added setFontSize method
+ - Improved vi keybindings (Trent Ogren)
+ - When unfocused make cursor transparent instead of removing it (Harutyun Amirjanyan)
+ - Support for matching groups in tokenizer with arrays of tokens (Chris Spencer)
+
+- Bug fixes
+
+ - Add support for the new OSX scroll bars
+ - Properly highlight JavaScript regexp literals
+ - Proper handling of unicode characters in JavaScript identifiers
+ - Fix remove lines command on last line (Harutyun Amirjanyan)
+ - Fix scroll wheel sluggishness in Safari
+ - Make keyboard infrastructure route keys like []^$ the right way (Julian Viereck)
+
+ 2011.02.14, Version 0.1.6
+
+- Floating Anchors
+ - An Anchor is a floating pointer in the document.
+ - Whenever text is inserted or deleted before the cursor, the position of
+ the cursor is updated
+ - Usesd for the cursor and selection
+ - Basis for bookmarks, multiple cursors and snippets in the future
+- Extensive support for Cocoa style keybindings on the Mac
+- New commands:
+ - center selection in viewport
+ - remove to end/start of line
+ - split line
+ - transpose letters
+- Refator markers
+ - Custom code can be used to render markers
+ - Markers can be in front or behind the text
+ - Markers are now stored in the session (was in the renderer)
+- Lots of IE8 fixes including copy, cut and selections
+- Unit tests can also be run in the browser
+
+- Soft wrap can adapt to the width of the editor (Mike Ratcliffe, Joe Cheng)
+- Add minimal node server server.js to run the Ace demo in Chrome
+- The top level editor.html demo has been renamed to index.html
+- Bug fixes
+
+ - Fixed gotoLine to consider wrapped lines when calculating where to scroll to (James Allen)
+ - Fixed isues when the editor was scrolled in the web page (Eric Allam)
+ - Highlighting of Python string literals
+ - Syntax rule for PHP comments
+
+ 2011.02.08, Version 0.1.5
+
+- Add Coffeescript Mode (Satoshi Murakami)
+- Fix word wrap bug (Julian Viereck)
+- Fix packaged version of the Eclipse mode
+- Loading of workers is more robust
+- Fix "click selection"
+- Allow tokizing empty lines (Daniel Krech)
+- Make PageUp/Down behavior more consistent with native OS (Joe Cheng)
+
+ 2011.02.04, Version 0.1.4
+
+- Add C/C++ mode contributed by Gastón Kleiman
+- Fix exception in key input
+
+ 2011.02.04, Version 0.1.3
+
+- Let the packaged version play nice with requireJS
+- Add Ruby mode contributed by Shlomo Zalman Heigh
+- Add Java mode contributed by Tom Tasche
+- Fix annotation bug
+- Changing a document added a new empty line at the end
diff --git a/modules/ace/LICENSE b/modules/lib/ace/LICENSE
similarity index 100%
rename from modules/ace/LICENSE
rename to modules/lib/ace/LICENSE
diff --git a/modules/lib/ace/README.md b/modules/lib/ace/README.md
new file mode 100644
index 00000000..3817cf28
--- /dev/null
+++ b/modules/lib/ace/README.md
@@ -0,0 +1,24 @@
+Ace (Ajax.org Cloud9 Editor)
+============================
+[![CDNJS](https://img.shields.io/cdnjs/v/ace.svg)](https://cdnjs.com/libraries/ace)
+[![npm](https://img.shields.io/npm/v/ace-builds.svg)](https://www.npmjs.com/package/ace-builds)
+
+Ace is a code editor written in JavaScript.
+
+This repository has only generated files.
+If you want to work on ace please go to https://github.com/ajaxorg/ace instead.
+
+To report any issues or feature requests regarding Ace please go here: https://github.com/ajaxorg/ace/issues
+
+here you can find pre-built files for convenience of embedding.
+it contains 4 versions
+ * [src](https://github.com/ajaxorg/ace-builds/tree/master/src) concatenated but not minified
+ * [src-min](https://github.com/ajaxorg/ace-builds/tree/master/src-min) concatenated and minified with uglify.js
+ * [src-noconflict](https://github.com/ajaxorg/ace-builds/tree/master/src-noconflict) uses ace.require instead of require
+ * [src-min-noconflict](https://github.com/ajaxorg/ace-builds/tree/master/src-min-noconflict) concatenated, minified with uglify.js, and uses ace.require instead of require
+
+
+For a simple way of embedding ace into webpage see [editor.html](https://github.com/ajaxorg/ace-builds/blob/master/editor.html) or list of other [simple examples](https://github.com/ajaxorg/ace-builds/tree/master/demo)
+To see ace in action go to [kitchen-sink-demo](http://ajaxorg.github.io/ace-builds/kitchen-sink.html), [scrollable-page-demo](http://ajaxorg.github.io/ace-builds/demo/scrollable-page.html) or [minimal demo](http://ajaxorg.github.io/ace-builds/editor.html),
+
+
diff --git a/modules/ace/ace.js b/modules/lib/ace/ace.js
similarity index 100%
rename from modules/ace/ace.js
rename to modules/lib/ace/ace.js
diff --git a/modules/ace/ext-beautify.js b/modules/lib/ace/ext-beautify.js
similarity index 100%
rename from modules/ace/ext-beautify.js
rename to modules/lib/ace/ext-beautify.js
diff --git a/modules/ace/ext-code_lens.js b/modules/lib/ace/ext-code_lens.js
similarity index 100%
rename from modules/ace/ext-code_lens.js
rename to modules/lib/ace/ext-code_lens.js
diff --git a/modules/ace/ext-elastic_tabstops_lite.js b/modules/lib/ace/ext-elastic_tabstops_lite.js
similarity index 100%
rename from modules/ace/ext-elastic_tabstops_lite.js
rename to modules/lib/ace/ext-elastic_tabstops_lite.js
diff --git a/modules/ace/ext-emmet.js b/modules/lib/ace/ext-emmet.js
similarity index 100%
rename from modules/ace/ext-emmet.js
rename to modules/lib/ace/ext-emmet.js
diff --git a/modules/ace/ext-error_marker.js b/modules/lib/ace/ext-error_marker.js
similarity index 100%
rename from modules/ace/ext-error_marker.js
rename to modules/lib/ace/ext-error_marker.js
diff --git a/modules/ace/ext-hardwrap.js b/modules/lib/ace/ext-hardwrap.js
similarity index 100%
rename from modules/ace/ext-hardwrap.js
rename to modules/lib/ace/ext-hardwrap.js
diff --git a/modules/ace/ext-keybinding_menu.js b/modules/lib/ace/ext-keybinding_menu.js
similarity index 100%
rename from modules/ace/ext-keybinding_menu.js
rename to modules/lib/ace/ext-keybinding_menu.js
diff --git a/modules/ace/ext-language_tools.js b/modules/lib/ace/ext-language_tools.js
similarity index 100%
rename from modules/ace/ext-language_tools.js
rename to modules/lib/ace/ext-language_tools.js
diff --git a/modules/ace/ext-linking.js b/modules/lib/ace/ext-linking.js
similarity index 100%
rename from modules/ace/ext-linking.js
rename to modules/lib/ace/ext-linking.js
diff --git a/modules/ace/ext-modelist.js b/modules/lib/ace/ext-modelist.js
similarity index 100%
rename from modules/ace/ext-modelist.js
rename to modules/lib/ace/ext-modelist.js
diff --git a/modules/ace/ext-options.js b/modules/lib/ace/ext-options.js
similarity index 100%
rename from modules/ace/ext-options.js
rename to modules/lib/ace/ext-options.js
diff --git a/modules/ace/ext-prompt.js b/modules/lib/ace/ext-prompt.js
similarity index 100%
rename from modules/ace/ext-prompt.js
rename to modules/lib/ace/ext-prompt.js
diff --git a/modules/ace/ext-rtl.js b/modules/lib/ace/ext-rtl.js
similarity index 100%
rename from modules/ace/ext-rtl.js
rename to modules/lib/ace/ext-rtl.js
diff --git a/modules/ace/ext-searchbox.js b/modules/lib/ace/ext-searchbox.js
similarity index 100%
rename from modules/ace/ext-searchbox.js
rename to modules/lib/ace/ext-searchbox.js
diff --git a/modules/ace/ext-settings_menu.js b/modules/lib/ace/ext-settings_menu.js
similarity index 100%
rename from modules/ace/ext-settings_menu.js
rename to modules/lib/ace/ext-settings_menu.js
diff --git a/modules/ace/ext-spellcheck.js b/modules/lib/ace/ext-spellcheck.js
similarity index 100%
rename from modules/ace/ext-spellcheck.js
rename to modules/lib/ace/ext-spellcheck.js
diff --git a/modules/ace/ext-split.js b/modules/lib/ace/ext-split.js
similarity index 100%
rename from modules/ace/ext-split.js
rename to modules/lib/ace/ext-split.js
diff --git a/modules/ace/ext-static_highlight.js b/modules/lib/ace/ext-static_highlight.js
similarity index 100%
rename from modules/ace/ext-static_highlight.js
rename to modules/lib/ace/ext-static_highlight.js
diff --git a/modules/ace/ext-statusbar.js b/modules/lib/ace/ext-statusbar.js
similarity index 100%
rename from modules/ace/ext-statusbar.js
rename to modules/lib/ace/ext-statusbar.js
diff --git a/modules/ace/ext-textarea.js b/modules/lib/ace/ext-textarea.js
similarity index 100%
rename from modules/ace/ext-textarea.js
rename to modules/lib/ace/ext-textarea.js
diff --git a/modules/ace/ext-themelist.js b/modules/lib/ace/ext-themelist.js
similarity index 100%
rename from modules/ace/ext-themelist.js
rename to modules/lib/ace/ext-themelist.js
diff --git a/modules/ace/ext-whitespace.js b/modules/lib/ace/ext-whitespace.js
similarity index 100%
rename from modules/ace/ext-whitespace.js
rename to modules/lib/ace/ext-whitespace.js
diff --git a/modules/ace/keybinding-emacs.js b/modules/lib/ace/keybinding-emacs.js
similarity index 100%
rename from modules/ace/keybinding-emacs.js
rename to modules/lib/ace/keybinding-emacs.js
diff --git a/modules/ace/keybinding-sublime.js b/modules/lib/ace/keybinding-sublime.js
similarity index 100%
rename from modules/ace/keybinding-sublime.js
rename to modules/lib/ace/keybinding-sublime.js
diff --git a/modules/ace/keybinding-vim.js b/modules/lib/ace/keybinding-vim.js
similarity index 100%
rename from modules/ace/keybinding-vim.js
rename to modules/lib/ace/keybinding-vim.js
diff --git a/modules/ace/keybinding-vscode.js b/modules/lib/ace/keybinding-vscode.js
similarity index 100%
rename from modules/ace/keybinding-vscode.js
rename to modules/lib/ace/keybinding-vscode.js
diff --git a/modules/ace/mode-abap.js b/modules/lib/ace/mode-abap.js
similarity index 100%
rename from modules/ace/mode-abap.js
rename to modules/lib/ace/mode-abap.js
diff --git a/modules/ace/mode-abc.js b/modules/lib/ace/mode-abc.js
similarity index 100%
rename from modules/ace/mode-abc.js
rename to modules/lib/ace/mode-abc.js
diff --git a/modules/ace/mode-actionscript.js b/modules/lib/ace/mode-actionscript.js
similarity index 100%
rename from modules/ace/mode-actionscript.js
rename to modules/lib/ace/mode-actionscript.js
diff --git a/modules/ace/mode-ada.js b/modules/lib/ace/mode-ada.js
similarity index 100%
rename from modules/ace/mode-ada.js
rename to modules/lib/ace/mode-ada.js
diff --git a/modules/ace/mode-alda.js b/modules/lib/ace/mode-alda.js
similarity index 100%
rename from modules/ace/mode-alda.js
rename to modules/lib/ace/mode-alda.js
diff --git a/modules/ace/mode-apache_conf.js b/modules/lib/ace/mode-apache_conf.js
similarity index 100%
rename from modules/ace/mode-apache_conf.js
rename to modules/lib/ace/mode-apache_conf.js
diff --git a/modules/ace/mode-apex.js b/modules/lib/ace/mode-apex.js
similarity index 100%
rename from modules/ace/mode-apex.js
rename to modules/lib/ace/mode-apex.js
diff --git a/modules/ace/mode-applescript.js b/modules/lib/ace/mode-applescript.js
similarity index 100%
rename from modules/ace/mode-applescript.js
rename to modules/lib/ace/mode-applescript.js
diff --git a/modules/ace/mode-aql.js b/modules/lib/ace/mode-aql.js
similarity index 100%
rename from modules/ace/mode-aql.js
rename to modules/lib/ace/mode-aql.js
diff --git a/modules/ace/mode-asciidoc.js b/modules/lib/ace/mode-asciidoc.js
similarity index 100%
rename from modules/ace/mode-asciidoc.js
rename to modules/lib/ace/mode-asciidoc.js
diff --git a/modules/ace/mode-asl.js b/modules/lib/ace/mode-asl.js
similarity index 100%
rename from modules/ace/mode-asl.js
rename to modules/lib/ace/mode-asl.js
diff --git a/modules/ace/mode-assembly_x86.js b/modules/lib/ace/mode-assembly_x86.js
similarity index 100%
rename from modules/ace/mode-assembly_x86.js
rename to modules/lib/ace/mode-assembly_x86.js
diff --git a/modules/ace/mode-autohotkey.js b/modules/lib/ace/mode-autohotkey.js
similarity index 100%
rename from modules/ace/mode-autohotkey.js
rename to modules/lib/ace/mode-autohotkey.js
diff --git a/modules/ace/mode-batchfile.js b/modules/lib/ace/mode-batchfile.js
similarity index 100%
rename from modules/ace/mode-batchfile.js
rename to modules/lib/ace/mode-batchfile.js
diff --git a/modules/ace/mode-bibtex.js b/modules/lib/ace/mode-bibtex.js
similarity index 100%
rename from modules/ace/mode-bibtex.js
rename to modules/lib/ace/mode-bibtex.js
diff --git a/modules/ace/mode-c9search.js b/modules/lib/ace/mode-c9search.js
similarity index 100%
rename from modules/ace/mode-c9search.js
rename to modules/lib/ace/mode-c9search.js
diff --git a/modules/ace/mode-c_cpp.js b/modules/lib/ace/mode-c_cpp.js
similarity index 100%
rename from modules/ace/mode-c_cpp.js
rename to modules/lib/ace/mode-c_cpp.js
diff --git a/modules/ace/mode-cirru.js b/modules/lib/ace/mode-cirru.js
similarity index 100%
rename from modules/ace/mode-cirru.js
rename to modules/lib/ace/mode-cirru.js
diff --git a/modules/ace/mode-clojure.js b/modules/lib/ace/mode-clojure.js
similarity index 100%
rename from modules/ace/mode-clojure.js
rename to modules/lib/ace/mode-clojure.js
diff --git a/modules/ace/mode-cobol.js b/modules/lib/ace/mode-cobol.js
similarity index 100%
rename from modules/ace/mode-cobol.js
rename to modules/lib/ace/mode-cobol.js
diff --git a/modules/ace/mode-coffee.js b/modules/lib/ace/mode-coffee.js
similarity index 100%
rename from modules/ace/mode-coffee.js
rename to modules/lib/ace/mode-coffee.js
diff --git a/modules/ace/mode-coldfusion.js b/modules/lib/ace/mode-coldfusion.js
similarity index 100%
rename from modules/ace/mode-coldfusion.js
rename to modules/lib/ace/mode-coldfusion.js
diff --git a/modules/ace/mode-crystal.js b/modules/lib/ace/mode-crystal.js
similarity index 100%
rename from modules/ace/mode-crystal.js
rename to modules/lib/ace/mode-crystal.js
diff --git a/modules/ace/mode-csharp.js b/modules/lib/ace/mode-csharp.js
similarity index 100%
rename from modules/ace/mode-csharp.js
rename to modules/lib/ace/mode-csharp.js
diff --git a/modules/ace/mode-csound_document.js b/modules/lib/ace/mode-csound_document.js
similarity index 100%
rename from modules/ace/mode-csound_document.js
rename to modules/lib/ace/mode-csound_document.js
diff --git a/modules/ace/mode-csound_orchestra.js b/modules/lib/ace/mode-csound_orchestra.js
similarity index 100%
rename from modules/ace/mode-csound_orchestra.js
rename to modules/lib/ace/mode-csound_orchestra.js
diff --git a/modules/ace/mode-csound_score.js b/modules/lib/ace/mode-csound_score.js
similarity index 100%
rename from modules/ace/mode-csound_score.js
rename to modules/lib/ace/mode-csound_score.js
diff --git a/modules/ace/mode-csp.js b/modules/lib/ace/mode-csp.js
similarity index 100%
rename from modules/ace/mode-csp.js
rename to modules/lib/ace/mode-csp.js
diff --git a/modules/ace/mode-css.js b/modules/lib/ace/mode-css.js
similarity index 100%
rename from modules/ace/mode-css.js
rename to modules/lib/ace/mode-css.js
diff --git a/modules/ace/mode-curly.js b/modules/lib/ace/mode-curly.js
similarity index 100%
rename from modules/ace/mode-curly.js
rename to modules/lib/ace/mode-curly.js
diff --git a/modules/ace/mode-d.js b/modules/lib/ace/mode-d.js
similarity index 100%
rename from modules/ace/mode-d.js
rename to modules/lib/ace/mode-d.js
diff --git a/modules/ace/mode-dart.js b/modules/lib/ace/mode-dart.js
similarity index 100%
rename from modules/ace/mode-dart.js
rename to modules/lib/ace/mode-dart.js
diff --git a/modules/ace/mode-diff.js b/modules/lib/ace/mode-diff.js
similarity index 100%
rename from modules/ace/mode-diff.js
rename to modules/lib/ace/mode-diff.js
diff --git a/modules/ace/mode-django.js b/modules/lib/ace/mode-django.js
similarity index 100%
rename from modules/ace/mode-django.js
rename to modules/lib/ace/mode-django.js
diff --git a/modules/ace/mode-dockerfile.js b/modules/lib/ace/mode-dockerfile.js
similarity index 100%
rename from modules/ace/mode-dockerfile.js
rename to modules/lib/ace/mode-dockerfile.js
diff --git a/modules/ace/mode-dot.js b/modules/lib/ace/mode-dot.js
similarity index 100%
rename from modules/ace/mode-dot.js
rename to modules/lib/ace/mode-dot.js
diff --git a/modules/ace/mode-drools.js b/modules/lib/ace/mode-drools.js
similarity index 100%
rename from modules/ace/mode-drools.js
rename to modules/lib/ace/mode-drools.js
diff --git a/modules/ace/mode-edifact.js b/modules/lib/ace/mode-edifact.js
similarity index 100%
rename from modules/ace/mode-edifact.js
rename to modules/lib/ace/mode-edifact.js
diff --git a/modules/ace/mode-eiffel.js b/modules/lib/ace/mode-eiffel.js
similarity index 100%
rename from modules/ace/mode-eiffel.js
rename to modules/lib/ace/mode-eiffel.js
diff --git a/modules/ace/mode-ejs.js b/modules/lib/ace/mode-ejs.js
similarity index 100%
rename from modules/ace/mode-ejs.js
rename to modules/lib/ace/mode-ejs.js
diff --git a/modules/ace/mode-elixir.js b/modules/lib/ace/mode-elixir.js
similarity index 100%
rename from modules/ace/mode-elixir.js
rename to modules/lib/ace/mode-elixir.js
diff --git a/modules/ace/mode-elm.js b/modules/lib/ace/mode-elm.js
similarity index 100%
rename from modules/ace/mode-elm.js
rename to modules/lib/ace/mode-elm.js
diff --git a/modules/ace/mode-erlang.js b/modules/lib/ace/mode-erlang.js
similarity index 100%
rename from modules/ace/mode-erlang.js
rename to modules/lib/ace/mode-erlang.js
diff --git a/modules/ace/mode-forth.js b/modules/lib/ace/mode-forth.js
similarity index 100%
rename from modules/ace/mode-forth.js
rename to modules/lib/ace/mode-forth.js
diff --git a/modules/ace/mode-fortran.js b/modules/lib/ace/mode-fortran.js
similarity index 100%
rename from modules/ace/mode-fortran.js
rename to modules/lib/ace/mode-fortran.js
diff --git a/modules/ace/mode-fsharp.js b/modules/lib/ace/mode-fsharp.js
similarity index 100%
rename from modules/ace/mode-fsharp.js
rename to modules/lib/ace/mode-fsharp.js
diff --git a/modules/ace/mode-fsl.js b/modules/lib/ace/mode-fsl.js
similarity index 100%
rename from modules/ace/mode-fsl.js
rename to modules/lib/ace/mode-fsl.js
diff --git a/modules/ace/mode-ftl.js b/modules/lib/ace/mode-ftl.js
similarity index 100%
rename from modules/ace/mode-ftl.js
rename to modules/lib/ace/mode-ftl.js
diff --git a/modules/ace/mode-gcode.js b/modules/lib/ace/mode-gcode.js
similarity index 100%
rename from modules/ace/mode-gcode.js
rename to modules/lib/ace/mode-gcode.js
diff --git a/modules/ace/mode-gherkin.js b/modules/lib/ace/mode-gherkin.js
similarity index 100%
rename from modules/ace/mode-gherkin.js
rename to modules/lib/ace/mode-gherkin.js
diff --git a/modules/ace/mode-gitignore.js b/modules/lib/ace/mode-gitignore.js
similarity index 100%
rename from modules/ace/mode-gitignore.js
rename to modules/lib/ace/mode-gitignore.js
diff --git a/modules/ace/mode-glsl.js b/modules/lib/ace/mode-glsl.js
similarity index 100%
rename from modules/ace/mode-glsl.js
rename to modules/lib/ace/mode-glsl.js
diff --git a/modules/ace/mode-gobstones.js b/modules/lib/ace/mode-gobstones.js
similarity index 100%
rename from modules/ace/mode-gobstones.js
rename to modules/lib/ace/mode-gobstones.js
diff --git a/modules/ace/mode-golang.js b/modules/lib/ace/mode-golang.js
similarity index 100%
rename from modules/ace/mode-golang.js
rename to modules/lib/ace/mode-golang.js
diff --git a/modules/ace/mode-graphqlschema.js b/modules/lib/ace/mode-graphqlschema.js
similarity index 100%
rename from modules/ace/mode-graphqlschema.js
rename to modules/lib/ace/mode-graphqlschema.js
diff --git a/modules/ace/mode-groovy.js b/modules/lib/ace/mode-groovy.js
similarity index 100%
rename from modules/ace/mode-groovy.js
rename to modules/lib/ace/mode-groovy.js
diff --git a/modules/ace/mode-haml.js b/modules/lib/ace/mode-haml.js
similarity index 100%
rename from modules/ace/mode-haml.js
rename to modules/lib/ace/mode-haml.js
diff --git a/modules/ace/mode-handlebars.js b/modules/lib/ace/mode-handlebars.js
similarity index 100%
rename from modules/ace/mode-handlebars.js
rename to modules/lib/ace/mode-handlebars.js
diff --git a/modules/ace/mode-haskell.js b/modules/lib/ace/mode-haskell.js
similarity index 100%
rename from modules/ace/mode-haskell.js
rename to modules/lib/ace/mode-haskell.js
diff --git a/modules/ace/mode-haskell_cabal.js b/modules/lib/ace/mode-haskell_cabal.js
similarity index 100%
rename from modules/ace/mode-haskell_cabal.js
rename to modules/lib/ace/mode-haskell_cabal.js
diff --git a/modules/ace/mode-haxe.js b/modules/lib/ace/mode-haxe.js
similarity index 100%
rename from modules/ace/mode-haxe.js
rename to modules/lib/ace/mode-haxe.js
diff --git a/modules/ace/mode-hjson.js b/modules/lib/ace/mode-hjson.js
similarity index 100%
rename from modules/ace/mode-hjson.js
rename to modules/lib/ace/mode-hjson.js
diff --git a/modules/ace/mode-html.js b/modules/lib/ace/mode-html.js
similarity index 100%
rename from modules/ace/mode-html.js
rename to modules/lib/ace/mode-html.js
diff --git a/modules/ace/mode-html_elixir.js b/modules/lib/ace/mode-html_elixir.js
similarity index 100%
rename from modules/ace/mode-html_elixir.js
rename to modules/lib/ace/mode-html_elixir.js
diff --git a/modules/ace/mode-html_ruby.js b/modules/lib/ace/mode-html_ruby.js
similarity index 100%
rename from modules/ace/mode-html_ruby.js
rename to modules/lib/ace/mode-html_ruby.js
diff --git a/modules/ace/mode-ini.js b/modules/lib/ace/mode-ini.js
similarity index 100%
rename from modules/ace/mode-ini.js
rename to modules/lib/ace/mode-ini.js
diff --git a/modules/ace/mode-io.js b/modules/lib/ace/mode-io.js
similarity index 100%
rename from modules/ace/mode-io.js
rename to modules/lib/ace/mode-io.js
diff --git a/modules/ace/mode-ion.js b/modules/lib/ace/mode-ion.js
similarity index 100%
rename from modules/ace/mode-ion.js
rename to modules/lib/ace/mode-ion.js
diff --git a/modules/ace/mode-jack.js b/modules/lib/ace/mode-jack.js
similarity index 100%
rename from modules/ace/mode-jack.js
rename to modules/lib/ace/mode-jack.js
diff --git a/modules/ace/mode-jade.js b/modules/lib/ace/mode-jade.js
similarity index 100%
rename from modules/ace/mode-jade.js
rename to modules/lib/ace/mode-jade.js
diff --git a/modules/ace/mode-java.js b/modules/lib/ace/mode-java.js
similarity index 100%
rename from modules/ace/mode-java.js
rename to modules/lib/ace/mode-java.js
diff --git a/modules/ace/mode-javascript.js b/modules/lib/ace/mode-javascript.js
similarity index 100%
rename from modules/ace/mode-javascript.js
rename to modules/lib/ace/mode-javascript.js
diff --git a/modules/ace/mode-jexl.js b/modules/lib/ace/mode-jexl.js
similarity index 100%
rename from modules/ace/mode-jexl.js
rename to modules/lib/ace/mode-jexl.js
diff --git a/modules/ace/mode-json.js b/modules/lib/ace/mode-json.js
similarity index 100%
rename from modules/ace/mode-json.js
rename to modules/lib/ace/mode-json.js
diff --git a/modules/ace/mode-json5.js b/modules/lib/ace/mode-json5.js
similarity index 100%
rename from modules/ace/mode-json5.js
rename to modules/lib/ace/mode-json5.js
diff --git a/modules/ace/mode-jsoniq.js b/modules/lib/ace/mode-jsoniq.js
similarity index 100%
rename from modules/ace/mode-jsoniq.js
rename to modules/lib/ace/mode-jsoniq.js
diff --git a/modules/ace/mode-jsp.js b/modules/lib/ace/mode-jsp.js
similarity index 100%
rename from modules/ace/mode-jsp.js
rename to modules/lib/ace/mode-jsp.js
diff --git a/modules/ace/mode-jssm.js b/modules/lib/ace/mode-jssm.js
similarity index 100%
rename from modules/ace/mode-jssm.js
rename to modules/lib/ace/mode-jssm.js
diff --git a/modules/ace/mode-jsx.js b/modules/lib/ace/mode-jsx.js
similarity index 100%
rename from modules/ace/mode-jsx.js
rename to modules/lib/ace/mode-jsx.js
diff --git a/modules/ace/mode-julia.js b/modules/lib/ace/mode-julia.js
similarity index 100%
rename from modules/ace/mode-julia.js
rename to modules/lib/ace/mode-julia.js
diff --git a/modules/ace/mode-kotlin.js b/modules/lib/ace/mode-kotlin.js
similarity index 100%
rename from modules/ace/mode-kotlin.js
rename to modules/lib/ace/mode-kotlin.js
diff --git a/modules/ace/mode-latex.js b/modules/lib/ace/mode-latex.js
similarity index 100%
rename from modules/ace/mode-latex.js
rename to modules/lib/ace/mode-latex.js
diff --git a/modules/ace/mode-latte.js b/modules/lib/ace/mode-latte.js
similarity index 100%
rename from modules/ace/mode-latte.js
rename to modules/lib/ace/mode-latte.js
diff --git a/modules/ace/mode-less.js b/modules/lib/ace/mode-less.js
similarity index 100%
rename from modules/ace/mode-less.js
rename to modules/lib/ace/mode-less.js
diff --git a/modules/ace/mode-liquid.js b/modules/lib/ace/mode-liquid.js
similarity index 100%
rename from modules/ace/mode-liquid.js
rename to modules/lib/ace/mode-liquid.js
diff --git a/modules/ace/mode-lisp.js b/modules/lib/ace/mode-lisp.js
similarity index 100%
rename from modules/ace/mode-lisp.js
rename to modules/lib/ace/mode-lisp.js
diff --git a/modules/ace/mode-livescript.js b/modules/lib/ace/mode-livescript.js
similarity index 100%
rename from modules/ace/mode-livescript.js
rename to modules/lib/ace/mode-livescript.js
diff --git a/modules/ace/mode-logiql.js b/modules/lib/ace/mode-logiql.js
similarity index 100%
rename from modules/ace/mode-logiql.js
rename to modules/lib/ace/mode-logiql.js
diff --git a/modules/ace/mode-logtalk.js b/modules/lib/ace/mode-logtalk.js
similarity index 100%
rename from modules/ace/mode-logtalk.js
rename to modules/lib/ace/mode-logtalk.js
diff --git a/modules/ace/mode-lsl.js b/modules/lib/ace/mode-lsl.js
similarity index 100%
rename from modules/ace/mode-lsl.js
rename to modules/lib/ace/mode-lsl.js
diff --git a/modules/ace/mode-lua.js b/modules/lib/ace/mode-lua.js
similarity index 100%
rename from modules/ace/mode-lua.js
rename to modules/lib/ace/mode-lua.js
diff --git a/modules/ace/mode-luapage.js b/modules/lib/ace/mode-luapage.js
similarity index 100%
rename from modules/ace/mode-luapage.js
rename to modules/lib/ace/mode-luapage.js
diff --git a/modules/ace/mode-lucene.js b/modules/lib/ace/mode-lucene.js
similarity index 100%
rename from modules/ace/mode-lucene.js
rename to modules/lib/ace/mode-lucene.js
diff --git a/modules/ace/mode-makefile.js b/modules/lib/ace/mode-makefile.js
similarity index 100%
rename from modules/ace/mode-makefile.js
rename to modules/lib/ace/mode-makefile.js
diff --git a/modules/ace/mode-markdown.js b/modules/lib/ace/mode-markdown.js
similarity index 100%
rename from modules/ace/mode-markdown.js
rename to modules/lib/ace/mode-markdown.js
diff --git a/modules/ace/mode-mask.js b/modules/lib/ace/mode-mask.js
similarity index 100%
rename from modules/ace/mode-mask.js
rename to modules/lib/ace/mode-mask.js
diff --git a/modules/ace/mode-matlab.js b/modules/lib/ace/mode-matlab.js
similarity index 100%
rename from modules/ace/mode-matlab.js
rename to modules/lib/ace/mode-matlab.js
diff --git a/modules/ace/mode-maze.js b/modules/lib/ace/mode-maze.js
similarity index 100%
rename from modules/ace/mode-maze.js
rename to modules/lib/ace/mode-maze.js
diff --git a/modules/ace/mode-mediawiki.js b/modules/lib/ace/mode-mediawiki.js
similarity index 100%
rename from modules/ace/mode-mediawiki.js
rename to modules/lib/ace/mode-mediawiki.js
diff --git a/modules/ace/mode-mel.js b/modules/lib/ace/mode-mel.js
similarity index 100%
rename from modules/ace/mode-mel.js
rename to modules/lib/ace/mode-mel.js
diff --git a/modules/ace/mode-mips.js b/modules/lib/ace/mode-mips.js
similarity index 100%
rename from modules/ace/mode-mips.js
rename to modules/lib/ace/mode-mips.js
diff --git a/modules/ace/mode-mixal.js b/modules/lib/ace/mode-mixal.js
similarity index 100%
rename from modules/ace/mode-mixal.js
rename to modules/lib/ace/mode-mixal.js
diff --git a/modules/ace/mode-mushcode.js b/modules/lib/ace/mode-mushcode.js
similarity index 100%
rename from modules/ace/mode-mushcode.js
rename to modules/lib/ace/mode-mushcode.js
diff --git a/modules/ace/mode-mysql.js b/modules/lib/ace/mode-mysql.js
similarity index 100%
rename from modules/ace/mode-mysql.js
rename to modules/lib/ace/mode-mysql.js
diff --git a/modules/ace/mode-nginx.js b/modules/lib/ace/mode-nginx.js
similarity index 100%
rename from modules/ace/mode-nginx.js
rename to modules/lib/ace/mode-nginx.js
diff --git a/modules/ace/mode-nim.js b/modules/lib/ace/mode-nim.js
similarity index 100%
rename from modules/ace/mode-nim.js
rename to modules/lib/ace/mode-nim.js
diff --git a/modules/ace/mode-nix.js b/modules/lib/ace/mode-nix.js
similarity index 100%
rename from modules/ace/mode-nix.js
rename to modules/lib/ace/mode-nix.js
diff --git a/modules/ace/mode-nsis.js b/modules/lib/ace/mode-nsis.js
similarity index 100%
rename from modules/ace/mode-nsis.js
rename to modules/lib/ace/mode-nsis.js
diff --git a/modules/ace/mode-nunjucks.js b/modules/lib/ace/mode-nunjucks.js
similarity index 100%
rename from modules/ace/mode-nunjucks.js
rename to modules/lib/ace/mode-nunjucks.js
diff --git a/modules/ace/mode-objectivec.js b/modules/lib/ace/mode-objectivec.js
similarity index 100%
rename from modules/ace/mode-objectivec.js
rename to modules/lib/ace/mode-objectivec.js
diff --git a/modules/ace/mode-ocaml.js b/modules/lib/ace/mode-ocaml.js
similarity index 100%
rename from modules/ace/mode-ocaml.js
rename to modules/lib/ace/mode-ocaml.js
diff --git a/modules/ace/mode-partiql.js b/modules/lib/ace/mode-partiql.js
similarity index 100%
rename from modules/ace/mode-partiql.js
rename to modules/lib/ace/mode-partiql.js
diff --git a/modules/ace/mode-pascal.js b/modules/lib/ace/mode-pascal.js
similarity index 100%
rename from modules/ace/mode-pascal.js
rename to modules/lib/ace/mode-pascal.js
diff --git a/modules/ace/mode-perl.js b/modules/lib/ace/mode-perl.js
similarity index 100%
rename from modules/ace/mode-perl.js
rename to modules/lib/ace/mode-perl.js
diff --git a/modules/ace/mode-pgsql.js b/modules/lib/ace/mode-pgsql.js
similarity index 100%
rename from modules/ace/mode-pgsql.js
rename to modules/lib/ace/mode-pgsql.js
diff --git a/modules/ace/mode-php.js b/modules/lib/ace/mode-php.js
similarity index 100%
rename from modules/ace/mode-php.js
rename to modules/lib/ace/mode-php.js
diff --git a/modules/ace/mode-php_laravel_blade.js b/modules/lib/ace/mode-php_laravel_blade.js
similarity index 100%
rename from modules/ace/mode-php_laravel_blade.js
rename to modules/lib/ace/mode-php_laravel_blade.js
diff --git a/modules/ace/mode-pig.js b/modules/lib/ace/mode-pig.js
similarity index 100%
rename from modules/ace/mode-pig.js
rename to modules/lib/ace/mode-pig.js
diff --git a/modules/ace/mode-plain_text.js b/modules/lib/ace/mode-plain_text.js
similarity index 100%
rename from modules/ace/mode-plain_text.js
rename to modules/lib/ace/mode-plain_text.js
diff --git a/modules/ace/mode-plsql.js b/modules/lib/ace/mode-plsql.js
similarity index 100%
rename from modules/ace/mode-plsql.js
rename to modules/lib/ace/mode-plsql.js
diff --git a/modules/ace/mode-powershell.js b/modules/lib/ace/mode-powershell.js
similarity index 100%
rename from modules/ace/mode-powershell.js
rename to modules/lib/ace/mode-powershell.js
diff --git a/modules/ace/mode-praat.js b/modules/lib/ace/mode-praat.js
similarity index 100%
rename from modules/ace/mode-praat.js
rename to modules/lib/ace/mode-praat.js
diff --git a/modules/ace/mode-prisma.js b/modules/lib/ace/mode-prisma.js
similarity index 100%
rename from modules/ace/mode-prisma.js
rename to modules/lib/ace/mode-prisma.js
diff --git a/modules/ace/mode-prolog.js b/modules/lib/ace/mode-prolog.js
similarity index 100%
rename from modules/ace/mode-prolog.js
rename to modules/lib/ace/mode-prolog.js
diff --git a/modules/ace/mode-properties.js b/modules/lib/ace/mode-properties.js
similarity index 100%
rename from modules/ace/mode-properties.js
rename to modules/lib/ace/mode-properties.js
diff --git a/modules/ace/mode-protobuf.js b/modules/lib/ace/mode-protobuf.js
similarity index 100%
rename from modules/ace/mode-protobuf.js
rename to modules/lib/ace/mode-protobuf.js
diff --git a/modules/ace/mode-puppet.js b/modules/lib/ace/mode-puppet.js
similarity index 100%
rename from modules/ace/mode-puppet.js
rename to modules/lib/ace/mode-puppet.js
diff --git a/modules/ace/mode-python.js b/modules/lib/ace/mode-python.js
similarity index 100%
rename from modules/ace/mode-python.js
rename to modules/lib/ace/mode-python.js
diff --git a/modules/ace/mode-qml.js b/modules/lib/ace/mode-qml.js
similarity index 100%
rename from modules/ace/mode-qml.js
rename to modules/lib/ace/mode-qml.js
diff --git a/modules/ace/mode-r.js b/modules/lib/ace/mode-r.js
similarity index 100%
rename from modules/ace/mode-r.js
rename to modules/lib/ace/mode-r.js
diff --git a/modules/ace/mode-raku.js b/modules/lib/ace/mode-raku.js
similarity index 100%
rename from modules/ace/mode-raku.js
rename to modules/lib/ace/mode-raku.js
diff --git a/modules/ace/mode-razor.js b/modules/lib/ace/mode-razor.js
similarity index 100%
rename from modules/ace/mode-razor.js
rename to modules/lib/ace/mode-razor.js
diff --git a/modules/ace/mode-rdoc.js b/modules/lib/ace/mode-rdoc.js
similarity index 100%
rename from modules/ace/mode-rdoc.js
rename to modules/lib/ace/mode-rdoc.js
diff --git a/modules/ace/mode-red.js b/modules/lib/ace/mode-red.js
similarity index 100%
rename from modules/ace/mode-red.js
rename to modules/lib/ace/mode-red.js
diff --git a/modules/ace/mode-redshift.js b/modules/lib/ace/mode-redshift.js
similarity index 100%
rename from modules/ace/mode-redshift.js
rename to modules/lib/ace/mode-redshift.js
diff --git a/modules/ace/mode-rhtml.js b/modules/lib/ace/mode-rhtml.js
similarity index 100%
rename from modules/ace/mode-rhtml.js
rename to modules/lib/ace/mode-rhtml.js
diff --git a/modules/ace/mode-robot.js b/modules/lib/ace/mode-robot.js
similarity index 100%
rename from modules/ace/mode-robot.js
rename to modules/lib/ace/mode-robot.js
diff --git a/modules/ace/mode-rst.js b/modules/lib/ace/mode-rst.js
similarity index 100%
rename from modules/ace/mode-rst.js
rename to modules/lib/ace/mode-rst.js
diff --git a/modules/ace/mode-ruby.js b/modules/lib/ace/mode-ruby.js
similarity index 100%
rename from modules/ace/mode-ruby.js
rename to modules/lib/ace/mode-ruby.js
diff --git a/modules/ace/mode-rust.js b/modules/lib/ace/mode-rust.js
similarity index 100%
rename from modules/ace/mode-rust.js
rename to modules/lib/ace/mode-rust.js
diff --git a/modules/ace/mode-sac.js b/modules/lib/ace/mode-sac.js
similarity index 100%
rename from modules/ace/mode-sac.js
rename to modules/lib/ace/mode-sac.js
diff --git a/modules/ace/mode-sass.js b/modules/lib/ace/mode-sass.js
similarity index 100%
rename from modules/ace/mode-sass.js
rename to modules/lib/ace/mode-sass.js
diff --git a/modules/ace/mode-scad.js b/modules/lib/ace/mode-scad.js
similarity index 100%
rename from modules/ace/mode-scad.js
rename to modules/lib/ace/mode-scad.js
diff --git a/modules/ace/mode-scala.js b/modules/lib/ace/mode-scala.js
similarity index 100%
rename from modules/ace/mode-scala.js
rename to modules/lib/ace/mode-scala.js
diff --git a/modules/ace/mode-scheme.js b/modules/lib/ace/mode-scheme.js
similarity index 100%
rename from modules/ace/mode-scheme.js
rename to modules/lib/ace/mode-scheme.js
diff --git a/modules/ace/mode-scrypt.js b/modules/lib/ace/mode-scrypt.js
similarity index 100%
rename from modules/ace/mode-scrypt.js
rename to modules/lib/ace/mode-scrypt.js
diff --git a/modules/ace/mode-scss.js b/modules/lib/ace/mode-scss.js
similarity index 100%
rename from modules/ace/mode-scss.js
rename to modules/lib/ace/mode-scss.js
diff --git a/modules/ace/mode-sh.js b/modules/lib/ace/mode-sh.js
similarity index 100%
rename from modules/ace/mode-sh.js
rename to modules/lib/ace/mode-sh.js
diff --git a/modules/ace/mode-sjs.js b/modules/lib/ace/mode-sjs.js
similarity index 100%
rename from modules/ace/mode-sjs.js
rename to modules/lib/ace/mode-sjs.js
diff --git a/modules/ace/mode-slim.js b/modules/lib/ace/mode-slim.js
similarity index 100%
rename from modules/ace/mode-slim.js
rename to modules/lib/ace/mode-slim.js
diff --git a/modules/ace/mode-smarty.js b/modules/lib/ace/mode-smarty.js
similarity index 100%
rename from modules/ace/mode-smarty.js
rename to modules/lib/ace/mode-smarty.js
diff --git a/modules/ace/mode-smithy.js b/modules/lib/ace/mode-smithy.js
similarity index 100%
rename from modules/ace/mode-smithy.js
rename to modules/lib/ace/mode-smithy.js
diff --git a/modules/ace/mode-snippets.js b/modules/lib/ace/mode-snippets.js
similarity index 100%
rename from modules/ace/mode-snippets.js
rename to modules/lib/ace/mode-snippets.js
diff --git a/modules/ace/mode-soy_template.js b/modules/lib/ace/mode-soy_template.js
similarity index 100%
rename from modules/ace/mode-soy_template.js
rename to modules/lib/ace/mode-soy_template.js
diff --git a/modules/ace/mode-space.js b/modules/lib/ace/mode-space.js
similarity index 100%
rename from modules/ace/mode-space.js
rename to modules/lib/ace/mode-space.js
diff --git a/modules/ace/mode-sparql.js b/modules/lib/ace/mode-sparql.js
similarity index 100%
rename from modules/ace/mode-sparql.js
rename to modules/lib/ace/mode-sparql.js
diff --git a/modules/ace/mode-sql.js b/modules/lib/ace/mode-sql.js
similarity index 100%
rename from modules/ace/mode-sql.js
rename to modules/lib/ace/mode-sql.js
diff --git a/modules/ace/mode-sqlserver.js b/modules/lib/ace/mode-sqlserver.js
similarity index 100%
rename from modules/ace/mode-sqlserver.js
rename to modules/lib/ace/mode-sqlserver.js
diff --git a/modules/ace/mode-stylus.js b/modules/lib/ace/mode-stylus.js
similarity index 100%
rename from modules/ace/mode-stylus.js
rename to modules/lib/ace/mode-stylus.js
diff --git a/modules/ace/mode-svg.js b/modules/lib/ace/mode-svg.js
similarity index 100%
rename from modules/ace/mode-svg.js
rename to modules/lib/ace/mode-svg.js
diff --git a/modules/ace/mode-swift.js b/modules/lib/ace/mode-swift.js
similarity index 100%
rename from modules/ace/mode-swift.js
rename to modules/lib/ace/mode-swift.js
diff --git a/modules/ace/mode-tcl.js b/modules/lib/ace/mode-tcl.js
similarity index 100%
rename from modules/ace/mode-tcl.js
rename to modules/lib/ace/mode-tcl.js
diff --git a/modules/ace/mode-terraform.js b/modules/lib/ace/mode-terraform.js
similarity index 100%
rename from modules/ace/mode-terraform.js
rename to modules/lib/ace/mode-terraform.js
diff --git a/modules/ace/mode-tex.js b/modules/lib/ace/mode-tex.js
similarity index 100%
rename from modules/ace/mode-tex.js
rename to modules/lib/ace/mode-tex.js
diff --git a/modules/ace/mode-text.js b/modules/lib/ace/mode-text.js
similarity index 100%
rename from modules/ace/mode-text.js
rename to modules/lib/ace/mode-text.js
diff --git a/modules/ace/mode-textile.js b/modules/lib/ace/mode-textile.js
similarity index 100%
rename from modules/ace/mode-textile.js
rename to modules/lib/ace/mode-textile.js
diff --git a/modules/ace/mode-toml.js b/modules/lib/ace/mode-toml.js
similarity index 100%
rename from modules/ace/mode-toml.js
rename to modules/lib/ace/mode-toml.js
diff --git a/modules/ace/mode-tsx.js b/modules/lib/ace/mode-tsx.js
similarity index 100%
rename from modules/ace/mode-tsx.js
rename to modules/lib/ace/mode-tsx.js
diff --git a/modules/ace/mode-turtle.js b/modules/lib/ace/mode-turtle.js
similarity index 100%
rename from modules/ace/mode-turtle.js
rename to modules/lib/ace/mode-turtle.js
diff --git a/modules/ace/mode-twig.js b/modules/lib/ace/mode-twig.js
similarity index 100%
rename from modules/ace/mode-twig.js
rename to modules/lib/ace/mode-twig.js
diff --git a/modules/ace/mode-typescript.js b/modules/lib/ace/mode-typescript.js
similarity index 100%
rename from modules/ace/mode-typescript.js
rename to modules/lib/ace/mode-typescript.js
diff --git a/modules/ace/mode-vala.js b/modules/lib/ace/mode-vala.js
similarity index 100%
rename from modules/ace/mode-vala.js
rename to modules/lib/ace/mode-vala.js
diff --git a/modules/ace/mode-vbscript.js b/modules/lib/ace/mode-vbscript.js
similarity index 100%
rename from modules/ace/mode-vbscript.js
rename to modules/lib/ace/mode-vbscript.js
diff --git a/modules/ace/mode-velocity.js b/modules/lib/ace/mode-velocity.js
similarity index 100%
rename from modules/ace/mode-velocity.js
rename to modules/lib/ace/mode-velocity.js
diff --git a/modules/ace/mode-verilog.js b/modules/lib/ace/mode-verilog.js
similarity index 100%
rename from modules/ace/mode-verilog.js
rename to modules/lib/ace/mode-verilog.js
diff --git a/modules/ace/mode-vhdl.js b/modules/lib/ace/mode-vhdl.js
similarity index 100%
rename from modules/ace/mode-vhdl.js
rename to modules/lib/ace/mode-vhdl.js
diff --git a/modules/ace/mode-visualforce.js b/modules/lib/ace/mode-visualforce.js
similarity index 100%
rename from modules/ace/mode-visualforce.js
rename to modules/lib/ace/mode-visualforce.js
diff --git a/modules/ace/mode-wollok.js b/modules/lib/ace/mode-wollok.js
similarity index 100%
rename from modules/ace/mode-wollok.js
rename to modules/lib/ace/mode-wollok.js
diff --git a/modules/ace/mode-xml.js b/modules/lib/ace/mode-xml.js
similarity index 100%
rename from modules/ace/mode-xml.js
rename to modules/lib/ace/mode-xml.js
diff --git a/modules/ace/mode-xquery.js b/modules/lib/ace/mode-xquery.js
similarity index 100%
rename from modules/ace/mode-xquery.js
rename to modules/lib/ace/mode-xquery.js
diff --git a/modules/ace/mode-yaml.js b/modules/lib/ace/mode-yaml.js
similarity index 100%
rename from modules/ace/mode-yaml.js
rename to modules/lib/ace/mode-yaml.js
diff --git a/modules/ace/mode-zeek.js b/modules/lib/ace/mode-zeek.js
similarity index 100%
rename from modules/ace/mode-zeek.js
rename to modules/lib/ace/mode-zeek.js
diff --git a/modules/ace/snippets/abap.js b/modules/lib/ace/snippets/abap.js
similarity index 100%
rename from modules/ace/snippets/abap.js
rename to modules/lib/ace/snippets/abap.js
diff --git a/modules/ace/snippets/abc.js b/modules/lib/ace/snippets/abc.js
similarity index 100%
rename from modules/ace/snippets/abc.js
rename to modules/lib/ace/snippets/abc.js
diff --git a/modules/ace/snippets/actionscript.js b/modules/lib/ace/snippets/actionscript.js
similarity index 100%
rename from modules/ace/snippets/actionscript.js
rename to modules/lib/ace/snippets/actionscript.js
diff --git a/modules/ace/snippets/ada.js b/modules/lib/ace/snippets/ada.js
similarity index 100%
rename from modules/ace/snippets/ada.js
rename to modules/lib/ace/snippets/ada.js
diff --git a/modules/ace/snippets/alda.js b/modules/lib/ace/snippets/alda.js
similarity index 100%
rename from modules/ace/snippets/alda.js
rename to modules/lib/ace/snippets/alda.js
diff --git a/modules/ace/snippets/apache_conf.js b/modules/lib/ace/snippets/apache_conf.js
similarity index 100%
rename from modules/ace/snippets/apache_conf.js
rename to modules/lib/ace/snippets/apache_conf.js
diff --git a/modules/ace/snippets/apex.js b/modules/lib/ace/snippets/apex.js
similarity index 100%
rename from modules/ace/snippets/apex.js
rename to modules/lib/ace/snippets/apex.js
diff --git a/modules/ace/snippets/applescript.js b/modules/lib/ace/snippets/applescript.js
similarity index 100%
rename from modules/ace/snippets/applescript.js
rename to modules/lib/ace/snippets/applescript.js
diff --git a/modules/ace/snippets/aql.js b/modules/lib/ace/snippets/aql.js
similarity index 100%
rename from modules/ace/snippets/aql.js
rename to modules/lib/ace/snippets/aql.js
diff --git a/modules/ace/snippets/asciidoc.js b/modules/lib/ace/snippets/asciidoc.js
similarity index 100%
rename from modules/ace/snippets/asciidoc.js
rename to modules/lib/ace/snippets/asciidoc.js
diff --git a/modules/ace/snippets/asl.js b/modules/lib/ace/snippets/asl.js
similarity index 100%
rename from modules/ace/snippets/asl.js
rename to modules/lib/ace/snippets/asl.js
diff --git a/modules/ace/snippets/assembly_x86.js b/modules/lib/ace/snippets/assembly_x86.js
similarity index 100%
rename from modules/ace/snippets/assembly_x86.js
rename to modules/lib/ace/snippets/assembly_x86.js
diff --git a/modules/ace/snippets/autohotkey.js b/modules/lib/ace/snippets/autohotkey.js
similarity index 100%
rename from modules/ace/snippets/autohotkey.js
rename to modules/lib/ace/snippets/autohotkey.js
diff --git a/modules/ace/snippets/batchfile.js b/modules/lib/ace/snippets/batchfile.js
similarity index 100%
rename from modules/ace/snippets/batchfile.js
rename to modules/lib/ace/snippets/batchfile.js
diff --git a/modules/ace/snippets/bibtex.js b/modules/lib/ace/snippets/bibtex.js
similarity index 100%
rename from modules/ace/snippets/bibtex.js
rename to modules/lib/ace/snippets/bibtex.js
diff --git a/modules/ace/snippets/c9search.js b/modules/lib/ace/snippets/c9search.js
similarity index 100%
rename from modules/ace/snippets/c9search.js
rename to modules/lib/ace/snippets/c9search.js
diff --git a/modules/ace/snippets/c_cpp.js b/modules/lib/ace/snippets/c_cpp.js
similarity index 100%
rename from modules/ace/snippets/c_cpp.js
rename to modules/lib/ace/snippets/c_cpp.js
diff --git a/modules/ace/snippets/cirru.js b/modules/lib/ace/snippets/cirru.js
similarity index 100%
rename from modules/ace/snippets/cirru.js
rename to modules/lib/ace/snippets/cirru.js
diff --git a/modules/ace/snippets/clojure.js b/modules/lib/ace/snippets/clojure.js
similarity index 100%
rename from modules/ace/snippets/clojure.js
rename to modules/lib/ace/snippets/clojure.js
diff --git a/modules/ace/snippets/cobol.js b/modules/lib/ace/snippets/cobol.js
similarity index 100%
rename from modules/ace/snippets/cobol.js
rename to modules/lib/ace/snippets/cobol.js
diff --git a/modules/ace/snippets/coffee.js b/modules/lib/ace/snippets/coffee.js
similarity index 100%
rename from modules/ace/snippets/coffee.js
rename to modules/lib/ace/snippets/coffee.js
diff --git a/modules/ace/snippets/coldfusion.js b/modules/lib/ace/snippets/coldfusion.js
similarity index 100%
rename from modules/ace/snippets/coldfusion.js
rename to modules/lib/ace/snippets/coldfusion.js
diff --git a/modules/ace/snippets/crystal.js b/modules/lib/ace/snippets/crystal.js
similarity index 100%
rename from modules/ace/snippets/crystal.js
rename to modules/lib/ace/snippets/crystal.js
diff --git a/modules/ace/snippets/csharp.js b/modules/lib/ace/snippets/csharp.js
similarity index 100%
rename from modules/ace/snippets/csharp.js
rename to modules/lib/ace/snippets/csharp.js
diff --git a/modules/ace/snippets/csound_document.js b/modules/lib/ace/snippets/csound_document.js
similarity index 100%
rename from modules/ace/snippets/csound_document.js
rename to modules/lib/ace/snippets/csound_document.js
diff --git a/modules/ace/snippets/csound_orchestra.js b/modules/lib/ace/snippets/csound_orchestra.js
similarity index 100%
rename from modules/ace/snippets/csound_orchestra.js
rename to modules/lib/ace/snippets/csound_orchestra.js
diff --git a/modules/ace/snippets/csound_score.js b/modules/lib/ace/snippets/csound_score.js
similarity index 100%
rename from modules/ace/snippets/csound_score.js
rename to modules/lib/ace/snippets/csound_score.js
diff --git a/modules/ace/snippets/csp.js b/modules/lib/ace/snippets/csp.js
similarity index 100%
rename from modules/ace/snippets/csp.js
rename to modules/lib/ace/snippets/csp.js
diff --git a/modules/ace/snippets/css.js b/modules/lib/ace/snippets/css.js
similarity index 100%
rename from modules/ace/snippets/css.js
rename to modules/lib/ace/snippets/css.js
diff --git a/modules/ace/snippets/curly.js b/modules/lib/ace/snippets/curly.js
similarity index 100%
rename from modules/ace/snippets/curly.js
rename to modules/lib/ace/snippets/curly.js
diff --git a/modules/ace/snippets/d.js b/modules/lib/ace/snippets/d.js
similarity index 100%
rename from modules/ace/snippets/d.js
rename to modules/lib/ace/snippets/d.js
diff --git a/modules/ace/snippets/dart.js b/modules/lib/ace/snippets/dart.js
similarity index 100%
rename from modules/ace/snippets/dart.js
rename to modules/lib/ace/snippets/dart.js
diff --git a/modules/ace/snippets/diff.js b/modules/lib/ace/snippets/diff.js
similarity index 100%
rename from modules/ace/snippets/diff.js
rename to modules/lib/ace/snippets/diff.js
diff --git a/modules/ace/snippets/django.js b/modules/lib/ace/snippets/django.js
similarity index 100%
rename from modules/ace/snippets/django.js
rename to modules/lib/ace/snippets/django.js
diff --git a/modules/ace/snippets/dockerfile.js b/modules/lib/ace/snippets/dockerfile.js
similarity index 100%
rename from modules/ace/snippets/dockerfile.js
rename to modules/lib/ace/snippets/dockerfile.js
diff --git a/modules/ace/snippets/dot.js b/modules/lib/ace/snippets/dot.js
similarity index 100%
rename from modules/ace/snippets/dot.js
rename to modules/lib/ace/snippets/dot.js
diff --git a/modules/ace/snippets/drools.js b/modules/lib/ace/snippets/drools.js
similarity index 100%
rename from modules/ace/snippets/drools.js
rename to modules/lib/ace/snippets/drools.js
diff --git a/modules/ace/snippets/edifact.js b/modules/lib/ace/snippets/edifact.js
similarity index 100%
rename from modules/ace/snippets/edifact.js
rename to modules/lib/ace/snippets/edifact.js
diff --git a/modules/ace/snippets/eiffel.js b/modules/lib/ace/snippets/eiffel.js
similarity index 100%
rename from modules/ace/snippets/eiffel.js
rename to modules/lib/ace/snippets/eiffel.js
diff --git a/modules/ace/snippets/ejs.js b/modules/lib/ace/snippets/ejs.js
similarity index 100%
rename from modules/ace/snippets/ejs.js
rename to modules/lib/ace/snippets/ejs.js
diff --git a/modules/ace/snippets/elixir.js b/modules/lib/ace/snippets/elixir.js
similarity index 100%
rename from modules/ace/snippets/elixir.js
rename to modules/lib/ace/snippets/elixir.js
diff --git a/modules/ace/snippets/elm.js b/modules/lib/ace/snippets/elm.js
similarity index 100%
rename from modules/ace/snippets/elm.js
rename to modules/lib/ace/snippets/elm.js
diff --git a/modules/ace/snippets/erlang.js b/modules/lib/ace/snippets/erlang.js
similarity index 100%
rename from modules/ace/snippets/erlang.js
rename to modules/lib/ace/snippets/erlang.js
diff --git a/modules/ace/snippets/forth.js b/modules/lib/ace/snippets/forth.js
similarity index 100%
rename from modules/ace/snippets/forth.js
rename to modules/lib/ace/snippets/forth.js
diff --git a/modules/ace/snippets/fortran.js b/modules/lib/ace/snippets/fortran.js
similarity index 100%
rename from modules/ace/snippets/fortran.js
rename to modules/lib/ace/snippets/fortran.js
diff --git a/modules/ace/snippets/fsharp.js b/modules/lib/ace/snippets/fsharp.js
similarity index 100%
rename from modules/ace/snippets/fsharp.js
rename to modules/lib/ace/snippets/fsharp.js
diff --git a/modules/ace/snippets/fsl.js b/modules/lib/ace/snippets/fsl.js
similarity index 100%
rename from modules/ace/snippets/fsl.js
rename to modules/lib/ace/snippets/fsl.js
diff --git a/modules/ace/snippets/ftl.js b/modules/lib/ace/snippets/ftl.js
similarity index 100%
rename from modules/ace/snippets/ftl.js
rename to modules/lib/ace/snippets/ftl.js
diff --git a/modules/ace/snippets/gcode.js b/modules/lib/ace/snippets/gcode.js
similarity index 100%
rename from modules/ace/snippets/gcode.js
rename to modules/lib/ace/snippets/gcode.js
diff --git a/modules/ace/snippets/gherkin.js b/modules/lib/ace/snippets/gherkin.js
similarity index 100%
rename from modules/ace/snippets/gherkin.js
rename to modules/lib/ace/snippets/gherkin.js
diff --git a/modules/ace/snippets/gitignore.js b/modules/lib/ace/snippets/gitignore.js
similarity index 100%
rename from modules/ace/snippets/gitignore.js
rename to modules/lib/ace/snippets/gitignore.js
diff --git a/modules/ace/snippets/glsl.js b/modules/lib/ace/snippets/glsl.js
similarity index 100%
rename from modules/ace/snippets/glsl.js
rename to modules/lib/ace/snippets/glsl.js
diff --git a/modules/ace/snippets/gobstones.js b/modules/lib/ace/snippets/gobstones.js
similarity index 100%
rename from modules/ace/snippets/gobstones.js
rename to modules/lib/ace/snippets/gobstones.js
diff --git a/modules/ace/snippets/golang.js b/modules/lib/ace/snippets/golang.js
similarity index 100%
rename from modules/ace/snippets/golang.js
rename to modules/lib/ace/snippets/golang.js
diff --git a/modules/ace/snippets/graphqlschema.js b/modules/lib/ace/snippets/graphqlschema.js
similarity index 100%
rename from modules/ace/snippets/graphqlschema.js
rename to modules/lib/ace/snippets/graphqlschema.js
diff --git a/modules/ace/snippets/groovy.js b/modules/lib/ace/snippets/groovy.js
similarity index 100%
rename from modules/ace/snippets/groovy.js
rename to modules/lib/ace/snippets/groovy.js
diff --git a/modules/ace/snippets/haml.js b/modules/lib/ace/snippets/haml.js
similarity index 100%
rename from modules/ace/snippets/haml.js
rename to modules/lib/ace/snippets/haml.js
diff --git a/modules/ace/snippets/handlebars.js b/modules/lib/ace/snippets/handlebars.js
similarity index 100%
rename from modules/ace/snippets/handlebars.js
rename to modules/lib/ace/snippets/handlebars.js
diff --git a/modules/ace/snippets/haskell.js b/modules/lib/ace/snippets/haskell.js
similarity index 100%
rename from modules/ace/snippets/haskell.js
rename to modules/lib/ace/snippets/haskell.js
diff --git a/modules/ace/snippets/haskell_cabal.js b/modules/lib/ace/snippets/haskell_cabal.js
similarity index 100%
rename from modules/ace/snippets/haskell_cabal.js
rename to modules/lib/ace/snippets/haskell_cabal.js
diff --git a/modules/ace/snippets/haxe.js b/modules/lib/ace/snippets/haxe.js
similarity index 100%
rename from modules/ace/snippets/haxe.js
rename to modules/lib/ace/snippets/haxe.js
diff --git a/modules/ace/snippets/hjson.js b/modules/lib/ace/snippets/hjson.js
similarity index 100%
rename from modules/ace/snippets/hjson.js
rename to modules/lib/ace/snippets/hjson.js
diff --git a/modules/ace/snippets/html.js b/modules/lib/ace/snippets/html.js
similarity index 100%
rename from modules/ace/snippets/html.js
rename to modules/lib/ace/snippets/html.js
diff --git a/modules/ace/snippets/html_elixir.js b/modules/lib/ace/snippets/html_elixir.js
similarity index 100%
rename from modules/ace/snippets/html_elixir.js
rename to modules/lib/ace/snippets/html_elixir.js
diff --git a/modules/ace/snippets/html_ruby.js b/modules/lib/ace/snippets/html_ruby.js
similarity index 100%
rename from modules/ace/snippets/html_ruby.js
rename to modules/lib/ace/snippets/html_ruby.js
diff --git a/modules/ace/snippets/ini.js b/modules/lib/ace/snippets/ini.js
similarity index 100%
rename from modules/ace/snippets/ini.js
rename to modules/lib/ace/snippets/ini.js
diff --git a/modules/ace/snippets/io.js b/modules/lib/ace/snippets/io.js
similarity index 100%
rename from modules/ace/snippets/io.js
rename to modules/lib/ace/snippets/io.js
diff --git a/modules/ace/snippets/ion.js b/modules/lib/ace/snippets/ion.js
similarity index 100%
rename from modules/ace/snippets/ion.js
rename to modules/lib/ace/snippets/ion.js
diff --git a/modules/ace/snippets/jack.js b/modules/lib/ace/snippets/jack.js
similarity index 100%
rename from modules/ace/snippets/jack.js
rename to modules/lib/ace/snippets/jack.js
diff --git a/modules/ace/snippets/jade.js b/modules/lib/ace/snippets/jade.js
similarity index 100%
rename from modules/ace/snippets/jade.js
rename to modules/lib/ace/snippets/jade.js
diff --git a/modules/ace/snippets/java.js b/modules/lib/ace/snippets/java.js
similarity index 100%
rename from modules/ace/snippets/java.js
rename to modules/lib/ace/snippets/java.js
diff --git a/modules/ace/snippets/javascript.js b/modules/lib/ace/snippets/javascript.js
similarity index 100%
rename from modules/ace/snippets/javascript.js
rename to modules/lib/ace/snippets/javascript.js
diff --git a/modules/ace/snippets/jexl.js b/modules/lib/ace/snippets/jexl.js
similarity index 100%
rename from modules/ace/snippets/jexl.js
rename to modules/lib/ace/snippets/jexl.js
diff --git a/modules/ace/snippets/json.js b/modules/lib/ace/snippets/json.js
similarity index 100%
rename from modules/ace/snippets/json.js
rename to modules/lib/ace/snippets/json.js
diff --git a/modules/ace/snippets/json5.js b/modules/lib/ace/snippets/json5.js
similarity index 100%
rename from modules/ace/snippets/json5.js
rename to modules/lib/ace/snippets/json5.js
diff --git a/modules/ace/snippets/jsoniq.js b/modules/lib/ace/snippets/jsoniq.js
similarity index 100%
rename from modules/ace/snippets/jsoniq.js
rename to modules/lib/ace/snippets/jsoniq.js
diff --git a/modules/ace/snippets/jsp.js b/modules/lib/ace/snippets/jsp.js
similarity index 100%
rename from modules/ace/snippets/jsp.js
rename to modules/lib/ace/snippets/jsp.js
diff --git a/modules/ace/snippets/jssm.js b/modules/lib/ace/snippets/jssm.js
similarity index 100%
rename from modules/ace/snippets/jssm.js
rename to modules/lib/ace/snippets/jssm.js
diff --git a/modules/ace/snippets/jsx.js b/modules/lib/ace/snippets/jsx.js
similarity index 100%
rename from modules/ace/snippets/jsx.js
rename to modules/lib/ace/snippets/jsx.js
diff --git a/modules/ace/snippets/julia.js b/modules/lib/ace/snippets/julia.js
similarity index 100%
rename from modules/ace/snippets/julia.js
rename to modules/lib/ace/snippets/julia.js
diff --git a/modules/ace/snippets/kotlin.js b/modules/lib/ace/snippets/kotlin.js
similarity index 100%
rename from modules/ace/snippets/kotlin.js
rename to modules/lib/ace/snippets/kotlin.js
diff --git a/modules/ace/snippets/latex.js b/modules/lib/ace/snippets/latex.js
similarity index 100%
rename from modules/ace/snippets/latex.js
rename to modules/lib/ace/snippets/latex.js
diff --git a/modules/ace/snippets/latte.js b/modules/lib/ace/snippets/latte.js
similarity index 100%
rename from modules/ace/snippets/latte.js
rename to modules/lib/ace/snippets/latte.js
diff --git a/modules/ace/snippets/less.js b/modules/lib/ace/snippets/less.js
similarity index 100%
rename from modules/ace/snippets/less.js
rename to modules/lib/ace/snippets/less.js
diff --git a/modules/ace/snippets/liquid.js b/modules/lib/ace/snippets/liquid.js
similarity index 100%
rename from modules/ace/snippets/liquid.js
rename to modules/lib/ace/snippets/liquid.js
diff --git a/modules/ace/snippets/lisp.js b/modules/lib/ace/snippets/lisp.js
similarity index 100%
rename from modules/ace/snippets/lisp.js
rename to modules/lib/ace/snippets/lisp.js
diff --git a/modules/ace/snippets/livescript.js b/modules/lib/ace/snippets/livescript.js
similarity index 100%
rename from modules/ace/snippets/livescript.js
rename to modules/lib/ace/snippets/livescript.js
diff --git a/modules/ace/snippets/logiql.js b/modules/lib/ace/snippets/logiql.js
similarity index 100%
rename from modules/ace/snippets/logiql.js
rename to modules/lib/ace/snippets/logiql.js
diff --git a/modules/ace/snippets/logtalk.js b/modules/lib/ace/snippets/logtalk.js
similarity index 100%
rename from modules/ace/snippets/logtalk.js
rename to modules/lib/ace/snippets/logtalk.js
diff --git a/modules/ace/snippets/lsl.js b/modules/lib/ace/snippets/lsl.js
similarity index 100%
rename from modules/ace/snippets/lsl.js
rename to modules/lib/ace/snippets/lsl.js
diff --git a/modules/ace/snippets/lua.js b/modules/lib/ace/snippets/lua.js
similarity index 100%
rename from modules/ace/snippets/lua.js
rename to modules/lib/ace/snippets/lua.js
diff --git a/modules/ace/snippets/luapage.js b/modules/lib/ace/snippets/luapage.js
similarity index 100%
rename from modules/ace/snippets/luapage.js
rename to modules/lib/ace/snippets/luapage.js
diff --git a/modules/ace/snippets/lucene.js b/modules/lib/ace/snippets/lucene.js
similarity index 100%
rename from modules/ace/snippets/lucene.js
rename to modules/lib/ace/snippets/lucene.js
diff --git a/modules/ace/snippets/makefile.js b/modules/lib/ace/snippets/makefile.js
similarity index 100%
rename from modules/ace/snippets/makefile.js
rename to modules/lib/ace/snippets/makefile.js
diff --git a/modules/ace/snippets/markdown.js b/modules/lib/ace/snippets/markdown.js
similarity index 100%
rename from modules/ace/snippets/markdown.js
rename to modules/lib/ace/snippets/markdown.js
diff --git a/modules/ace/snippets/mask.js b/modules/lib/ace/snippets/mask.js
similarity index 100%
rename from modules/ace/snippets/mask.js
rename to modules/lib/ace/snippets/mask.js
diff --git a/modules/ace/snippets/matlab.js b/modules/lib/ace/snippets/matlab.js
similarity index 100%
rename from modules/ace/snippets/matlab.js
rename to modules/lib/ace/snippets/matlab.js
diff --git a/modules/ace/snippets/maze.js b/modules/lib/ace/snippets/maze.js
similarity index 100%
rename from modules/ace/snippets/maze.js
rename to modules/lib/ace/snippets/maze.js
diff --git a/modules/ace/snippets/mediawiki.js b/modules/lib/ace/snippets/mediawiki.js
similarity index 100%
rename from modules/ace/snippets/mediawiki.js
rename to modules/lib/ace/snippets/mediawiki.js
diff --git a/modules/ace/snippets/mel.js b/modules/lib/ace/snippets/mel.js
similarity index 100%
rename from modules/ace/snippets/mel.js
rename to modules/lib/ace/snippets/mel.js
diff --git a/modules/ace/snippets/mips.js b/modules/lib/ace/snippets/mips.js
similarity index 100%
rename from modules/ace/snippets/mips.js
rename to modules/lib/ace/snippets/mips.js
diff --git a/modules/ace/snippets/mixal.js b/modules/lib/ace/snippets/mixal.js
similarity index 100%
rename from modules/ace/snippets/mixal.js
rename to modules/lib/ace/snippets/mixal.js
diff --git a/modules/ace/snippets/mushcode.js b/modules/lib/ace/snippets/mushcode.js
similarity index 100%
rename from modules/ace/snippets/mushcode.js
rename to modules/lib/ace/snippets/mushcode.js
diff --git a/modules/ace/snippets/mysql.js b/modules/lib/ace/snippets/mysql.js
similarity index 100%
rename from modules/ace/snippets/mysql.js
rename to modules/lib/ace/snippets/mysql.js
diff --git a/modules/ace/snippets/nginx.js b/modules/lib/ace/snippets/nginx.js
similarity index 100%
rename from modules/ace/snippets/nginx.js
rename to modules/lib/ace/snippets/nginx.js
diff --git a/modules/ace/snippets/nim.js b/modules/lib/ace/snippets/nim.js
similarity index 100%
rename from modules/ace/snippets/nim.js
rename to modules/lib/ace/snippets/nim.js
diff --git a/modules/ace/snippets/nix.js b/modules/lib/ace/snippets/nix.js
similarity index 100%
rename from modules/ace/snippets/nix.js
rename to modules/lib/ace/snippets/nix.js
diff --git a/modules/ace/snippets/nsis.js b/modules/lib/ace/snippets/nsis.js
similarity index 100%
rename from modules/ace/snippets/nsis.js
rename to modules/lib/ace/snippets/nsis.js
diff --git a/modules/ace/snippets/nunjucks.js b/modules/lib/ace/snippets/nunjucks.js
similarity index 100%
rename from modules/ace/snippets/nunjucks.js
rename to modules/lib/ace/snippets/nunjucks.js
diff --git a/modules/ace/snippets/objectivec.js b/modules/lib/ace/snippets/objectivec.js
similarity index 100%
rename from modules/ace/snippets/objectivec.js
rename to modules/lib/ace/snippets/objectivec.js
diff --git a/modules/ace/snippets/ocaml.js b/modules/lib/ace/snippets/ocaml.js
similarity index 100%
rename from modules/ace/snippets/ocaml.js
rename to modules/lib/ace/snippets/ocaml.js
diff --git a/modules/ace/snippets/partiql.js b/modules/lib/ace/snippets/partiql.js
similarity index 100%
rename from modules/ace/snippets/partiql.js
rename to modules/lib/ace/snippets/partiql.js
diff --git a/modules/ace/snippets/pascal.js b/modules/lib/ace/snippets/pascal.js
similarity index 100%
rename from modules/ace/snippets/pascal.js
rename to modules/lib/ace/snippets/pascal.js
diff --git a/modules/ace/snippets/perl.js b/modules/lib/ace/snippets/perl.js
similarity index 100%
rename from modules/ace/snippets/perl.js
rename to modules/lib/ace/snippets/perl.js
diff --git a/modules/ace/snippets/pgsql.js b/modules/lib/ace/snippets/pgsql.js
similarity index 100%
rename from modules/ace/snippets/pgsql.js
rename to modules/lib/ace/snippets/pgsql.js
diff --git a/modules/ace/snippets/php.js b/modules/lib/ace/snippets/php.js
similarity index 100%
rename from modules/ace/snippets/php.js
rename to modules/lib/ace/snippets/php.js
diff --git a/modules/ace/snippets/php_laravel_blade.js b/modules/lib/ace/snippets/php_laravel_blade.js
similarity index 100%
rename from modules/ace/snippets/php_laravel_blade.js
rename to modules/lib/ace/snippets/php_laravel_blade.js
diff --git a/modules/ace/snippets/pig.js b/modules/lib/ace/snippets/pig.js
similarity index 100%
rename from modules/ace/snippets/pig.js
rename to modules/lib/ace/snippets/pig.js
diff --git a/modules/ace/snippets/plain_text.js b/modules/lib/ace/snippets/plain_text.js
similarity index 100%
rename from modules/ace/snippets/plain_text.js
rename to modules/lib/ace/snippets/plain_text.js
diff --git a/modules/ace/snippets/plsql.js b/modules/lib/ace/snippets/plsql.js
similarity index 100%
rename from modules/ace/snippets/plsql.js
rename to modules/lib/ace/snippets/plsql.js
diff --git a/modules/ace/snippets/powershell.js b/modules/lib/ace/snippets/powershell.js
similarity index 100%
rename from modules/ace/snippets/powershell.js
rename to modules/lib/ace/snippets/powershell.js
diff --git a/modules/ace/snippets/praat.js b/modules/lib/ace/snippets/praat.js
similarity index 100%
rename from modules/ace/snippets/praat.js
rename to modules/lib/ace/snippets/praat.js
diff --git a/modules/ace/snippets/prisma.js b/modules/lib/ace/snippets/prisma.js
similarity index 100%
rename from modules/ace/snippets/prisma.js
rename to modules/lib/ace/snippets/prisma.js
diff --git a/modules/ace/snippets/prolog.js b/modules/lib/ace/snippets/prolog.js
similarity index 100%
rename from modules/ace/snippets/prolog.js
rename to modules/lib/ace/snippets/prolog.js
diff --git a/modules/ace/snippets/properties.js b/modules/lib/ace/snippets/properties.js
similarity index 100%
rename from modules/ace/snippets/properties.js
rename to modules/lib/ace/snippets/properties.js
diff --git a/modules/ace/snippets/protobuf.js b/modules/lib/ace/snippets/protobuf.js
similarity index 100%
rename from modules/ace/snippets/protobuf.js
rename to modules/lib/ace/snippets/protobuf.js
diff --git a/modules/ace/snippets/puppet.js b/modules/lib/ace/snippets/puppet.js
similarity index 100%
rename from modules/ace/snippets/puppet.js
rename to modules/lib/ace/snippets/puppet.js
diff --git a/modules/ace/snippets/python.js b/modules/lib/ace/snippets/python.js
similarity index 100%
rename from modules/ace/snippets/python.js
rename to modules/lib/ace/snippets/python.js
diff --git a/modules/ace/snippets/qml.js b/modules/lib/ace/snippets/qml.js
similarity index 100%
rename from modules/ace/snippets/qml.js
rename to modules/lib/ace/snippets/qml.js
diff --git a/modules/ace/snippets/r.js b/modules/lib/ace/snippets/r.js
similarity index 100%
rename from modules/ace/snippets/r.js
rename to modules/lib/ace/snippets/r.js
diff --git a/modules/ace/snippets/raku.js b/modules/lib/ace/snippets/raku.js
similarity index 100%
rename from modules/ace/snippets/raku.js
rename to modules/lib/ace/snippets/raku.js
diff --git a/modules/ace/snippets/razor.js b/modules/lib/ace/snippets/razor.js
similarity index 100%
rename from modules/ace/snippets/razor.js
rename to modules/lib/ace/snippets/razor.js
diff --git a/modules/ace/snippets/rdoc.js b/modules/lib/ace/snippets/rdoc.js
similarity index 100%
rename from modules/ace/snippets/rdoc.js
rename to modules/lib/ace/snippets/rdoc.js
diff --git a/modules/ace/snippets/red.js b/modules/lib/ace/snippets/red.js
similarity index 100%
rename from modules/ace/snippets/red.js
rename to modules/lib/ace/snippets/red.js
diff --git a/modules/ace/snippets/redshift.js b/modules/lib/ace/snippets/redshift.js
similarity index 100%
rename from modules/ace/snippets/redshift.js
rename to modules/lib/ace/snippets/redshift.js
diff --git a/modules/ace/snippets/rhtml.js b/modules/lib/ace/snippets/rhtml.js
similarity index 100%
rename from modules/ace/snippets/rhtml.js
rename to modules/lib/ace/snippets/rhtml.js
diff --git a/modules/ace/snippets/robot.js b/modules/lib/ace/snippets/robot.js
similarity index 100%
rename from modules/ace/snippets/robot.js
rename to modules/lib/ace/snippets/robot.js
diff --git a/modules/ace/snippets/rst.js b/modules/lib/ace/snippets/rst.js
similarity index 100%
rename from modules/ace/snippets/rst.js
rename to modules/lib/ace/snippets/rst.js
diff --git a/modules/ace/snippets/ruby.js b/modules/lib/ace/snippets/ruby.js
similarity index 100%
rename from modules/ace/snippets/ruby.js
rename to modules/lib/ace/snippets/ruby.js
diff --git a/modules/ace/snippets/rust.js b/modules/lib/ace/snippets/rust.js
similarity index 100%
rename from modules/ace/snippets/rust.js
rename to modules/lib/ace/snippets/rust.js
diff --git a/modules/ace/snippets/sac.js b/modules/lib/ace/snippets/sac.js
similarity index 100%
rename from modules/ace/snippets/sac.js
rename to modules/lib/ace/snippets/sac.js
diff --git a/modules/ace/snippets/sass.js b/modules/lib/ace/snippets/sass.js
similarity index 100%
rename from modules/ace/snippets/sass.js
rename to modules/lib/ace/snippets/sass.js
diff --git a/modules/ace/snippets/scad.js b/modules/lib/ace/snippets/scad.js
similarity index 100%
rename from modules/ace/snippets/scad.js
rename to modules/lib/ace/snippets/scad.js
diff --git a/modules/ace/snippets/scala.js b/modules/lib/ace/snippets/scala.js
similarity index 100%
rename from modules/ace/snippets/scala.js
rename to modules/lib/ace/snippets/scala.js
diff --git a/modules/ace/snippets/scheme.js b/modules/lib/ace/snippets/scheme.js
similarity index 100%
rename from modules/ace/snippets/scheme.js
rename to modules/lib/ace/snippets/scheme.js
diff --git a/modules/ace/snippets/scrypt.js b/modules/lib/ace/snippets/scrypt.js
similarity index 100%
rename from modules/ace/snippets/scrypt.js
rename to modules/lib/ace/snippets/scrypt.js
diff --git a/modules/ace/snippets/scss.js b/modules/lib/ace/snippets/scss.js
similarity index 100%
rename from modules/ace/snippets/scss.js
rename to modules/lib/ace/snippets/scss.js
diff --git a/modules/ace/snippets/sh.js b/modules/lib/ace/snippets/sh.js
similarity index 100%
rename from modules/ace/snippets/sh.js
rename to modules/lib/ace/snippets/sh.js
diff --git a/modules/ace/snippets/sjs.js b/modules/lib/ace/snippets/sjs.js
similarity index 100%
rename from modules/ace/snippets/sjs.js
rename to modules/lib/ace/snippets/sjs.js
diff --git a/modules/ace/snippets/slim.js b/modules/lib/ace/snippets/slim.js
similarity index 100%
rename from modules/ace/snippets/slim.js
rename to modules/lib/ace/snippets/slim.js
diff --git a/modules/ace/snippets/smarty.js b/modules/lib/ace/snippets/smarty.js
similarity index 100%
rename from modules/ace/snippets/smarty.js
rename to modules/lib/ace/snippets/smarty.js
diff --git a/modules/ace/snippets/smithy.js b/modules/lib/ace/snippets/smithy.js
similarity index 100%
rename from modules/ace/snippets/smithy.js
rename to modules/lib/ace/snippets/smithy.js
diff --git a/modules/ace/snippets/snippets.js b/modules/lib/ace/snippets/snippets.js
similarity index 100%
rename from modules/ace/snippets/snippets.js
rename to modules/lib/ace/snippets/snippets.js
diff --git a/modules/ace/snippets/soy_template.js b/modules/lib/ace/snippets/soy_template.js
similarity index 100%
rename from modules/ace/snippets/soy_template.js
rename to modules/lib/ace/snippets/soy_template.js
diff --git a/modules/ace/snippets/space.js b/modules/lib/ace/snippets/space.js
similarity index 100%
rename from modules/ace/snippets/space.js
rename to modules/lib/ace/snippets/space.js
diff --git a/modules/ace/snippets/sparql.js b/modules/lib/ace/snippets/sparql.js
similarity index 100%
rename from modules/ace/snippets/sparql.js
rename to modules/lib/ace/snippets/sparql.js
diff --git a/modules/ace/snippets/sql.js b/modules/lib/ace/snippets/sql.js
similarity index 100%
rename from modules/ace/snippets/sql.js
rename to modules/lib/ace/snippets/sql.js
diff --git a/modules/ace/snippets/sqlserver.js b/modules/lib/ace/snippets/sqlserver.js
similarity index 100%
rename from modules/ace/snippets/sqlserver.js
rename to modules/lib/ace/snippets/sqlserver.js
diff --git a/modules/ace/snippets/stylus.js b/modules/lib/ace/snippets/stylus.js
similarity index 100%
rename from modules/ace/snippets/stylus.js
rename to modules/lib/ace/snippets/stylus.js
diff --git a/modules/ace/snippets/svg.js b/modules/lib/ace/snippets/svg.js
similarity index 100%
rename from modules/ace/snippets/svg.js
rename to modules/lib/ace/snippets/svg.js
diff --git a/modules/ace/snippets/swift.js b/modules/lib/ace/snippets/swift.js
similarity index 100%
rename from modules/ace/snippets/swift.js
rename to modules/lib/ace/snippets/swift.js
diff --git a/modules/ace/snippets/tcl.js b/modules/lib/ace/snippets/tcl.js
similarity index 100%
rename from modules/ace/snippets/tcl.js
rename to modules/lib/ace/snippets/tcl.js
diff --git a/modules/ace/snippets/terraform.js b/modules/lib/ace/snippets/terraform.js
similarity index 100%
rename from modules/ace/snippets/terraform.js
rename to modules/lib/ace/snippets/terraform.js
diff --git a/modules/ace/snippets/tex.js b/modules/lib/ace/snippets/tex.js
similarity index 100%
rename from modules/ace/snippets/tex.js
rename to modules/lib/ace/snippets/tex.js
diff --git a/modules/ace/snippets/text.js b/modules/lib/ace/snippets/text.js
similarity index 100%
rename from modules/ace/snippets/text.js
rename to modules/lib/ace/snippets/text.js
diff --git a/modules/ace/snippets/textile.js b/modules/lib/ace/snippets/textile.js
similarity index 100%
rename from modules/ace/snippets/textile.js
rename to modules/lib/ace/snippets/textile.js
diff --git a/modules/ace/snippets/toml.js b/modules/lib/ace/snippets/toml.js
similarity index 100%
rename from modules/ace/snippets/toml.js
rename to modules/lib/ace/snippets/toml.js
diff --git a/modules/ace/snippets/tsx.js b/modules/lib/ace/snippets/tsx.js
similarity index 100%
rename from modules/ace/snippets/tsx.js
rename to modules/lib/ace/snippets/tsx.js
diff --git a/modules/ace/snippets/turtle.js b/modules/lib/ace/snippets/turtle.js
similarity index 100%
rename from modules/ace/snippets/turtle.js
rename to modules/lib/ace/snippets/turtle.js
diff --git a/modules/ace/snippets/twig.js b/modules/lib/ace/snippets/twig.js
similarity index 100%
rename from modules/ace/snippets/twig.js
rename to modules/lib/ace/snippets/twig.js
diff --git a/modules/ace/snippets/typescript.js b/modules/lib/ace/snippets/typescript.js
similarity index 100%
rename from modules/ace/snippets/typescript.js
rename to modules/lib/ace/snippets/typescript.js
diff --git a/modules/ace/snippets/vala.js b/modules/lib/ace/snippets/vala.js
similarity index 100%
rename from modules/ace/snippets/vala.js
rename to modules/lib/ace/snippets/vala.js
diff --git a/modules/ace/snippets/vbscript.js b/modules/lib/ace/snippets/vbscript.js
similarity index 100%
rename from modules/ace/snippets/vbscript.js
rename to modules/lib/ace/snippets/vbscript.js
diff --git a/modules/ace/snippets/velocity.js b/modules/lib/ace/snippets/velocity.js
similarity index 100%
rename from modules/ace/snippets/velocity.js
rename to modules/lib/ace/snippets/velocity.js
diff --git a/modules/ace/snippets/verilog.js b/modules/lib/ace/snippets/verilog.js
similarity index 100%
rename from modules/ace/snippets/verilog.js
rename to modules/lib/ace/snippets/verilog.js
diff --git a/modules/ace/snippets/vhdl.js b/modules/lib/ace/snippets/vhdl.js
similarity index 100%
rename from modules/ace/snippets/vhdl.js
rename to modules/lib/ace/snippets/vhdl.js
diff --git a/modules/ace/snippets/visualforce.js b/modules/lib/ace/snippets/visualforce.js
similarity index 100%
rename from modules/ace/snippets/visualforce.js
rename to modules/lib/ace/snippets/visualforce.js
diff --git a/modules/ace/snippets/wollok.js b/modules/lib/ace/snippets/wollok.js
similarity index 100%
rename from modules/ace/snippets/wollok.js
rename to modules/lib/ace/snippets/wollok.js
diff --git a/modules/ace/snippets/xml.js b/modules/lib/ace/snippets/xml.js
similarity index 100%
rename from modules/ace/snippets/xml.js
rename to modules/lib/ace/snippets/xml.js
diff --git a/modules/ace/snippets/xquery.js b/modules/lib/ace/snippets/xquery.js
similarity index 100%
rename from modules/ace/snippets/xquery.js
rename to modules/lib/ace/snippets/xquery.js
diff --git a/modules/ace/snippets/yaml.js b/modules/lib/ace/snippets/yaml.js
similarity index 100%
rename from modules/ace/snippets/yaml.js
rename to modules/lib/ace/snippets/yaml.js
diff --git a/modules/ace/snippets/zeek.js b/modules/lib/ace/snippets/zeek.js
similarity index 100%
rename from modules/ace/snippets/zeek.js
rename to modules/lib/ace/snippets/zeek.js
diff --git a/modules/ace/theme-ambiance.js b/modules/lib/ace/theme-ambiance.js
similarity index 100%
rename from modules/ace/theme-ambiance.js
rename to modules/lib/ace/theme-ambiance.js
diff --git a/modules/ace/theme-chaos.js b/modules/lib/ace/theme-chaos.js
similarity index 100%
rename from modules/ace/theme-chaos.js
rename to modules/lib/ace/theme-chaos.js
diff --git a/modules/ace/theme-chrome.js b/modules/lib/ace/theme-chrome.js
similarity index 100%
rename from modules/ace/theme-chrome.js
rename to modules/lib/ace/theme-chrome.js
diff --git a/modules/ace/theme-cloud9_day.js b/modules/lib/ace/theme-cloud9_day.js
similarity index 100%
rename from modules/ace/theme-cloud9_day.js
rename to modules/lib/ace/theme-cloud9_day.js
diff --git a/modules/ace/theme-cloud9_night.js b/modules/lib/ace/theme-cloud9_night.js
similarity index 100%
rename from modules/ace/theme-cloud9_night.js
rename to modules/lib/ace/theme-cloud9_night.js
diff --git a/modules/ace/theme-cloud9_night_low_color.js b/modules/lib/ace/theme-cloud9_night_low_color.js
similarity index 100%
rename from modules/ace/theme-cloud9_night_low_color.js
rename to modules/lib/ace/theme-cloud9_night_low_color.js
diff --git a/modules/ace/theme-clouds.js b/modules/lib/ace/theme-clouds.js
similarity index 100%
rename from modules/ace/theme-clouds.js
rename to modules/lib/ace/theme-clouds.js
diff --git a/modules/ace/theme-clouds_midnight.js b/modules/lib/ace/theme-clouds_midnight.js
similarity index 100%
rename from modules/ace/theme-clouds_midnight.js
rename to modules/lib/ace/theme-clouds_midnight.js
diff --git a/modules/ace/theme-cobalt.js b/modules/lib/ace/theme-cobalt.js
similarity index 100%
rename from modules/ace/theme-cobalt.js
rename to modules/lib/ace/theme-cobalt.js
diff --git a/modules/ace/theme-crimson_editor.js b/modules/lib/ace/theme-crimson_editor.js
similarity index 100%
rename from modules/ace/theme-crimson_editor.js
rename to modules/lib/ace/theme-crimson_editor.js
diff --git a/modules/ace/theme-dawn.js b/modules/lib/ace/theme-dawn.js
similarity index 100%
rename from modules/ace/theme-dawn.js
rename to modules/lib/ace/theme-dawn.js
diff --git a/modules/ace/theme-dracula.js b/modules/lib/ace/theme-dracula.js
similarity index 100%
rename from modules/ace/theme-dracula.js
rename to modules/lib/ace/theme-dracula.js
diff --git a/modules/ace/theme-dreamweaver.js b/modules/lib/ace/theme-dreamweaver.js
similarity index 100%
rename from modules/ace/theme-dreamweaver.js
rename to modules/lib/ace/theme-dreamweaver.js
diff --git a/modules/ace/theme-eclipse.js b/modules/lib/ace/theme-eclipse.js
similarity index 100%
rename from modules/ace/theme-eclipse.js
rename to modules/lib/ace/theme-eclipse.js
diff --git a/modules/ace/theme-github.js b/modules/lib/ace/theme-github.js
similarity index 100%
rename from modules/ace/theme-github.js
rename to modules/lib/ace/theme-github.js
diff --git a/modules/ace/theme-gob.js b/modules/lib/ace/theme-gob.js
similarity index 100%
rename from modules/ace/theme-gob.js
rename to modules/lib/ace/theme-gob.js
diff --git a/modules/ace/theme-gruvbox.js b/modules/lib/ace/theme-gruvbox.js
similarity index 100%
rename from modules/ace/theme-gruvbox.js
rename to modules/lib/ace/theme-gruvbox.js
diff --git a/modules/ace/theme-gruvbox_dark_hard.js b/modules/lib/ace/theme-gruvbox_dark_hard.js
similarity index 100%
rename from modules/ace/theme-gruvbox_dark_hard.js
rename to modules/lib/ace/theme-gruvbox_dark_hard.js
diff --git a/modules/ace/theme-gruvbox_light_hard.js b/modules/lib/ace/theme-gruvbox_light_hard.js
similarity index 100%
rename from modules/ace/theme-gruvbox_light_hard.js
rename to modules/lib/ace/theme-gruvbox_light_hard.js
diff --git a/modules/ace/theme-idle_fingers.js b/modules/lib/ace/theme-idle_fingers.js
similarity index 100%
rename from modules/ace/theme-idle_fingers.js
rename to modules/lib/ace/theme-idle_fingers.js
diff --git a/modules/ace/theme-iplastic.js b/modules/lib/ace/theme-iplastic.js
similarity index 100%
rename from modules/ace/theme-iplastic.js
rename to modules/lib/ace/theme-iplastic.js
diff --git a/modules/ace/theme-katzenmilch.js b/modules/lib/ace/theme-katzenmilch.js
similarity index 100%
rename from modules/ace/theme-katzenmilch.js
rename to modules/lib/ace/theme-katzenmilch.js
diff --git a/modules/ace/theme-kr_theme.js b/modules/lib/ace/theme-kr_theme.js
similarity index 100%
rename from modules/ace/theme-kr_theme.js
rename to modules/lib/ace/theme-kr_theme.js
diff --git a/modules/ace/theme-kuroir.js b/modules/lib/ace/theme-kuroir.js
similarity index 100%
rename from modules/ace/theme-kuroir.js
rename to modules/lib/ace/theme-kuroir.js
diff --git a/modules/ace/theme-merbivore.js b/modules/lib/ace/theme-merbivore.js
similarity index 100%
rename from modules/ace/theme-merbivore.js
rename to modules/lib/ace/theme-merbivore.js
diff --git a/modules/ace/theme-merbivore_soft.js b/modules/lib/ace/theme-merbivore_soft.js
similarity index 100%
rename from modules/ace/theme-merbivore_soft.js
rename to modules/lib/ace/theme-merbivore_soft.js
diff --git a/modules/ace/theme-mono_industrial.js b/modules/lib/ace/theme-mono_industrial.js
similarity index 100%
rename from modules/ace/theme-mono_industrial.js
rename to modules/lib/ace/theme-mono_industrial.js
diff --git a/modules/ace/theme-monokai.js b/modules/lib/ace/theme-monokai.js
similarity index 100%
rename from modules/ace/theme-monokai.js
rename to modules/lib/ace/theme-monokai.js
diff --git a/modules/ace/theme-nord_dark.js b/modules/lib/ace/theme-nord_dark.js
similarity index 100%
rename from modules/ace/theme-nord_dark.js
rename to modules/lib/ace/theme-nord_dark.js
diff --git a/modules/ace/theme-one_dark.js b/modules/lib/ace/theme-one_dark.js
similarity index 100%
rename from modules/ace/theme-one_dark.js
rename to modules/lib/ace/theme-one_dark.js
diff --git a/modules/ace/theme-pastel_on_dark.js b/modules/lib/ace/theme-pastel_on_dark.js
similarity index 100%
rename from modules/ace/theme-pastel_on_dark.js
rename to modules/lib/ace/theme-pastel_on_dark.js
diff --git a/modules/ace/theme-solarized_dark.js b/modules/lib/ace/theme-solarized_dark.js
similarity index 100%
rename from modules/ace/theme-solarized_dark.js
rename to modules/lib/ace/theme-solarized_dark.js
diff --git a/modules/ace/theme-solarized_light.js b/modules/lib/ace/theme-solarized_light.js
similarity index 100%
rename from modules/ace/theme-solarized_light.js
rename to modules/lib/ace/theme-solarized_light.js
diff --git a/modules/ace/theme-sqlserver.js b/modules/lib/ace/theme-sqlserver.js
similarity index 100%
rename from modules/ace/theme-sqlserver.js
rename to modules/lib/ace/theme-sqlserver.js
diff --git a/modules/ace/theme-terminal.js b/modules/lib/ace/theme-terminal.js
similarity index 100%
rename from modules/ace/theme-terminal.js
rename to modules/lib/ace/theme-terminal.js
diff --git a/modules/ace/theme-textmate.js b/modules/lib/ace/theme-textmate.js
similarity index 100%
rename from modules/ace/theme-textmate.js
rename to modules/lib/ace/theme-textmate.js
diff --git a/modules/ace/theme-tomorrow.js b/modules/lib/ace/theme-tomorrow.js
similarity index 100%
rename from modules/ace/theme-tomorrow.js
rename to modules/lib/ace/theme-tomorrow.js
diff --git a/modules/ace/theme-tomorrow_night.js b/modules/lib/ace/theme-tomorrow_night.js
similarity index 100%
rename from modules/ace/theme-tomorrow_night.js
rename to modules/lib/ace/theme-tomorrow_night.js
diff --git a/modules/ace/theme-tomorrow_night_blue.js b/modules/lib/ace/theme-tomorrow_night_blue.js
similarity index 100%
rename from modules/ace/theme-tomorrow_night_blue.js
rename to modules/lib/ace/theme-tomorrow_night_blue.js
diff --git a/modules/ace/theme-tomorrow_night_bright.js b/modules/lib/ace/theme-tomorrow_night_bright.js
similarity index 100%
rename from modules/ace/theme-tomorrow_night_bright.js
rename to modules/lib/ace/theme-tomorrow_night_bright.js
diff --git a/modules/ace/theme-tomorrow_night_eighties.js b/modules/lib/ace/theme-tomorrow_night_eighties.js
similarity index 100%
rename from modules/ace/theme-tomorrow_night_eighties.js
rename to modules/lib/ace/theme-tomorrow_night_eighties.js
diff --git a/modules/ace/theme-twilight.js b/modules/lib/ace/theme-twilight.js
similarity index 100%
rename from modules/ace/theme-twilight.js
rename to modules/lib/ace/theme-twilight.js
diff --git a/modules/ace/theme-vibrant_ink.js b/modules/lib/ace/theme-vibrant_ink.js
similarity index 100%
rename from modules/ace/theme-vibrant_ink.js
rename to modules/lib/ace/theme-vibrant_ink.js
diff --git a/modules/ace/theme-xcode.js b/modules/lib/ace/theme-xcode.js
similarity index 100%
rename from modules/ace/theme-xcode.js
rename to modules/lib/ace/theme-xcode.js
diff --git a/modules/ace/worker-base.js b/modules/lib/ace/worker-base.js
similarity index 100%
rename from modules/ace/worker-base.js
rename to modules/lib/ace/worker-base.js
diff --git a/modules/ace/worker-coffee.js b/modules/lib/ace/worker-coffee.js
similarity index 100%
rename from modules/ace/worker-coffee.js
rename to modules/lib/ace/worker-coffee.js
diff --git a/modules/ace/worker-css.js b/modules/lib/ace/worker-css.js
similarity index 100%
rename from modules/ace/worker-css.js
rename to modules/lib/ace/worker-css.js
diff --git a/modules/ace/worker-html.js b/modules/lib/ace/worker-html.js
similarity index 100%
rename from modules/ace/worker-html.js
rename to modules/lib/ace/worker-html.js
diff --git a/modules/ace/worker-javascript.js b/modules/lib/ace/worker-javascript.js
similarity index 100%
rename from modules/ace/worker-javascript.js
rename to modules/lib/ace/worker-javascript.js
diff --git a/modules/ace/worker-json.js b/modules/lib/ace/worker-json.js
similarity index 100%
rename from modules/ace/worker-json.js
rename to modules/lib/ace/worker-json.js
diff --git a/modules/ace/worker-lua.js b/modules/lib/ace/worker-lua.js
similarity index 100%
rename from modules/ace/worker-lua.js
rename to modules/lib/ace/worker-lua.js
diff --git a/modules/ace/worker-php.js b/modules/lib/ace/worker-php.js
similarity index 100%
rename from modules/ace/worker-php.js
rename to modules/lib/ace/worker-php.js
diff --git a/modules/ace/worker-xml.js b/modules/lib/ace/worker-xml.js
similarity index 100%
rename from modules/ace/worker-xml.js
rename to modules/lib/ace/worker-xml.js
diff --git a/modules/ace/worker-xquery.js b/modules/lib/ace/worker-xquery.js
similarity index 100%
rename from modules/ace/worker-xquery.js
rename to modules/lib/ace/worker-xquery.js
diff --git a/modules/ace/worker-yaml.js b/modules/lib/ace/worker-yaml.js
similarity index 100%
rename from modules/ace/worker-yaml.js
rename to modules/lib/ace/worker-yaml.js
diff --git a/modules/lib/foreign-resources.yaml b/modules/lib/foreign-resources.yaml
new file mode 100644
index 00000000..4642d9b0
--- /dev/null
+++ b/modules/lib/foreign-resources.yaml
@@ -0,0 +1,8 @@
+ace:
+ license: BSD-3-Clause
+ homepage: https://github.com/ajaxorg/ace-builds
+ version: 1.15.2
+ type: doc-only
+ authors: Ace authors – https://ace.c9.io/
+ src: https://codeload.github.com/ajaxorg/ace-builds/tar.gz/v1.15.2
+ integrity: sha384-HT5AGPTRP733uKZs1O1qwz/Qv0n5GYOVgZwiGtEbzprLwhfxluSRkHAybzf12hjd