fix coffeescript folding for "[#{}"

This commit is contained in:
nightwing 2012-06-20 13:33:47 +04:00
commit 3d93ad43c3
4 changed files with 8 additions and 5 deletions

View file

@ -54,7 +54,7 @@ oop.inherits(FoldMode, BaseFoldMode);
this.getFoldWidgetRange = function(session, foldStyle, row) {
var line = session.getLine(row);
var level1 = /^(Found.*|Searching for.*)$/;
var level2 = /^(\w.*\:|\s+)$/;
var level2 = /^(\w.*\:|\s*)$/;
var re = level1.test(line) ? level1 : level2;
if (this.foldingStartMarker.test(line)) {

View file

@ -101,7 +101,7 @@ var FoldMode = exports.FoldMode = function() {};
if (fw == null)
fw = this.getFoldWidget(session, end.row);
if (fw == "start") {
if (fw == "start" && end.row > start.row) {
end.row --;
end.column = session.getLine(end.row).length;
}

View file

@ -42,7 +42,7 @@ var oop = require("../../lib/oop");
var BaseFoldMode = require("./fold_mode").FoldMode;
var FoldMode = exports.FoldMode = function(markers) {
this.foldingStartMarker = new RegExp("(?:([\\[{])|(" + markers + "))(?:\\s*)(?:#.*)?$");
this.foldingStartMarker = new RegExp("([\\[{])(?:\\s*)$|(" + markers + ")(?:\\s*)(?:#.*)?$");
};
oop.inherits(FoldMode, BaseFoldMode);

View file

@ -49,11 +49,12 @@ module.exports = {
"test: bracket folding": function() {
var session = new EditSession([
'[ #-',
'[ ',
'stuff',
']',
'[ ',
'{ '
'{ ',
'[ #-',
]);
var mode = new PythonMode();
@ -65,9 +66,11 @@ module.exports = {
assert.equal(session.getFoldWidget(2), "");
assert.equal(session.getFoldWidget(3), "start");
assert.equal(session.getFoldWidget(4), "start");
assert.equal(session.getFoldWidget(5), "");
assert.range(session.getFoldWidgetRange(0), 0, 1, 2, 0);
assert.equal(session.getFoldWidgetRange(3), null);
assert.equal(session.getFoldWidgetRange(5), null);
},
"test: indentation folding": function() {