fix worker loading for requirejs
This commit is contained in:
parent
519546289c
commit
81bafa346a
4 changed files with 6 additions and 10 deletions
|
|
@ -124,7 +124,7 @@ oop.inherits(Mode, TextMode);
|
||||||
|
|
||||||
this.createWorker = function(session) {
|
this.createWorker = function(session) {
|
||||||
var doc = session.getDocument();
|
var doc = session.getDocument();
|
||||||
var worker = new WorkerClient("../..", ["ace", "pilot"], "worker-javascript.js", "ace/mode/javascript_worker", "JavaScriptWorker");
|
var worker = new WorkerClient(["ace", "pilot"], "worker-javascript.js", "ace/mode/javascript_worker", "JavaScriptWorker");
|
||||||
worker.call("setValue", [doc.getValue()]);
|
worker.call("setValue", [doc.getValue()]);
|
||||||
|
|
||||||
doc.on("change", function(e) {
|
doc.on("change", function(e) {
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,6 @@ var Tokenizer = require("ace/tokenizer").Tokenizer;
|
||||||
var RubyHighlightRules = require("ace/mode/ruby_highlight_rules").RubyHighlightRules;
|
var RubyHighlightRules = require("ace/mode/ruby_highlight_rules").RubyHighlightRules;
|
||||||
var MatchingBraceOutdent = require("ace/mode/matching_brace_outdent").MatchingBraceOutdent;
|
var MatchingBraceOutdent = require("ace/mode/matching_brace_outdent").MatchingBraceOutdent;
|
||||||
var Range = require("ace/range").Range;
|
var Range = require("ace/range").Range;
|
||||||
var WorkerClient = require("ace/worker/worker_client").WorkerClient;
|
|
||||||
|
|
||||||
var Mode = function() {
|
var Mode = function() {
|
||||||
this.$tokenizer = new Tokenizer(new RubyHighlightRules().getRules());
|
this.$tokenizer = new Tokenizer(new RubyHighlightRules().getRules());
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ var require = function(id) {
|
||||||
|
|
||||||
var chunks = id.split("/");
|
var chunks = id.split("/");
|
||||||
chunks[0] = require.tlns[chunks[0]] || chunks[0];
|
chunks[0] = require.tlns[chunks[0]] || chunks[0];
|
||||||
path = /*require.baseUrl + "/" +*/ chunks.join("/") + ".js";
|
path = chunks.join("/") + ".js";
|
||||||
|
|
||||||
require.id = id;
|
require.id = id;
|
||||||
// console.log("require " + path + " " + id)
|
// console.log("require " + path + " " + id)
|
||||||
|
|
@ -29,7 +29,6 @@ var require = function(id) {
|
||||||
|
|
||||||
require.modules = {};
|
require.modules = {};
|
||||||
require.tlns = {};
|
require.tlns = {};
|
||||||
require.baseUrl = "";
|
|
||||||
|
|
||||||
var define = function(id, factory) {
|
var define = function(id, factory) {
|
||||||
if (!factory) {
|
if (!factory) {
|
||||||
|
|
@ -52,8 +51,7 @@ var define = function(id, factory) {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
function initBaseUrls(baseUrl, topLevelNamespaces) {
|
function initBaseUrls(topLevelNamespaces) {
|
||||||
require.baseUrl = baseUrl;
|
|
||||||
require.tlns = topLevelNamespaces;
|
require.tlns = topLevelNamespaces;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -98,7 +96,7 @@ onmessage = function(e) {
|
||||||
main[msg.command].apply(main, msg.args);
|
main[msg.command].apply(main, msg.args);
|
||||||
}
|
}
|
||||||
else if (msg.init) {
|
else if (msg.init) {
|
||||||
initBaseUrls(msg.base, msg.tlns);
|
initBaseUrls(msg.tlns);
|
||||||
require("pilot/fixoldbrowsers");
|
require("pilot/fixoldbrowsers");
|
||||||
sender = initSender();
|
sender = initSender();
|
||||||
var clazz = require(msg.module)[msg.classname];
|
var clazz = require(msg.module)[msg.classname];
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ define(function(require, exports, module) {
|
||||||
var oop = require("pilot/oop");
|
var oop = require("pilot/oop");
|
||||||
var EventEmitter = require("pilot/event_emitter").EventEmitter;
|
var EventEmitter = require("pilot/event_emitter").EventEmitter;
|
||||||
|
|
||||||
var WorkerClient = function(baseUrl, topLevelNamespaces, packagedJs, module, classname) {
|
var WorkerClient = function(topLevelNamespaces, packagedJs, module, classname) {
|
||||||
|
|
||||||
this.callbacks = [];
|
this.callbacks = [];
|
||||||
|
|
||||||
|
|
@ -25,14 +25,13 @@ var WorkerClient = function(baseUrl, topLevelNamespaces, packagedJs, module, cla
|
||||||
var tlns = {};
|
var tlns = {};
|
||||||
for (var i=0; i<topLevelNamespaces.length; i++) {
|
for (var i=0; i<topLevelNamespaces.length; i++) {
|
||||||
var ns = topLevelNamespaces[i];
|
var ns = topLevelNamespaces[i];
|
||||||
tlns[ns] = require.nameToUrl(ns, null, "_").replace(/.js$/, "").replace(require.config.baseUrl, "");
|
tlns[ns] = require.nameToUrl(ns, null, "_").replace(/.js$/, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.$worker.postMessage({
|
this.$worker.postMessage({
|
||||||
init : true,
|
init : true,
|
||||||
tlns: tlns,
|
tlns: tlns,
|
||||||
base: baseUrl,
|
|
||||||
module: module,
|
module: module,
|
||||||
classname: classname
|
classname: classname
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue