Skip to content

Commit

Permalink
fix loading of unpackaged workers
Browse files Browse the repository at this point in the history
  • Loading branch information
nightwing committed Jul 10, 2012
1 parent ccdb5c5 commit fa4b5d5
Show file tree
Hide file tree
Showing 8 changed files with 28 additions and 18 deletions.
32 changes: 21 additions & 11 deletions lib/ace/config.js
Expand Up @@ -50,35 +50,45 @@ var options = {
workerPath: "",
modePath: "",
themePath: "",
suffix: ".js"
suffix: ".js",
$moduleUrls: {}
};

exports.get = function(key) {
if (!options.hasOwnProperty(key))
throw new Error("Unknown config key: " + key);

return options[key];
};

exports.set = function(key, value) {
if (!options.hasOwnProperty(key))
throw new Error("Unknown config key: " + key);

options[key] = value;
};

exports.all = function() {
return lang.copyObject(options);
};

exports.moduleUrl = function(name) {
exports.moduleUrl = function(name, component) {
if (options.$moduleUrls[name])
return options.$moduleUrls[name];

var parts = name.split("/");
var component = parts[1];
var base = parts[2];
component = component || parts[1];
var base = parts[2].replace(component, "").replace(/(^[\-_])|([\-_]$)/, "");

if (!base)
base = parts[1];
return this.get(component + "Path") + "/" + component + "-" + base + this.get("suffix");
};

exports.setModuleUrl = function(name, subst) {
return options.$moduleUrls[name] = subst;
};

exports.init = function() {
options.packaged = require.packaged || module.packaged || (global.define && define.packaged);

Expand All @@ -87,7 +97,7 @@ exports.init = function() {

var scriptOptions = {};
var scriptUrl = "";

var scripts = document.getElementsByTagName("script");
for (var i=0; i<scripts.length; i++) {
var script = scripts[i];
Expand All @@ -96,7 +106,7 @@ exports.init = function() {
if (!src) {
continue;
}

var attributes = script.attributes;
for (var j=0, l=attributes.length; j < l; j++) {
var attr = attributes[j];
Expand All @@ -109,17 +119,17 @@ exports.init = function() {
if (m)
scriptUrl = m[1];
}

if (scriptUrl) {
scriptOptions.base = scriptOptions.base || scriptUrl;
scriptOptions.packaged = true;
}

scriptOptions.workerPath = scriptOptions.workerPath || scriptOptions.base;
scriptOptions.modePath = scriptOptions.modePath || scriptOptions.base;
scriptOptions.themePath = scriptOptions.themePath || scriptOptions.base;
delete scriptOptions.base;

for (var key in scriptOptions)
if (typeof scriptOptions[key] !== "undefined")
exports.set(key, scriptOptions[key]);
Expand Down
2 changes: 1 addition & 1 deletion lib/ace/edit_session.js
Expand Up @@ -856,7 +856,7 @@ var EditSession = function(text, mode) {
if (!config.get("packaged"))
return callback();

net.loadScript(config.moduleUrl(name), callback);
net.loadScript(config.moduleUrl(name, "mode"), callback);
}
};

Expand Down
2 changes: 1 addition & 1 deletion lib/ace/mode/coffee.js
Expand Up @@ -100,7 +100,7 @@ oop.inherits(Mode, TextMode);
};

this.createWorker = function(session) {
var worker = new WorkerClient(["ace"], "ace/worker/coffee", "Worker");
var worker = new WorkerClient(["ace"], "ace/mode/coffee_worker", "Worker");
worker.attachToDocument(session.getDocument());

worker.on("error", function(e) {
Expand Down
2 changes: 1 addition & 1 deletion lib/ace/mode/css.js
Expand Up @@ -83,7 +83,7 @@ oop.inherits(Mode, TextMode);
};

this.createWorker = function(session) {
var worker = new WorkerClient(["ace"], "ace/worker/css", "Worker");
var worker = new WorkerClient(["ace"], "ace/mode/css_worker", "Worker");
worker.attachToDocument(session.getDocument());

worker.on("csslint", function(e) {
Expand Down
2 changes: 1 addition & 1 deletion lib/ace/mode/javascript.js
Expand Up @@ -128,7 +128,7 @@ oop.inherits(Mode, TextMode);
};

this.createWorker = function(session) {
var worker = new WorkerClient(["ace"], "ace/worker/javascript", "JavaScriptWorker");
var worker = new WorkerClient(["ace"], "ace/mode/javascript_worker", "JavaScriptWorker");
worker.attachToDocument(session.getDocument());

worker.on("jslint", function(results) {
Expand Down
2 changes: 1 addition & 1 deletion lib/ace/mode/xquery.js
Expand Up @@ -120,7 +120,7 @@ oop.inherits(Mode, TextMode);

this.createWorker = function(session) {
this.$deltas = [];
var worker = new WorkerClient(["ace"], "ace/worker/xquery", "XQueryWorker");
var worker = new WorkerClient(["ace"], "ace/mode/xquery_worker", "XQueryWorker");
var that = this;

session.getDocument().on('change', function(evt){
Expand Down
2 changes: 1 addition & 1 deletion lib/ace/virtual_renderer.js
Expand Up @@ -1288,7 +1288,7 @@ var VirtualRenderer = function(container, theme) {
if (!config.get("packaged"))
return callback();

net.loadScript(config.moduleUrl(name), callback);
net.loadScript(config.moduleUrl(name, "theme"), callback);
};

/**
Expand Down
2 changes: 1 addition & 1 deletion lib/ace/worker/worker_client.js
Expand Up @@ -47,7 +47,7 @@ var WorkerClient = function(topLevelNamespaces, mod, classname) {
this.changeListener = this.changeListener.bind(this);

if (config.get("packaged")) {
this.$worker = new Worker(config.moduleUrl(mod));
this.$worker = new Worker(config.moduleUrl(mod, "worker"));
}
else {
var workerUrl;
Expand Down

0 comments on commit fa4b5d5

Please sign in to comment.