diff --git a/lib/ace/edit_session.js b/lib/ace/edit_session.js index 9c57038c..ab385cfa 100644 --- a/lib/ace/edit_session.js +++ b/lib/ace/edit_session.js @@ -515,8 +515,7 @@ var EditSession = function(text, mode) { this.tokenRe = mode.tokenRe; this.nonTokenRe = mode.nonTokenRe; - if (mode.foldingRules) - this.$setFolding(mode.foldingRules); + this.$setFolding(mode.foldingRules); this._dispatchEvent("changeMode"); }; @@ -641,7 +640,7 @@ var EditSession = function(text, mode) { this.$fromUndo = true; var lastUndoRange = null; for (var i = deltas.length - 1; i != -1; i--) { - delta = deltas[i]; + var delta = deltas[i]; if (delta.group == "doc") { this.doc.revertDeltas(delta.deltas); lastUndoRange = @@ -666,7 +665,7 @@ var EditSession = function(text, mode) { this.$fromUndo = true; var lastUndoRange = null; for (var i = 0; i < deltas.length; i++) { - delta = deltas[i]; + var delta = deltas[i]; if (delta.group == "doc") { this.doc.applyDeltas(delta.deltas); lastUndoRange = @@ -908,7 +907,7 @@ var EditSession = function(text, mode) { if (useWrapMode) { var len = this.getLength(); this.$wrapData = []; - for (i = 0; i < len; i++) { + for (var i = 0; i < len; i++) { this.$wrapData.push([]); } this.$updateWrapData(0, len - 1); @@ -1070,7 +1069,6 @@ var EditSession = function(text, mode) { } else { // Realign folds. E.g. if you add some new chars before a fold, the // fold should "move" to the right. - var column; len = Math.abs(e.data.range.start.column - e.data.range.end.column); if (action.indexOf("remove") != -1) { // Get all the folds in the change range and remove them. @@ -1158,7 +1156,6 @@ var EditSession = function(text, mode) { return []; } - var tabSize = this.getTabSize(); var splits = []; var displayLength = tokens.length; var lastSplit = 0, lastDocSplit = 0; @@ -1414,7 +1411,6 @@ var EditSession = function(text, mode) { var docRow = 0; var docColumn = 0; var column; - var foldLineRowLength; var row = 0; var rowLength = 0; @@ -1514,8 +1510,6 @@ var EditSession = function(text, mode) { docRow = pos.row; docColumn = pos.column; - var LL = this.$rowCache.length; - var wrapData; // Special case in wrapMode if the doc is at the end of the document. if (this.$useWrapMode) { @@ -1531,7 +1525,6 @@ var EditSession = function(text, mode) { } var screenRow = 0; - var screenColumn = 0; var foldStartRow = null; var fold = null; diff --git a/lib/ace/editor.js b/lib/ace/editor.js index 4953f3d3..67dda7bb 100644 --- a/lib/ace/editor.js +++ b/lib/ace/editor.js @@ -43,7 +43,6 @@ define(function(require, exports, module) { require("./lib/fixoldbrowsers"); var oop = require("./lib/oop"); -var event = require("./lib/event"); var lang = require("./lib/lang"); var useragent = require("./lib/useragent"); var TextInput = require("./keyboard/textinput").TextInput; @@ -296,9 +295,10 @@ var Editor = function(renderer, session) { this.onDocumentChange = function(e) { var delta = e.data; var range = delta.range; + var lastRow; if (range.start.row == range.end.row && delta.action != "insertLines" && delta.action != "removeLines") - var lastRow = range.end.row; + lastRow = range.end.row; else lastRow = Infinity; this.renderer.updateLines(range.start.row, lastRow); @@ -445,7 +445,7 @@ var Editor = function(renderer, session) { // remove selected text if (!this.selection.isEmpty()) { - var cursor = this.session.remove(this.getSelectionRange()); + cursor = this.session.remove(this.getSelectionRange()); this.clearSelection(); } else if (this.session.getOverwrite()) { @@ -548,7 +548,7 @@ var Editor = function(renderer, session) { }; this.getScrollSpeed = function() { - return this.$mouseHandler.getScrollSpeed() + return this.$mouseHandler.getScrollSpeed(); }; this.$selectionStyle = "line"; @@ -804,7 +804,7 @@ var Editor = function(renderer, session) { this.removeLines = function() { var rows = this.$getSelectedRows(); var range; - if (rows.first == 0 || rows.last+1 < this.session.getLength()) + if (rows.first === 0 || rows.last+1 < this.session.getLength()) range = new Range(rows.first, 0, rows.last+1, 0); else range = new Range( @@ -862,7 +862,8 @@ var Editor = function(renderer, session) { range.start.row += linesMoved; range.end.row += linesMoved; selection.setSelectionRange(range, reverse); - } else { + } + else { selection.setSelectionAnchor(rows.last+linesMoved+1, 0); selection.$moveSelection(function() { selection.moveCursorTo(rows.first+linesMoved, 0); @@ -1017,7 +1018,7 @@ var Editor = function(renderer, session) { this.gotoLine = function(lineNumber, column) { this.selection.clearSelection(); - this.session.unfold({row: lineNumber - 1, column: column || 0}) + this.session.unfold({row: lineNumber - 1, column: column || 0}); this.$blockScrolling += 1; this.moveCursorTo(lineNumber-1, column || 0); diff --git a/lib/ace/mode/folding/fold_mode.js b/lib/ace/mode/folding/fold_mode.js index 1f941c00..c775d6cf 100644 --- a/lib/ace/mode/folding/fold_mode.js +++ b/lib/ace/mode/folding/fold_mode.js @@ -50,10 +50,16 @@ var FoldMode = exports.FoldMode = function() {}; this.getFoldWidget = function(session, row) { if (this.foldingStartMarker) { - if (this.foldingStopMarker) + if (this.foldingStopMarker) { + // rewrite getFoldWidget so the check is only performed once + FoldMode.prototype.getFoldWidget = this.$testBoth; return this.$testBoth(session, row); - else + } + else { + // rewrite getFoldWidget so the check is only performed once + FoldMode.prototype.getFoldWidget = this.$testStart; return this.$testStart(session, row); + } } else return ""; @@ -65,7 +71,8 @@ var FoldMode = exports.FoldMode = function() {}; this.indentationBlock = function(session, row) { var re = /^\s*/; - var startRow = row, endRow = row; + var startRow = row; + var endRow = row; var line = session.getLine(row); var startColumn = line.length - 1; var startLevel = line.match(re)[0].length;