update hnadling of keywords: AND, OR, NOT in card search

This commit is contained in:
Lily 2025-04-03 21:08:31 -04:00
parent 5af71d1c2e
commit ce6859d4a8
No known key found for this signature in database
GPG key ID: D916CEDDF4F93CE7

View file

@ -12,13 +12,13 @@ Start <- QueryPartList
~ws <- [ ]+
QueryPartList <- ComplexQueryPart ( ws ("and" ws)? ComplexQueryPart)* ws*
ComplexQueryPart <- SomewhatComplexQueryPart ws $or<[oO][rR]> ws ComplexQueryPart / SomewhatComplexQueryPart
ComplexQueryPart <- SomewhatComplexQueryPart ws $or<[O][R]> ws ComplexQueryPart / SomewhatComplexQueryPart
SomewhatComplexQueryPart <- [(] QueryPartList [)] / QueryPart
QueryPart <- NotQuery / SetQuery / RarityQuery / CMCQuery / FormatQuery / PowerQuery / ToughnessQuery / ColorQuery / TypeQuery / OracleQuery / FieldQuery / GenericQuery
NotQuery <- ('not' ws/'-') SomewhatComplexQueryPart
NotQuery <- ('NOT' ws/'-') SomewhatComplexQueryPart
SetQuery <- ('e'/'set') [:] FlexStringValue
OracleQuery <- 'o' [:] RegexString