demo use of themes
This commit is contained in:
parent
ed763c17bd
commit
b5a665c33e
3 changed files with 69 additions and 27 deletions
|
|
@ -128,13 +128,6 @@ copy({
|
||||||
dest: data
|
dest: data
|
||||||
});
|
});
|
||||||
|
|
||||||
copy({
|
|
||||||
source: [
|
|
||||||
'build_support/editor.html'
|
|
||||||
],
|
|
||||||
dest: 'build/editor.html'
|
|
||||||
});
|
|
||||||
|
|
||||||
// Create the compressed and uncompressed output files
|
// Create the compressed and uncompressed output files
|
||||||
copy({
|
copy({
|
||||||
source: data,
|
source: data,
|
||||||
|
|
@ -146,6 +139,14 @@ copy({
|
||||||
dest: 'build/ace-uncompressed.js'
|
dest: 'build/ace-uncompressed.js'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
copy({
|
||||||
|
source: [
|
||||||
|
'build_support/editor.html'
|
||||||
|
],
|
||||||
|
dest: 'build/editor.html'
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
// Create worker bootstrap code
|
// Create worker bootstrap code
|
||||||
copy({
|
copy({
|
||||||
source: "lib/ace/worker/worker.js",
|
source: "lib/ace/worker/worker.js",
|
||||||
|
|
@ -155,7 +156,41 @@ copy({
|
||||||
dest: 'build/worker.js'
|
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) {
|
function internalRequire(ignore) {
|
||||||
var exports = {};
|
var exports = {};
|
||||||
|
|
|
||||||
|
|
@ -41,38 +41,43 @@ if (window.document) {
|
||||||
require("pilot/fixoldbrowsers");
|
require("pilot/fixoldbrowsers");
|
||||||
require("pilot/settings");
|
require("pilot/settings");
|
||||||
|
|
||||||
var catalog = require("pilot/plugin_manager").catalog;
|
|
||||||
var Event = require("pilot/event");
|
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" ]);
|
catalog.registerPlugins([ "pilot/index" ]);
|
||||||
|
|
||||||
|
|
||||||
var ace = {
|
var ace = {
|
||||||
edit: function(el) {
|
edit: function(el) {
|
||||||
if (typeof(el) == "string") {
|
if (typeof(el) == "string") {
|
||||||
el = document.getElementById(el);
|
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();
|
var env = require("pilot/environment").create();
|
||||||
catalog.startupPlugins({ env: env }).then(function() {
|
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.document = doc;
|
||||||
env.editor = new Editor(new Renderer(el, theme));
|
env.editor = env;
|
||||||
env.editor.setSession(doc);
|
editor.resize();
|
||||||
env.editor.resize();
|
|
||||||
Event.addListener(window, "resize", function() {
|
Event.addListener(window, "resize", function() {
|
||||||
env.editor.resize();
|
editor.resize();
|
||||||
});
|
});
|
||||||
el.env = env;
|
el.env = env;
|
||||||
});
|
});
|
||||||
|
return editor;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -18,10 +18,12 @@
|
||||||
}</div>
|
}</div>
|
||||||
|
|
||||||
<script src="ace-uncompressed.js" type="text/javascript" charset="utf-8"></script>
|
<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>
|
<script>
|
||||||
document.addEventListener("DOMContentLoaded", function() {
|
document.addEventListener("DOMContentLoaded", function() {
|
||||||
ace.edit("editor");
|
var editor = ace.edit("editor");
|
||||||
}, false);
|
editor.setTheme("ace/theme/twilight");
|
||||||
|
}, false);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue