diff options
author | Arne H Juul <arnej@yahooinc.com> | 2021-11-04 11:00:05 +0000 |
---|---|---|
committer | Arne H Juul <arnej@yahooinc.com> | 2021-11-04 13:11:14 +0000 |
commit | e9bf7a444158624c88448459a407b4e1e4beb97e (patch) | |
tree | 6c029a99b204d2b13da6c66650db14891ccebf14 /sd-plugin | |
parent | 8e165140c2726e4434e56a032aeadd012943dca6 (diff) |
add "match-features" syntax
* based on the way "summary-features" is handled
* also add "rank-features" some places where it seems to be missing
Diffstat (limited to 'sd-plugin')
3 files changed, 8 insertions, 1 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 7ff108fc8f6..46cbffe0aa8 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 235b494cb0e..5368551b81b 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 @@ -198,6 +198,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 c8c7af8ade8..243e177dbdd 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 @@ -137,7 +137,8 @@ RankProfileDefinition ::= rank-profile IdentifierWithDashVal (inherits Identifie 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 | + SummaryFeaturesDefinition | MatchFeaturesDefinition | RankFeaturesDefinition | + SecondPhaseDefinition | ConstantsDefinition | RankDefinition | RankTypeDefinition | MinHitsDefinition | NumSearchPartitionDefinition MatchPhaseDefinition ::= match-phase '{' MatchPhaseBody '}' @@ -181,6 +182,8 @@ ArgumentDefinition ::= IdentifierVal SummaryFeaturesDefinition ::= summary-features ((':' RankFeature+) | ((inherits IdentifierVal)? '{' RankFeature* '}')) +MatchFeaturesDefinition ::= match-features (':' RankFeature+) | ('{' RankFeature* '}') + RankFeaturesDefinition ::= rank-features (':' RankFeature+) | ('{' RankFeature* '}') ConstantsDefinition ::= constants '{' (IdentifierVal ':' RankPropertiesValue)* '}' @@ -337,6 +340,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 | |