# ws2 query language

The `cargo-ws2` query language (`ws2ql`) allows users to specify a
set of inputs, and an operation to execute on it.

## Basic rules

* Inside `[]` are sets (meaning items de-dup), space separated
* IF `[]` contains a `/` anywhere _but_ the beginning AND end,
  query becomes a path glob
* IF `[]` contains `/` at start AND end, query becomes a regex
* An operation is parsed in the order of the fields in it's struct
  (so publish order is `type mod devel`, etc)
* Inside `{}` you can create dependency maps
  * `{ foo < }` represents all crates that depend on `foo`
  * `{ foo < bar &< }` represents all crates that depend on `foo` AND `bar`
  * `{ foo < bar |< }` represents all crates that depend on `foo` OR `bar`
  * `{ foo < bar &!< }` represents all crates that depend on `foo` AND NOT `bar`

