Skip to content

Commit da4f670

Browse files
committed
Fix microsoft#29347. Skip empty lines when searching for preceding line who matches onEnter rules.
1 parent 9c1d166 commit da4f670

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

src/vs/editor/contrib/linesOperations/common/moveLinesCommand.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,17 @@ export class MoveLinesCommand implements ICommand {
235235
};
236236
}
237237

238-
private matchEnterRule(model: ITokenizedModel, oneLineAbove: number, line: number, indentConverter: IndentConverter, tabSize: number) {
238+
private matchEnterRule(model: ITokenizedModel, oneLineAbove: number, line: number, indentConverter: IIndentConverter, tabSize: number) {
239+
while (oneLineAbove >= 1) {
240+
// ship empty lines as empty lines just inherit indentation
241+
let lineContent = model.getLineContent(oneLineAbove);
242+
let nonWhitespaceIdx = strings.lastNonWhitespaceIndex(lineContent);
243+
if (nonWhitespaceIdx >= 0) {
244+
break;
245+
}
246+
oneLineAbove--;
247+
}
248+
239249
if (oneLineAbove < 1 || line > model.getLineCount()) {
240250
return null;
241251
}

0 commit comments

Comments
 (0)