From 00a97272f2fe00c09dd954c21fffb4efebc208af Mon Sep 17 00:00:00 2001 From: Andrei Listochkin Date: Tue, 17 May 2022 18:31:51 +0100 Subject: [PATCH] automate braceless return substitution for long lines Per [bjorn3][https://github.com/bjorn3] suggestion resolves cases where an early return is moved to a separate line due to line width formatting. This setting changes ``` if (a very long condition) return; ``` to ``` if (a very long condition) { return; } ``` while keeping ``` if (short) return; ``` as is. In pathological cases this may cause `npm run fix` not to fix formatting in one go and may require running it twice. --- editors/code/.eslintrc.js | 1 + editors/code/src/ast_inspector.ts | 3 ++- editors/code/src/snippets.ts | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/editors/code/.eslintrc.js b/editors/code/.eslintrc.js index 684b5c6bd97..297e9fa1e5c 100644 --- a/editors/code/.eslintrc.js +++ b/editors/code/.eslintrc.js @@ -14,6 +14,7 @@ module.exports = { rules: { camelcase: ["error"], eqeqeq: ["error", "always", { null: "ignore" }], + curly: ["error", "multi-line"], "no-console": ["error", { allow: ["warn", "error"] }], "prefer-const": "error", "@typescript-eslint/member-delimiter-style": [ diff --git a/editors/code/src/ast_inspector.ts b/editors/code/src/ast_inspector.ts index fca992299ef..e57fb20e2cf 100644 --- a/editors/code/src/ast_inspector.ts +++ b/editors/code/src/ast_inspector.ts @@ -101,8 +101,9 @@ export class AstInspector implements vscode.HoverProvider, vscode.DefinitionProv doc: vscode.TextDocument, pos: vscode.Position ): vscode.ProviderResult { - if (!this.rustEditor || doc.uri.toString() !== this.rustEditor.document.uri.toString()) + if (!this.rustEditor || doc.uri.toString() !== this.rustEditor.document.uri.toString()) { return; + } const astEditor = this.findAstTextEditor(); if (!astEditor) return; diff --git a/editors/code/src/snippets.ts b/editors/code/src/snippets.ts index 14c2121d08a..299d29c27ee 100644 --- a/editors/code/src/snippets.ts +++ b/editors/code/src/snippets.ts @@ -11,7 +11,7 @@ export async function applySnippetWorkspaceEdit(edit: vscode.WorkspaceEdit) { } for (const [uri, edits] of edit.entries()) { const editor = await editorFromUri(uri); - if (editor) + if (editor) { await editor.edit((builder) => { for (const indel of edits) { assert( @@ -21,6 +21,7 @@ export async function applySnippetWorkspaceEdit(edit: vscode.WorkspaceEdit) { builder.replace(indel.range, indel.newText); } }); + } } }