simplify lua folding
This commit is contained in:
parent
db499d06a9
commit
5ab20469c0
1 changed files with 4 additions and 16 deletions
|
|
@ -53,6 +53,8 @@ oop.inherits(FoldMode, BaseFoldMode);
|
|||
|
||||
if (isStart && !isEnd) {
|
||||
var match = line.match(this.foldingStartMarker);
|
||||
if (match[1] == "then" && /\belseif\b/.test(line))
|
||||
return;
|
||||
if (match[1]) {
|
||||
if (session.getTokenAt(row, match.index + 1).type === "keyword")
|
||||
return "start";
|
||||
|
|
@ -113,16 +115,10 @@ oop.inherits(FoldMode, BaseFoldMode);
|
|||
"do": 1,
|
||||
"then": 1,
|
||||
"elseif": -1,
|
||||
"else": 0,
|
||||
"end": -1,
|
||||
"repeat": 1,
|
||||
"until": -1,
|
||||
};
|
||||
var voidKeywords = {
|
||||
"elseif": 1,
|
||||
"if": 1,
|
||||
"for": 1
|
||||
};
|
||||
|
||||
var token = stream.getCurrentToken();
|
||||
if (!token || token.type != "keyword")
|
||||
|
|
@ -130,15 +126,7 @@ oop.inherits(FoldMode, BaseFoldMode);
|
|||
|
||||
var val = token.value;
|
||||
var stack = [val];
|
||||
var dir;
|
||||
if (voidKeywords[val]) {
|
||||
stack = [];
|
||||
dir = 1;
|
||||
} else if (val === "else") {
|
||||
dir = 1;
|
||||
} else {
|
||||
dir = indentKeywords[val];
|
||||
}
|
||||
var dir = indentKeywords[val];
|
||||
|
||||
if (!dir)
|
||||
return;
|
||||
|
|
@ -156,7 +144,7 @@ oop.inherits(FoldMode, BaseFoldMode);
|
|||
stack.unshift(token.value);
|
||||
} else if (level <= 0) {
|
||||
stack.shift();
|
||||
if (!stack.length)
|
||||
if (!stack.length && token.value != "elseif")
|
||||
break;
|
||||
if (level === 0)
|
||||
stack.unshift(token.value);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue