Home

Awesome

jq-lsp

jq language server.

You probably want to use this via one of these:

It can currently do:

Install

# install directly
go install github.com/wader/jq-lsp@master
# copy binary to $PATH
cp "$(go env GOPATH)/bin/jq-lsp" /usr/local/bin

# build binary from cloned repo
go build -o jq-lsp .

Additional builtins using .jq-lsp.jq

You can make jq-lsp aware of additional builtin function and variables by using a .jq-lsp.jq file. The file is normal jq file and will be included automatically in each file.

For example this .jq-lsp.jq file adds function fetch and the variable $OPTIONS:

# body will be ignored so can be any valid jq
def fetch: empty;
def $OPTIONS: empty;

Development

# run all tests
go test -v ./...
# run tests and update responses
go test -v ./... -update

Thanks

jq-lsp uses a modified version of itchyny's gojq parser.

builtins documentation is based on https://github.com/stedolan/jq/blob/master/docs/content/manual/manual.yml and is licensed under https://github.com/stedolan/jq/blob/master/COPYING

TODO and ideas