kq

Crates.iokq
lib.rskq
version1.0.6
sourcesrc
created_at2021-09-13 04:12:53.093028
updated_at2021-10-22 05:13:16.504987
descriptionA jq-like cli tool that can query and transform kdl right in the command line
homepagehttps://github.com/jihchi/kq
repositoryhttps://github.com/jihchi/kq.git
max_upload_size
id450295
size176,277
Jihchi Lee (jihchi)

documentation

https://crates.io/crates/kq

README

kq

Crates.io - version Crates.io - download docs.rs

A jq-like cli tool that can query and transform KDL document right in the command line.

|| and Map Operator are not supported yet.

Installation

Pre-built binaries

You can find prebuilt binaries for Linux, macOS and Windows in the release page.

Cargo

$ cargo install kq

Container

$ docker run ghcr.io/jihchi/kq -v

Usage

$ kq -h
Usage: kq [options] <selector>

Options:
    -h, --help          print this help menu
    -v, --version       print the version

Examples

Modified from https://github.com/kdl-org/kdl/blob/1.0.0/QUERY-SPEC.md#examples

Given following content:

$ 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 name"
name "foo"
$ cat example.kdl | kq "dependencies"
dependencies platform="windows" {
    winapi "1.0.0" path="./crates/my-winapi-fork"
}
dependencies {
    miette "2.0.0" dev=true
}
$ cat example.kdl | kq "dependencies[platform]"
dependencies platform="windows" {
    winapi "1.0.0" path="./crates/my-winapi-fork"
}
$ cat example.kdl | kq "dependencies > []"
winapi "1.0.0" path="./crates/my-winapi-fork"
miette "2.0.0" dev=true
Commit count: 37

cargo fmt