From 1c361ff3e16835b48bf64e943da80e563fba9efd Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Tue, 11 Dec 2018 14:46:57 -0800 Subject: [PATCH] Strict null checking suggestMemory and settingsWidget --- src/tsconfig.strictNullChecks.json | 2 ++ src/vs/editor/contrib/suggest/suggestMemory.ts | 2 +- .../parts/preferences/browser/settingsWidgets.ts | 10 +++++----- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/tsconfig.strictNullChecks.json b/src/tsconfig.strictNullChecks.json index 2b8cd66dbb4..342228d7e5e 100644 --- a/src/tsconfig.strictNullChecks.json +++ b/src/tsconfig.strictNullChecks.json @@ -401,6 +401,7 @@ "./vs/editor/contrib/snippet/snippetVariables.ts", "./vs/editor/contrib/suggest/completionModel.ts", "./vs/editor/contrib/suggest/suggest.ts", + "./vs/editor/contrib/suggest/suggestMemory.ts", "./vs/editor/contrib/suggest/test/suggest.test.ts", "./vs/editor/contrib/suggest/wordContextKey.ts", "./vs/editor/contrib/suggest/wordDistance.ts", @@ -717,6 +718,7 @@ "./vs/workbench/parts/output/common/outputLinkComputer.ts", "./vs/workbench/parts/output/common/outputLinkProvider.ts", "./vs/workbench/parts/performance/electron-browser/stats.ts", + "./vs/workbench/parts/preferences/browser/settingsWidgets.ts", "./vs/workbench/parts/preferences/common/smartSnippetInserter.ts", "./vs/workbench/parts/preferences/test/common/smartSnippetInserter.test.ts", "./vs/workbench/parts/relauncher/electron-browser/relauncher.contribution.ts", diff --git a/src/vs/editor/contrib/suggest/suggestMemory.ts b/src/vs/editor/contrib/suggest/suggestMemory.ts index 5849f6e33a3..385f114f916 100644 --- a/src/vs/editor/contrib/suggest/suggestMemory.ts +++ b/src/vs/editor/contrib/suggest/suggestMemory.ts @@ -39,7 +39,7 @@ export abstract class Memory { abstract memorize(model: ITextModel, pos: IPosition, item: CompletionItem): void; - abstract toJSON(): object; + abstract toJSON(): object | undefined; abstract fromJSON(data: object): void; } diff --git a/src/vs/workbench/parts/preferences/browser/settingsWidgets.ts b/src/vs/workbench/parts/preferences/browser/settingsWidgets.ts index eaf3cdf400e..c2478da6c80 100644 --- a/src/vs/workbench/parts/preferences/browser/settingsWidgets.ts +++ b/src/vs/workbench/parts/preferences/browser/settingsWidgets.ts @@ -158,7 +158,7 @@ export class ExcludeSettingListModel { return items; } - setEditKey(key: string): void { + setEditKey(key: string | null): void { this._editKey = key; } @@ -170,7 +170,7 @@ export class ExcludeSettingListModel { this._selectedIdx = idx; } - getSelected(): number { + getSelected(): number | null { return this._selectedIdx; } @@ -193,7 +193,7 @@ export class ExcludeSettingListModel { interface IExcludeChangeEvent { originalPattern: string; - pattern: string; + pattern?: string; sibling?: string; } @@ -306,7 +306,7 @@ export class ExcludeSettingWidget extends Disposable { DOM.clearNode(this.listElement); this.listDisposables = dispose(this.listDisposables); - const newMode = this.model.items.some(item => item.editing && !item.pattern); + const newMode = this.model.items.some(item => !!(item.editing && !item.pattern)); DOM.toggleClass(this.container, 'setting-exclude-new-mode', newMode); this.model.items @@ -362,7 +362,7 @@ export class ExcludeSettingWidget extends Disposable { const patternElement = DOM.append(rowElement, $('.setting-exclude-pattern')); const siblingElement = DOM.append(rowElement, $('.setting-exclude-sibling')); patternElement.textContent = item.pattern; - siblingElement.textContent = item.sibling && ('when: ' + item.sibling); + siblingElement.textContent = item.sibling ? ('when: ' + item.sibling) : null; actionBar.push([ this.createEditAction(item.pattern),