kopia lustrzana https://github.com/c9/core
commit
5d5269e872
|
@ -298,7 +298,7 @@ config.paths = Object.create(null);
|
|||
config.baseUrl = "";
|
||||
config.useCache = false;
|
||||
|
||||
require.undef = function(module, recursive) {
|
||||
define.undef = require.undef = function(module, recursive) {
|
||||
if (recursive) {
|
||||
var root = (module + "/").replace(/\/+$/, "/");
|
||||
undefAll(root, define.errors);
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
"c9"
|
||||
],
|
||||
"c9plugins": {
|
||||
"c9.ide.language": "#9ecb087000",
|
||||
"c9.ide.language": "#f8ab7c7f92",
|
||||
"c9.ide.language.css": "#be07d72209",
|
||||
"c9.ide.language.generic": "#a4023db7f6",
|
||||
"c9.ide.language.html": "#22fdc74869",
|
||||
|
@ -67,7 +67,7 @@
|
|||
"c9.ide.language.javascript.tern": "#bf1072b11a",
|
||||
"c9.ide.language.javascript.infer": "#0561c69d67",
|
||||
"c9.ide.language.jsonalyzer": "#bf12af3d0a",
|
||||
"c9.ide.collab": "#e2d334eee6",
|
||||
"c9.ide.collab": "#00bd850bba",
|
||||
"c9.ide.local": "#ded0db8949",
|
||||
"c9.ide.find": "#e33fbaed2f",
|
||||
"c9.ide.find.infiles": "#f0149b05ff",
|
||||
|
|
|
@ -37,6 +37,7 @@ define(function(require, exports, module) {
|
|||
require("./scrollbar");
|
||||
|
||||
// Ace
|
||||
var dom = require("ace/lib/dom");
|
||||
var lang = require("ace/lib/lang");
|
||||
var Range = require("ace/range").Range;
|
||||
var config = require("ace/config");
|
||||
|
@ -144,6 +145,11 @@ define(function(require, exports, module) {
|
|||
function setTheme(path, isPreview, fromServer, $err) {
|
||||
// Get Theme or wait for theme to load
|
||||
theme = fromServer;
|
||||
if (/custom_themes/.test(path)) {
|
||||
theme = themes[path];
|
||||
if (!theme) return;
|
||||
dom.importCssString(theme.cssText, theme.cssClass);
|
||||
}
|
||||
if (!theme) {
|
||||
return $err || config.loadModule(path, function(m) {
|
||||
setTheme(path, isPreview, m, true);
|
||||
|
@ -154,6 +160,8 @@ define(function(require, exports, module) {
|
|||
if (settings.get("user/ace/@theme") != path) {
|
||||
settings.set("user/ace/@theme", path);
|
||||
|
||||
settings.set("user/ace/@customTheme", theme.customCss);
|
||||
|
||||
// Emit theme change event
|
||||
var style = (theme.isDark ? "dark" : "light");
|
||||
if (settings.get("user/general/@skin").indexOf(style) == -1)
|
||||
|
@ -504,7 +512,12 @@ define(function(require, exports, module) {
|
|||
settings.on("read", function(e) {
|
||||
settings.setDefaults("user/ace", userSettings);
|
||||
settings.setDefaults("project/ace", projectSettings);
|
||||
|
||||
|
||||
// TODO remove when there is a better way of loading custom themes
|
||||
var customTheme = settings.get("user/ace/@customTheme");
|
||||
if (customTheme)
|
||||
addTheme(customTheme, handle);
|
||||
|
||||
// pre load custom mime types
|
||||
loadCustomExtensions();
|
||||
|
||||
|
@ -1243,20 +1256,33 @@ define(function(require, exports, module) {
|
|||
theme[info[0].trim()] = info[1].trim();
|
||||
});
|
||||
theme.isDark = theme.isDark == "true";
|
||||
|
||||
themes[theme.name] = theme;
|
||||
|
||||
ui.insertCss(exports.cssText, plugin);
|
||||
addThemeMenu(theme.name, theme, null, plugin);
|
||||
theme.id = "custom_themes/" + theme.name;
|
||||
theme.customCss = css;
|
||||
define.undef(theme.id);
|
||||
define(theme.id, [], theme);
|
||||
|
||||
handleEmit("addTheme");
|
||||
themes[theme.id] = theme;
|
||||
|
||||
addThemeMenu(theme.name, theme.id, null, plugin);
|
||||
|
||||
handleEmit("addTheme", theme);
|
||||
|
||||
if (settings.get("user/ace/@theme") == theme.id)
|
||||
setTheme(theme.id);
|
||||
|
||||
plugin.addOther(function(){
|
||||
delete themes[theme.name];
|
||||
handleEmit("removeTheme");
|
||||
removeTheme(theme, true);
|
||||
});
|
||||
}
|
||||
|
||||
function removeTheme(theme, silent) {
|
||||
var el = document.getElementById(theme.cssClass);
|
||||
el && el.remove();
|
||||
delete themes[theme.name];
|
||||
silent || handleEmit("removeTheme");
|
||||
}
|
||||
|
||||
function rebuildSyntaxMenu() {
|
||||
menus.remove("View/Syntax/");
|
||||
var c = 0;
|
||||
|
@ -1707,7 +1733,7 @@ define(function(require, exports, module) {
|
|||
/***** Initialization *****/
|
||||
|
||||
function Ace(isBaseclass, exts) {
|
||||
if ( !exts) exts = [];
|
||||
if (!exts) exts = [];
|
||||
var plugin = new Editor("Ajax.org", main.consumes,
|
||||
exts && exts.concat(extensions) || extensions);
|
||||
var emit = plugin.getEmitter();
|
||||
|
|
Ładowanie…
Reference in New Issue