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) {
|
this.getFoldWidgetRange = function(session, foldStyle, row) {
|
||||||
var line = session.getLine(row);
|
var line = session.getLine(row);
|
||||||
var level1 = /^(Found.*|Searching for.*)$/;
|
var level1 = /^(Found.*|Searching for.*)$/;
|
||||||
var level2 = /^(\w.*\:|\s+)$/;
|
var level2 = /^(\w.*\:|\s*)$/;
|
||||||
var re = level1.test(line) ? level1 : level2;
|
var re = level1.test(line) ? level1 : level2;
|
||||||
|
|
||||||
if (this.foldingStartMarker.test(line)) {
|
if (this.foldingStartMarker.test(line)) {
|
||||||
|
|
|
||||||
|
|
@ -101,7 +101,7 @@ var FoldMode = exports.FoldMode = function() {};
|
||||||
if (fw == null)
|
if (fw == null)
|
||||||
fw = this.getFoldWidget(session, end.row);
|
fw = this.getFoldWidget(session, end.row);
|
||||||
|
|
||||||
if (fw == "start") {
|
if (fw == "start" && end.row > start.row) {
|
||||||
end.row --;
|
end.row --;
|
||||||
end.column = session.getLine(end.row).length;
|
end.column = session.getLine(end.row).length;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ var oop = require("../../lib/oop");
|
||||||
var BaseFoldMode = require("./fold_mode").FoldMode;
|
var BaseFoldMode = require("./fold_mode").FoldMode;
|
||||||
|
|
||||||
var FoldMode = exports.FoldMode = function(markers) {
|
var FoldMode = exports.FoldMode = function(markers) {
|
||||||
this.foldingStartMarker = new RegExp("(?:([\\[{])|(" + markers + "))(?:\\s*)(?:#.*)?$");
|
this.foldingStartMarker = new RegExp("([\\[{])(?:\\s*)$|(" + markers + ")(?:\\s*)(?:#.*)?$");
|
||||||
};
|
};
|
||||||
oop.inherits(FoldMode, BaseFoldMode);
|
oop.inherits(FoldMode, BaseFoldMode);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -49,11 +49,12 @@ module.exports = {
|
||||||
|
|
||||||
"test: bracket folding": function() {
|
"test: bracket folding": function() {
|
||||||
var session = new EditSession([
|
var session = new EditSession([
|
||||||
'[ #-',
|
'[ ',
|
||||||
'stuff',
|
'stuff',
|
||||||
']',
|
']',
|
||||||
'[ ',
|
'[ ',
|
||||||
'{ '
|
'{ ',
|
||||||
|
'[ #-',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
var mode = new PythonMode();
|
var mode = new PythonMode();
|
||||||
|
|
@ -65,9 +66,11 @@ module.exports = {
|
||||||
assert.equal(session.getFoldWidget(2), "");
|
assert.equal(session.getFoldWidget(2), "");
|
||||||
assert.equal(session.getFoldWidget(3), "start");
|
assert.equal(session.getFoldWidget(3), "start");
|
||||||
assert.equal(session.getFoldWidget(4), "start");
|
assert.equal(session.getFoldWidget(4), "start");
|
||||||
|
assert.equal(session.getFoldWidget(5), "");
|
||||||
|
|
||||||
assert.range(session.getFoldWidgetRange(0), 0, 1, 2, 0);
|
assert.range(session.getFoldWidgetRange(0), 0, 1, 2, 0);
|
||||||
assert.equal(session.getFoldWidgetRange(3), null);
|
assert.equal(session.getFoldWidgetRange(3), null);
|
||||||
|
assert.equal(session.getFoldWidgetRange(5), null);
|
||||||
},
|
},
|
||||||
|
|
||||||
"test: indentation folding": function() {
|
"test: indentation folding": function() {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue