Skip to content

Commit

Permalink
feat(tsfmt): add insertSpaceAfterConstructor and insertSpaceAfterType…
Browse files Browse the repository at this point in the history
…Assertion support to .vscode/settings.json
  • Loading branch information
vvakame committed Feb 19, 2018
1 parent 4e38be1 commit 0f8b1e3
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 5 deletions.
12 changes: 9 additions & 3 deletions lib/provider/vscodesettings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import { getConfigFileName, parseJSON } from "../utils";
// https://code.visualstudio.com/Docs/customization/userandworkspace
interface VSCodeSettings {
"typescript.format.insertSpaceAfterCommaDelimiter": boolean;
"typescript.format.insertSpaceAfterConstructor": boolean;
"typescript.format.insertSpaceAfterSemicolonInForStatements": boolean;
"typescript.format.insertSpaceBeforeAndAfterBinaryOperators": boolean;
"typescript.format.insertSpaceAfterKeywordsInControlFlowStatements": boolean;
Expand All @@ -18,13 +19,13 @@ interface VSCodeSettings {
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": boolean;
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": boolean;
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": boolean;
"typescript.format.insertSpaceAfterTypeAssertion": boolean;
"typescript.format.insertSpaceBeforeFunctionParenthesis": boolean;
"typescript.format.placeOpenBraceOnNewLineForFunctions": boolean;
"typescript.format.placeOpenBraceOnNewLineForControlBlocks": boolean;

// NOTE https://github.com/Microsoft/vscode/issues/10296
// baseIndentSize, insertSpaceAfterConstructor, insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces
// insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces, insertSpaceAfterTypeAssertion, insertSpaceBeforeFunctionParenthesis
// baseIndentSize
}

export function makeFormatCodeOptions(fileName: string, opts: Options, formatSettings: ts.FormatCodeSettings): ts.FormatCodeSettings {
Expand All @@ -47,6 +48,9 @@ export function makeFormatCodeOptions(fileName: string, opts: Options, formatSet
if (config["typescript.format.insertSpaceAfterCommaDelimiter"] != null) {
formatSettings.insertSpaceAfterCommaDelimiter = config["typescript.format.insertSpaceAfterCommaDelimiter"];
}
if (config["typescript.format.insertSpaceAfterConstructor"] != null) {
formatSettings.insertSpaceAfterConstructor = config["typescript.format.insertSpaceAfterConstructor"];
}
if (config["typescript.format.insertSpaceAfterSemicolonInForStatements"] != null) {
formatSettings.insertSpaceAfterSemicolonInForStatements = config["typescript.format.insertSpaceAfterSemicolonInForStatements"];
}
Expand Down Expand Up @@ -74,6 +78,9 @@ export function makeFormatCodeOptions(fileName: string, opts: Options, formatSet
if (config["typescript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"] != null) {
formatSettings.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces = config["typescript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces"];
}
if (config["typescript.format.insertSpaceAfterTypeAssertion"] != null) {
formatSettings.insertSpaceAfterTypeAssertion = config["typescript.format.insertSpaceAfterTypeAssertion"];
}
if (config["typescript.format.insertSpaceBeforeFunctionParenthesis"] != null) {
formatSettings.insertSpaceBeforeFunctionParenthesis = config["typescript.format.insertSpaceBeforeFunctionParenthesis"];
}
Expand All @@ -83,7 +90,6 @@ export function makeFormatCodeOptions(fileName: string, opts: Options, formatSet
if (config["typescript.format.placeOpenBraceOnNewLineForControlBlocks"] != null) {
formatSettings.placeOpenBraceOnNewLineForControlBlocks = config["typescript.format.placeOpenBraceOnNewLineForControlBlocks"];
}
// TODO insertSpaceAfterTypeAssertion

return formatSettings;
}
4 changes: 2 additions & 2 deletions test/expected/vscode/a/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@
"insertSpaceAfterCommaDelimiter": true,
"insertSpaceAfterSemicolonInForStatements": true,
"insertSpaceBeforeAndAfterBinaryOperators": true,
"insertSpaceAfterConstructor": false,
"insertSpaceAfterConstructor": true,
"insertSpaceAfterKeywordsInControlFlowStatements": true,
"insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
"insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": true,
"insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": true,
"insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
"insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": true,
"insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": true,
"insertSpaceAfterTypeAssertion": false,
"insertSpaceAfterTypeAssertion": true,
"insertSpaceBeforeFunctionParenthesis": true,
"placeOpenBraceOnNewLineForFunctions": true,
"placeOpenBraceOnNewLineForControlBlocks": true,
Expand Down
2 changes: 2 additions & 0 deletions test/fixture/vscode/a/.vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// comment
"typescript.format.enable": true,
"typescript.format.insertSpaceAfterCommaDelimiter": true,
"typescript.format.insertSpaceAfterConstructor": true,
"typescript.format.insertSpaceAfterSemicolonInForStatements": true,
"typescript.format.insertSpaceBeforeAndAfterBinaryOperators": true,
"typescript.format.insertSpaceAfterKeywordsInControlFlowStatements": true,
Expand All @@ -11,6 +12,7 @@
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": true,
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": true,
"typescript.format.insertSpaceAfterTypeAssertion": true,
"typescript.format.insertSpaceBeforeFunctionParenthesis": true,
"typescript.format.placeOpenBraceOnNewLineForFunctions": true,
"typescript.format.placeOpenBraceOnNewLineForControlBlocks": true
Expand Down
2 changes: 2 additions & 0 deletions test/fixture/vscode/b/.vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// comment
"typescript.format.enable": false,
"typescript.format.insertSpaceAfterCommaDelimiter": false,
"typescript.format.insertSpaceAfterConstructor": false,
"typescript.format.insertSpaceAfterSemicolonInForStatements": false,
"typescript.format.insertSpaceBeforeAndAfterBinaryOperators": false,
"typescript.format.insertSpaceAfterKeywordsInControlFlowStatements": false,
Expand All @@ -11,6 +12,7 @@
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": false,
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
"typescript.format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
"typescript.format.insertSpaceAfterTypeAssertion": false,
"typescript.format.insertSpaceBeforeFunctionParenthesis": false,
"typescript.format.placeOpenBraceOnNewLineForFunctions": false,
"typescript.format.placeOpenBraceOnNewLineForControlBlocks": false
Expand Down

0 comments on commit 0f8b1e3

Please sign in to comment.