25
26
private getLanguageConfiguration(
28
>
): ResolvedLanguageConfiguration {
29
>
return this.languageConfigurationService.getLanguageConfiguration(
30
>
languageId
31
>
);
32
>
}
33
34
private _computeIndentLevel(lineIndex: number): number {
36
>
this.textModel.getLineContent(lineIndex + 1),
37
>
this.textModel.getOptions().tabSize
38
>
);
39
>
}
40
41
public getActiveIndentGuide(
43
>
minLineNumber: number,
44
>
maxLineNumber: number
45
>
): IActiveIndentGuideInfo {
46
>
this.assertNotDisposed();
47
>
const lineCount = this.textModel.getLineCount();
48
>
49
>
if (lineNumber < 1 || lineNumber > lineCount) {
50
throw new BugIndicatingError('Illegal value for lineNumber');
51
}
53
>
const foldingRules = this.getLanguageConfiguration(
54
>
this.textModel.getLanguageId()
55
>
).foldingRules;
56
>
const offSide = Boolean(foldingRules && foldingRules.offSide);
57
>
58
>
let up_aboveContentLineIndex =
59
>
-2; /* -2 is a marker for not having computed it */
60
>
let up_aboveContentLineIndent = -1;
61
>
let up_belowContentLineIndex =
62
>
-2; /* -2 is a marker for not having computed it */
63
>
let up_belowContentLineIndent = -1;
64
>
const up_resolveIndents = (lineNumber: number) => {
65
if (
66
up_aboveContentLineIndex !== -1 &&