Show only "ignore" severity problem quick fixes as quick refactorings

This commit is contained in:
aboyko
2023-09-05 10:24:39 -04:00
parent dad61e3d1d
commit e79da3946a
3 changed files with 8 additions and 4 deletions

View File

@@ -1,2 +1,2 @@
./mvnw clean install -Pe428 -Psnapshot -Dsigning.skip=true -Dhttpclient.retry-max=20 -Dmaven.test.skip=true -Declipse.p2.mirrors=false -Dtycho.localArtifacts=ignore -Dorg.eclipse.equinox.p2.transport.ecf.retry=5 -Dskip.osx.signing=true -Dskip.win.signing=true -Dskip.osx.notarizing=true
./mvnw clean install -Pe429 -Psnapshot -Dsigning.skip=true -Dhttpclient.retry-max=20 -Dmaven.test.skip=true -Declipse.p2.mirrors=false -Dtycho.localArtifacts=ignore -Dorg.eclipse.equinox.p2.transport.ecf.retry=5 -Dskip.osx.signing=true -Dskip.win.signing=true -Dskip.osx.notarizing=true

View File

@@ -38,7 +38,7 @@ public class RewriteConfig {
@ConditionalOnBean(RewriteRecipeRepository.class)
@Bean RewriteCodeActionHandler rewriteCodeActionHandler(CompilationUnitCache cuCache, BootJavaConfig config, JdtReconciler jdtReconciler, SimpleLanguageServer server) {
return new RewriteCodeActionHandler(cuCache, config, jdtReconciler, server.getQuickfixRegistry());
return new RewriteCodeActionHandler(cuCache, config, jdtReconciler, server.getQuickfixRegistry(), server.getDiagnosticSeverityProvider());
}
@ConditionalOnBean(RewriteRecipeRepository.class)

View File

@@ -35,6 +35,7 @@ import org.springframework.ide.vscode.commons.languageserver.quickfix.Quickfix.Q
import org.springframework.ide.vscode.commons.languageserver.quickfix.QuickfixRegistry;
import org.springframework.ide.vscode.commons.languageserver.quickfix.QuickfixType;
import org.springframework.ide.vscode.commons.languageserver.reconcile.BasicProblemCollector;
import org.springframework.ide.vscode.commons.languageserver.reconcile.DiagnosticSeverityProvider;
import org.springframework.ide.vscode.commons.languageserver.reconcile.ReconcileProblem;
import org.springframework.ide.vscode.commons.languageserver.util.LspClient;
import org.springframework.ide.vscode.commons.languageserver.util.LspClient.Client;
@@ -53,11 +54,14 @@ public class RewriteCodeActionHandler implements JavaCodeActionHandler {
private QuickfixRegistry quickfixRegistry;
public RewriteCodeActionHandler(CompilationUnitCache cuCache, BootJavaConfig config, JdtReconciler jdtReconciler, QuickfixRegistry quickfixRegistry) {
private DiagnosticSeverityProvider severityProvider;
public RewriteCodeActionHandler(CompilationUnitCache cuCache, BootJavaConfig config, JdtReconciler jdtReconciler, QuickfixRegistry quickfixRegistry, DiagnosticSeverityProvider severityProvider) {
this.cuCache = cuCache;
this.config = config;
this.jdtReconciler = jdtReconciler;
this.quickfixRegistry = quickfixRegistry;
this.severityProvider = severityProvider;
}
protected static boolean isResolve(CodeActionCapabilities capabilities, String property) {
@@ -109,7 +113,7 @@ public class RewriteCodeActionHandler implements JavaCodeActionHandler {
BasicProblemCollector problemsCollector = new BasicProblemCollector(problems);
jdtReconciler.reconcile(project, uri, cu, problemsCollector, true);
for (ReconcileProblem p : problems) {
if (p.getOffset() <= region.getOffset() && p.getOffset() + p.getLength() >= region.getOffset() + region.getLength()) {
if (p.getOffset() <= region.getOffset() && p.getOffset() + p.getLength() >= region.getOffset() + region.getLength() && severityProvider.getDiagnosticSeverity(p) == null) {
for (QuickfixData<?> qf : p.getQuickfixes()) {
if (qf.params instanceof FixDescriptor) {
cas.add(createCodeActionFromScope((FixDescriptor) qf.params));