Extract packaged module loading
This commit is contained in:
parent
cc0508b922
commit
b8a7b8ec90
4 changed files with 21 additions and 9 deletions
|
|
@ -71,6 +71,22 @@ exports.all = function() {
|
||||||
return lang.copyObject(options);
|
return lang.copyObject(options);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
exports.moduleUrl = function(name) {
|
||||||
|
var parts = name.split("/");
|
||||||
|
if (parts[0] !== "ace") return;
|
||||||
|
|
||||||
|
var component = parts[1];
|
||||||
|
var base = parts[2];
|
||||||
|
|
||||||
|
if (component == "mode") {
|
||||||
|
return this.get("modePath") + "/mode-" + base + this.get("suffix");
|
||||||
|
} else if (component === "theme") {
|
||||||
|
return this.get("themePath") + "/theme-" + base + this.get("suffix");
|
||||||
|
} else if (component == "worker") {
|
||||||
|
return this.get("workerPath") + "/" + base + this.get("suffix");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
exports.init = function() {
|
exports.init = function() {
|
||||||
options.packaged = require.packaged || module.packaged || (global.define && define.packaged);
|
options.packaged = require.packaged || module.packaged || (global.define && define.packaged);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -835,7 +835,7 @@ var EditSession = function(text, mode) {
|
||||||
if (!this.$mode)
|
if (!this.$mode)
|
||||||
this.$setModePlaceholder();
|
this.$setModePlaceholder();
|
||||||
|
|
||||||
fetch(function() {
|
fetch(mode, function() {
|
||||||
require([mode], done);
|
require([mode], done);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -852,13 +852,11 @@ var EditSession = function(text, mode) {
|
||||||
callback(_self.$modes[mode]);
|
callback(_self.$modes[mode]);
|
||||||
}
|
}
|
||||||
|
|
||||||
function fetch(callback) {
|
function fetch(name, callback) {
|
||||||
if (!config.get("packaged"))
|
if (!config.get("packaged"))
|
||||||
return callback();
|
return callback();
|
||||||
|
|
||||||
var base = mode.split("/").pop();
|
net.loadScript(config.moduleUrl(name), callback);
|
||||||
var filename = config.get("modePath") + "/mode-" + base + ".js";
|
|
||||||
net.loadScript(filename, callback);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1288,9 +1288,7 @@ var VirtualRenderer = function(container, theme) {
|
||||||
if (!config.get("packaged"))
|
if (!config.get("packaged"))
|
||||||
return callback();
|
return callback();
|
||||||
|
|
||||||
var base = name.split("/").pop();
|
net.loadScript(config.moduleUrl(name), callback);
|
||||||
var filename = config.get("themePath") + "/theme-" + base + config.get("suffix");
|
|
||||||
net.loadScript(filename, callback);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ var WorkerClient = function(topLevelNamespaces, packagedJs, mod, classname) {
|
||||||
this.changeListener = this.changeListener.bind(this);
|
this.changeListener = this.changeListener.bind(this);
|
||||||
|
|
||||||
if (config.get("packaged")) {
|
if (config.get("packaged")) {
|
||||||
this.$worker = new Worker(config.get("workerPath") + "/" + packagedJs);
|
this.$worker = new Worker(config.moduleUrl(mod));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
var workerUrl;
|
var workerUrl;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue