More type assertion fixes (#230181)

For #211878

Also adds a few suppressions
This commit is contained in:
Matt Bierner
2024-09-30 16:21:12 -07:00
committed by GitHub
parent c35d5e21fc
commit d3596df9eb
9 changed files with 30 additions and 16 deletions

View File

@@ -19,6 +19,13 @@ interface FileConfiguration {
readonly preferences: Proto.UserPreferences;
}
interface FormattingOptions {
readonly tabSize: number | undefined;
readonly insertSpaces: boolean | undefined;
}
function areFileConfigurationsEqual(a: FileConfiguration, b: FileConfiguration): boolean {
return equals(a, b);
}
@@ -51,21 +58,21 @@ export default class FileConfigurationManager extends Disposable {
}
}
private getFormattingOptions(
document: vscode.TextDocument
): vscode.FormattingOptions | undefined {
const editor = vscode.window.visibleTextEditors.find(editor => editor.document.fileName === document.fileName);
return editor
? {
tabSize: editor.options.tabSize,
insertSpaces: editor.options.insertSpaces
} as vscode.FormattingOptions
: undefined;
private getFormattingOptions(document: vscode.TextDocument): FormattingOptions | undefined {
const editor = vscode.window.visibleTextEditors.find(editor => editor.document.uri.toString() === document.uri.toString());
if (!editor) {
return undefined;
}
return {
tabSize: typeof editor.options.tabSize === 'number' ? editor.options.tabSize : undefined,
insertSpaces: typeof editor.options.insertSpaces === 'boolean' ? editor.options.insertSpaces : undefined,
};
}
public async ensureConfigurationOptions(
document: vscode.TextDocument,
options: vscode.FormattingOptions,
options: FormattingOptions,
token: vscode.CancellationToken
): Promise<void> {
const file = this.client.toOpenTsFilePath(document);
@@ -122,7 +129,7 @@ export default class FileConfigurationManager extends Disposable {
private getFileOptions(
document: vscode.TextDocument,
options: vscode.FormattingOptions
options: FormattingOptions
): FileConfiguration {
return {
formatOptions: this.getFormatOptions(document, options),
@@ -132,7 +139,7 @@ export default class FileConfigurationManager extends Disposable {
private getFormatOptions(
document: vscode.TextDocument,
options: vscode.FormattingOptions
options: FormattingOptions
): Proto.FormatCodeSettings {
const config = vscode.workspace.getConfiguration(
isTypeScriptDocument(document) ? 'typescript.format' : 'javascript.format',