pub fn parse_query(query: &str) -> (Vec<String>, Vec<String>)Expand description
Parse a query string into (positive_tokens, exclusion_terms).
Words prefixed with - (e.g. -sample) are treated as exclusions.
The rest are tokenised with the same rules as query_tokens.
Example: "drift playhead -sample -waveform" →
tokens: ["drift", "playhead"], exclusions: ["sample", "waveform"]