Skip to content

Conversation

@gsnedders
Copy link
Member

Adds support for wrapping root-level queries in parentheses (e.g., (all(...)) or (exists(...) and path:/foo)), making the grammar more flexible and allowing better grouping for complex queries.

This makes complex and/or combinations possible that weren't before, closing a gap in what the query language can express compared with structured queries.

This builds on top of #4727.

Restructure test-search.html tests into a clearer hierarchy with
descriptive suite names, and improve individual test names.
Notably:

 * keywords in unexpected locations,
 * edge-cases around implicit-exists,
 * nested Q-level queries,
 * `not` before a Q-level (root) query, and
 * wrapping Q-level queries in parentheses.
Add negative lookahead to patternExp to prevent reserved keywords
(status, path, all, none, etc.) from being used as implicit patterns
anywhere in the query grammar. Keywords can still be used when quoted
as literal patterns.
Add support for wrapping root-level queries in parentheses
(e.g., `(all(...))`  or `(exists(...) and path:/foo)`), making the
grammar more flexible and allowing better grouping for complex
queries.
@gsnedders
Copy link
Member Author

Ah, this does cause some test regressions if #4729 doesn't precede it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant