Skip to content

Commit 8196bf4

Browse files
committed
Fix compilation after rebase with common code action interface
1 parent f863d17 commit 8196bf4

File tree

5 files changed

+15
-26
lines changed

5 files changed

+15
-26
lines changed

metals/src/main/scala/scala/meta/internal/metals/Compilers.scala

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -941,20 +941,6 @@ class Compilers(
941941
}
942942
}.getOrElse(Future.successful(Nil.asJava))
943943

944-
def convertToNamedLambdaParameters(
945-
position: TextDocumentPositionParams,
946-
token: CancelToken,
947-
): Future[ju.List[TextEdit]] = {
948-
withPCAndAdjustLsp(position) { (pc, pos, adjust) =>
949-
pc.convertToNamedLambdaParameters(
950-
CompilerOffsetParamsUtils.fromPos(pos, token)
951-
).asScala
952-
.map { edits =>
953-
adjust.adjustTextEdits(edits)
954-
}
955-
}
956-
}.getOrElse(Future.successful(Nil.asJava))
957-
958944
def implementAbstractMembers(
959945
params: TextDocumentPositionParams,
960946
token: CancelToken,

metals/src/main/scala/scala/meta/internal/metals/codeactions/ConvertToNamedLambdaParameters.scala

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import scala.meta.internal.metals.codeactions.CodeActionBuilder
1313
import scala.meta.internal.metals.logging
1414
import scala.meta.internal.parsing.Trees
1515
import scala.meta.pc.CancelToken
16+
import scala.meta.pc.CodeActionId
1617

1718
import org.eclipse.{lsp4j => l}
1819

@@ -43,9 +44,11 @@ class ConvertToNamedLambdaParameters(
4344
)(implicit ec: ExecutionContext): Future[Unit] = {
4445
val uri = data.position.getTextDocument().getUri()
4546
for {
46-
edits <- compilers.convertToNamedLambdaParameters(
47+
edits <- compilers.codeAction(
4748
data.position,
4849
token,
50+
CodeActionId.ConvertToNamedLambdaParameters,
51+
null,
4952
)
5053
_ = logging.logErrorWhen(
5154
edits.isEmpty(),
@@ -83,6 +86,11 @@ class ConvertToNamedLambdaParameters(
8386
)
8487
Future.successful(Seq(codeAction))
8588
}
89+
.filter(_ =>
90+
compilers
91+
.supportedCodeActions(path)
92+
.contains(CodeActionId.ConvertToNamedLambdaParameters)
93+
)
8694
.getOrElse(Future.successful(Nil))
8795
}
8896

mtags-interfaces/src/main/java/scala/meta/pc/CodeActionId.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,5 @@ public class CodeActionId {
1212
public static final String InlineValue = "InlineValue";
1313
public static final String InsertInferredType = "InsertInferredType";
1414
public static final String InsertInferredMethod = "InsertInferredMethod";
15+
public static final String ConvertToNamedLambdaParameters = "ConvertToNamedLambdaParameters";
1516
}

mtags-interfaces/src/main/java/scala/meta/pc/PresentationCompiler.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -187,15 +187,6 @@ public CompletableFuture<List<TextEdit>> inlineValue(OffsetParams params) {
187187
public abstract CompletableFuture<List<TextEdit>> convertToNamedArguments(OffsetParams params,
188188
List<Integer> argIndices);
189189

190-
/**
191-
* Return the text edits for converting a wildcard lambda to a named lambda.
192-
*/
193-
public CompletableFuture<List<TextEdit>> convertToNamedLambdaParameters(OffsetParams params) {
194-
return CompletableFuture.supplyAsync(() -> {
195-
throw new DisplayableException("Convert to named lambda parameters is not available in this version of Scala");
196-
});
197-
};
198-
199190
/**
200191
* The text contents of the given file changed.
201192
*/

tests/cross/src/test/scala/tests/pc/ConvertToNamedLambdaParametersSuite.scala

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import java.net.URI
55
import scala.meta.internal.jdk.CollectionConverters._
66
import scala.meta.internal.metals.CompilerOffsetParams
77
import scala.meta.internal.metals.TextEdits
8+
import scala.meta.pc.CodeActionId
89

910
import munit.Location
1011
import munit.TestOptions
@@ -166,8 +167,10 @@ class ConvertToNamedLambdaParametersSuite extends BaseCodeActionSuite {
166167
): List[l.TextEdit] = {
167168
val (code, _, offset) = params(original)
168169
val result = presentationCompiler
169-
.convertToNamedLambdaParameters(
170-
CompilerOffsetParams(URI.create(filename), code, offset, cancelToken)
170+
.codeAction(
171+
CompilerOffsetParams(URI.create(filename), code, offset, cancelToken),
172+
CodeActionId.ConvertToNamedLambdaParameters,
173+
null
171174
)
172175
.get()
173176
result.asScala.toList

0 commit comments

Comments
 (0)