[java, completion] use default tail text for a jigsaw completion IDEA-352245

GitOrigin-RevId: 1d7753860c413c92d697dc106f4d011022c861ce
This commit is contained in:
Aleksey Dobrynin
2024-05-14 15:01:36 +02:00
committed by intellij-monorepo-bot
parent 6e2024f6b1
commit ccf644aaed
3 changed files with 5 additions and 10 deletions

View File

@@ -12,7 +12,6 @@ import com.intellij.codeInsight.daemon.impl.analysis.LambdaHighlightingUtil;
import com.intellij.codeInsight.editorActions.TabOutScopesTracker;
import com.intellij.codeInsight.guess.GuessManager;
import com.intellij.codeInsight.lookup.*;
import com.intellij.java.JavaBundle;
import com.intellij.lang.java.JavaLanguage;
import com.intellij.openapi.application.ReadAction;
import com.intellij.openapi.diagnostic.Logger;
@@ -517,10 +516,7 @@ public final class JavaCompletionUtil {
final PsiJavaModule targetModule = ReadAction.compute(() -> JavaModuleGraphUtil.findDescriptorByElement(psiClass));
if (targetModule != null && targetModule != currentModule &&
!JavaModuleGraphUtil.reads(currentModule, targetModule)) {
LookupElementDecorator<LookupElement> element = generator.apply(presentation -> {
presentation.setItemTextForeground(JBColor.RED);
presentation.setTailText(JavaBundle.message("completion.requires.module.tail.text", targetModule.getName()), true);
});
LookupElementDecorator<LookupElement> element = generator.apply(presentation -> presentation.setItemTextForeground(JBColor.RED));
return PrioritizedLookupElement.withExplicitProximity(element, -1);
}
}

View File

@@ -82,7 +82,7 @@ public class JigsawCodeCompletionTest extends LightFixtureCompletionTestCase {
}
""")
.variants(new Variant("MyBClass", " org.jetbrains.b", JBColor.foreground()),
new Variant("MyAClass", " (requires 'module.a' module)", Color.RED))
new Variant("MyAClass", " org.jetbrains.a", Color.RED))
.choose(new Variant("MyAClass", " org.jetbrains.a", Color.RED))
.check("Main.java", """
import org.jetbrains.a.MyAClass;
@@ -108,8 +108,8 @@ public class JigsawCodeCompletionTest extends LightFixtureCompletionTestCase {
}
}
""")
.variants(new Variant("MyAClass", " (requires 'module.a' module)", Color.RED),
new Variant("MyBClass", " (requires 'module.b' module)", Color.RED))
.variants(new Variant("MyAClass", " org.jetbrains.a", Color.RED),
new Variant("MyBClass", " org.jetbrains.b", Color.RED))
.choose(new Variant("MyBClass", " org.jetbrains.b", Color.RED))
.check("Main.java", """
import org.jetbrains.b.MyBClass;
@@ -134,7 +134,7 @@ public class JigsawCodeCompletionTest extends LightFixtureCompletionTestCase {
}
}
""")
.variants(new Variant("MyBClass", " (requires 'module.b' module)", Color.RED))
.variants(new Variant("MyBClass", " org.jetbrains.b", Color.RED))
.choose(new Variant("MyBClass", " org.jetbrains.b", Color.RED))
.check("Main.java", """
import org.jetbrains.b.MyBClass;

View File

@@ -1806,7 +1806,6 @@ dialog.title.move.directory=Move Directory
progress.title.checking.if.class.exists=Check target class ''{0}'' exists
quickfix.find.cause.description=Attempts to highlight code elements that resulted in this warning and explain how exactly they contribute.
completion.generate.via.wizard=(generate via wizard)
completion.requires.module.tail.text=\ (requires ''{0}'' module)
notification.group.jdk.resolve.problems=Failed to resolve JDK
notification.group.jshell=JShell problem occurred
notification.group.repository=JAR files synchronized with repository