[typescript-language-features] Add formatter option for semicolons (#80828)

* Add formatter option for semicolons

* Add compatibility note

* Make it compile without TS 3.7
This commit is contained in:
Andrew Branch
2019-09-13 13:40:41 -07:00
committed by Matt Bierner
parent 3890a199a2
commit 8774e0bb05
3 changed files with 44 additions and 3 deletions

View File

@@ -144,7 +144,9 @@ export default class FileConfigurationManager extends Disposable {
isTypeScriptDocument(document) ? 'typescript.format' : 'javascript.format',
document.uri);
return {
// `semicolons` added to `Proto.FormatCodeSettings` in TypeScript 3.7:
// remove intersection type after upgrading TypeScript.
const settings: Proto.FormatCodeSettings & { semicolons?: string } = {
tabSize: options.tabSize,
indentSize: options.tabSize,
convertTabsToSpaces: options.insertSpaces,
@@ -165,7 +167,10 @@ export default class FileConfigurationManager extends Disposable {
insertSpaceAfterTypeAssertion: config.get<boolean>('insertSpaceAfterTypeAssertion'),
placeOpenBraceOnNewLineForFunctions: config.get<boolean>('placeOpenBraceOnNewLineForFunctions'),
placeOpenBraceOnNewLineForControlBlocks: config.get<boolean>('placeOpenBraceOnNewLineForControlBlocks'),
semicolons: config.get<string>('semicolons'),
};
return settings;
}
private getPreferences(document: vscode.TextDocument): Proto.UserPreferences {
@@ -201,4 +206,4 @@ function getImportModuleSpecifierPreference(config: vscode.WorkspaceConfiguratio
case 'non-relative': return 'non-relative';
default: return undefined;
}
}
}