提交 1bfab84d 编写于 作者: A Alex Dima

Fixes #8425: tweak getLineIndentGuide around indent ranges start/end

上级 a45a4de4
......@@ -502,9 +502,15 @@ export class TextModel extends OrderGuaranteeEventEmitter implements editorCommo
for (let i = indentRanges.length - 1; i >= 0; i--) {
let rng = indentRanges[i];
if (rng.startLineNumber === lineNumber) {
return Math.ceil(rng.indent / this._options.tabSize);
}
if (rng.startLineNumber < lineNumber && lineNumber <= rng.endLineNumber) {
return 1 + Math.floor(rng.indent / this._options.tabSize);
}
if (rng.endLineNumber + 1 === lineNumber) {
return Math.ceil(rng.indent / this._options.tabSize);
}
}
return 0;
......
......@@ -599,7 +599,7 @@ suite('TextModel.getLineIndentGuide', () => {
[1, ' A'],
[1, ' A'],
[2, ' A'],
[0, 'A'],
[1, 'A'],
]);
});
......@@ -613,19 +613,19 @@ suite('TextModel.getLineIndentGuide', () => {
test('getLineIndentGuide Java', () => {
assertIndentGuides([
[0, 'class A {'],
[1, ' void foo() {'],
[1, ' console.log(1);'],
[1, ' console.log(2);'],
[1, ' }'],
[1, ''],
[1, ' void bar() {'],
[1, ' console.log(3);'],
[1, ' }'],
[0, '}'],
[0, 'interface B {'],
[1, ' void bar();'],
[0, '}'],
/* 1*/[0, 'class A {'],
/* 2*/[1, ' void foo() {'],
/* 3*/[1, ' console.log(1);'],
/* 4*/[1, ' console.log(2);'],
/* 5*/[1, ' }'],
/* 6*/[1, ''],
/* 7*/[1, ' void bar() {'],
/* 8*/[1, ' console.log(3);'],
/* 9*/[1, ' }'],
/*10*/[0, '}'],
/*11*/[0, 'interface B {'],
/*12*/[1, ' void bar();'],
/*13*/[0, '}'],
]);
});
......@@ -688,4 +688,13 @@ suite('TextModel.getLineIndentGuide', () => {
/*17*/[ 0, '}'],
]);
});
test('issue #8425 - Missing indentation lines for first level indentation', () => {
assertIndentGuides([
[1, '\tindent1'],
[2, '\t\tindent2'],
[2, '\t\tindent2'],
[1, '\tindent1'],
]);
});
});
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册