jet

[ bsd3, library, program, unclassified ] [ Propose Tags ]

Please see the README on GitHub at https://github.com/ChrisPenner/jet#readme


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.0.0, 0.0.0.1, 0.0.0.2
Change log ChangeLog.md
Dependencies aeson, aeson-extra, aeson-pretty, ansi-terminal, base (>=4.7 && <5), bytestring, comonad, containers, free, hashable, Hclip, jet, lens, mtl, prettyprinter, prettyprinter-ansi-terminal, recursion-schemes, recursive-zipper (>=0.0), scientific, text, text-zipper, transformers, unix, unordered-containers, vector, vty [details]
License BSD-3-Clause
Copyright 2021 Chris Penner
Author Chris Penner
Maintainer example@example.com
Home page https://github.com/ChrisPenner/jet#readme
Bug tracker https://github.com/ChrisPenner/jet/issues
Source repo head: git clone https://github.com/ChrisPenner/jet
Uploaded by ChrisPenner at 2021-12-06T16:43:18Z
Distributions
Executables jet
Downloads 264 total (8 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2021-12-06 [all 1 reports]

Readme for jet-0.0.0.2

[back to package description]

Jet - A Structural JSON editor

Jet is a structural editor for JSON.

I.e. an editor which is aware of the structure of JSON and allows you to manipulate it directly. The document is always in a valid state.

https://user-images.githubusercontent.com/6439644/143655548-3c556ea8-7673-4439-8624-15b4b503001f.mov

Features

  • Structurally sound editing, never outputs invalid JSON.

  • Copy/Cut/Paste JSON subtrees

  • Subtree folding so you can focus on what's important.

  • Transpose values around each other in lists.

  • Undo/redo system, everyone makes mistakes

  • Save functionality

Keymaps

Press ? to see the key map, which should feel familiar to vim users.

Installation

cabal update && cabal install jet

Usage

# Open a file for editing. Use ctrl-s to save back to the file.
# The edited file is output to stdout even if unsaved.
jet myfile.json 

# Using jet in a pipeline for quick in-line edits.
cat myfile.json | jet > result.json

Roadmap/Known bugs

  • Figure out why vty needs two keystrokes to quit for some reason.
  • Allow cut/paste of keys of objects.
  • Allow inserting when empty key already exists
  • Add search
  • Improved visibility around copy/paste with highlighting
  • Increment/decrement commands for integers.