jihchi / kq

A jq-like CLI tool that allows querying and transforming KDL documents directly from the command line
MIT License
7 stars 0 forks source link

Implement `||` selector #5

Open jihchi opened 3 years ago

jihchi commented 3 years ago

Reference: https://github.com/kdl-org/kdl/blob/1.0.0/QUERY-SPEC.md#selectors

a b || a c: Selects all b and c elements that are descendants of an a element. Any selector may be on either side of the ||. Multiple || are supported.

For example:

$ cat example.kdl
package {
    name "foo"
    version "1.0.0"
    dependencies platform="windows" {
        winapi "1.0.0" path="./crates/my-winapi-fork"
    }
    dependencies {
        miette "2.0.0" dev=true
    }
}

$ cat example.kdl | kq "package author || package version"
version "1.0.0"