Skip to content

Commit 0f8b1e3

Browse files
committed
feat(tsfmt): add insertSpaceAfterConstructor and insertSpaceAfterTypeAssertion support to .vscode/settings.json
1 parent 4e38be1 commit 0f8b1e3

File tree

4 files changed

+15
-5
lines changed

4 files changed

+15
-5
lines changed

lib/provider/vscodesettings.ts

+9-3
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { getConfigFileName, parseJSON } from "../utils";
99
// https://code.visualstudio.com/Docs/customization/userandworkspace
1010
interface VSCodeSettings {
1111
"typescript.format.insertSpaceAfterCommaDelimiter": boolean;
12+
"typescript.format.insertSpaceAfterConstructor": boolean;
1213
"typescript.format.insertSpaceAfterSemicolonInForStatements": boolean;
1314
"typescript.format.insertSpaceBeforeAndAfterBinaryOperators": boolean;
1415
"typescript.format.insertSpaceAfterKeywordsInControlFlowStatements": boolean;
@@ -18,13 +19,13 @@ interface VSCodeSettings {
1819
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": boolean;
1920
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": boolean;
2021
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": boolean;
22+
"typescript.format.insertSpaceAfterTypeAssertion": boolean;
2123
"typescript.format.insertSpaceBeforeFunctionParenthesis": boolean;
2224
"typescript.format.placeOpenBraceOnNewLineForFunctions": boolean;
2325
"typescript.format.placeOpenBraceOnNewLineForControlBlocks": boolean;
2426

2527
// NOTE https://github.com/Microsoft/vscode/issues/10296
26-
// baseIndentSize, insertSpaceAfterConstructor, insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces
27-
// insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces, insertSpaceAfterTypeAssertion, insertSpaceBeforeFunctionParenthesis
28+
// baseIndentSize
2829
}
2930

3031
export function makeFormatCodeOptions(fileName: string, opts: Options, formatSettings: ts.FormatCodeSettings): ts.FormatCodeSettings {
@@ -47,6 +48,9 @@ export function makeFormatCodeOptions(fileName: string, opts: Options, formatSet
4748
if (config["typescript.format.insertSpaceAfterCommaDelimiter"] != null) {
4849
formatSettings.insertSpaceAfterCommaDelimiter = config["typescript.format.insertSpaceAfterCommaDelimiter"];
4950
}
51+
if (config["typescript.format.insertSpaceAfterConstructor"] != null) {
52+
formatSettings.insertSpaceAfterConstructor = config["typescript.format.insertSpaceAfterConstructor"];
53+
}
5054
if (config["typescript.format.insertSpaceAfterSemicolonInForStatements"] != null) {
5155
formatSettings.insertSpaceAfterSemicolonInForStatements = config["typescript.format.insertSpaceAfterSemicolonInForStatements"];
5256
}
@@ -74,6 +78,9 @@ export function makeFormatCodeOptions(fileName: string, opts: Options, formatSet
7478
if (config["typescript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"] != null) {
7579
formatSettings.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces = config["typescript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"];
7680
}
81+
if (config["typescript.format.insertSpaceAfterTypeAssertion"] != null) {
82+
formatSettings.insertSpaceAfterTypeAssertion = config["typescript.format.insertSpaceAfterTypeAssertion"];
83+
}
7784
if (config["typescript.format.insertSpaceBeforeFunctionParenthesis"] != null) {
7885
formatSettings.insertSpaceBeforeFunctionParenthesis = config["typescript.format.insertSpaceBeforeFunctionParenthesis"];
7986
}
@@ -83,7 +90,6 @@ export function makeFormatCodeOptions(fileName: string, opts: Options, formatSet
8390
if (config["typescript.format.placeOpenBraceOnNewLineForControlBlocks"] != null) {
8491
formatSettings.placeOpenBraceOnNewLineForControlBlocks = config["typescript.format.placeOpenBraceOnNewLineForControlBlocks"];
8592
}
86-
// TODO insertSpaceAfterTypeAssertion
8793

8894
return formatSettings;
8995
}

test/expected/vscode/a/main.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@
88
"insertSpaceAfterCommaDelimiter": true,
99
"insertSpaceAfterSemicolonInForStatements": true,
1010
"insertSpaceBeforeAndAfterBinaryOperators": true,
11-
"insertSpaceAfterConstructor": false,
11+
"insertSpaceAfterConstructor": true,
1212
"insertSpaceAfterKeywordsInControlFlowStatements": true,
1313
"insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
1414
"insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": true,
1515
"insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": true,
1616
"insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
1717
"insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": true,
1818
"insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": true,
19-
"insertSpaceAfterTypeAssertion": false,
19+
"insertSpaceAfterTypeAssertion": true,
2020
"insertSpaceBeforeFunctionParenthesis": true,
2121
"placeOpenBraceOnNewLineForFunctions": true,
2222
"placeOpenBraceOnNewLineForControlBlocks": true,

test/fixture/vscode/a/.vscode/settings.json

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// comment
33
"typescript.format.enable": true,
44
"typescript.format.insertSpaceAfterCommaDelimiter": true,
5+
"typescript.format.insertSpaceAfterConstructor": true,
56
"typescript.format.insertSpaceAfterSemicolonInForStatements": true,
67
"typescript.format.insertSpaceBeforeAndAfterBinaryOperators": true,
78
"typescript.format.insertSpaceAfterKeywordsInControlFlowStatements": true,
@@ -11,6 +12,7 @@
1112
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
1213
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": true,
1314
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": true,
15+
"typescript.format.insertSpaceAfterTypeAssertion": true,
1416
"typescript.format.insertSpaceBeforeFunctionParenthesis": true,
1517
"typescript.format.placeOpenBraceOnNewLineForFunctions": true,
1618
"typescript.format.placeOpenBraceOnNewLineForControlBlocks": true

test/fixture/vscode/b/.vscode/settings.json

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// comment
33
"typescript.format.enable": false,
44
"typescript.format.insertSpaceAfterCommaDelimiter": false,
5+
"typescript.format.insertSpaceAfterConstructor": false,
56
"typescript.format.insertSpaceAfterSemicolonInForStatements": false,
67
"typescript.format.insertSpaceBeforeAndAfterBinaryOperators": false,
78
"typescript.format.insertSpaceAfterKeywordsInControlFlowStatements": false,
@@ -11,6 +12,7 @@
1112
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": false,
1213
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
1314
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
15+
"typescript.format.insertSpaceAfterTypeAssertion": false,
1416
"typescript.format.insertSpaceBeforeFunctionParenthesis": false,
1517
"typescript.format.placeOpenBraceOnNewLineForFunctions": false,
1618
"typescript.format.placeOpenBraceOnNewLineForControlBlocks": false

0 commit comments

Comments
 (0)