All Projects → 200ok-ch → counsel-jq

200ok-ch / counsel-jq

Licence: GPL-3.0 License
Traverse complex JSON and YAML structures with live feedback

Programming Languages

emacs lisp
2029 projects

Projects that are alternatives of or similar to counsel-jq

parse it
A python library for parsing multiple types of config files, envvars & command line arguments that takes the headache out of setting app configurations.
Stars: ✭ 86 (-13.13%)
Mutual labels:  yaml, json-parser, yaml-parser
pyaml env
Parse YAML configuration with environment variables in Python
Stars: ✭ 36 (-63.64%)
Mutual labels:  yaml, yaml-parser
php-helpers
A Collection of useful php helper functions.
Stars: ✭ 26 (-73.74%)
Mutual labels:  yaml, yaml-parser
ide-yaml
Atom-IDE support for YAML language
Stars: ✭ 16 (-83.84%)
Mutual labels:  yaml, yaml-parser
representable
Maps representation documents from and to Ruby objects. Includes JSON, XML and YAML support, plain properties and compositions.
Stars: ✭ 689 (+595.96%)
Mutual labels:  yaml, json-parser
Thorsserializer
C++ Serialization library for JSON
Stars: ✭ 241 (+143.43%)
Mutual labels:  yaml, json-parser
dahgan
A YAML Parser
Stars: ✭ 14 (-85.86%)
Mutual labels:  yaml, yaml-parser
clj-yaml
YAML encoding and decoding for Clojure
Stars: ✭ 97 (-2.02%)
Mutual labels:  yaml, yaml-parser
hikaru
Move smoothly between Kubernetes YAML and Python for creating/updating/componentizing configurations.
Stars: ✭ 60 (-39.39%)
Mutual labels:  yaml, yaml-parser
marshmallow-objects
Marshmallow Objects and Models
Stars: ✭ 37 (-62.63%)
Mutual labels:  json-parser, yaml-parser
yamlinc
Compose multiple YAML files into one with $include tag. Split Swagger/OpenAPI into multiple YAML files.
Stars: ✭ 103 (+4.04%)
Mutual labels:  yaml, yaml-parser
gsheet to arb
Import translations (ARB/Dart) from Google Sheets
Stars: ✭ 21 (-78.79%)
Mutual labels:  yaml
odin
Data-structure definition/validation/traversal, mapping and serialisation toolkit for Python
Stars: ✭ 24 (-75.76%)
Mutual labels:  yaml
hfexcel
JSON to Excel in Python. 🐍 Human Friendly excel creation in python. 📄 easy, advanced and smart api. json to excel conversion support.. ❤️
Stars: ✭ 16 (-83.84%)
Mutual labels:  json-parser
dby
Simple Yaml DB
Stars: ✭ 47 (-52.53%)
Mutual labels:  yaml
rust-ajson
Rust port of gjson,get JSON value by dotpath syntax
Stars: ✭ 85 (-14.14%)
Mutual labels:  json-parser
tr4n5l4te
Use Google Translate without an API key.
Stars: ✭ 32 (-67.68%)
Mutual labels:  yaml
pystest
WEB UI自动化测试框架,selenium结合python,测试人员不需要会代码,只需要写配置即可实现,并且方便懂代码的测试人员扩展
Stars: ✭ 24 (-75.76%)
Mutual labels:  yaml
openapiclientgen
Generate C# and TypeScript client codes from Open API / Swagger definitions
Stars: ✭ 31 (-68.69%)
Mutual labels:  yaml
Obsidian-Markdown-Parser
This repository will give you tools to parse and fetch useful informations of your notes in your Obsidian vault.
Stars: ✭ 32 (-67.68%)
Mutual labels:  yaml

counsel-jq

Live queries against JSON and YAML data

https://melpa.org/packages/counsel-jq-badge.svg

TL;DR: If you’re a fan of jq or yq and you’re using Emacs Ivy/Swiper/Counsel, then this package is for you.

Longer version: If you are working with complex nested JSON (or YAML) structures, you are probably familiar with jq (or yq) which is like sed for JSON data and great at what it does. However, being a command-line tool like sed, the feedback for writing queries and seeing their results is a discrete process and not live.

Cool. That might even be a feature that would draw in new Emacs users!

(alphapapa during the melpa submission)

When working with Emacs, we are used to good auto-completion and live feedback. Formerly, this was mostly done with static input, but with modern completion frameworks like Ivy, this can be done with dynamic inputs, as well.

counsel-jq is a package with which you can quickly test queries and traverse a complex JSON and YAML structure whilst having live feedback. Just call M-x counsel-jq in a buffer containing JSON or YAML, then start writing your jq or yq query string and see the output appear live in the message area. Whenever you’re happy, hit RET and the results will be displayed to you in the buffer *jq-json*.

Demo:

./images/demo-counsel-jq.gif

Configuration

To define whether you want to use yq over jq as processing tool, call M-x customize and set counsel-jq-command to yq.

In the same manner you can define the name of the results buffer by customizing the counsel-jq-buffer variable.

Lastly, by default, the results buffer *jq-json* buffer will have the major mode js-mode, but that can be customized with the counsel-jq-json-buffer-mode variable if you prefer json-mode, rsjx-mode or any other mode.

EmacsConf 2020 talk on counsel-jq

On [2020-11-29 Sun], Zen Monk Alain M. Lafon (@munen) gave a talk at EmacsConf 2020 introducing counsel-jq. There’s a video recording with explanations and demos behind this complementary blog post: https://200ok.ch/posts/2020-11-30_emacsconf_traverse_complex_json_structures_with_live_feedback_with_counseljq.html

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].