coc-format-json
Format JSON strings on top of coc.nvim, the JavaScript way.
Installation
First, make sure coc.nvim is started.
Then install with the Vim command:
:CocInstall coc-format-json
Usage
Make sure the text to be serialized is valid JSON or text that can be parsed by JSON5.
Format the whole file
:CocCommand formatJson [options]
See options section for more details.
Format selected text
First make a selection with v
. Then execute command:
:CocCommand formatJson.selected [options]
See options section for more details.
Options
--indent
--indent=<number>
Set indentation as <number>
spaces. When <number>
is zero, the JSON object will be serialized in compact mode, i.e. no extra white spaces will be kept.
--quote
--quote='
Set the quote character to use, either '
or "
. In typical JSON only "
is allowed, however in JavaScript it is common to use '
everywhere.
--quote-as-needed
--quote-as-needed
or --quote-as-needed=<true|false>
While enabled, all quotes will be ommitted if possible, if only the serialized text is valid in JavaScript.
--trailing
--trailing
or --trailing=<true|false>
While enabled, an dangling comma will be added to the last entry in each array and object. This is useful in JavaScript so that you don't have to modify the last line before appending a new line.
--template
--template
or --template=<true|false>
While enabled, multiline strings will be serialized as template literals quoted with `
, instead of using escaped characters like \n
.
--sort-keys
--sort-keys
or --sort-keys=<true|false>
While enabled, keys of an object will be sorted alphabetically.
Presets
Some presets are available to set a group of options:
-
--preset-js
useful to use in JavaScript code, equivalent to
--quote=' --quote-as-needed --trailing --template
. -
--preset-json
useful to use in JSON file, equivalent to
--quote=" --quote-as-needed=false --trailing=false --template=false
.