Skip to content

Commit

Permalink
feat(tsfmt): add insertSpaceBeforeTypeAnnotation support refs #108
Browse files Browse the repository at this point in the history
  • Loading branch information
vvakame committed Jan 10, 2018
1 parent 5589883 commit 68bd800
Show file tree
Hide file tree
Showing 49 changed files with 121 additions and 43 deletions.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,8 @@ tsfmt -r
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": true
}
```
Expand Down
6 changes: 5 additions & 1 deletion lib/provider/base.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ interface TsfmtSettings {
insertSpaceBeforeFunctionParenthesis?: boolean;
placeOpenBraceOnNewLineForFunctions?: boolean;
placeOpenBraceOnNewLineForControlBlocks?: boolean;
insertSpaceBeforeTypeAnnotation?: boolean;
baseIndentSize?: number;
indentSize?: number;
// 0, 1, 2 or None, Block, Smart
Expand Down Expand Up @@ -93,6 +94,9 @@ export function makeFormatCodeOptions(fileName: string, opts: Options, formatSet
if (typeof config.placeOpenBraceOnNewLineForControlBlocks === "boolean") {
formatSettings.placeOpenBraceOnNewLineForControlBlocks = config.placeOpenBraceOnNewLineForControlBlocks;
}
if (typeof config.insertSpaceBeforeTypeAnnotation === "boolean") {
formatSettings.insertSpaceBeforeTypeAnnotation = config.insertSpaceBeforeTypeAnnotation;
}
if (typeof config.baseIndentSize === "number") {
formatSettings.baseIndentSize = config.baseIndentSize;
}
Expand All @@ -102,7 +106,7 @@ export function makeFormatCodeOptions(fileName: string, opts: Options, formatSet
if (typeof config.indentStyle === "number") {
formatSettings.indentStyle = config.indentStyle as number;
} else if (typeof config.indentStyle === "string") {
formatSettings.indentStyle = (ts.IndentStyle as any)[config.indentStyle] as number;
formatSettings.indentStyle = (ts.IndentStyle as any) [config.indentStyle] as number;
}
if (typeof config.tabSize === "number") {
formatSettings.tabSize = config.tabSize;
Expand Down
1 change: 1 addition & 0 deletions lib/provider/vscodesettings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ export function makeFormatCodeOptions(fileName: string, opts: Options, formatSet
if (config["typescript.format.placeOpenBraceOnNewLineForControlBlocks"] != null) {
formatSettings.placeOpenBraceOnNewLineForControlBlocks = config["typescript.format.placeOpenBraceOnNewLineForControlBlocks"];
}
// TODO insertSpaceAfterTypeAssertion

return formatSettings;
}
1 change: 1 addition & 0 deletions lib/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ export function createDefaultFormatCodeSettings(): ts.FormatCodeSettings {
insertSpaceBeforeFunctionParenthesis: false,
placeOpenBraceOnNewLineForFunctions: false,
placeOpenBraceOnNewLineForControlBlocks: false,
insertSpaceBeforeTypeAnnotation: false,
};
}

Expand Down
3 changes: 2 additions & 1 deletion test/expected/default/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/editorconfig/a/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/editorconfig/insert_final_newline/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/editorconfig/newline-cr/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/editorconfig/newline-crlf/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/editorconfig/newline-lf/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/editorconfig/space/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/editorconfig/tab/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/schemats/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/specified-config/tsconfig/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/specified-config/tsfmt/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": true,
"placeOpenBraceOnNewLineForControlBlocks": true
"placeOpenBraceOnNewLineForControlBlocks": true,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/specified-config/tslint/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/specified-config/vscode/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/tsc-version/decorators/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
2 changes: 1 addition & 1 deletion test/expected/tsc-version/decorators/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class Sample {
return "";
}

f( @parameterDecorator str: string): string {
f(@parameterDecorator str: string): string {
return `Hello, ${str}`;
}
}
Expand Down
3 changes: 2 additions & 1 deletion test/expected/tsconfig/a/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/tsconfig/crlf/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/tsconfig/extends/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/tsconfig/lf/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/tsfmt/a/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/tsfmt/b/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": true,
"placeOpenBraceOnNewLineForControlBlocks": true
"placeOpenBraceOnNewLineForControlBlocks": true,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/tsfmt/c/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": true,
"placeOpenBraceOnNewLineForControlBlocks": true
"placeOpenBraceOnNewLineForControlBlocks": true,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/tsfmt/d/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/tsfmt/e/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/tsfmt/f/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": true,
"insertSpaceBeforeFunctionParenthesis": true,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/tsfmt/g/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/tsfmt/h/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/tsfmt/i/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/tsfmt/j/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
24 changes: 24 additions & 0 deletions test/expected/tsfmt/k/main.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"baseIndentSize": 0,
"indentSize": 4,
"tabSize": 4,
"indentStyle": 2,
"newLineCharacter": "\r\n",
"convertTabsToSpaces": true,
"insertSpaceAfterCommaDelimiter": true,
"insertSpaceAfterSemicolonInForStatements": true,
"insertSpaceBeforeAndAfterBinaryOperators": true,
"insertSpaceAfterConstructor": false,
"insertSpaceAfterKeywordsInControlFlowStatements": true,
"insertSpaceAfterFunctionKeywordForAnonymousFunctions": false,
"insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
"insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
"insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true,
"insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
"insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false,
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": true
}
2 changes: 2 additions & 0 deletions test/expected/tsfmt/k/main.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
type Int = number;
function RGBtoHSB(param1 : Int, param2 : Int, param3 : Int) { }
3 changes: 2 additions & 1 deletion test/expected/tslint/a/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/tslint/b/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/tslint/indent-tabs/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/tslint/indent/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/tslint/no-consecutive-blank-lines/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
3 changes: 2 additions & 1 deletion test/expected/tslint/no-trailing-whitespace/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,6 @@
"insertSpaceAfterTypeAssertion": false,
"insertSpaceBeforeFunctionParenthesis": false,
"placeOpenBraceOnNewLineForFunctions": false,
"placeOpenBraceOnNewLineForControlBlocks": false
"placeOpenBraceOnNewLineForControlBlocks": false,
"insertSpaceBeforeTypeAnnotation": false
}
Loading

0 comments on commit 68bd800

Please sign in to comment.