From f10d7598341f8a4f1d4fbb27c697fdc26c9f303e Mon Sep 17 00:00:00 2001 From: Tom Tasche Date: Tue, 1 Feb 2011 11:37:26 +0100 Subject: [PATCH] remove java_worker, fix mistakes mentioned by fjakobs --- lib/ace/mode/java.js | 76 +--------------------------- lib/ace/mode/java_highlight_rules.js | 12 ----- lib/ace/mode/java_worker.js | 46 ----------------- 3 files changed, 2 insertions(+), 132 deletions(-) delete mode 100644 lib/ace/mode/java_worker.js diff --git a/lib/ace/mode/java.js b/lib/ace/mode/java.js index 0d9d5fb3..8d224c3e 100644 --- a/lib/ace/mode/java.js +++ b/lib/ace/mode/java.js @@ -1,89 +1,17 @@ define(function(require, exports, module) { 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 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() { this.$tokenizer = new Tokenizer(new JavaHighlightRules().getRules()); this.$outdent = new MatchingBraceOutdent(); }; -oop.inherits(Mode, TextMode); +oop.inherits(Mode, JavaScriptMode); (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) { return null; diff --git a/lib/ace/mode/java_highlight_rules.js b/lib/ace/mode/java_highlight_rules.js index a4c84567..712f8839 100644 --- a/lib/ace/mode/java_highlight_rules.js +++ b/lib/ace/mode/java_highlight_rules.js @@ -48,17 +48,9 @@ JavaHighlightRules = function() { }, { token : "string", // single line regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]' - }, { - token : "string", // multi line string start - regex : '["].*\\\\$', - next : "qqstring" }, { token : "string", // single line regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']" - }, { - token : "string", // multi line string start - regex : "['].*\\\\$", - next : "qstring" }, { token : "constant.numeric", // hex regex : "0[xX][0-9a-fA-F]+\\b" @@ -76,10 +68,6 @@ JavaHighlightRules = function() { return "keyword"; else if (buildinConstants[value]) return "constant.language"; - else if (futureReserved[value]) - return "invalid.illegal"; - else if (value == "debugger") - return "invalid.deprecated"; else return "identifier"; }, diff --git a/lib/ace/mode/java_worker.js b/lib/ace/mode/java_worker.js deleted file mode 100644 index c8ac4894..00000000 --- a/lib/ace/mode/java_worker.js +++ /dev/null @@ -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); - -}); \ No newline at end of file