Awesome
coc-json
Json language server extension for coc.nvim.
The server code is extracted from VSCode, which uses vscode-json-languageservice
For highlight of jsonc filetype, you may need jsonc.vim
Install
In your vim/neovim, run the following command:
:CocInstall coc-json
Features
Same as VSCode.
All features of vscode-json-languageservice are supported.
doCompletion
for JSON properties and values based on the document's JSON schema.doHover
for values based on descriptions in the document's JSON schema.<Paste>- Document Symbols for quick navigation to properties in the document.
- Document Colors for showing color decorators on values representing colors.
- Code Formatting supporting ranges and formatting the whole document.
- Diagnostics (Validation) are pushed for all open documents
- syntax errors
- structural validation based on the document's JSON schema.
Commands
json.clearCache
: Clear schema cache.json.retryResolveSchema
: Retry resolve schema of current buffer.json.sort
: Sort json document.
Configuration options
json.enable
: Enable json server default:true
json.enableDefaultSchemas
: Enable builtin schemas from https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/api/json/catalog.json default:true
json.trace.server
: default:"off"
Valid options: ["off","messages","verbose"]json.execArgv
: default:[]
json.validate.enable
: Enable/disable JSON validation. default:true
json.format.enable
: Enable format for json server default:true
json.format.keepLines
: Keep all existing new lines when formatting. default:false
json.maxItemsComputed
: The maximum number of outline symbols and folding regions computed (limited for performance reasons). default:5000
json.schemaDownload.enable
: When enabled, JSON schemas can be fetched from http and https locations. default:true
json.schemas
: Schemas associations for json files default:[]
FAQ
How to suppress error [json 521] [e] Comments are not permitted in JSON
?
You can configure your vim to make that file with jsonc filetype to allow comment.
How to add custom schema definitions/properties?
You have two choices:
- use
$schema
in your json. - create json schema file and then configure
json.schemes
in yourcoc-settings.json
, check out https://github.com/neoclide/coc-json/blob/master/package.json#L55
Quotes are hidden?
This is not caused by coc-json, you may checkout the conceallevel
option.
License
MIT