diff --git a/src/tsconfig.strictNullChecks.json b/src/tsconfig.strictNullChecks.json index 8ad397186e7..c7149ae71dd 100644 --- a/src/tsconfig.strictNullChecks.json +++ b/src/tsconfig.strictNullChecks.json @@ -36,6 +36,7 @@ "./vs/base/browser/ui/scrollbar/verticalScrollbar.ts", "./vs/base/browser/ui/tree/tree.ts", "./vs/base/browser/ui/widget.ts", + "./vs/base/common/actions.ts", "./vs/base/common/amd.ts", "./vs/base/common/arrays.ts", "./vs/base/common/assert.ts", @@ -105,6 +106,7 @@ "./vs/base/parts/contextmenu/common/contextmenu.ts", "./vs/base/parts/contextmenu/electron-main/contextmenu.ts", "./vs/base/parts/ipc/node/ipc.ts", + "./vs/base/parts/ipc/test/node/testService.ts", "./vs/base/parts/quickopen/common/quickOpen.ts", "./vs/base/test/common/utils.ts", "./vs/base/test/node/uri.test.perf.ts", @@ -239,6 +241,7 @@ "./vs/editor/common/services/editorSimpleWorker.ts", "./vs/editor/common/services/editorWorkerService.ts", "./vs/editor/common/services/editorWorkerServiceImpl.ts", + "./vs/editor/common/services/getIconClasses.ts", "./vs/editor/common/services/languagesRegistry.ts", "./vs/editor/common/services/modeService.ts", "./vs/editor/common/services/modeServiceImpl.ts", @@ -319,11 +322,12 @@ "./vs/editor/contrib/message/messageController.ts", "./vs/editor/contrib/parameterHints/provideSignatureHelp.ts", "./vs/editor/contrib/quickOpen/quickOpen.ts", + "./vs/editor/contrib/referenceSearch/referencesModel.ts", "./vs/editor/contrib/smartSelect/tokenTree.ts", "./vs/editor/contrib/snippet/snippetParser.ts", "./vs/editor/contrib/suggest/suggest.ts", - "./vs/editor/contrib/suggest/wordDistance.ts", "./vs/editor/contrib/suggest/wordContextKey.ts", + "./vs/editor/contrib/suggest/wordDistance.ts", "./vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode.ts", "./vs/editor/contrib/wordHighlighter/wordHighlighter.ts", "./vs/editor/contrib/wordOperations/wordOperations.ts", @@ -358,7 +362,6 @@ "./vs/nls.d.ts", "./vs/nls.mock.ts", "./vs/platform/actions/common/actions.ts", - "./vs/platform/label/common/label.ts", "./vs/platform/backup/common/backup.ts", "./vs/platform/broadcast/electron-browser/broadcastService.ts", "./vs/platform/clipboard/common/clipboardService.ts", @@ -371,8 +374,10 @@ "./vs/platform/download/common/download.ts", "./vs/platform/editor/common/editor.ts", "./vs/platform/environment/common/environment.ts", + "./vs/platform/environment/node/argv.ts", "./vs/platform/extensionManagement/common/extensionManagement.ts", "./vs/platform/extensionManagement/common/extensionNls.ts", + "./vs/platform/extensionManagement/node/extensionLifecycle.ts", "./vs/platform/extensionManagement/node/extensionManagementIpc.ts", "./vs/platform/extensions/common/extensionHost.ts", "./vs/platform/extensions/common/extensions.ts", @@ -395,6 +400,8 @@ "./vs/platform/keybinding/common/resolvedKeybindingItem.ts", "./vs/platform/keybinding/common/usLayoutResolvedKeybinding.ts", "./vs/platform/keybinding/test/common/mockKeybindingService.ts", + "./vs/platform/label/common/label.ts", + "./vs/platform/label/electron-browser/label.contribution.ts", "./vs/platform/lifecycle/common/lifecycle.ts", "./vs/platform/localizations/common/localizations.ts", "./vs/platform/log/common/bufferLog.ts", @@ -511,13 +518,13 @@ "./vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.ts", "./vs/workbench/services/keybinding/common/windowsKeyboardMapper.ts", "./vs/workbench/services/mode/common/workbenchModeService.ts", - "./vs/workbench/services/panel/common/panelService.ts", "./vs/workbench/services/progress/common/progress.ts", "./vs/workbench/services/scm/common/scm.ts", "./vs/workbench/services/scm/common/scmService.ts", "./vs/workbench/services/search/node/search.ts", "./vs/workbench/services/search/node/searchHistoryService.ts", + "./vs/workbench/services/search/node/searchIpc.ts", "./vs/workbench/services/textMate/electron-browser/TMGrammars.ts", "./vs/workbench/services/textMate/electron-browser/TMHelper.ts", "./vs/workbench/services/textMate/electron-browser/textMateService.ts", @@ -533,4 +540,4 @@ "exclude": [ "./typings/require-monaco.d.ts" ] -} +} \ No newline at end of file diff --git a/src/vs/editor/common/services/getIconClasses.ts b/src/vs/editor/common/services/getIconClasses.ts index 5a050640bc5..98e2610cecd 100644 --- a/src/vs/editor/common/services/getIconClasses.ts +++ b/src/vs/editor/common/services/getIconClasses.ts @@ -45,7 +45,7 @@ export function getIconClasses(modelService: IModelService, modeService: IModeSe classes.push(`ext-file-icon`); // extra segment to increase file-ext score } // Configured Language - let configuredLangId = getConfiguredLangId(modelService, resource); + let configuredLangId: string | null = getConfiguredLangId(modelService, resource); configuredLangId = configuredLangId || modeService.getModeIdByFilepathOrFirstLine(path); if (configuredLangId) { classes.push(`${cssEscape(configuredLangId)}-lang-file-icon`); @@ -55,8 +55,8 @@ export function getIconClasses(modelService: IModelService, modeService: IModeSe return classes; } -export function getConfiguredLangId(modelService: IModelService, resource: uri): string { - let configuredLangId: string; +export function getConfiguredLangId(modelService: IModelService, resource: uri): string | null { + let configuredLangId: string | null = null; if (resource) { const model = modelService.getModel(resource); if (model) { diff --git a/src/vs/editor/contrib/referenceSearch/referencesModel.ts b/src/vs/editor/contrib/referenceSearch/referencesModel.ts index dd31ee1025e..6bf6c110b1e 100644 --- a/src/vs/editor/contrib/referenceSearch/referencesModel.ts +++ b/src/vs/editor/contrib/referenceSearch/referencesModel.ts @@ -60,7 +60,7 @@ export class FilePreview implements IDisposable { dispose(this._modelReference); } - preview(range: IRange, n: number = 8): { before: string; inside: string; after: string } { + preview(range: IRange, n: number = 8): { before: string; inside: string; after: string } | undefined { const model = this._modelReference.object.textEditorModel; if (!model) { @@ -85,7 +85,7 @@ export class FilePreview implements IDisposable { export class FileReferences implements IDisposable { private _children: OneReference[]; - private _preview: FilePreview; + private _preview?: FilePreview; private _resolved: boolean; private _loadFailure: any; @@ -109,7 +109,7 @@ export class FileReferences implements IDisposable { return this._uri; } - get preview(): FilePreview { + get preview(): FilePreview | undefined { return this._preview; } @@ -156,7 +156,7 @@ export class FileReferences implements IDisposable { dispose(): void { if (this._preview) { this._preview.dispose(); - this._preview = null; + this._preview = undefined; } } } @@ -175,7 +175,7 @@ export class ReferencesModel implements IDisposable { // grouping and sorting references.sort(ReferencesModel._compareReferences); - let current: FileReferences; + let current: FileReferences | undefined; for (let ref of references) { if (!current || current.uri.toString() !== ref.uri.toString()) { // new group @@ -239,7 +239,7 @@ export class ReferencesModel implements IDisposable { } } - nearestReference(resource: URI, position: Position): OneReference { + nearestReference(resource: URI, position: Position): OneReference | undefined { const nearest = this.references.map((ref, idx) => { return { diff --git a/src/vs/platform/environment/node/argv.ts b/src/vs/platform/environment/node/argv.ts index 15977dd49f8..3618a0b25c8 100644 --- a/src/vs/platform/environment/node/argv.ts +++ b/src/vs/platform/environment/node/argv.ts @@ -106,7 +106,7 @@ function validate(args: ParsedArgs): ParsedArgs { return args; } -function stripAppPath(argv: string[]): string[] { +function stripAppPath(argv: string[]): string[] | undefined { const index = firstIndex(argv, a => !/^-/.test(a)); if (index > -1) { @@ -123,7 +123,7 @@ export function parseMainProcessArgv(processArgv: string[]): ParsedArgs { // If dev, remove the first non-option argument: it's the app location if (process.env['VSCODE_DEV']) { - args = stripAppPath(args); + args = stripAppPath(args) || []; } return validate(parseArgs(args)); @@ -136,7 +136,7 @@ export function parseCLIProcessArgv(processArgv: string[]): ParsedArgs { let [, , ...args] = processArgv; if (process.env['VSCODE_DEV']) { - args = stripAppPath(args); + args = stripAppPath(args) || []; } return validate(parseArgs(args)); @@ -191,7 +191,7 @@ export function formatOptions(options: { [name: string]: string; }, columns: num let argLength = Math.max.apply(null, keys.map(k => k.length)) + 2/*left padding*/ + 1/*right padding*/; if (columns - argLength < 25) { // Use a condensed version on narrow terminals - return keys.reduce((r, key) => r.concat([` ${key}`, ` ${options[key]}`]), []).join('\n'); + return keys.reduce((r, key) => r.concat([` ${key}`, ` ${options[key]}`]), [] as string[]).join('\n'); } let descriptionColumns = columns - argLength - 1; let result = ''; diff --git a/src/vs/platform/extensionManagement/node/extensionLifecycle.ts b/src/vs/platform/extensionManagement/node/extensionLifecycle.ts index a1c1a4d88d5..64cd0d545d8 100644 --- a/src/vs/platform/extensionManagement/node/extensionLifecycle.ts +++ b/src/vs/platform/extensionManagement/node/extensionLifecycle.ts @@ -33,7 +33,7 @@ export class ExtensionsLifecycle extends Disposable { } } - private parseUninstallScript(extension: ILocalExtension): { uninstallHook: string, args: string[] } { + private parseUninstallScript(extension: ILocalExtension): { uninstallHook: string, args: string[] } | null { if (extension.location.scheme === Schemas.file && extension.manifest && extension.manifest['scripts'] && typeof extension.manifest['scripts']['vscode:uninstall'] === 'string') { const uninstallScript = (extension.manifest['scripts']['vscode:uninstall']).split(' '); if (uninstallScript.length < 2 || uninstallScript[0] !== 'node' || !uninstallScript[1]) { @@ -57,7 +57,7 @@ export class ExtensionsLifecycle extends Disposable { if (error) { e(error); } else { - c(null); + c(void 0); } }; @@ -87,7 +87,7 @@ export class ExtensionsLifecycle extends Disposable { private start(uninstallHook: string, args: string[], extension: ILocalExtension): ChildProcess { const opts = { silent: true, - execArgv: undefined + execArgv: undefined }; const extensionUninstallProcess = fork(uninstallHook, ['--type=extensionUninstall', ...args], opts);