aboutsummaryrefslogtreecommitdiffstats
path: root/integration
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-02-18 12:29:24 +0100
committerJon Bratseth <bratseth@gmail.com>2022-02-18 12:29:24 +0100
commitf087f021607d473defd070a6ea7bc231dd2b78d4 (patch)
treeb90f0e4e2a08120a6707838a395470c80dec4e20 /integration
parent228ff94d652ae9b16bc723bb5448196f4d7dc62b (diff)
Various fixes
Diffstat (limited to 'integration')
-rw-r--r--integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/RankProfileUsageFinder.java5
-rw-r--r--integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/SdDocumentSummaryGroupingRule.java2
-rw-r--r--integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/SdFindUsagesHandler.java2
-rw-r--r--integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/SdFindUsagesHandlerFactory.java6
-rw-r--r--integration/intellij/src/main/java/ai/vespa/intellij/schema/findUsages/SdRankProfileGroupingRule.java2
-rw-r--r--integration/intellij/src/main/java/ai/vespa/intellij/schema/model/Schema.java2
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() {