json-spc
v1.0.2
Published
CLI interface for json-stringify-pretty-compact library
Downloads
5
Maintainers
Readme
json-spc
A CLI wrapper around the json-stringify-pretty-compact library.
Thanks and acknowledgements to Simon Lydell for creating this wonderful library.
Turns ugly JSON like:
{
"bool": true,
"short array": [
1,
2,
3
],
"long array": [
{
"x": 1,
"y": 2
},
{
"x": 2,
"y": 1
},
{
"x": 1,
"y": 1
},
{
"x": 2,
"y": 2
}
]
}
into:
{
"bool": true,
"short array": [1, 2, 3],
"long array": [
{"x": 1, "y": 2},
{"x": 2, "y": 1},
{"x": 1, "y": 1},
{"x": 2, "y": 2}
]
}
Installation
npm install json-spc
Usage
cat file.json | json-spc [--indent=<spaces>] [--max-length=<characters>] [--start=<int> --end=<int>]
Options
indent
: Defaults to 2. Works exactly like the third parameter of JSON.stringify.maxlength
: Defaults to 120. Lines will be tried to be kept at maximum this many characters long.start
: format portion of stdin starting at position, ifstart
andend
providedend
: format portion of stdin ending at position, ifstart
andend
provided
Usage with format-all-buffer.el
format-all
Emacs package allows providing custom formatters. This fork of
json-stringify-pretty-compact-cli exists to support
format-all
, namely M-x format-all-buffer
and M-x format-all-region
commands.
This is how to configure json-spc
formatter:
(define-format-all-formatter json-spc
(:executable "json-spc")
(:install "npm i -g json-spc")
(:languages "JSON")
(:features region)
(:format
(format-all--buffer-easy
executable
"--indent=3"
"--maxlength=100"
(when region
(list "--start" (number-to-string (1- (car region)))
"--end" (number-to-string (1- (cdr region))))))))