diff --git a/Makefile.dryice.js b/Makefile.dryice.js index ddd9118c..cae1112d 100644 --- a/Makefile.dryice.js +++ b/Makefile.dryice.js @@ -56,21 +56,36 @@ copy({ include: /.*\.js$/, exclude: /tests?\// }, - { - root: aceHome + '/support/cockpit/lib', - include: /.*\.js$/, - exclude: /tests?\// - }, { root: aceHome + '/lib', include: /.*\.js$/, - exclude: /tests?\// + exclude: /tests?\/|theme\/|mode\// } ], filter: [ copy.filter.moduleDefines ], dest: buildStep }); +// include the TextMate theme only for now +copy({ + source: [ { + root: aceHome + "/lib", + include: /textmate\.js/ + } ], + filter: [ copy.filter.moduleDefines ], + dest: buildStep +}); + +// include the JS mode only for now +copy({ + source: [ { + root: aceHome + '/lib', + include: /\/text\.js|\/javascript\.js|\/text_highlight_rules\.js|\/javascript_highlight_rules\.js|\/doc_comment_highlight_rules\.js|\/matching_brace_outdent\.js/ + } ], + filter: [ copy.filter.moduleDefines ], + dest: buildStep +}); + // The startup file copy({ source: { base: aceHome + '/demo/', path: 'demo_startup.js' }, @@ -81,19 +96,9 @@ copy({ // The CSS files copy({ source: [ - { - root: aceHome + '/support/cockpit/support/pilot/lib', - include: /.*\.css$/, - exclude: /tests?\// - }, - { - root: aceHome + '/support/cockpit/lib', - include: /.*\.css$/, - exclude: /tests?\// - }, { root: aceHome + '/lib', - include: /.*\.css$/, + include: /tm\.css|editor\.css/, exclude: /tests?\// } ], @@ -114,7 +119,7 @@ copy({ // The Javascript files that don't need unwrapping copy({ - source: [ 'demo/boot.js' ], + source: [ 'demo/build_boot.js' ], dest: buildStep }); diff --git a/build/editor.html b/build/editor.html index 253044e9..69fc2a19 100644 --- a/build/editor.html +++ b/build/editor.html @@ -27,173 +27,28 @@ } #editor { - top: 55px; + top: 0px; left: 0px; + height: 100%; + width: 100%; background: white; } - #controls { - width: 100%; - height: 55px; - } - - #jump { - position: absolute; - width: 10px; - height: 10px; - border: 1px solid red; - z-index: 10000; - display: none; - } - - #cockpitInput { - position: absolute; - width: 100%; - bottom: 0; - - border: none; outline: none; - font-family: consolas, courier, monospace; - font-size: 120%; - } - - #cockpitOutput { - padding: 10px; - margin: 0 15px; - border: 1px solid #AAA; - -moz-border-radius-topleft: 10px; - -moz-border-radius-topright: 10px; - border-top-left-radius: 4px; border-top-right-radius: 4px; - background: #DDD; color: #000; - } -
- - - - - - - - - - -
- - - - - - - - - - - - - - - - -
- -
-
- - - - - - - - - - - - - - + + diff --git a/demo/build_boot.js b/demo/build_boot.js new file mode 100644 index 00000000..c56aa6dc --- /dev/null +++ b/demo/build_boot.js @@ -0,0 +1,70 @@ +/* ***** 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 Mozilla Skywriter. + * + * The Initial Developer of the Original Code is + * Mozilla. + * Portions created by the Initial Developer are Copyright (C) 2009 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Kevin Dangoor (kdangoor@mozilla.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 ***** */ + +var deps = [ "pilot/fixoldbrowsers", "pilot/plugin_manager", "pilot/settings", + "pilot/environment", "demo_startup" ]; + +require(deps, function() { + var catalog = require("pilot/plugin_manager").catalog; + catalog.registerPlugins([ "pilot/index" ]).then(function() { + }); +}); + +var ace = { + edit: function(el) { + if (typeof(el) == "string") { + el = document.getElementById(el); + } + var env = require("pilot/environment").create(); + var catalog = require("pilot/plugin_manager").catalog; + catalog.startupPlugins({ env: env }).then(function() { + var Document = require("ace/document").Document; + var JavaScriptMode = require("ace/mode/javascript").Mode; + var UndoManager = require("ace/undomanager").UndoManager; + var Editor = require("ace/editor").Editor; + var Renderer = require("ace/virtual_renderer").VirtualRenderer; + var theme = require("ace/theme/textmate"); + + var doc = new Document(el.innerHTML); + doc.setMode(new JavaScriptMode()); + doc.setUndoManager(new UndoManager()); + env.editor = new Editor(new Renderer(el, theme)); + env.editor.setDocument(doc); + env.editor.resize(); + }); + } +};