remove java_worker, fix mistakes mentioned by fjakobs
This commit is contained in:
parent
53a4f1eacb
commit
f10d759834
3 changed files with 2 additions and 132 deletions
|
|
@ -1,89 +1,17 @@
|
||||||
define(function(require, exports, module) {
|
define(function(require, exports, module) {
|
||||||
|
|
||||||
var oop = require("pilot/oop");
|
var oop = require("pilot/oop");
|
||||||
var TextMode = require("ace/mode/text").Mode;
|
var JavaScriptMode = require("ace/mode/javascript").Mode;
|
||||||
var Tokenizer = require("ace/tokenizer").Tokenizer;
|
var Tokenizer = require("ace/tokenizer").Tokenizer;
|
||||||
var JavaHighlightRules = require("ace/mode/java_highlight_rules").JavaHighlightRules;
|
var JavaHighlightRules = require("ace/mode/java_highlight_rules").JavaHighlightRules;
|
||||||
var MatchingBraceOutdent = require("ace/mode/matching_brace_outdent").MatchingBraceOutdent;
|
|
||||||
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 JavaHighlightRules().getRules());
|
this.$tokenizer = new Tokenizer(new JavaHighlightRules().getRules());
|
||||||
this.$outdent = new MatchingBraceOutdent();
|
this.$outdent = new MatchingBraceOutdent();
|
||||||
};
|
};
|
||||||
oop.inherits(Mode, TextMode);
|
oop.inherits(Mode, JavaScriptMode);
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
|
|
||||||
this.toggleCommentLines = function(state, doc, startRow, endRow) {
|
|
||||||
var outdent = true;
|
|
||||||
var outentedRows = [];
|
|
||||||
var re = /^(\s*)\/\//;
|
|
||||||
|
|
||||||
for (var i=startRow; i<= endRow; i++) {
|
|
||||||
if (!re.test(doc.getLine(i))) {
|
|
||||||
outdent = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (outdent) {
|
|
||||||
var deleteRange = new Range(0, 0, 0, 0);
|
|
||||||
for (var i=startRow; i<= endRow; i++)
|
|
||||||
{
|
|
||||||
var line = doc.getLine(i).replace(re, "$1");
|
|
||||||
deleteRange.start.row = i;
|
|
||||||
deleteRange.end.row = i;
|
|
||||||
deleteRange.end.column = line.length + 2;
|
|
||||||
doc.replace(deleteRange, line);
|
|
||||||
}
|
|
||||||
return -2;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return doc.indentRows(startRow, endRow, "//");
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
this.getNextLineIndent = function(state, line, tab) {
|
|
||||||
var indent = this.$getIndent(line);
|
|
||||||
|
|
||||||
var tokenizedLine = this.$tokenizer.getLineTokens(line, state);
|
|
||||||
var tokens = tokenizedLine.tokens;
|
|
||||||
var endState = tokenizedLine.state;
|
|
||||||
|
|
||||||
if (tokens.length && tokens[tokens.length-1].type == "comment") {
|
|
||||||
return indent;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (state == "start") {
|
|
||||||
var match = line.match(/^.*[\{\(\[]\s*$/);
|
|
||||||
if (match) {
|
|
||||||
indent += tab;
|
|
||||||
}
|
|
||||||
} else if (state == "doc-start") {
|
|
||||||
if (endState == "start") {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
var match = line.match(/^\s*(\/?)\*/);
|
|
||||||
if (match) {
|
|
||||||
if (match[1]) {
|
|
||||||
indent += " ";
|
|
||||||
}
|
|
||||||
indent += "* ";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return indent;
|
|
||||||
};
|
|
||||||
|
|
||||||
this.checkOutdent = function(state, line, input) {
|
|
||||||
return this.$outdent.checkOutdent(line, input);
|
|
||||||
};
|
|
||||||
|
|
||||||
this.autoOutdent = function(state, doc, row) {
|
|
||||||
return this.$outdent.autoOutdent(doc, row);
|
|
||||||
};
|
|
||||||
|
|
||||||
this.createWorker = function(session) {
|
this.createWorker = function(session) {
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
|
|
@ -48,17 +48,9 @@ JavaHighlightRules = function() {
|
||||||
}, {
|
}, {
|
||||||
token : "string", // single line
|
token : "string", // single line
|
||||||
regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
|
regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
|
||||||
}, {
|
|
||||||
token : "string", // multi line string start
|
|
||||||
regex : '["].*\\\\$',
|
|
||||||
next : "qqstring"
|
|
||||||
}, {
|
}, {
|
||||||
token : "string", // single line
|
token : "string", // single line
|
||||||
regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
|
regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
|
||||||
}, {
|
|
||||||
token : "string", // multi line string start
|
|
||||||
regex : "['].*\\\\$",
|
|
||||||
next : "qstring"
|
|
||||||
}, {
|
}, {
|
||||||
token : "constant.numeric", // hex
|
token : "constant.numeric", // hex
|
||||||
regex : "0[xX][0-9a-fA-F]+\\b"
|
regex : "0[xX][0-9a-fA-F]+\\b"
|
||||||
|
|
@ -76,10 +68,6 @@ JavaHighlightRules = function() {
|
||||||
return "keyword";
|
return "keyword";
|
||||||
else if (buildinConstants[value])
|
else if (buildinConstants[value])
|
||||||
return "constant.language";
|
return "constant.language";
|
||||||
else if (futureReserved[value])
|
|
||||||
return "invalid.illegal";
|
|
||||||
else if (value == "debugger")
|
|
||||||
return "invalid.deprecated";
|
|
||||||
else
|
else
|
||||||
return "identifier";
|
return "identifier";
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
||||||
define(function(require, exports, module) {
|
|
||||||
|
|
||||||
var oop = require("pilot/oop");
|
|
||||||
var Mirror = require("ace/worker/mirror").Mirror;
|
|
||||||
var lint = require("ace/worker/jslint").JSLINT;
|
|
||||||
|
|
||||||
var JavaScriptWorker = exports.JavaScriptWorker = function(sender) {
|
|
||||||
Mirror.call(this, sender);
|
|
||||||
this.setTimeout(500);
|
|
||||||
};
|
|
||||||
|
|
||||||
oop.inherits(JavaScriptWorker, Mirror);
|
|
||||||
|
|
||||||
(function() {
|
|
||||||
|
|
||||||
this.onUpdate = function() {
|
|
||||||
var value = this.doc.getValue();
|
|
||||||
|
|
||||||
// var start = new Date();
|
|
||||||
var parser = require("ace/narcissus/jsparse");
|
|
||||||
try {
|
|
||||||
parser.parse(value);
|
|
||||||
} catch(e) {
|
|
||||||
// console.log("narcissus")
|
|
||||||
// console.log(e);
|
|
||||||
sender.emit("narcissus", {
|
|
||||||
row: e.lineno-1,
|
|
||||||
column: null, // TODO convert e.cursor
|
|
||||||
text: e.message,
|
|
||||||
type: "error"
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
} finally {
|
|
||||||
// console.log("parse time: " + (new Date() - start));
|
|
||||||
}
|
|
||||||
|
|
||||||
// var start = new Date();
|
|
||||||
// console.log("jslint")
|
|
||||||
lint(value, {undef: false, onevar: false, passfail: false});
|
|
||||||
this.sender.emit("jslint", lint.errors);
|
|
||||||
// console.log("lint time: " + (new Date() - start));
|
|
||||||
}
|
|
||||||
|
|
||||||
}).call(JavaScriptWorker.prototype);
|
|
||||||
|
|
||||||
});
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue