Skip to content

Commit d3a964d

Browse files
author
aiday-mar
committed
providerID has type string or undefined. Using Iterable.find() function.
1 parent 95279b7 commit d3a964d

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

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

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export class StickyLineCandidateProvider extends Disposable {
4545
private _outlineModel: StickyOutlineElement | undefined;
4646
private readonly _sessionStore: DisposableStore = new DisposableStore();
4747
private _modelVersionId: number = 0;
48-
private _providerID: string = '';
48+
private _providerID: string | undefined = undefined;
4949

5050
constructor(
5151
editor: ICodeEditor,
@@ -70,13 +70,13 @@ export class StickyLineCandidateProvider extends Disposable {
7070
return;
7171
} else {
7272
this._sessionStore.add(this._editor.onDidChangeModel(() => {
73-
this._providerID = '';
73+
this._providerID = undefined;
7474
this.update();
7575
}));
7676
this._sessionStore.add(this._editor.onDidChangeHiddenAreas(() => this.update()));
7777
this._sessionStore.add(this._editor.onDidChangeModelContent(() => this._updateSoon.schedule()));
7878
this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(() => {
79-
this._providerID = '';
79+
this._providerID = undefined;
8080
this.update();
8181
}));
8282
this.update();
@@ -214,15 +214,15 @@ class StickyOutlineElement {
214214
return new StickyOutlineElement(range, children, undefined);
215215
}
216216

217-
public static fromOutlineModel(outlineModel: OutlineModel, providerID: string): { stickyOutlineElement: StickyOutlineElement; providerID: string } {
217+
public static fromOutlineModel(outlineModel: OutlineModel, providerID: string | undefined): { stickyOutlineElement: StickyOutlineElement; providerID: string | undefined } {
218218

219-
let ID: string = providerID;
219+
let ID: string | undefined = providerID;
220220
let outlineElements: Map<string, OutlineElement>;
221221
// When several possible outline providers
222-
if (outlineModel.children.size !== 0 && Iterable.first(outlineModel.children.values()) instanceof OutlineGroup) {
223-
const filteredProviders = Array.from(outlineModel.children.values()).filter(outlineGroupOfModel => outlineGroupOfModel.id === providerID);
224-
if (filteredProviders && filteredProviders.length !== 0) {
225-
outlineElements = filteredProviders[0].children;
222+
if (Iterable.first(outlineModel.children.values()) instanceof OutlineGroup) {
223+
const provider = Iterable.find(outlineModel.children.values(), outlineGroupOfModel => outlineGroupOfModel.id === providerID);
224+
if (provider) {
225+
outlineElements = provider.children;
226226
} else {
227227
let tempID = '';
228228
let maxTotalSumOfRanges = 0;
@@ -236,7 +236,7 @@ class StickyOutlineElement {
236236
}
237237
}
238238
ID = tempID;
239-
outlineElements = optimalOutlineGroup?.children as Map<string, OutlineElement>;
239+
outlineElements = optimalOutlineGroup!.children;
240240
}
241241
} else {
242242
outlineElements = outlineModel.children as Map<string, OutlineElement>;

0 commit comments

Comments
 (0)