fix coffeescript folding for "[#{}"
This commit is contained in:
parent
3e99b7f4fa
commit
3d93ad43c3
4 changed files with 8 additions and 5 deletions
|
|
@ -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)) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue