From b063b96230744a80fd09d5aeb2c8c988ba7f90e0 Mon Sep 17 00:00:00 2001 From: Fabian Jakobs Date: Thu, 28 Jul 2011 11:46:09 +0200 Subject: [PATCH] move pilot code back into Ace Conflicts: .gitmodules Makefile.dryice.js build_support/editor_textarea.html demo/demo.js kitchen-sink.html lib/ace/edit_session_test.js lib/ace/mode/coffee.js lib/ace/mode/coffee_highlight_rules.js lib/ace/mode/css.js lib/ace/mode/javascript.js lib/ace/model/window.js lib/ace/mouse/default_handlers.js lib/ace/theme/clouds.js lib/ace/theme/clouds_midnight.js lib/ace/theme/cobalt.js lib/ace/theme/crimson_editor.js lib/ace/theme/dawn.js lib/ace/theme/eclipse.js lib/ace/theme/idle_fingers.js lib/ace/theme/kr_theme.js lib/ace/theme/merbivore.js lib/ace/theme/merbivore_soft.js lib/ace/theme/mono_industrial.js lib/ace/theme/monokai.js lib/ace/theme/pastel_on_dark.js lib/ace/theme/solarized_dark.js lib/ace/theme/solarized_light.js lib/ace/theme/textmate.js lib/ace/theme/twilight.js lib/ace/theme/vibrant_ink.js lib/ace/view/measure_text.js lib/ace/virtual_renderer.js package.json support/paths.js --- .gitmodules | 5 +- Makefile.dryice.js | 10 +- build_support/boot_textarea.js | 8 +- build_support/editor_textarea.html | 2 +- demo/kitchen-sink/demo.js | 4 +- demo/static-highlighter/client.html | 5 +- kitchen-sink.html | 3 +- lib/ace/ace.js | 7 +- lib/ace/anchor.js | 4 +- lib/ace/background_tokenizer.js | 4 +- lib/ace/commands/command_manager.js | 4 +- lib/ace/commands/default_commands.js | 2 +- lib/ace/document.js | 4 +- lib/ace/edit_session.js | 8 +- lib/ace/edit_session_test.js | 2 +- lib/ace/editor.js | 12 +- lib/ace/keyboard/hash_handler.js | 2 +- lib/ace/keyboard/keybinding.js | 6 +- lib/ace/keyboard/textinput.js | 6 +- lib/ace/layer/cursor.js | 2 +- lib/ace/layer/gutter.js | 2 +- lib/ace/layer/marker.js | 2 +- lib/ace/layer/text.js | 10 +- .../browser_focus.js} | 107 +++--- lib/ace/lib/dom.js | 335 ++++++++++++++++++ lib/ace/lib/event.js | 324 +++++++++++++++++ lib/ace/lib/event_emitter.js | 120 +++++++ lib/ace/lib/fixoldbrowsers.js | 18 + lib/ace/lib/keys.js | 118 ++++++ lib/ace/lib/lang.js | 149 ++++++++ lib/ace/lib/oop.js | 60 ++++ lib/ace/lib/useragent.js | 105 ++++++ lib/ace/mode/behaviour/cstyle.js | 2 +- lib/ace/mode/behaviour/xml.js | 2 +- lib/ace/mode/c_cpp.js | 2 +- lib/ace/mode/c_cpp_highlight_rules.js | 4 +- lib/ace/mode/clojure.js | 2 +- lib/ace/mode/clojure_highlight_rules.js | 4 +- lib/ace/mode/coffee.js | 4 +- lib/ace/mode/coffee_highlight_rules.js | 4 +- lib/ace/mode/coffee_worker.js | 2 +- lib/ace/mode/coldfusion.js | 2 +- lib/ace/mode/coldfusion_highlight_rules.js | 2 +- lib/ace/mode/csharp.js | 2 +- lib/ace/mode/csharp_highlight_rules.js | 4 +- lib/ace/mode/css.js | 4 +- lib/ace/mode/css_highlight_rules.js | 4 +- lib/ace/mode/css_worker.js | 2 +- lib/ace/mode/doc_comment_highlight_rules.js | 2 +- lib/ace/mode/groovy.js | 2 +- lib/ace/mode/groovy_highlight_rules.js | 4 +- lib/ace/mode/html.js | 2 +- lib/ace/mode/html_highlight_rules.js | 4 +- lib/ace/mode/java.js | 2 +- lib/ace/mode/java_highlight_rules.js | 4 +- lib/ace/mode/javascript.js | 6 +- lib/ace/mode/javascript_highlight_rules.js | 4 +- lib/ace/mode/javascript_worker.js | 2 +- lib/ace/mode/json.js | 2 +- lib/ace/mode/json_highlight_rules.js | 4 +- lib/ace/mode/latex.js | 2 +- lib/ace/mode/latex_highlight_rules.js | 2 +- lib/ace/mode/lua.js | 2 +- lib/ace/mode/lua_highlight_rules.js | 4 +- lib/ace/mode/markdown.js | 2 +- lib/ace/mode/markdown_highlight_rules.js | 2 +- lib/ace/mode/ocaml.js | 2 +- lib/ace/mode/ocaml_highlight_rules.js | 4 +- lib/ace/mode/perl.js | 2 +- lib/ace/mode/perl_highlight_rules.js | 4 +- lib/ace/mode/php.js | 2 +- lib/ace/mode/php_highlight_rules.js | 4 +- lib/ace/mode/powershell.js | 2 +- lib/ace/mode/powershell_highlight_rules.js | 4 +- lib/ace/mode/python.js | 2 +- lib/ace/mode/python_highlight_rules.js | 4 +- lib/ace/mode/ruby.js | 2 +- lib/ace/mode/ruby_highlight_rules.js | 4 +- lib/ace/mode/scad.js | 2 +- lib/ace/mode/scala.js | 2 +- lib/ace/mode/scala_highlight_rules.js | 4 +- lib/ace/mode/scss.js | 2 +- lib/ace/mode/scss_highlight_rules.js | 4 +- lib/ace/mode/sql.js | 2 +- lib/ace/mode/sql_highlight_rules.js | 4 +- lib/ace/mode/svg.js | 2 +- lib/ace/mode/svg_highlight_rules.js | 2 +- lib/ace/mode/text_highlight_rules.js | 2 +- lib/ace/mode/textile.js | 2 +- lib/ace/mode/textile_highlight_rules.js | 2 +- lib/ace/mode/xml.js | 2 +- lib/ace/mode/xml_highlight_rules.js | 2 +- lib/ace/model/editor.js | 70 ++++ lib/ace/mouse/default_handlers.js | 8 +- lib/ace/mouse/mouse_event.js | 4 +- lib/ace/mouse/mouse_handler.js | 2 +- lib/ace/renderloop.js | 2 +- lib/ace/scrollbar.js | 8 +- lib/ace/search.js | 4 +- lib/ace/selection.js | 6 +- lib/ace/split.js | 8 +- lib/ace/test/all_browser.js | 6 +- lib/ace/test/asyncjs/assert.js | 2 +- lib/ace/test/asyncjs/test.js | 2 +- lib/ace/test/event_emitter_test.js | 4 +- lib/ace/virtual_renderer.js | 10 +- lib/ace/worker/mirror.js | 2 +- lib/ace/worker/worker.js | 6 +- lib/ace/worker/worker_client.js | 4 +- tool/theme.tmpl.js | 2 +- 110 files changed, 1532 insertions(+), 236 deletions(-) rename lib/ace/{settings/default-settings.js => lib/browser_focus.js} (52%) create mode 100644 lib/ace/lib/dom.js create mode 100644 lib/ace/lib/event.js create mode 100644 lib/ace/lib/event_emitter.js create mode 100644 lib/ace/lib/fixoldbrowsers.js create mode 100644 lib/ace/lib/keys.js create mode 100644 lib/ace/lib/lang.js create mode 100644 lib/ace/lib/oop.js create mode 100644 lib/ace/lib/useragent.js create mode 100644 lib/ace/model/editor.js diff --git a/.gitmodules b/.gitmodules index 85ea3537..1eeb5560 100644 --- a/.gitmodules +++ b/.gitmodules @@ -3,7 +3,4 @@ url = git://github.com/ajaxorg/ace.wiki.git [submodule "node_modules/dryice"] path = node_modules/dryice - url = git://github.com/ajaxorg/dryice.git -[submodule "node_modules/pilot"] - path = node_modules/pilot - url = git://github.com/ajaxorg/pilot.git \ No newline at end of file + url = git://github.com/ajaxorg/dryice.git \ No newline at end of file diff --git a/Makefile.dryice.js b/Makefile.dryice.js index a47bac55..ec8a39d9 100755 --- a/Makefile.dryice.js +++ b/Makefile.dryice.js @@ -89,7 +89,6 @@ var aceHome = __dirname; console.log('# ace ---------'); var aceProject = [ - aceHome + '/node_modules/pilot/lib', aceHome + '/lib', aceHome ]; @@ -135,7 +134,7 @@ copy({ copy.source.commonjs({ project: project, require: [ - "pilot/fixoldbrowsers", + "ace/lib/fixoldbrowsers", "ace/ace" ] }) @@ -274,7 +273,6 @@ console.log('# ace worker ---------'); console.log("worker for " + mode + " mode"); var worker = copy.createDataObject(); var workerProject = copy.createCommonJsProject([ - aceHome + '/node_modules/pilot/lib', aceHome + '/lib' ]); copy({ @@ -282,9 +280,9 @@ console.log('# ace worker ---------'); copy.source.commonjs({ project: workerProject, require: [ - 'pilot/fixoldbrowsers', - 'pilot/event_emitter', - 'pilot/oop', + 'ace/lib/fixoldbrowsers', + 'ace/lib/event_emitter', + 'ace/lib/oop', 'ace/mode/' + mode + '_worker' ] }) diff --git a/build_support/boot_textarea.js b/build_support/boot_textarea.js index fffb6ea0..21610d00 100644 --- a/build_support/boot_textarea.js +++ b/build_support/boot_textarea.js @@ -40,11 +40,9 @@ var require = window.__ace_shadowed__.require; -require("pilot/index"); - -var Dom = require("pilot/dom"); -var Event = require("pilot/event"); -var UA = require("pilot/useragent") +var Dom = require("ace/lib/dom"); +var Event = require("ace/lib/event"); +var UA = require("ace/lib/useragent") var Editor = require("ace/editor").Editor; var EditSession = require("ace/edit_session").EditSession; diff --git a/build_support/editor_textarea.html b/build_support/editor_textarea.html index 351e042e..fbd48e15 100644 --- a/build_support/editor_textarea.html +++ b/build_support/editor_textarea.html @@ -84,7 +84,7 @@ function inject() { load('ace.js', 'text!ace/css/editor.css', function() { var ace = window.__ace_shadowed__; ace.options.mode = "javascript"; - var Event = ace.require('pilot/event'); + var Event = ace.require("lib/ace/event"); var areas = document.getElementsByTagName("textarea"); for (var i = 0; i < areas.length; i++) { Event.addListener(areas[i], "click", function(e) { diff --git a/demo/kitchen-sink/demo.js b/demo/kitchen-sink/demo.js index a5e5fff7..17ccab75 100644 --- a/demo/kitchen-sink/demo.js +++ b/demo/kitchen-sink/demo.js @@ -40,11 +40,11 @@ define(function(require, exports, module) { -require("pilot/fixoldbrowsers"); +require("ace/lib/fixoldbrowsers"); var env = {}; var net = require("ace/lib/net"); -var event = require("pilot/event"); +var event = require("ace/lib/event"); var Range = require("ace/range").Range; var Editor = require("ace/editor").Editor; var Renderer = require("ace/virtual_renderer").VirtualRenderer; diff --git a/demo/static-highlighter/client.html b/demo/static-highlighter/client.html index 561add80..c9d3302b 100644 --- a/demo/static-highlighter/client.html +++ b/demo/static-highlighter/client.html @@ -19,8 +19,7 @@ var require = { paths: { demo: "..", - ace: "../../lib/ace", - pilot: "../../support/pilot/lib/pilot" + ace: "../../lib/ace" } }; @@ -32,7 +31,7 @@ require(["ace/ext/static_highlight", "ace/mode/javascript", "ace/theme/twilight" var highlighter = require("ace/ext/static_highlight"); var JavaScriptMode = require("ace/mode/javascript").Mode; var theme = require("ace/theme/twilight"); - var dom = require("pilot/dom"); + var dom = require("ace/lib/dom"); var codeEl = document.getElementById("code"); var data = document.body.innerHTML; diff --git a/kitchen-sink.html b/kitchen-sink.html index 495b927a..a8b6fe32 100644 --- a/kitchen-sink.html +++ b/kitchen-sink.html @@ -190,8 +190,7 @@ var require = { baseUrl: "/" + window.location.pathname.split("/").slice(0, -1).join("/"), paths: { - ace: "lib/ace", - pilot: "node_modules/pilot/lib/pilot" + ace: "lib/ace" } }; diff --git a/lib/ace/ace.js b/lib/ace/ace.js index 3b15bb9d..4a32abfe 100644 --- a/lib/ace/ace.js +++ b/lib/ace/ace.js @@ -37,11 +37,10 @@ define(function(require, exports, module) { - require("pilot/index"); - require("pilot/fixoldbrowsers"); + require("ace/lib/fixoldbrowsers"); - var Dom = require("pilot/dom"); - var Event = require("pilot/event"); + var Dom = require("ace/lib/dom"); + var Event = require("ace/lib/event"); var Editor = require("ace/editor").Editor; var EditSession = require("ace/edit_session").EditSession; diff --git a/lib/ace/anchor.js b/lib/ace/anchor.js index 876a2dfb..caa732f2 100644 --- a/lib/ace/anchor.js +++ b/lib/ace/anchor.js @@ -37,8 +37,8 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var EventEmitter = require("pilot/event_emitter").EventEmitter; +var oop = require("ace/lib/oop"); +var EventEmitter = require("ace/lib/event_emitter").EventEmitter; /** * An Anchor is a floating pointer in the document. Whenever text is inserted or diff --git a/lib/ace/background_tokenizer.js b/lib/ace/background_tokenizer.js index eb23bf74..96688b2f 100644 --- a/lib/ace/background_tokenizer.js +++ b/lib/ace/background_tokenizer.js @@ -37,8 +37,8 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var EventEmitter = require("pilot/event_emitter").EventEmitter; +var oop = require("ace/lib/oop"); +var EventEmitter = require("ace/lib/event_emitter").EventEmitter; var BackgroundTokenizer = function(tokenizer, editor) { this.running = false; diff --git a/lib/ace/commands/command_manager.js b/lib/ace/commands/command_manager.js index 432decb6..36b7c273 100644 --- a/lib/ace/commands/command_manager.js +++ b/lib/ace/commands/command_manager.js @@ -1,7 +1,7 @@ define(function(require, exports, module) { -var keyUtil = require('pilot/keys'); -var useragent = require('pilot/useragent'); +var keyUtil = require("ace/lib/keys"); +var useragent = require("ace/lib/useragent"); var CommandManager = function(commands) { this.commands = {}; diff --git a/lib/ace/commands/default_commands.js b/lib/ace/commands/default_commands.js index 1263f072..e5b3521e 100644 --- a/lib/ace/commands/default_commands.js +++ b/lib/ace/commands/default_commands.js @@ -40,7 +40,7 @@ define(function(require, exports, module) { -var lang = require("pilot/lang"); +var lang = require("ace/lib/lang"); function bindKey(win, mac) { return { diff --git a/lib/ace/document.js b/lib/ace/document.js index 7e31f8bd..23408c5b 100644 --- a/lib/ace/document.js +++ b/lib/ace/document.js @@ -37,8 +37,8 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var EventEmitter = require("pilot/event_emitter").EventEmitter; +var oop = require("ace/lib/oop"); +var EventEmitter = require("ace/lib/event_emitter").EventEmitter; var Range = require("ace/range").Range; var Anchor = require("ace/anchor").Anchor; diff --git a/lib/ace/edit_session.js b/lib/ace/edit_session.js index b8d72b3f..863bdc34 100644 --- a/lib/ace/edit_session.js +++ b/lib/ace/edit_session.js @@ -40,9 +40,9 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var lang = require("pilot/lang"); -var EventEmitter = require("pilot/event_emitter").EventEmitter; +var oop = require("ace/lib/oop"); +var lang = require("ace/lib/lang"); +var EventEmitter = require("ace/lib/event_emitter").EventEmitter; var Selection = require("ace/selection").Selection; var TextMode = require("ace/mode/text").Mode; var Range = require("ace/range").Range; @@ -1738,4 +1738,4 @@ var EditSession = function(text, mode) { require("ace/edit_session/folding").Folding.call(EditSession.prototype); exports.EditSession = EditSession; -}); \ No newline at end of file +}); diff --git a/lib/ace/edit_session_test.js b/lib/ace/edit_session_test.js index 85277b08..0b274b75 100644 --- a/lib/ace/edit_session_test.js +++ b/lib/ace/edit_session_test.js @@ -43,7 +43,7 @@ if (typeof process !== "undefined") { define(function(require, exports, module) { -var lang = require("pilot/lang"); +var lang = require("ace/lib/lang"); var EditSession = require("ace/edit_session").EditSession; var Editor = require("ace/editor").Editor; var UndoManager = require("ace/undomanager").UndoManager; diff --git a/lib/ace/editor.js b/lib/ace/editor.js index ad1bdd9b..95cc6ba6 100644 --- a/lib/ace/editor.js +++ b/lib/ace/editor.js @@ -40,12 +40,12 @@ define(function(require, exports, module) { -require("pilot/fixoldbrowsers"); +require("ace/lib/fixoldbrowsers"); -var oop = require("pilot/oop"); -var event = require("pilot/event"); -var lang = require("pilot/lang"); -var useragent = require("pilot/useragent"); +var oop = require("ace/lib/oop"); +var event = require("ace/lib/event"); +var lang = require("ace/lib/lang"); +var useragent = require("ace/lib/useragent"); var TextInput = require("ace/keyboard/textinput").TextInput; var MouseHandler = require("ace/mouse/mouse_handler").MouseHandler; //var TouchHandler = require("ace/touch_handler").TouchHandler; @@ -53,7 +53,7 @@ var KeyBinding = require("ace/keyboard/keybinding").KeyBinding; var EditSession = require("ace/edit_session").EditSession; var Search = require("ace/search").Search; var Range = require("ace/range").Range; -var EventEmitter = require("pilot/event_emitter").EventEmitter; +var EventEmitter = require("ace/lib/event_emitter").EventEmitter; var CommandManager = require("ace/commands/command_manager").CommandManager; var defaultCommands = require("ace/commands/default_commands").commands; diff --git a/lib/ace/keyboard/hash_handler.js b/lib/ace/keyboard/hash_handler.js index f968b39b..d06374d3 100644 --- a/lib/ace/keyboard/hash_handler.js +++ b/lib/ace/keyboard/hash_handler.js @@ -38,7 +38,7 @@ define(function(require, exports, module) { -var keyUtil = require("pilot/keys"); +var keyUtil = require("ace/lib/keys"); function HashHandler(config) { this.setConfig(config); diff --git a/lib/ace/keyboard/keybinding.js b/lib/ace/keyboard/keybinding.js index ccd42fe2..f8b640bc 100644 --- a/lib/ace/keyboard/keybinding.js +++ b/lib/ace/keyboard/keybinding.js @@ -38,9 +38,9 @@ define(function(require, exports, module) { -var useragent = require("pilot/useragent"); -var keyUtil = require("pilot/keys"); -var event = require("pilot/event"); +var useragent = require("ace/lib/useragent"); +var keyUtil = require("ace/lib/keys"); +var event = require("ace/lib/event"); require("ace/commands/default_commands"); var KeyBinding = function(editor) { diff --git a/lib/ace/keyboard/textinput.js b/lib/ace/keyboard/textinput.js index 0f924963..273c677d 100644 --- a/lib/ace/keyboard/textinput.js +++ b/lib/ace/keyboard/textinput.js @@ -39,9 +39,9 @@ define(function(require, exports, module) { -var event = require("pilot/event"); -var useragent = require("pilot/useragent"); -var dom = require("pilot/dom"); +var event = require("ace/lib/event"); +var useragent = require("ace/lib/useragent"); +var dom = require("ace/lib/dom"); var TextInput = function(parentNode, host) { diff --git a/lib/ace/layer/cursor.js b/lib/ace/layer/cursor.js index c6908039..ed9742a2 100644 --- a/lib/ace/layer/cursor.js +++ b/lib/ace/layer/cursor.js @@ -39,7 +39,7 @@ define(function(require, exports, module) { -var dom = require("pilot/dom"); +var dom = require("ace/lib/dom"); var Cursor = function(parentEl) { this.element = dom.createElement("div"); diff --git a/lib/ace/layer/gutter.js b/lib/ace/layer/gutter.js index 280ce30e..5427fe0e 100644 --- a/lib/ace/layer/gutter.js +++ b/lib/ace/layer/gutter.js @@ -39,7 +39,7 @@ define(function(require, exports, module) { -var dom = require("pilot/dom"); +var dom = require("ace/lib/dom"); var Gutter = function(parentEl) { this.element = dom.createElement("div"); diff --git a/lib/ace/layer/marker.js b/lib/ace/layer/marker.js index cd57d94b..fa51ebf8 100644 --- a/lib/ace/layer/marker.js +++ b/lib/ace/layer/marker.js @@ -40,7 +40,7 @@ define(function(require, exports, module) { var Range = require("ace/range").Range; -var dom = require("pilot/dom"); +var dom = require("ace/lib/dom"); var Marker = function(parentEl) { this.element = dom.createElement("div"); diff --git a/lib/ace/layer/text.js b/lib/ace/layer/text.js index efb75964..be6a051a 100644 --- a/lib/ace/layer/text.js +++ b/lib/ace/layer/text.js @@ -41,11 +41,11 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var dom = require("pilot/dom"); -var lang = require("pilot/lang"); -var useragent = require("pilot/useragent"); -var EventEmitter = require("pilot/event_emitter").EventEmitter; +var oop = require("ace/lib/oop"); +var dom = require("ace/lib/dom"); +var lang = require("ace/lib/lang"); +var useragent = require("ace/lib/useragent"); +var EventEmitter = require("ace/lib/event_emitter").EventEmitter; var Text = function(parentEl) { this.element = dom.createElement("div"); diff --git a/lib/ace/settings/default-settings.js b/lib/ace/lib/browser_focus.js similarity index 52% rename from lib/ace/settings/default-settings.js rename to lib/ace/lib/browser_focus.js index 4e5e0fdf..a2493368 100644 --- a/lib/ace/settings/default-settings.js +++ b/lib/ace/lib/browser_focus.js @@ -20,7 +20,9 @@ * the Initial Developer. All Rights Reserved. * * Contributor(s): + * Fabian Jakobs * Irakli Gozalishvili (http://jeditoolkit.com) + * Julian Viereck * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or @@ -38,60 +40,65 @@ define(function(require, exports, module) { -var types = require('pilot/types') -var SelectionType = require('pilot/types/basic').SelectionType +var oop = require("ace/lib/oop"); +var event = require("ace/lib/event"); +var EventEmitter = require("ace/lib/event_emitter").EventEmitter; -var env +/** + * This class keeps track of the focus state of the given window. + * Focus changes for example when the user switches a browser tab, + * goes to the location bar or switches to another application. + */ +var BrowserFocus = function(win) { + win = win || window; + + this.lastFocus = new Date().getTime(); + this._isFocused = true; + + var _self = this; -var settingTypes = { - selectionStyle: new SelectionType({ - data: [ 'line', 'text' ] - }) -} + // IE < 9 supports focusin and focusout events + if ("onfocusin" in win.document) { + event.addListener(win.document, "focusin", function(e) { + _self._setFocused(true); + }); -var settings = { - printMargin: { - description: 'Position of the print margin column.', - type: 'number', - defaultValue: 80, - onChange: function onChange(event) { - if (env.editor) env.editor.setPrintMarginColumn(event.value) - } - }, - showIvisibles: { - description: 'Whether or not to show invisible characters.', - type: 'bool', - defaultValue: false, - onChange: function onChange(event) { - if (env.editor) env.editor.setShowInvisibles(event.value) - } - }, - highlightActiveLine: { - description: 'Whether or not highlight active line.', - type: 'bool', - defaultValue: true, - onChange: function onChange(event) { - if (env.editor) env.editor.setHighlightActiveLine(event.value) - } - }, - selectionStyle: { - description: 'Type of text selection.', - type: 'selectionStyle', - defaultValue: 'line', - onChange: function onChange(event) { - if (env.editor) env.editor.setSelectionStyle(event.value) - } + event.addListener(win.document, "focusout", function(e) { + _self._setFocused(!!e.toElement); + }); } -} + else { + event.addListener(win, "blur", function(e) { + _self._setFocused(false); + }); -exports.startup = function startup(data, reason) { - env = data.env - types.registerTypes(settingTypes) - data.env.settings.addSettings(settings) -} + event.addListener(win, "focus", function(e) { + _self._setFocused(true); + }); + } +}; -exports.shutdown = function shutdown(data, reason) { - data.env.settings.removeSettings(settings) -} +(function(){ -}) + oop.implement(this, EventEmitter); + + this.isFocused = function() { + return this._isFocused; + }; + + this._setFocused = function(isFocused) { + if (this._isFocused == isFocused) + return; + + if (isFocused) + this.lastFocus = new Date().getTime(); + + this._isFocused = isFocused; + this._emit("changeFocus"); + }; + +}).call(BrowserFocus.prototype); + + +exports.BrowserFocus = BrowserFocus; +}); diff --git a/lib/ace/lib/dom.js b/lib/ace/lib/dom.js new file mode 100644 index 00000000..19e88899 --- /dev/null +++ b/lib/ace/lib/dom.js @@ -0,0 +1,335 @@ +/* vim:ts=4:sts=4:sw=4: + * ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Ajax.org Code Editor (ACE). + * + * The Initial Developer of the Original Code is + * Ajax.org B.V. + * Portions created by the Initial Developer are Copyright (C) 2010 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Fabian Jakobs + * Mihai Sucan + * Irakli Gozalishvili (http://jeditoolkit.com) + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +define(function(require, exports, module) { + +var XHTML_NS = "http://www.w3.org/1999/xhtml"; + +exports.createElement = function(tag, ns) { + return document.createElementNS ? + document.createElementNS(ns || XHTML_NS, tag) : + document.createElement(tag); +}; + +exports.setText = function(elem, text) { + if (elem.innerText !== undefined) { + elem.innerText = text; + } + if (elem.textContent !== undefined) { + elem.textContent = text; + } +}; + +if (!document.documentElement.classList) { + exports.hasCssClass = function(el, name) { + var classes = el.className.split(/\s+/g); + return classes.indexOf(name) !== -1; + }; + + /** + * Add a CSS class to the list of classes on the given node + */ + exports.addCssClass = function(el, name) { + if (!exports.hasCssClass(el, name)) { + el.className += " " + name; + } + }; + + /** + * Remove a CSS class from the list of classes on the given node + */ + exports.removeCssClass = function(el, name) { + var classes = el.className.split(/\s+/g); + while (true) { + var index = classes.indexOf(name); + if (index == -1) { + break; + } + classes.splice(index, 1); + } + el.className = classes.join(" "); + }; + + exports.toggleCssClass = function(el, name) { + var classes = el.className.split(/\s+/g), add = true; + while (true) { + var index = classes.indexOf(name); + if (index == -1) { + break; + } + add = false; + classes.splice(index, 1); + } + if(add) + classes.push(name); + + el.className = classes.join(" "); + return add; + }; +} else { + exports.hasCssClass = function(el, name) { + return el.classList.contains(name); + }; + + exports.addCssClass = function(el, name) { + el.classList.add(name); + }; + + exports.removeCssClass = function(el, name) { + el.classList.remove(name); + }; + + exports.toggleCssClass = function(el, name) { + return el.classList.toggle(name); + }; +} + +/** + * Add or remove a CSS class from the list of classes on the given node + * depending on the value of include + */ +exports.setCssClass = function(node, className, include) { + if (include) { + exports.addCssClass(node, className); + } else { + exports.removeCssClass(node, className); + } +}; + +exports.hasCssString = function(id, doc) { + var index = 0, sheets; + doc = doc || document; + + if (doc.createStyleSheet && (sheets = doc.styleSheets)) { + while (index < sheets.length) + if (sheets[index++].title === id) return true; + } else if ((sheets = doc.getElementsByTagName("style"))) { + while (index < sheets.length) + if (sheets[index++].id === id) return true; + } + + return false; +}; + +exports.importCssString = function importCssString(cssText, id, doc) { + doc = doc || document; + // If style is already imported return immediately. + if (id && exports.hasCssString(id, doc)) + return null; + + var style; + + if (doc.createStyleSheet) { + style = doc.createStyleSheet(); + style.cssText = cssText; + if (id) + style.title = id; + } else { + style = doc.createElementNS ? + doc.createElementNS(XHTML_NS, "style") : + doc.createElement("style"); + + style.appendChild(doc.createTextNode(cssText)); + if (id) + style.id = id; + + var head = doc.getElementsByTagName("head")[0] || doc.documentElement; + head.appendChild(style); + } +}; + +exports.importCssStylsheet = function(uri, doc) { + if (doc.createStyleSheet) { + var sheet = doc.createStyleSheet(uri); + } else { + var link = exports.createElement('link'); + link.rel = 'stylesheet'; + link.href = uri; + + var head = doc.getElementsByTagName("head")[0] || doc.documentElement; + head.appendChild(link); + } +}; + +exports.getInnerWidth = function(element) { + return (parseInt(exports.computedStyle(element, "paddingLeft")) + + parseInt(exports.computedStyle(element, "paddingRight")) + element.clientWidth); +}; + +exports.getInnerHeight = function(element) { + return (parseInt(exports.computedStyle(element, "paddingTop")) + + parseInt(exports.computedStyle(element, "paddingBottom")) + element.clientHeight); +}; + +if (window.pageYOffset !== undefined) { + exports.getPageScrollTop = function() { + return window.pageYOffset; + }; + + exports.getPageScrollLeft = function() { + return window.pageXOffset; + }; +} +else { + exports.getPageScrollTop = function() { + return document.body.scrollTop; + }; + + exports.getPageScrollLeft = function() { + return document.body.scrollLeft; + }; +} + +if (window.getComputedStyle) + exports.computedStyle = function(element, style) { + if (style) + return (window.getComputedStyle(element, "") || {})[style] || ""; + return window.getComputedStyle(element, "") || {} + }; +else + exports.computedStyle = function(element, style) { + if (style) + return element.currentStyle[style]; + return element.currentStyle + }; + +exports.scrollbarWidth = function(document) { + + var inner = exports.createElement("p"); + inner.style.width = "100%"; + inner.style.minWidth = "0px"; + inner.style.height = "200px"; + + var outer = exports.createElement("div"); + var style = outer.style; + + style.position = "absolute"; + style.left = "-10000px"; + style.overflow = "hidden"; + style.width = "200px"; + style.minWidth = "0px"; + style.height = "150px"; + + outer.appendChild(inner); + + var body = document.body || document.documentElement; + body.appendChild(outer); + + var noScrollbar = inner.offsetWidth; + + style.overflow = "scroll"; + var withScrollbar = inner.offsetWidth; + + if (noScrollbar == withScrollbar) { + withScrollbar = outer.clientWidth; + } + + body.removeChild(outer); + + return noScrollbar-withScrollbar; +}; + +/** + * Optimized set innerHTML. This is faster than plain innerHTML if the element + * already contains a lot of child elements. + * + * See http://blog.stevenlevithan.com/archives/faster-than-innerhtml for details + */ +exports.setInnerHtml = function(el, innerHtml) { + var element = el.cloneNode(false);//document.createElement("div"); + element.innerHTML = innerHtml; + el.parentNode.replaceChild(element, el); + return element; +}; + +exports.setInnerText = function(el, innerText) { + var document = el.ownerDocument; + if (document.body && "textContent" in document.body) + el.textContent = innerText; + else + el.innerText = innerText; + +}; + +exports.getInnerText = function(el) { + var document = el.ownerDocument; + if (document.body && "textContent" in document.body) + return el.textContent; + else + return el.innerText || el.textContent || ""; +}; + +exports.getParentWindow = function(document) { + return document.defaultView || document.parentWindow; +}; + +exports.getSelectionStart = function(textarea) { + // TODO IE + var start; + try { + start = textarea.selectionStart || 0; + } catch (e) { + start = 0; + } + return start; +}; + +exports.setSelectionStart = function(textarea, start) { + // TODO IE + return textarea.selectionStart = start; +}; + +exports.getSelectionEnd = function(textarea) { + // TODO IE + var end; + try { + end = textarea.selectionEnd || 0; + } catch (e) { + end = 0; + } + return end; +}; + +exports.setSelectionEnd = function(textarea, end) { + // TODO IE + return textarea.selectionEnd = end; +}; + +}); diff --git a/lib/ace/lib/event.js b/lib/ace/lib/event.js new file mode 100644 index 00000000..242e1029 --- /dev/null +++ b/lib/ace/lib/event.js @@ -0,0 +1,324 @@ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Ajax.org Code Editor (ACE). + * + * The Initial Developer of the Original Code is + * Ajax.org B.V. + * Portions created by the Initial Developer are Copyright (C) 2010 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Fabian Jakobs + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +define(function(require, exports, module) { + +var keys = require("ace/lib/keys"); +var useragent = require("ace/lib/useragent"); +var dom = require("ace/lib/dom"); + +exports.addListener = function(elem, type, callback) { + if (elem.addEventListener) { + return elem.addEventListener(type, callback, false); + } + if (elem.attachEvent) { + var wrapper = function() { + callback(window.event); + }; + callback._wrapper = wrapper; + elem.attachEvent("on" + type, wrapper); + } +}; + +exports.removeListener = function(elem, type, callback) { + if (elem.removeEventListener) { + return elem.removeEventListener(type, callback, false); + } + if (elem.detachEvent) { + elem.detachEvent("on" + type, callback._wrapper || callback); + } +}; + +/** +* Prevents propagation and clobbers the default action of the passed event +*/ +exports.stopEvent = function(e) { + exports.stopPropagation(e); + exports.preventDefault(e); + return false; +}; + +exports.stopPropagation = function(e) { + if (e.stopPropagation) + e.stopPropagation(); + else + e.cancelBubble = true; +}; + +exports.preventDefault = function(e) { + if (e.preventDefault) + e.preventDefault(); + else + e.returnValue = false; +}; + +exports.getDocumentX = function(e) { + if (e.clientX) { + return e.clientX + dom.getPageScrollLeft(); + } else { + return e.pageX; + } +}; + +exports.getDocumentY = function(e) { + if (e.clientY) { + return e.clientY + dom.getPageScrollTop(); + } else { + return e.pageY; + } +}; + +/** + * @return {Number} 0 for left button, 1 for middle button, 2 for right button + */ +exports.getButton = function(e) { + if (e.type == "dblclick") + return 0; + else if (e.type == "contextmenu") + return 2; + + // DOM Event + if (e.preventDefault) { + return e.button; + } + // old IE + else { + return {1:0, 2:2, 4:1}[e.button]; + } +}; + +if (document.documentElement.setCapture) { + exports.capture = function(el, eventHandler, releaseCaptureHandler) { + function onMouseMove(e) { + eventHandler(e); + return exports.stopPropagation(e); + } + + var called = false; + function onReleaseCapture(e) { + eventHandler(e); + + if (!called) { + called = true; + releaseCaptureHandler(e); + } + + exports.removeListener(el, "mousemove", eventHandler); + exports.removeListener(el, "mouseup", onReleaseCapture); + exports.removeListener(el, "losecapture", onReleaseCapture); + + el.releaseCapture(); + } + + exports.addListener(el, "mousemove", eventHandler); + exports.addListener(el, "mouseup", onReleaseCapture); + exports.addListener(el, "losecapture", onReleaseCapture); + el.setCapture(); + }; +} +else { + exports.capture = function(el, eventHandler, releaseCaptureHandler) { + function onMouseMove(e) { + eventHandler(e); + e.stopPropagation(); + } + + function onMouseUp(e) { + eventHandler && eventHandler(e); + releaseCaptureHandler && releaseCaptureHandler(e); + + document.removeEventListener("mousemove", onMouseMove, true); + document.removeEventListener("mouseup", onMouseUp, true); + + e.stopPropagation(); + } + + document.addEventListener("mousemove", onMouseMove, true); + document.addEventListener("mouseup", onMouseUp, true); + }; +} + +exports.addMouseWheelListener = function(el, callback) { + var max = 0; + var listener = function(e) { + if (e.wheelDelta !== undefined) { + + // some versions of Safari (e.g. 5.0.5) report insanely high + // scroll values. These browsers require a higher factor + if (Math.abs(e.wheelDeltaY) > max) + max = Math.abs(e.wheelDeltaY) + + if (max > 5000) + factor = 400; + else + factor = 8; + + if (e.wheelDeltaX !== undefined) { + e.wheelX = -e.wheelDeltaX / factor; + e.wheelY = -e.wheelDeltaY / factor; + } else { + e.wheelX = 0; + e.wheelY = -e.wheelDelta / factor; + } + } + else { + if (e.axis && e.axis == e.HORIZONTAL_AXIS) { + e.wheelX = (e.detail || 0) * 5; + e.wheelY = 0; + } else { + e.wheelX = 0; + e.wheelY = (e.detail || 0) * 5; + } + } + callback(e); + }; + exports.addListener(el, "DOMMouseScroll", listener); + exports.addListener(el, "mousewheel", listener); +}; + +exports.addMultiMouseDownListener = function(el, button, count, timeout, callback) { + var clicks = 0; + var startX, startY; + + var listener = function(e) { + clicks += 1; + if (clicks == 1) { + startX = e.clientX; + startY = e.clientY; + + setTimeout(function() { + clicks = 0; + }, timeout || 600); + } + + var isButton = exports.getButton(e) == button; + if (!isButton || Math.abs(e.clientX - startX) > 5 || Math.abs(e.clientY - startY) > 5) + clicks = 0; + + if (clicks == count) { + clicks = 0; + callback(e); + } + + if (isButton) + return exports.preventDefault(e); + }; + + exports.addListener(el, "mousedown", listener); + useragent.isOldIE && exports.addListener(el, "dblclick", listener); +}; + +function normalizeCommandKeys(callback, e, keyCode) { + var hashId = 0; + if (useragent.isOpera && useragent.isMac) { + hashId = 0 | (e.metaKey ? 1 : 0) | (e.altKey ? 2 : 0) + | (e.shiftKey ? 4 : 0) | (e.ctrlKey ? 8 : 0); + } else { + hashId = 0 | (e.ctrlKey ? 1 : 0) | (e.altKey ? 2 : 0) + | (e.shiftKey ? 4 : 0) | (e.metaKey ? 8 : 0); + } + + if (keyCode in keys.MODIFIER_KEYS) { + switch (keys.MODIFIER_KEYS[keyCode]) { + case "Alt": + hashId = 2; + break; + case "Shift": + hashId = 4; + break + case "Ctrl": + hashId = 1; + break; + default: + hashId = 8; + break; + } + keyCode = 0; + } + + if (hashId & 8 && (keyCode == 91 || keyCode == 93)) { + keyCode = 0; + } + + // If there is no hashID and the keyCode is not a function key, then + // we don't call the callback as we don't handle a command key here + // (it's a normal key/character input). + if (!(keyCode in keys.FUNCTION_KEYS) && !(keyCode in keys.PRINTABLE_KEYS)) { + return false; + } + return callback(e, hashId, keyCode); +} + +exports.addCommandKeyListener = function(el, callback) { + var addListener = exports.addListener; + if (useragent.isOldGecko) { + // Old versions of Gecko aka. Firefox < 4.0 didn't repeat the keydown + // event if the user pressed the key for a longer time. Instead, the + // keydown event was fired once and later on only the keypress event. + // To emulate the 'right' keydown behavior, the keyCode of the initial + // keyDown event is stored and in the following keypress events the + // stores keyCode is used to emulate a keyDown event. + var lastKeyDownKeyCode = null; + addListener(el, "keydown", function(e) { + lastKeyDownKeyCode = e.keyCode; + }); + addListener(el, "keypress", function(e) { + return normalizeCommandKeys(callback, e, lastKeyDownKeyCode); + }); + } else { + var lastDown = null; + + addListener(el, "keydown", function(e) { + lastDown = e.keyIdentifier || e.keyCode; + return normalizeCommandKeys(callback, e, e.keyCode); + }); + + // repeated keys are fired as keypress and not keydown events + if (useragent.isMac && useragent.isOpera) { + addListener(el, "keypress", function(e) { + var keyId = e.keyIdentifier || e.keyCode; + if (lastDown !== keyId) { + return normalizeCommandKeys(callback, e, lastDown); + } else { + lastDown = null; + } + }); + } + } +}; + +}); diff --git a/lib/ace/lib/event_emitter.js b/lib/ace/lib/event_emitter.js new file mode 100644 index 00000000..7aa88263 --- /dev/null +++ b/lib/ace/lib/event_emitter.js @@ -0,0 +1,120 @@ +/* vim:ts=4:sts=4:sw=4: + * ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Ajax.org Code Editor (ACE). + * + * The Initial Developer of the Original Code is + * Ajax.org B.V. + * Portions created by the Initial Developer are Copyright (C) 2010 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Fabian Jakobs + * Irakli Gozalishvili (http://jeditoolkit.com) + * Mike de Boer + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +define(function(require, exports, module) { + +var EventEmitter = {}; + +EventEmitter._emit = +EventEmitter._dispatchEvent = function(eventName, e) { + this._eventRegistry = this._eventRegistry || {}; + this._defaultHandlers = this._defaultHandlers || {}; + + var listeners = this._eventRegistry[eventName] || []; + var defaultHandler = this._defaultHandlers[eventName]; + if (!listeners.length && !defaultHandler) + return; + + e = e || {}; + e.type = eventName; + + if (!e.stopPropagation) { + e.stopPropagation = function() { + this.propagationStopped = true; + }; + } + + if (!e.preventDefault) { + e.preventDefault = function() { + this.defaultPrevented = true; + }; + } + + for (var i=0; i + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +define(function(require, exports, module) { + +exports.stringReverse = function(string) { + return string.split("").reverse().join(""); +}; + +exports.stringRepeat = function (string, count) { + return new Array(count + 1).join(string); +}; + +var trimBeginRegexp = /^\s\s*/; +var trimEndRegexp = /\s\s*$/; + +exports.stringTrimLeft = function (string) { + return string.replace(trimBeginRegexp, '') +}; + +exports.stringTrimRight = function (string) { + return string.replace(trimEndRegexp, ''); +}; + +exports.copyObject = function(obj) { + var copy = {}; + for (var key in obj) { + copy[key] = obj[key]; + } + return copy; +}; + +exports.copyArray = function(array){ + var copy = []; + for (i=0, l=array.length; i + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +define(function(require, exports, module) { + +exports.inherits = (function() { + var tempCtor = function() {}; + return function(ctor, superCtor) { + tempCtor.prototype = superCtor.prototype; + ctor.super_ = superCtor.prototype; + ctor.prototype = new tempCtor(); + ctor.prototype.constructor = ctor; + } +}()); + +exports.mixin = function(obj, mixin) { + for (var key in mixin) { + obj[key] = mixin[key]; + } +}; + +exports.implement = function(proto, mixin) { + exports.mixin(proto, mixin); +}; + +}); diff --git a/lib/ace/lib/useragent.js b/lib/ace/lib/useragent.js new file mode 100644 index 00000000..d98e7472 --- /dev/null +++ b/lib/ace/lib/useragent.js @@ -0,0 +1,105 @@ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Ajax.org Code Editor (ACE). + * + * The Initial Developer of the Original Code is + * Ajax.org B.V. + * Portions created by the Initial Developer are Copyright (C) 2010 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Fabian Jakobs + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +define(function(require, exports, module) { + +var os = (navigator.platform.match(/mac|win|linux/i) || ["other"])[0].toLowerCase(); +var ua = navigator.userAgent; +var av = navigator.appVersion; + +/** Is the user using a browser that identifies itself as Windows */ +exports.isWin = (os == "win"); + +/** Is the user using a browser that identifies itself as Mac OS */ +exports.isMac = (os == "mac"); + +/** Is the user using a browser that identifies itself as Linux */ +exports.isLinux = (os == "linux"); + +exports.isIE = + navigator.appName == "Microsoft Internet Explorer" + && parseFloat(navigator.userAgent.match(/MSIE ([0-9]+[\.0-9]+)/)[1]); + +exports.isOldIE = exports.isIE && exports.isIE < 9; + +/** Is this Firefox or related? */ +exports.isGecko = exports.isMozilla = window.controllers && window.navigator.product === "Gecko"; + +/** oldGecko == rev < 2.0 **/ +exports.isOldGecko = exports.isGecko && /rv\:1/.test(navigator.userAgent); + +/** Is this Opera */ +exports.isOpera = window.opera && Object.prototype.toString.call(window.opera) == "[object Opera]"; + +/** Is the user using a browser that identifies itself as WebKit */ +exports.isWebKit = parseFloat(ua.split("WebKit/")[1]) || undefined; + +exports.isChrome = parseFloat(ua.split(" Chrome/")[1]) || undefined; + +exports.isAIR = ua.indexOf("AdobeAIR") >= 0; + +exports.isIPad = ua.indexOf("iPad") >= 0; + +exports.isTouchPad = ua.indexOf("TouchPad") >= 0; + +/** + * I hate doing this, but we need some way to determine if the user is on a Mac + * The reason is that users have different expectations of their key combinations. + * + * Take copy as an example, Mac people expect to use CMD or APPLE + C + * Windows folks expect to use CTRL + C + */ +exports.OS = { + LINUX: 'LINUX', + MAC: 'MAC', + WINDOWS: 'WINDOWS' +}; + +/** + * Return an exports.OS constant + */ +exports.getOS = function() { + if (exports.isMac) { + return exports.OS['MAC']; + } else if (exports.isLinux) { + return exports.OS['LINUX']; + } else { + return exports.OS['WINDOWS']; + } +}; + +}); diff --git a/lib/ace/mode/behaviour/cstyle.js b/lib/ace/mode/behaviour/cstyle.js index 81016b9e..cd090826 100644 --- a/lib/ace/mode/behaviour/cstyle.js +++ b/lib/ace/mode/behaviour/cstyle.js @@ -38,7 +38,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var Behaviour = require('ace/mode/behaviour').Behaviour; var CstyleBehaviour = function () { diff --git a/lib/ace/mode/behaviour/xml.js b/lib/ace/mode/behaviour/xml.js index f5d8c6e0..38ecbb87 100644 --- a/lib/ace/mode/behaviour/xml.js +++ b/lib/ace/mode/behaviour/xml.js @@ -38,7 +38,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var Behaviour = require('ace/mode/behaviour').Behaviour; var CstyleBehaviour = require('ace/mode/behaviour/cstyle').CstyleBehaviour; diff --git a/lib/ace/mode/c_cpp.js b/lib/ace/mode/c_cpp.js index 958aed92..04081c9c 100644 --- a/lib/ace/mode/c_cpp.js +++ b/lib/ace/mode/c_cpp.js @@ -38,7 +38,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var c_cppHighlightRules = require("ace/mode/c_cpp_highlight_rules").c_cppHighlightRules; diff --git a/lib/ace/mode/c_cpp_highlight_rules.js b/lib/ace/mode/c_cpp_highlight_rules.js index 9493a117..778300ed 100644 --- a/lib/ace/mode/c_cpp_highlight_rules.js +++ b/lib/ace/mode/c_cpp_highlight_rules.js @@ -40,8 +40,8 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var lang = require("pilot/lang"); +var oop = require("ace/lib/oop"); +var lang = require("ace/lib/lang"); var DocCommentHighlightRules = require("ace/mode/doc_comment_highlight_rules").DocCommentHighlightRules; var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; diff --git a/lib/ace/mode/clojure.js b/lib/ace/mode/clojure.js index 65d06333..3bd8127f 100644 --- a/lib/ace/mode/clojure.js +++ b/lib/ace/mode/clojure.js @@ -39,7 +39,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var ClojureHighlightRules = require("ace/mode/clojure_highlight_rules").ClojureHighlightRules; diff --git a/lib/ace/mode/clojure_highlight_rules.js b/lib/ace/mode/clojure_highlight_rules.js index 5797b996..5ea1087e 100644 --- a/lib/ace/mode/clojure_highlight_rules.js +++ b/lib/ace/mode/clojure_highlight_rules.js @@ -39,8 +39,8 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var lang = require("pilot/lang"); +var oop = require("ace/lib/oop"); +var lang = require("ace/lib/lang"); var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; diff --git a/lib/ace/mode/coffee.js b/lib/ace/mode/coffee.js index 563139c7..82e342d6 100644 --- a/lib/ace/mode/coffee.js +++ b/lib/ace/mode/coffee.js @@ -43,7 +43,7 @@ var Outdent = require("ace/mode/matching_brace_outdent").MatchingBraceOutdent; var Range = require("ace/range").Range; var TextMode = require("ace/mode/text").Mode; var WorkerClient = require("ace/worker/worker_client").WorkerClient; -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); function Mode() { this.$tokenizer = new Tokenizer(new Rules().getRules()); @@ -97,7 +97,7 @@ oop.inherits(Mode, TextMode); }; this.createWorker = function(session) { - var worker = new WorkerClient(["ace", "pilot"], "worker-coffee.js", "ace/mode/coffee_worker", "Worker"); + var worker = new WorkerClient(["ace"], "worker-coffee.js", "ace/mode/coffee_worker", "Worker"); worker.attachToDocument(session.getDocument()); worker.on("error", function(e) { diff --git a/lib/ace/mode/coffee_highlight_rules.js b/lib/ace/mode/coffee_highlight_rules.js index a249479e..4565d32d 100644 --- a/lib/ace/mode/coffee_highlight_rules.js +++ b/lib/ace/mode/coffee_highlight_rules.js @@ -37,8 +37,8 @@ define(function(require, exports, module) { - var lang = require("pilot/lang"); - var oop = require("pilot/oop"); + var lang = require("ace/lib/lang"); + var oop = require("ace/lib/oop"); var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; oop.inherits(CoffeeHighlightRules, TextHighlightRules); diff --git a/lib/ace/mode/coffee_worker.js b/lib/ace/mode/coffee_worker.js index 5cf1010e..ef39e0ac 100644 --- a/lib/ace/mode/coffee_worker.js +++ b/lib/ace/mode/coffee_worker.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var Mirror = require("ace/worker/mirror").Mirror; var coffee = require("ace/mode/coffee/coffee-script"); diff --git a/lib/ace/mode/coldfusion.js b/lib/ace/mode/coldfusion.js index 8ffa83d9..11f82ee5 100644 --- a/lib/ace/mode/coldfusion.js +++ b/lib/ace/mode/coldfusion.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var JavaScriptMode = require("ace/mode/javascript").Mode; var CssMode = require("ace/mode/css").Mode; diff --git a/lib/ace/mode/coldfusion_highlight_rules.js b/lib/ace/mode/coldfusion_highlight_rules.js index 756350a1..d4329c77 100644 --- a/lib/ace/mode/coldfusion_highlight_rules.js +++ b/lib/ace/mode/coldfusion_highlight_rules.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var CssHighlightRules = require("ace/mode/css_highlight_rules").CssHighlightRules; var JavaScriptHighlightRules = require("ace/mode/javascript_highlight_rules").JavaScriptHighlightRules; var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; diff --git a/lib/ace/mode/csharp.js b/lib/ace/mode/csharp.js index 472e775f..5750d7d1 100644 --- a/lib/ace/mode/csharp.js +++ b/lib/ace/mode/csharp.js @@ -1,6 +1,6 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var CSharpHighlightRules = require("ace/mode/csharp_highlight_rules").CSharpHighlightRules; diff --git a/lib/ace/mode/csharp_highlight_rules.js b/lib/ace/mode/csharp_highlight_rules.js index 5c5c0910..c119ad1e 100644 --- a/lib/ace/mode/csharp_highlight_rules.js +++ b/lib/ace/mode/csharp_highlight_rules.js @@ -1,7 +1,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var lang = require("pilot/lang"); +var oop = require("ace/lib/oop"); +var lang = require("ace/lib/lang"); var DocCommentHighlightRules = require("ace/mode/doc_comment_highlight_rules").DocCommentHighlightRules; var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; diff --git a/lib/ace/mode/css.js b/lib/ace/mode/css.js index 3331002b..2dd1723e 100644 --- a/lib/ace/mode/css.js +++ b/lib/ace/mode/css.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var CssHighlightRules = require("ace/mode/css_highlight_rules").CssHighlightRules; @@ -78,7 +78,7 @@ oop.inherits(Mode, TextMode); }; this.createWorker = function(session) { - var worker = new WorkerClient(["ace", "pilot"], "worker-css.js", "ace/mode/css_worker", "Worker"); + var worker = new WorkerClient(["ace"], "worker-css.js", "ace/mode/css_worker", "Worker"); worker.attachToDocument(session.getDocument()); worker.on("csslint", function(e) { diff --git a/lib/ace/mode/css_highlight_rules.js b/lib/ace/mode/css_highlight_rules.js index 2dddabab..114b9af2 100644 --- a/lib/ace/mode/css_highlight_rules.js +++ b/lib/ace/mode/css_highlight_rules.js @@ -37,8 +37,8 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var lang = require("pilot/lang"); +var oop = require("ace/lib/oop"); +var lang = require("ace/lib/lang"); var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; var CssHighlightRules = function() { diff --git a/lib/ace/mode/css_worker.js b/lib/ace/mode/css_worker.js index 96196baf..354ab31b 100644 --- a/lib/ace/mode/css_worker.js +++ b/lib/ace/mode/css_worker.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var Mirror = require("ace/worker/mirror").Mirror; var CSSLint = require("ace/mode/css/csslint").CSSLint; diff --git a/lib/ace/mode/doc_comment_highlight_rules.js b/lib/ace/mode/doc_comment_highlight_rules.js index f2918948..320f58a0 100644 --- a/lib/ace/mode/doc_comment_highlight_rules.js +++ b/lib/ace/mode/doc_comment_highlight_rules.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; var DocCommentHighlightRules = function() { diff --git a/lib/ace/mode/groovy.js b/lib/ace/mode/groovy.js index b0d51d87..0172c8e7 100644 --- a/lib/ace/mode/groovy.js +++ b/lib/ace/mode/groovy.js @@ -1,6 +1,6 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var JavaScriptMode = require("ace/mode/javascript").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var GroovyHighlightRules = require("ace/mode/groovy_highlight_rules").GroovyHighlightRules; diff --git a/lib/ace/mode/groovy_highlight_rules.js b/lib/ace/mode/groovy_highlight_rules.js index 202f361c..5339c4eb 100644 --- a/lib/ace/mode/groovy_highlight_rules.js +++ b/lib/ace/mode/groovy_highlight_rules.js @@ -1,7 +1,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var lang = require("pilot/lang"); +var oop = require("ace/lib/oop"); +var lang = require("ace/lib/lang"); var DocCommentHighlightRules = require("ace/mode/doc_comment_highlight_rules").DocCommentHighlightRules; var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; diff --git a/lib/ace/mode/html.js b/lib/ace/mode/html.js index 01896126..7d964e8f 100644 --- a/lib/ace/mode/html.js +++ b/lib/ace/mode/html.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var JavaScriptMode = require("ace/mode/javascript").Mode; var CssMode = require("ace/mode/css").Mode; diff --git a/lib/ace/mode/html_highlight_rules.js b/lib/ace/mode/html_highlight_rules.js index 43b93297..1cccd1c8 100644 --- a/lib/ace/mode/html_highlight_rules.js +++ b/lib/ace/mode/html_highlight_rules.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var CssHighlightRules = require("ace/mode/css_highlight_rules").CssHighlightRules; var JavaScriptHighlightRules = require("ace/mode/javascript_highlight_rules").JavaScriptHighlightRules; var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; @@ -195,4 +195,4 @@ var HtmlHighlightRules = function() { oop.inherits(HtmlHighlightRules, TextHighlightRules); exports.HtmlHighlightRules = HtmlHighlightRules; -}); \ No newline at end of file +}); diff --git a/lib/ace/mode/java.js b/lib/ace/mode/java.js index ac3c942a..9c8c018e 100644 --- a/lib/ace/mode/java.js +++ b/lib/ace/mode/java.js @@ -1,6 +1,6 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var JavaScriptMode = require("ace/mode/javascript").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var JavaHighlightRules = require("ace/mode/java_highlight_rules").JavaHighlightRules; diff --git a/lib/ace/mode/java_highlight_rules.js b/lib/ace/mode/java_highlight_rules.js index a97e46bc..46e0ebbd 100644 --- a/lib/ace/mode/java_highlight_rules.js +++ b/lib/ace/mode/java_highlight_rules.js @@ -1,7 +1,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var lang = require("pilot/lang"); +var oop = require("ace/lib/oop"); +var lang = require("ace/lib/lang"); var DocCommentHighlightRules = require("ace/mode/doc_comment_highlight_rules").DocCommentHighlightRules; var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; diff --git a/lib/ace/mode/javascript.js b/lib/ace/mode/javascript.js index cac492d3..d287ae9f 100644 --- a/lib/ace/mode/javascript.js +++ b/lib/ace/mode/javascript.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var JavaScriptHighlightRules = require("ace/mode/javascript_highlight_rules").JavaScriptHighlightRules; @@ -125,8 +125,8 @@ oop.inherits(Mode, TextMode); }; this.createWorker = function(session) { - var worker = new WorkerClient(["ace", "pilot"], "worker-javascript.js", "ace/mode/javascript_worker", "JavaScriptWorker"); - worker.attachToDocument(session.getDocument()); + var worker = new WorkerClient(["ace"], "worker-javascript.js", "ace/mode/javascript_worker", "JavaScriptWorker"); + worker.attachToDocument(session.getDocument()); worker.on("jslint", function(results) { var errors = []; diff --git a/lib/ace/mode/javascript_highlight_rules.js b/lib/ace/mode/javascript_highlight_rules.js index 32150b68..8081daaa 100644 --- a/lib/ace/mode/javascript_highlight_rules.js +++ b/lib/ace/mode/javascript_highlight_rules.js @@ -38,8 +38,8 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var lang = require("pilot/lang"); +var oop = require("ace/lib/oop"); +var lang = require("ace/lib/lang"); var unicode = require("ace/unicode"); var DocCommentHighlightRules = require("ace/mode/doc_comment_highlight_rules").DocCommentHighlightRules; var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; diff --git a/lib/ace/mode/javascript_worker.js b/lib/ace/mode/javascript_worker.js index 8e18bc70..2b5fc7dd 100644 --- a/lib/ace/mode/javascript_worker.js +++ b/lib/ace/mode/javascript_worker.js @@ -1,6 +1,6 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var Mirror = require("ace/worker/mirror").Mirror; //var lint = require("ace/worker/jslint").JSLINT; var lint = require("ace/worker/jshint").JSHINT; diff --git a/lib/ace/mode/json.js b/lib/ace/mode/json.js index 9019af14..885a3f3d 100644 --- a/lib/ace/mode/json.js +++ b/lib/ace/mode/json.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var HighlightRules = require("ace/mode/json_highlight_rules").JsonHighlightRules; diff --git a/lib/ace/mode/json_highlight_rules.js b/lib/ace/mode/json_highlight_rules.js index 872c3939..a1e3038d 100644 --- a/lib/ace/mode/json_highlight_rules.js +++ b/lib/ace/mode/json_highlight_rules.js @@ -38,8 +38,8 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var lang = require("pilot/lang"); +var oop = require("ace/lib/oop"); +var lang = require("ace/lib/lang"); var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; var JsonHighlightRules = function() { diff --git a/lib/ace/mode/latex.js b/lib/ace/mode/latex.js index 0b603236..9ab63f5a 100644 --- a/lib/ace/mode/latex.js +++ b/lib/ace/mode/latex.js @@ -1,6 +1,6 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var LatexHighlightRules = require("ace/mode/latex_highlight_rules").LatexHighlightRules; diff --git a/lib/ace/mode/latex_highlight_rules.js b/lib/ace/mode/latex_highlight_rules.js index ad1cdef4..06c1e67e 100644 --- a/lib/ace/mode/latex_highlight_rules.js +++ b/lib/ace/mode/latex_highlight_rules.js @@ -1,6 +1,6 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; var LatexHighlightRules = function() diff --git a/lib/ace/mode/lua.js b/lib/ace/mode/lua.js index 4e533d24..ace68a36 100644 --- a/lib/ace/mode/lua.js +++ b/lib/ace/mode/lua.js @@ -38,7 +38,7 @@ * ***** END LICENSE BLOCK ***** */ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var LuaHighlightRules = require("ace/mode/lua_highlight_rules").LuaHighlightRules; diff --git a/lib/ace/mode/lua_highlight_rules.js b/lib/ace/mode/lua_highlight_rules.js index bca749dd..4874e404 100644 --- a/lib/ace/mode/lua_highlight_rules.js +++ b/lib/ace/mode/lua_highlight_rules.js @@ -39,8 +39,8 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var lang = require("pilot/lang"); +var oop = require("ace/lib/oop"); +var lang = require("ace/lib/lang"); var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; var LuaHighlightRules = function() { diff --git a/lib/ace/mode/markdown.js b/lib/ace/mode/markdown.js index 6657fab1..0fed5b92 100644 --- a/lib/ace/mode/markdown.js +++ b/lib/ace/mode/markdown.js @@ -40,7 +40,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var JavaScriptMode = require("ace/mode/javascript").Mode; var XmlMode = require("ace/mode/xml").Mode; diff --git a/lib/ace/mode/markdown_highlight_rules.js b/lib/ace/mode/markdown_highlight_rules.js index d67c26da..5dbbe2d6 100644 --- a/lib/ace/mode/markdown_highlight_rules.js +++ b/lib/ace/mode/markdown_highlight_rules.js @@ -38,7 +38,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; var JavaScriptHighlightRules = require("ace/mode/javascript_highlight_rules").JavaScriptHighlightRules; var XmlHighlightRules = require("ace/mode/xml_highlight_rules").XmlHighlightRules; diff --git a/lib/ace/mode/ocaml.js b/lib/ace/mode/ocaml.js index 7455691b..d226ed9d 100644 --- a/lib/ace/mode/ocaml.js +++ b/lib/ace/mode/ocaml.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var OcamlHighlightRules = require("ace/mode/ocaml_highlight_rules").OcamlHighlightRules; diff --git a/lib/ace/mode/ocaml_highlight_rules.js b/lib/ace/mode/ocaml_highlight_rules.js index 1d15b245..595b0d9d 100644 --- a/lib/ace/mode/ocaml_highlight_rules.js +++ b/lib/ace/mode/ocaml_highlight_rules.js @@ -39,8 +39,8 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var lang = require("pilot/lang"); +var oop = require("ace/lib/oop"); +var lang = require("ace/lib/lang"); var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; var OcamlHighlightRules = function() { diff --git a/lib/ace/mode/perl.js b/lib/ace/mode/perl.js index 0173067c..7174e995 100644 --- a/lib/ace/mode/perl.js +++ b/lib/ace/mode/perl.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var PerlHighlightRules = require("ace/mode/perl_highlight_rules").PerlHighlightRules; diff --git a/lib/ace/mode/perl_highlight_rules.js b/lib/ace/mode/perl_highlight_rules.js index 12ede240..a1365c18 100644 --- a/lib/ace/mode/perl_highlight_rules.js +++ b/lib/ace/mode/perl_highlight_rules.js @@ -37,8 +37,8 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var lang = require("pilot/lang"); +var oop = require("ace/lib/oop"); +var lang = require("ace/lib/lang"); var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; var PerlHighlightRules = function() { diff --git a/lib/ace/mode/php.js b/lib/ace/mode/php.js index a11a7c49..869c709b 100644 --- a/lib/ace/mode/php.js +++ b/lib/ace/mode/php.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var PhpHighlightRules = require("ace/mode/php_highlight_rules").PhpHighlightRules; diff --git a/lib/ace/mode/php_highlight_rules.js b/lib/ace/mode/php_highlight_rules.js index 50f79952..e6e64ee6 100644 --- a/lib/ace/mode/php_highlight_rules.js +++ b/lib/ace/mode/php_highlight_rules.js @@ -38,8 +38,8 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var lang = require("pilot/lang"); +var oop = require("ace/lib/oop"); +var lang = require("ace/lib/lang"); var DocCommentHighlightRules = require("ace/mode/doc_comment_highlight_rules").DocCommentHighlightRules; var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; diff --git a/lib/ace/mode/powershell.js b/lib/ace/mode/powershell.js index ec2b6463..401fb66b 100644 --- a/lib/ace/mode/powershell.js +++ b/lib/ace/mode/powershell.js @@ -1,6 +1,6 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var PowershellHighlightRules = require("ace/mode/powershell_highlight_rules").PowershellHighlightRules; diff --git a/lib/ace/mode/powershell_highlight_rules.js b/lib/ace/mode/powershell_highlight_rules.js index 09402265..9cf9243f 100644 --- a/lib/ace/mode/powershell_highlight_rules.js +++ b/lib/ace/mode/powershell_highlight_rules.js @@ -1,7 +1,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var lang = require("pilot/lang"); +var oop = require("ace/lib/oop"); +var lang = require("ace/lib/lang"); var DocCommentHighlightRules = require("ace/mode/doc_comment_highlight_rules").DocCommentHighlightRules; var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; diff --git a/lib/ace/mode/python.js b/lib/ace/mode/python.js index 79ba43c9..6b1dda73 100644 --- a/lib/ace/mode/python.js +++ b/lib/ace/mode/python.js @@ -38,7 +38,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var PythonHighlightRules = require("ace/mode/python_highlight_rules").PythonHighlightRules; diff --git a/lib/ace/mode/python_highlight_rules.js b/lib/ace/mode/python_highlight_rules.js index 0c566d0b..e369e2bd 100644 --- a/lib/ace/mode/python_highlight_rules.js +++ b/lib/ace/mode/python_highlight_rules.js @@ -41,8 +41,8 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var lang = require("pilot/lang"); +var oop = require("ace/lib/oop"); +var lang = require("ace/lib/lang"); var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; var PythonHighlightRules = function() { diff --git a/lib/ace/mode/ruby.js b/lib/ace/mode/ruby.js index 532c8cec..b223c997 100644 --- a/lib/ace/mode/ruby.js +++ b/lib/ace/mode/ruby.js @@ -38,7 +38,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var RubyHighlightRules = require("ace/mode/ruby_highlight_rules").RubyHighlightRules; diff --git a/lib/ace/mode/ruby_highlight_rules.js b/lib/ace/mode/ruby_highlight_rules.js index 9fe03e05..ea01b506 100644 --- a/lib/ace/mode/ruby_highlight_rules.js +++ b/lib/ace/mode/ruby_highlight_rules.js @@ -38,8 +38,8 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var lang = require("pilot/lang"); +var oop = require("ace/lib/oop"); +var lang = require("ace/lib/lang"); var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; var RubyHighlightRules = function() { diff --git a/lib/ace/mode/scad.js b/lib/ace/mode/scad.js index 61b77f8f..004e471f 100644 --- a/lib/ace/mode/scad.js +++ b/lib/ace/mode/scad.js @@ -38,7 +38,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var scadHighlightRules = require("ace/mode/scad_highlight_rules").scadHighlightRules; diff --git a/lib/ace/mode/scala.js b/lib/ace/mode/scala.js index f1690fb6..b71f9790 100644 --- a/lib/ace/mode/scala.js +++ b/lib/ace/mode/scala.js @@ -1,6 +1,6 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var JavaScriptMode = require("ace/mode/javascript").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var ScalaHighlightRules = require("ace/mode/scala_highlight_rules").ScalaHighlightRules; diff --git a/lib/ace/mode/scala_highlight_rules.js b/lib/ace/mode/scala_highlight_rules.js index 5b1d6dec..20deca2c 100644 --- a/lib/ace/mode/scala_highlight_rules.js +++ b/lib/ace/mode/scala_highlight_rules.js @@ -1,7 +1,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var lang = require("pilot/lang"); +var oop = require("ace/lib/oop"); +var lang = require("ace/lib/lang"); var DocCommentHighlightRules = require("ace/mode/doc_comment_highlight_rules").DocCommentHighlightRules; var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; diff --git a/lib/ace/mode/scss.js b/lib/ace/mode/scss.js index 9d8bc4b7..8810590e 100644 --- a/lib/ace/mode/scss.js +++ b/lib/ace/mode/scss.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var ScssHighlightRules = require("ace/mode/scss_highlight_rules").ScssHighlightRules; diff --git a/lib/ace/mode/scss_highlight_rules.js b/lib/ace/mode/scss_highlight_rules.js index a4553ad3..fa963447 100644 --- a/lib/ace/mode/scss_highlight_rules.js +++ b/lib/ace/mode/scss_highlight_rules.js @@ -37,8 +37,8 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var lang = require("pilot/lang"); +var oop = require("ace/lib/oop"); +var lang = require("ace/lib/lang"); var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; var ScssHighlightRules = function() { diff --git a/lib/ace/mode/sql.js b/lib/ace/mode/sql.js index 777d86fd..1a79d300 100644 --- a/lib/ace/mode/sql.js +++ b/lib/ace/mode/sql.js @@ -20,7 +20,7 @@ define(function(require, exports, module) { - var oop = require("pilot/oop"); + var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var SqlHighlightRules = require("ace/mode/sql_highlight_rules").SqlHighlightRules; diff --git a/lib/ace/mode/sql_highlight_rules.js b/lib/ace/mode/sql_highlight_rules.js index 3b5e1882..4ed1059a 100644 --- a/lib/ace/mode/sql_highlight_rules.js +++ b/lib/ace/mode/sql_highlight_rules.js @@ -22,8 +22,8 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var lang = require("pilot/lang"); +var oop = require("ace/lib/oop"); +var lang = require("ace/lib/lang"); var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; var SqlHighlightRules = function() { diff --git a/lib/ace/mode/svg.js b/lib/ace/mode/svg.js index 87a42ae5..64549f0d 100644 --- a/lib/ace/mode/svg.js +++ b/lib/ace/mode/svg.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var XmlMode = require("ace/mode/text").Mode; var JavaScriptMode = require("ace/mode/javascript").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; diff --git a/lib/ace/mode/svg_highlight_rules.js b/lib/ace/mode/svg_highlight_rules.js index 50c1b3f4..9d9d79c2 100644 --- a/lib/ace/mode/svg_highlight_rules.js +++ b/lib/ace/mode/svg_highlight_rules.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var JavaScriptHighlightRules = require("ace/mode/javascript_highlight_rules").JavaScriptHighlightRules; var XmlHighlightRules = require("ace/mode/xml_highlight_rules").XmlHighlightRules; diff --git a/lib/ace/mode/text_highlight_rules.js b/lib/ace/mode/text_highlight_rules.js index 06be7946..639bcb3b 100644 --- a/lib/ace/mode/text_highlight_rules.js +++ b/lib/ace/mode/text_highlight_rules.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { -var lang = require("pilot/lang"); +var lang = require("ace/lib/lang"); var TextHighlightRules = function() { diff --git a/lib/ace/mode/textile.js b/lib/ace/mode/textile.js index 6bfd4d47..92473587 100644 --- a/lib/ace/mode/textile.js +++ b/lib/ace/mode/textile.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var TextileHighlightRules = require("ace/mode/textile_highlight_rules").TextileHighlightRules; diff --git a/lib/ace/mode/textile_highlight_rules.js b/lib/ace/mode/textile_highlight_rules.js index 8fc1a2f5..30eb094e 100644 --- a/lib/ace/mode/textile_highlight_rules.js +++ b/lib/ace/mode/textile_highlight_rules.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; var TextileHighlightRules = function() { diff --git a/lib/ace/mode/xml.js b/lib/ace/mode/xml.js index a6d5fa9c..68d1af33 100644 --- a/lib/ace/mode/xml.js +++ b/lib/ace/mode/xml.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextMode = require("ace/mode/text").Mode; var Tokenizer = require("ace/tokenizer").Tokenizer; var XmlHighlightRules = require("ace/mode/xml_highlight_rules").XmlHighlightRules; diff --git a/lib/ace/mode/xml_highlight_rules.js b/lib/ace/mode/xml_highlight_rules.js index d7eaa18e..649a2f46 100644 --- a/lib/ace/mode/xml_highlight_rules.js +++ b/lib/ace/mode/xml_highlight_rules.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); +var oop = require("ace/lib/oop"); var TextHighlightRules = require("ace/mode/text_highlight_rules").TextHighlightRules; var XmlHighlightRules = function() { diff --git a/lib/ace/model/editor.js b/lib/ace/model/editor.js new file mode 100644 index 00000000..7a8aad8e --- /dev/null +++ b/lib/ace/model/editor.js @@ -0,0 +1,70 @@ +/* vim:ts=4:sts=4:sw=4: + * ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Ajax.org Code Editor (ACE). + * + * The Initial Developer of the Original Code is + * Ajax.org B.V. + * Portions created by the Initial Developer are Copyright (C) 2011 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Fabian Jakobs + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +define(function(require, exports, module) { + +var oop = require("ace/lib/oop"); +var lang = require("ace/lib/lang"); +var EventEmitter = require("ace/lib/event_emitter").EventEmitter; + +var Editor = exports.Editor = function() { + this._buffers = []; + this._windows = []; +}; + +(function() { + + oop.implement(this, EventEmitter); + + this.addBuffer = function(buffer) { + this._buffers.push(buffer); + return this._buffers.length-1; + }; + + this.addWindow = function(win) { + this._windows.push(win); + return this._windows.length-1; + }; + + this.openInWindow = function(bufferId, winId) { + this._windows[winId || 0].setBuffer(this._buffers[bufferId]); + }; + +}).call(Editor.prototype); + +}); \ No newline at end of file diff --git a/lib/ace/mouse/default_handlers.js b/lib/ace/mouse/default_handlers.js index 5ae13ffc..5b3ce9d3 100644 --- a/lib/ace/mouse/default_handlers.js +++ b/lib/ace/mouse/default_handlers.js @@ -39,10 +39,10 @@ define(function(require, exports, module) { -var event = require("pilot/event"); -var dom = require("pilot/dom"); -var EventEmitter = require("pilot/event_emitter").EventEmitter; -var BrowserFocus = require("pilot/browser_focus").BrowserFocus; +var event = require("ace/lib/event"); +var dom = require("ace/lib/dom"); +var EventEmitter = require("ace/lib/event_emitter").EventEmitter; +var BrowserFocus = require("ace/lib/browser_focus").BrowserFocus; var STATE_UNKNOWN = 0; var STATE_SELECT = 1; diff --git a/lib/ace/mouse/mouse_event.js b/lib/ace/mouse/mouse_event.js index 474686b7..1358f782 100644 --- a/lib/ace/mouse/mouse_event.js +++ b/lib/ace/mouse/mouse_event.js @@ -38,8 +38,8 @@ define(function(require, exports, module) { -var event = require("pilot/event"); -var dom = require("pilot/dom"); +var event = require("ace/lib/event"); +var dom = require("ace/lib/dom"); /** * Custom Ace mouse event diff --git a/lib/ace/mouse/mouse_handler.js b/lib/ace/mouse/mouse_handler.js index 2b09b832..af0071c7 100644 --- a/lib/ace/mouse/mouse_handler.js +++ b/lib/ace/mouse/mouse_handler.js @@ -39,7 +39,7 @@ define(function(require, exports, module) { -var event = require("pilot/event"); +var event = require("ace/lib/event"); var DefaultHandlers = require("ace/mouse/default_handlers").DefaultHandlers; var MouseEvent = require("ace/mouse/mouse_event").MouseEvent; diff --git a/lib/ace/renderloop.js b/lib/ace/renderloop.js index 6aee2a21..1a30c1b2 100644 --- a/lib/ace/renderloop.js +++ b/lib/ace/renderloop.js @@ -38,7 +38,7 @@ define(function(require, exports, module) { -var event = require("pilot/event"); +var event = require("ace/lib/event"); var RenderLoop = function(onRender, window) { this.onRender = onRender; diff --git a/lib/ace/scrollbar.js b/lib/ace/scrollbar.js index e38795e3..bd5b3438 100644 --- a/lib/ace/scrollbar.js +++ b/lib/ace/scrollbar.js @@ -38,10 +38,10 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var dom = require("pilot/dom"); -var event = require("pilot/event"); -var EventEmitter = require("pilot/event_emitter").EventEmitter; +var oop = require("ace/lib/oop"); +var dom = require("ace/lib/dom"); +var event = require("ace/lib/event"); +var EventEmitter = require("ace/lib/event_emitter").EventEmitter; var ScrollBar = function(parent) { this.element = dom.createElement("div"); diff --git a/lib/ace/search.js b/lib/ace/search.js index 82c14401..0c8899c3 100644 --- a/lib/ace/search.js +++ b/lib/ace/search.js @@ -39,8 +39,8 @@ define(function(require, exports, module) { -var lang = require("pilot/lang"); -var oop = require("pilot/oop"); +var lang = require("ace/lib/lang"); +var oop = require("ace/lib/oop"); var Range = require("ace/range").Range; var Search = function() { diff --git a/lib/ace/selection.js b/lib/ace/selection.js index b9157830..698f2451 100644 --- a/lib/ace/selection.js +++ b/lib/ace/selection.js @@ -38,9 +38,9 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var lang = require("pilot/lang"); -var EventEmitter = require("pilot/event_emitter").EventEmitter; +var oop = require("ace/lib/oop"); +var lang = require("ace/lib/lang"); +var EventEmitter = require("ace/lib/event_emitter").EventEmitter; var Range = require("ace/range").Range; /** diff --git a/lib/ace/split.js b/lib/ace/split.js index 1c9cdebe..0228fb7d 100644 --- a/lib/ace/split.js +++ b/lib/ace/split.js @@ -38,10 +38,10 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var dom = require("pilot/dom"); -var lang = require("pilot/lang"); -var EventEmitter = require("pilot/event_emitter").EventEmitter; +var oop = require("ace/lib/oop"); +var dom = require("ace/lib/dom"); +var lang = require("ace/lib/lang"); +var EventEmitter = require("ace/lib/event_emitter").EventEmitter; var Editor = require("ace/editor").Editor; var Renderer = require("ace/virtual_renderer").VirtualRenderer; diff --git a/lib/ace/test/all_browser.js b/lib/ace/test/all_browser.js index 42e32731..d8ccdb82 100644 --- a/lib/ace/test/all_browser.js +++ b/lib/ace/test/all_browser.js @@ -1,9 +1,9 @@ define(function(require, exports, module) { -require("pilot/fixoldbrowsers"); -var AsyncTest = require("asyncjs/test"); +require("ace/lib/fixoldbrowsers"); +var AsyncTest = require("asyncjs").test; var async = require("asyncjs"); -var dom = require("pilot/dom"); +var dom = require("ace/lib/dom"); var passed = 0 var failed = 0 diff --git a/lib/ace/test/asyncjs/assert.js b/lib/ace/test/asyncjs/assert.js index 198da4b2..3ce1b31b 100644 --- a/lib/ace/test/asyncjs/assert.js +++ b/lib/ace/test/asyncjs/assert.js @@ -25,7 +25,7 @@ define(function(require, exports, module) { // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // UTILITY -var oop = require('pilot/oop'); +var oop = require("ace/lib/oop"); var pSlice = Array.prototype.slice; // 1. The assert module provides functions that throw diff --git a/lib/ace/test/asyncjs/test.js b/lib/ace/test/asyncjs/test.js index d1f68b06..7504a3e2 100644 --- a/lib/ace/test/asyncjs/test.js +++ b/lib/ace/test/asyncjs/test.js @@ -6,7 +6,7 @@ define(function(require, exports, module) { -var oop = require("pilot/oop") +var oop = require("ace/lib/oop") var async = require("asyncjs/async") require("asyncjs/utils") diff --git a/lib/ace/test/event_emitter_test.js b/lib/ace/test/event_emitter_test.js index 16edf708..3c94f582 100644 --- a/lib/ace/test/event_emitter_test.js +++ b/lib/ace/test/event_emitter_test.js @@ -41,8 +41,8 @@ if (typeof process !== "undefined") { define(function(require, exports, module) { -var oop = require("pilot/oop"); -var EventEmitter = require("pilot/event_emitter").EventEmitter; +var oop = require("ace/lib/oop"); +var EventEmitter = require("ace/lib/event_emitter").EventEmitter; var assert = require("ace/test/assertions"); var Emitter = function() {}; diff --git a/lib/ace/virtual_renderer.js b/lib/ace/virtual_renderer.js index 35332bd8..b498711e 100644 --- a/lib/ace/virtual_renderer.js +++ b/lib/ace/virtual_renderer.js @@ -40,17 +40,17 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var dom = require("pilot/dom"); -var event = require("pilot/event"); -var useragent = require("pilot/useragent"); +var oop = require("ace/lib/oop"); +var dom = require("ace/lib/dom"); +var event = require("ace/lib/event"); +var useragent = require("ace/lib/useragent"); var GutterLayer = require("ace/layer/gutter").Gutter; var MarkerLayer = require("ace/layer/marker").Marker; var TextLayer = require("ace/layer/text").Text; var CursorLayer = require("ace/layer/cursor").Cursor; var ScrollBar = require("ace/scrollbar").ScrollBar; var RenderLoop = require("ace/renderloop").RenderLoop; -var EventEmitter = require("pilot/event_emitter").EventEmitter; +var EventEmitter = require("ace/lib/event_emitter").EventEmitter; var editorCss = require("ace/requirejs/text!ace/css/editor.css"); var VirtualRenderer = function(container, theme) { diff --git a/lib/ace/worker/mirror.js b/lib/ace/worker/mirror.js index cf543fd3..18d4bbc4 100644 --- a/lib/ace/worker/mirror.js +++ b/lib/ace/worker/mirror.js @@ -2,7 +2,7 @@ define(function(require, exports, module) { var Document = require("ace/document").Document; -var lang = require("pilot/lang"); +var lang = require("ace/lib/lang"); var Mirror = exports.Mirror = function(sender) { this.sender = sender; diff --git a/lib/ace/worker/worker.js b/lib/ace/worker/worker.js index afff4d75..42fbdbfb 100644 --- a/lib/ace/worker/worker.js +++ b/lib/ace/worker/worker.js @@ -60,8 +60,8 @@ function initBaseUrls(topLevelNamespaces) { function initSender() { - var EventEmitter = require("pilot/event_emitter").EventEmitter; - var oop = require("pilot/oop"); + var EventEmitter = require("ace/lib/event_emitter").EventEmitter; + var oop = require("ace/lib/oop"); var Sender = function() {}; @@ -100,7 +100,7 @@ onmessage = function(e) { } else if (msg.init) { initBaseUrls(msg.tlns); - require("pilot/fixoldbrowsers"); + require("ace/lib/fixoldbrowsers"); sender = initSender(); var clazz = require(msg.module)[msg.classname]; main = new clazz(sender); diff --git a/lib/ace/worker/worker_client.js b/lib/ace/worker/worker_client.js index 97be387d..959f0d38 100644 --- a/lib/ace/worker/worker_client.js +++ b/lib/ace/worker/worker_client.js @@ -37,8 +37,8 @@ define(function(require, exports, module) { -var oop = require("pilot/oop"); -var EventEmitter = require("pilot/event_emitter").EventEmitter; +var oop = require("ace/lib/oop"); +var EventEmitter = require("ace/lib/event_emitter").EventEmitter; var WorkerClient = function(topLevelNamespaces, packagedJs, module, classname) { diff --git a/tool/theme.tmpl.js b/tool/theme.tmpl.js index 9129280f..05f109a9 100644 --- a/tool/theme.tmpl.js +++ b/tool/theme.tmpl.js @@ -37,7 +37,7 @@ define(function(require, exports, module) { - var dom = require("pilot/dom"); + var dom = require("ace/lib/dom"); exports.cssText = %css%; exports.cssClass = "%cssClass%";