summaryrefslogtreecommitdiffstats
path: root/integration/intellij/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'integration/intellij/src/main')
-rw-r--r--integration/intellij/src/main/bnf/ai/vespa/intellij/schema/parser/sd.bnf4
-rw-r--r--integration/intellij/src/main/java/ai/vespa/intellij/schema/SdUtil.java3
-rw-r--r--integration/intellij/src/main/resources/META-INF/plugin.xml2
3 files changed, 5 insertions, 4 deletions
diff --git a/integration/intellij/src/main/bnf/ai/vespa/intellij/schema/parser/sd.bnf b/integration/intellij/src/main/bnf/ai/vespa/intellij/schema/parser/sd.bnf
index 6be7302a28c..04368bf29af 100644
--- a/integration/intellij/src/main/bnf/ai/vespa/intellij/schema/parser/sd.bnf
+++ b/integration/intellij/src/main/bnf/ai/vespa/intellij/schema/parser/sd.bnf
@@ -40,7 +40,7 @@
]
}
-SdFile ::= SchemaDefinition | DocumentDefinition
+SdFile ::= SchemaDefinition | DocumentDefinition | RankProfileDefinition
SchemaDefinition ::= (search | schema) IdentifierVal? (inherits IdentifierVal)? '{' SchemaBody '}'
SchemaBody ::= SchemaBodyOptions* DocumentDefinition SchemaBodyOptions* // Does not support zero-or-one occurrences
private SchemaBodyOptions ::= SchemaFieldDefinition | ImportFieldDefinition | DocumentSummaryDefinition |
@@ -129,7 +129,7 @@ PrimitiveExpr ::= (('-')? INTEGER_REG) | (('-')? FLOAT_REG) | IdentifierVal | Ra
//-------------------------
//-- Rank Profile rules ---
//-------------------------
-RankProfileDefinition ::= (rank-profile | model) IdentifierWithDashVal (inherits IdentifierWithDashVal)? '{' RankProfileBody '}'
+RankProfileDefinition ::= (rank-profile | model) IdentifierWithDashVal (inherits IdentifierWithDashVal (',' IdentifierWithDashVal)*)? '{' RankProfileBody '}'
{ mixin="ai.vespa.intellij.schema.psi.impl.SdNamedElementImpl"
implements=["ai.vespa.intellij.schema.psi.SdDeclaration"]
}
diff --git a/integration/intellij/src/main/java/ai/vespa/intellij/schema/SdUtil.java b/integration/intellij/src/main/java/ai/vespa/intellij/schema/SdUtil.java
index d9f769d07cc..cba1bd04ce4 100644
--- a/integration/intellij/src/main/java/ai/vespa/intellij/schema/SdUtil.java
+++ b/integration/intellij/src/main/java/ai/vespa/intellij/schema/SdUtil.java
@@ -132,7 +132,8 @@ public class SdUtil {
for (VirtualFile vfile : virtualFiles) {
SdFile sdFile = (SdFile) PsiManager.getInstance(project).findFile(vfile);
- if (sdFile != null && !sdFile.getName().equals(docName + ".sd")) {
+ if (sdFile != null &&
+ ( !sdFile.getName().equals(docName + ".sd") && !sdFile.getName().equals(docName + ".profile"))) {
continue;
}
result.addAll(SdUtil.findDeclarationsByName(sdFile, name));
diff --git a/integration/intellij/src/main/resources/META-INF/plugin.xml b/integration/intellij/src/main/resources/META-INF/plugin.xml
index 673a66f3228..ea6fe3f2f15 100644
--- a/integration/intellij/src/main/resources/META-INF/plugin.xml
+++ b/integration/intellij/src/main/resources/META-INF/plugin.xml
@@ -29,7 +29,7 @@
<!-- Extension points defined by the plugin -->
<extensions defaultExtensionNs="com.intellij">
<fileType name="Sd File" implementationClass="ai.vespa.intellij.schema.SdFileType" fieldName="INSTANCE"
- language="Sd" extensions="sd"/>
+ language="Sd" extensions="sd;profile"/>
<lang.parserDefinition language="Sd" implementationClass="ai.vespa.intellij.schema.parser.SdParserDefinition"/>
<lang.syntaxHighlighterFactory language="Sd" implementationClass="ai.vespa.intellij.schema.SdSyntaxHighlighterFactory"/>
<completion.contributor language="Sd" implementationClass="ai.vespa.intellij.schema.SdCompletionContributor"/>