From 02fa39a6a99acc9de59ae12e81d078cca9f311fe Mon Sep 17 00:00:00 2001 From: Jesse Trinity Date: Wed, 15 Apr 2020 13:49:50 -0700 Subject: [PATCH] enable explicit requests for addOrRemoveBracesToArrowFunction --- src/services/refactors/addOrRemoveBracesToArrowFunction.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/services/refactors/addOrRemoveBracesToArrowFunction.ts b/src/services/refactors/addOrRemoveBracesToArrowFunction.ts index 1256de9cfb..de048b7dbd 100644 --- a/src/services/refactors/addOrRemoveBracesToArrowFunction.ts +++ b/src/services/refactors/addOrRemoveBracesToArrowFunction.ts @@ -38,7 +38,7 @@ namespace ts.refactor.addOrRemoveBracesToArrowFunction { function getEditsForAction(context: RefactorContext, actionName: string): RefactorEditInfo | undefined { const { file, startPosition } = context; - const info = getConvertibleArrowFunctionAtPosition(file, startPosition); + const info = getConvertibleArrowFunctionAtPosition(file, startPosition, /*triggerReason*/ { kind: "invoked" }); if (!info) return undefined; const { expression, returnStatement, func } = info; @@ -73,7 +73,9 @@ namespace ts.refactor.addOrRemoveBracesToArrowFunction { function getConvertibleArrowFunctionAtPosition(file: SourceFile, startPosition: number, triggerReason?: RefactorTriggerReason): Info | undefined { const node = getTokenAtPosition(file, startPosition); const func = getContainingFunction(node); - if (!func || !isArrowFunction(func) || (!rangeContainsRange(func, node) || rangeContainsRange(func.body, node))) return undefined; + // Only offer a refactor in the function body on explicit refactor requests. + if (!func || !isArrowFunction(func) || (!rangeContainsRange(func, node) + || (rangeContainsRange(func.body, node) && triggerReason?.kind !== "invoked"))) return undefined; if (isExpression(func.body)) { return {