summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2021-11-04 20:32:14 +0100
committerGitHub <noreply@github.com>2021-11-04 20:32:14 +0100
commit233e8de27b28515a3c8afbf865e6f8bb9139b5fe (patch)
tree10d0583f37adc0620859f5cdfcea6f5292a83533
parent13ec7e2c439a467cff77399c1252911517d5f22d (diff)
parentacd8d2349d11396160c2fb2cb502375e6c6429eb (diff)
Merge pull request #19865 from vespa-engine/arnej/extend-intellij-plugin
add "match-features" syntax
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/SdSyntaxHighlighter.java1
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/lexer/sd.flex2
-rw-r--r--sd-plugin/src/main/java/org/intellij/sdk/language/parser/sd.bnf9
3 files changed, 9 insertions, 3 deletions
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/SdSyntaxHighlighter.java b/sd-plugin/src/main/java/org/intellij/sdk/language/SdSyntaxHighlighter.java
index 851c660d9f5..e6452685e3c 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/SdSyntaxHighlighter.java
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/SdSyntaxHighlighter.java
@@ -112,6 +112,7 @@ public class SdSyntaxHighlighter extends SyntaxHighlighterBase {
keyWords.add(SdTypes.FUNCTION);
keyWords.add(SdTypes.INLINE);
keyWords.add(SdTypes.SUMMARY_FEATURES);
+ keyWords.add(SdTypes.MATCH_FEATURES);
keyWords.add(SdTypes.RANK_FEATURES);
keyWords.add(SdTypes.CONSTANTS);
keyWords.add(SdTypes.DOCUMENT);
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/lexer/sd.flex b/sd-plugin/src/main/java/org/intellij/sdk/language/lexer/sd.flex
index 7cd068af813..585a6672189 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/lexer/sd.flex
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/lexer/sd.flex
@@ -205,6 +205,8 @@ WORD = \w+
"inline" { return INLINE; }
"summary-features" { return SUMMARY_FEATURES; }
+ "match-features" { return MATCH_FEATURES; }
+ "rank-features" { return RANK_FEATURES; }
"body" { return BODY; }
"header" { return HEADER; }
diff --git a/sd-plugin/src/main/java/org/intellij/sdk/language/parser/sd.bnf b/sd-plugin/src/main/java/org/intellij/sdk/language/parser/sd.bnf
index 798d567997b..67bdca7d2dc 100644
--- a/sd-plugin/src/main/java/org/intellij/sdk/language/parser/sd.bnf
+++ b/sd-plugin/src/main/java/org/intellij/sdk/language/parser/sd.bnf
@@ -134,9 +134,9 @@ RankProfileDefinition ::= (rank-profile | model) IdentifierWithDashVal (inherits
private RankProfileBody ::= RankProfileBodyOptions* // Does not support zero-or-one occurrences
private RankProfileBodyOptions ::= MatchPhaseDefinition | NumThreadsDefinition | FunctionDefinition | TermwiseLimitDefinition |
ignore-default-rank-features | RankPropertiesDefinition | FirstPhaseDefinition |
- SummaryFeaturesDefinition | RankFeaturesDefinition | SecondPhaseDefinition | ConstantsDefinition |
- RankDefinition | RankTypeDefinition | MinHitsDefinition | NumSearchPartitionDefinition |
- FieldWeightDefinition
+ SummaryFeaturesDefinition | MatchFeaturesDefinition | RankFeaturesDefinition |
+ SecondPhaseDefinition | ConstantsDefinition | RankDefinition | RankTypeDefinition |
+ MinHitsDefinition | NumSearchPartitionDefinition | FieldWeightDefinition
MatchPhaseDefinition ::= match-phase '{' MatchPhaseBody '}'
MatchPhaseBody ::= MatchPhaseBodyOptions+
@@ -180,6 +180,8 @@ ArgumentDefinition ::= IdentifierVal
SummaryFeaturesDefinition ::= summary-features ((':' RankFeature+) | ((inherits IdentifierVal)? '{' RankFeature* '}'))
+MatchFeaturesDefinition ::= match-features ((':' RankFeature+) | ('{' RankFeature* '}'))
+
RankFeaturesDefinition ::= rank-features ((':' RankFeature+) | ('{' RankFeature* '}'))
ConstantsDefinition ::= constants '{' (IdentifierVal ':' RankPropertiesValue)* '}'
@@ -342,6 +344,7 @@ KeywordNotIdentifier ::= struct-field | document-summary | omit-summary-features
num-threads-per-search | termwise-limit | ignore-default-rank-features | min-hits-per-thread |
num-search-partition | match-phase | max-hits | second-phase | rerank-count | min-groups |
first-phase | keep-rank-count | rank-score-drop-limit | rank-properties | summary-features |
+ match-features | rank-features |
exact-terminator | max-length | gram-size | fast-search | fast-access | distance-metric |
indexing-rewrite | query-command | matched-elements-only | lower-bound | upper-bound |
dense-posting-list-threshold | enable-bm25 | max-links-per-node | neighbors-to-explore-at-insert |