Skip to content

Commit 6887c8c

Browse files
author
aiday-mar
committed
changes from review
1 parent dbbd79d commit 6887c8c

File tree

3 files changed

+11
-28
lines changed

3 files changed

+11
-28
lines changed

src/vs/editor/contrib/folding/browser/foldingModel.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -236,10 +236,6 @@ export class FoldingModel {
236236
this._decorationProvider.removeDecorations(this._editorDecorationIds);
237237
}
238238

239-
getRegions() {
240-
return this._regions;
241-
}
242-
243239
getAllRegionsAtLine(lineNumber: number, filter?: (r: FoldingRegion, level: number) => boolean): FoldingRegion[] {
244240
const result: FoldingRegion[] = [];
245241
if (this._regions) {

src/vs/editor/contrib/folding/browser/foldingRanges.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -100,14 +100,6 @@ export class FoldingRegions {
100100
}
101101
}
102102

103-
public getStartIndexes(): Uint32Array {
104-
return this._startIndexes;
105-
}
106-
107-
public getEndIndexes(): Uint32Array {
108-
return this._endIndexes;
109-
}
110-
111103
public get length(): number {
112104
return this._startIndexes.length;
113105
}

src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.ts

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,10 @@ export class StickyLineCandidateProvider extends Disposable {
9999
} else {
100100
const foldingController = FoldingController.get(this._editor);
101101
const foldingModel = await foldingController?.getFoldingModel();
102-
if (foldingModel) {
102+
if (token.isCancellationRequested) {
103+
return;
104+
}
105+
if (foldingModel && foldingModel.regions.length !== 0) {
103106
this._outlineModel = StickyOutlineElement.fromFoldingModel(foldingModel);
104107
} else {
105108
this._outlineModel = new StickyOutlineElement(
@@ -205,17 +208,9 @@ class StickyOutlineElement {
205208
}
206209

207210
public static fromFoldingModel(foldingModel: FoldingModel): StickyOutlineElement {
208-
const regions = foldingModel.getRegions();
209-
const startIndexes = regions.getStartIndexes();
210-
const endIndexes = regions.getEndIndexes();
211-
if (startIndexes.length === 0) {
212-
return new StickyOutlineElement(
213-
new StickyRange(-1, -1),
214-
[],
215-
undefined
216-
);
217-
}
218-
let range = undefined;
211+
const regions = foldingModel.regions;
212+
const length = regions.length;
213+
let range: StickyRange | undefined;
219214
const stackOfParents: StickyRange[] = [];
220215

221216
const stickyOutlineElement = new StickyOutlineElement(
@@ -225,9 +220,9 @@ class StickyOutlineElement {
225220
);
226221
let parentStickyOutlineElement = stickyOutlineElement;
227222

228-
for (let i = 0; i < startIndexes.length; i++) {
229-
range = new StickyRange(startIndexes[i], endIndexes[i]);
230-
while (stackOfParents.length !== 0 && (range.startLineNumber < (stackOfParents[stackOfParents.length - 1] as StickyRange).startLineNumber || range.endLineNumber > (stackOfParents[stackOfParents.length - 1] as StickyRange).endLineNumber)) {
223+
for (let i = 0; i < length; i++) {
224+
range = new StickyRange(regions.getStartLineNumber(i), regions.getEndLineNumber(i));
225+
while (stackOfParents.length !== 0 && (range.startLineNumber < stackOfParents[stackOfParents.length - 1].startLineNumber || range.endLineNumber > stackOfParents[stackOfParents.length - 1].endLineNumber)) {
231226
stackOfParents.pop();
232227
if (parentStickyOutlineElement.parent !== undefined) {
233228
parentStickyOutlineElement = parentStickyOutlineElement.parent;
@@ -253,7 +248,7 @@ class StickyOutlineElement {
253248
/**
254249
* Must be sorted by start line number
255250
*/
256-
public children: StickyOutlineElement[],
251+
public readonly children: StickyOutlineElement[],
257252
/**
258253
* Parent sticky outline element
259254
*/

0 commit comments

Comments
 (0)