diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-02-18 12:29:24 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2022-02-18 12:29:24 +0100 |
commit | f087f021607d473defd070a6ea7bc231dd2b78d4 (patch) | |
tree | b90f0e4e2a08120a6707838a395470c80dec4e20 /integration | |
parent | 228ff94d652ae9b16bc723bb5448196f4d7dc62b (diff) |
Various fixes
Diffstat (limited to 'integration')
6 files changed, 11 insertions, 8 deletions
diff --git a/integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/RankProfileUsageFinder.java b/integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/RankProfileUsageFinder.java index a3083d8c712..099ea9848ac 100644 --- a/integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/RankProfileUsageFinder.java +++ b/integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/RankProfileUsageFinder.java @@ -37,8 +37,9 @@ public class RankProfileUsageFinder extends UsageFinder { if ( ! visited.add(profile)) return; if ( ! profile.equals(this.profile)) - processor().process(new UsageInfo(profile.definition())); - profile.children().forEach(child -> findUsagesBelow(child)); + ReadAction.compute(() -> processor().process(new UsageInfo(profile.definition()))); + for (var child : ReadAction.compute(() -> profile.children())) + findUsagesBelow(child); } } diff --git a/integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/SdDocumentSummaryGroupingRule.java b/integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/SdDocumentSummaryGroupingRule.java index a7abb9db57e..30c123797ac 100644 --- a/integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/SdDocumentSummaryGroupingRule.java +++ b/integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/SdDocumentSummaryGroupingRule.java @@ -12,7 +12,7 @@ import ai.vespa.intellij.schema.SdLanguage; import ai.vespa.intellij.schema.psi.SdDocumentSummaryDefinition; /** - * A Document Summary that groups elements in the "Find Usages" window. + * A grouping rule that groups elements in the "Find Usages" window. * * @author Shahar Ariel */ diff --git a/integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/SdFindUsagesHandler.java b/integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/SdFindUsagesHandler.java index abcd5eb04e4..15f3d8f3b29 100644 --- a/integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/SdFindUsagesHandler.java +++ b/integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/SdFindUsagesHandler.java @@ -5,9 +5,7 @@ import ai.vespa.intellij.schema.psi.SdRankProfileDefinition; import com.intellij.find.findUsages.FindUsagesHandler; import com.intellij.find.findUsages.FindUsagesOptions; import com.intellij.psi.PsiElement; -import com.intellij.psi.PsiReference; import com.intellij.psi.search.GlobalSearchScope; -import com.intellij.psi.search.searches.ReferencesSearch; import com.intellij.usageView.UsageInfo; import com.intellij.util.Processor; import ai.vespa.intellij.schema.psi.SdFunctionDefinition; diff --git a/integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/SdFindUsagesHandlerFactory.java b/integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/SdFindUsagesHandlerFactory.java index 4b7ef552fa0..0033b309239 100644 --- a/integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/SdFindUsagesHandlerFactory.java +++ b/integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/SdFindUsagesHandlerFactory.java @@ -15,7 +15,11 @@ public class SdFindUsagesHandlerFactory extends FindUsagesHandlerFactory { @Override public boolean canFindUsages(PsiElement element) { - return element instanceof PsiNamedElement; + if (element == null) return false; + if (element.getContainingFile() == null) return false; + if (element.getContainingFile().getVirtualFile() == null) return false; + String extension = element.getContainingFile().getVirtualFile().getExtension(); + return ("sd".equals(extension) || "profile".equals(extension)); } @Override diff --git a/integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/SdRankProfileGroupingRule.java b/integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/SdRankProfileGroupingRule.java index 140fd78be9c..9326b919552 100644 --- a/integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/SdRankProfileGroupingRule.java +++ b/integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/SdRankProfileGroupingRule.java @@ -12,7 +12,7 @@ import ai.vespa.intellij.schema.SdLanguage; import ai.vespa.intellij.schema.psi.SdRankProfileDefinition; /** - * A Rank Profile that groups elements in the "Find Usages" window. + * A grouping rule that groups elements in the "Find Usages" window. * * @author Shahar Ariel */ diff --git a/integration/intellij/src/main/java/ai/vespa/intellij/schema/model/Schema.java b/integration/intellij/src/main/java/ai/vespa/intellij/schema/model/Schema.java index c3dbdfbdf18..88cbdd3e07a 100644 --- a/integration/intellij/src/main/java/ai/vespa/intellij/schema/model/Schema.java +++ b/integration/intellij/src/main/java/ai/vespa/intellij/schema/model/Schema.java @@ -54,7 +54,7 @@ public class Schema { return parent = AST.inherits(schemaDefinition.get()) .stream() .findFirst() // Only one schema can be inherited; ignore any following - .map(inheritedNode -> fromProjectFile(definition.getProject(), path().getParentPath().append(inheritedNode.getText() + ".sd"))); + .map(inheritedNode -> fromProjectFile(definition.getProject(), path().append(inheritedNode.getText() + ".sd"))); } public Map<String, Schema> children() { |