demo use of themes

This commit is contained in:
Fabian Jakobs 2011-01-27 20:37:59 +01:00
commit b5a665c33e
3 changed files with 69 additions and 27 deletions

View file

@ -128,13 +128,6 @@ copy({
dest: data
});
copy({
source: [
'build_support/editor.html'
],
dest: 'build/editor.html'
});
// Create the compressed and uncompressed output files
copy({
source: data,
@ -146,6 +139,14 @@ copy({
dest: 'build/ace-uncompressed.js'
});
copy({
source: [
'build_support/editor.html'
],
dest: 'build/editor.html'
});
// Create worker bootstrap code
copy({
source: "lib/ace/worker/worker.js",
@ -155,7 +156,41 @@ copy({
dest: 'build/worker.js'
});
var eclipseTheme = copy.createDataObject();
copy({
source: [{
root: aceHome + '/lib',
include: "ace/theme/eclipse.js"
}],
filter: [ copy.filter.moduleDefines ],
dest: eclipseTheme
});
copy({
source: [{
root: aceHome + '/lib',
include: "ace/theme/eclipse.css"
}],
filter: [ copy.filter.addDefines ],
dest: eclipseTheme
});
copy({
source: eclipseTheme,
dest: 'build/theme/eclipse.js'
});
[
"clouds", "clouds_midnight", "cobalt", "dawn", "idle_fingers", "kr_theme",
"mono_industrial", "monokai", "pastel_on_dark", "twilight"
].forEach(function(theme) {
copy({
source: [{
root: aceHome + '/lib',
include: "ace/theme/" + theme + ".js"
}],
filter: [ copy.filter.moduleDefines ],
dest: "build/theme/" + theme + ".js"
});
});
function internalRequire(ignore) {
var exports = {};

View file

@ -41,38 +41,43 @@ if (window.document) {
require("pilot/fixoldbrowsers");
require("pilot/settings");
var catalog = require("pilot/plugin_manager").catalog;
var Event = require("pilot/event");
var EditSession = require("ace/edit_session").EditSession;
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 catalog = require("pilot/plugin_manager").catalog;
catalog.registerPlugins([ "pilot/index" ]);
var ace = {
edit: function(el) {
if (typeof(el) == "string") {
el = document.getElementById(el);
}
var doc = new EditSession(el.innerHTML);
doc.setMode(new JavaScriptMode());
doc.setUndoManager(new UndoManager());
el.innerHTML = '';
var editor = new Editor(new Renderer(el, "ace/theme/textmate"));
editor.setSession(doc);
var env = require("pilot/environment").create();
catalog.startupPlugins({ env: env }).then(function() {
var EditSession = require("ace/edit_session").EditSession;
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 EditSession(el.innerHTML);
el.innerHTML = '';
doc.setMode(new JavaScriptMode());
doc.setUndoManager(new UndoManager());
env.document = doc;
env.editor = new Editor(new Renderer(el, theme));
env.editor.setSession(doc);
env.editor.resize();
env.editor = env;
editor.resize();
Event.addListener(window, "resize", function() {
env.editor.resize();
editor.resize();
});
el.env = env;
});
});
return editor;
}
};
}

View file

@ -18,10 +18,12 @@
}</div>
<script src="ace-uncompressed.js" type="text/javascript" charset="utf-8"></script>
<script src="theme/twilight.js" type="text/javascript" charset="utf-8"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
ace.edit("editor");
}, false);
document.addEventListener("DOMContentLoaded", function() {
var editor = ace.edit("editor");
editor.setTheme("ace/theme/twilight");
}, false);
</script>
</body>