Files
vim-ale/jq
AJ ONeal 23100394ac ref(installerconf): rename config keys and add full URL support
Renames:
- github_repo → github_releases (back-compat kept)
- github_source → github_sources (back-compat kept)
- gitea_repo → gitea_releases (back-compat kept)

New keys:
- gitea_sources, gitlab_releases, gitlab_sources

All keys now accept either owner/repo shorthand or full URLs:
- github_releases = sharkdp/bat
- github_releases = https://github.com/sharkdp/bat
- gitea_releases = https://git.rootprojects.org/root/pathman

Defaults: github → github.com, gitlab → gitlab.com.
Gitea has no default (self-hosted only).

Updated all 73 releases.conf files from github_repo to github_releases.
2026-03-11 11:51:43 -06:00
..
2026-03-08 19:38:49 -06:00
2023-10-28 19:59:33 -06:00

title, homepage, tagline
title homepage tagline
jq https://stedolan.github.io/jq/ jq is a lightweight and flexible command-line JSON processor.

To update or switch versions, run webi jq@stable (or @v1.6, @beta, etc).

Files

These are the files / directories that are created and/or modified with this install:

~/.config/envman/PATH.env
~/.local/bin/jq

Cheat Sheet

jq is like sed for JSON data - you can use it to slice and filter and map and transform structured data with the same ease that sed, awk, grep and friends let you play with text.

All jq selectors begin with . - don't forget that!

Be sure to checkout the official tutorial and jq manual for more info.

You can also try online.

How to select a single a property from an object

echo '{ "name": "foo" }' | jq '.name'
"foo"

How to remove quotes from strings

The -r or --raw-output flag unwraps strings:

echo '{ "name": "foo" }' | jq -r '.name'
foo

How to select a whole object

echo '{ "name": "foo" }' | jq '.'
{
  "name": "foo"
}

How to select an element from an array

echo '[ { "name": "foo" } ]' | jq '.[0]'
{
  "name": "foo"
}

How to select a single property from an array element

echo '[ { "name": "foo" } ]' | jq -r '.[0].name'
foo

How to select some properties from multiple elements

echo '[ { "name": "foo" }, { "name": "bar" } ]' \
    | jq -r '.[].name'
foo
bar

How transform or zip an array

Anything that doesn't start with a . is part of the transformation template.

Anything that collects starts with .[].

Anything that transforms has a pipe and selector | .whatever.

Be sure to checkout the official tutorial and jq manual for more info.

echo '[ { "name": "foo", "age": 0 }, { "name": "bar", "age": 2 } ]' \
    | jq '{ names: [.[] | .name], ages: [.[] | .age] }'
{
  "names": [
    "foo",
    "bar"
  ],
  "ages": [
    0,
    2
  ]
}