Fix bugs in FoldLine.addFold and simplify

This commit is contained in:
Julian Viereck 2011-04-23 21:57:21 +02:00
commit a12f83c3d9
2 changed files with 4 additions and 16 deletions

View file

@ -150,8 +150,8 @@ exports.launch = function(env) {
// BEGING TESTING
var Range = require("ace/range").Range;
docs.js.addFold(new Range(0, 13, 0, 18), "args...");
docs.js.addFold(new Range(1, 10, 2, 10), "foo...");
docs.js.addFold(new Range(2, 20, 2, 25), "bar...");
docs.js.addFold(new Range(1, 10, 2, 10), "foo...");
window.s = docs.js;
window.e = env.editor;
setTimeout(function() {

View file

@ -1472,25 +1472,13 @@ var EditSession = function(text, mode) {
}
this.folds.push(fold);
this.folds.sort(function(a, b) {
if (a.sameLine && b.sameLine) {
if (a.start.row == b.start.row) {
return a.start.colun - b.start.column;
} else {
return a.start.row - b.start.row;
}
} else if (!a.sameLine && !b.sameLine) {
return a.end.row - b.start.row;
} else if (!a.sameLine) {
return a.end.row - b.start.row;
} else if (!b.sameLine) {
return b.end.row - a.start.row;
}
return -a.compare(b.start.row, b.start.column);
});
} else if (fold.start.row == this.endRow) {
} else if (fold.start.row == this.end.row) {
this.folds.push(fold);
this.end.row = fold.end.row;
this.end.column = fold.end.column;
} else if (fold.end.row == this.startRow) {
} else if (fold.end.row == this.start.row) {
this.folds.unshift(fold);
this.start.row = fold.start.row;
this.start.column = fold.start.column;