66 lines
2.1 KiB
Markdown
66 lines
2.1 KiB
Markdown
|
# coc-json
|
||
|
|
||
|
Json language server extension for [coc.nvim](https://github.com/neoclide/coc.nvim).
|
||
|
|
||
|
The server code is extracted from VSCode, which uses
|
||
|
[vscode-json-languageservice](https://www.npmjs.com/package/vscode-json-languageservice)
|
||
|
|
||
|
For highlight of jsonc filetype, you may need [jsonc.vim](https://github.com/neoclide/jsonc.vim)
|
||
|
|
||
|
## Install
|
||
|
|
||
|
In your vim/neovim, run the following command:
|
||
|
|
||
|
```
|
||
|
:CocInstall coc-json
|
||
|
```
|
||
|
|
||
|
## Features
|
||
|
|
||
|
Same as VSCode.
|
||
|
|
||
|
All features of [vscode-json-languageservice](https://www.npmjs.com/package/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.retryResolveSchema`: Retry resolve schema of current buffer.
|
||
|
|
||
|
## Configuration options
|
||
|
|
||
|
- `json.enable` set to `false` to disable json language server.
|
||
|
- `json.trace.server` trace LSP traffic in output channel.
|
||
|
- `json.execArgv` add `execArgv` to `child_process.fork` used for start
|
||
|
json language server.
|
||
|
- `json.format.enable` set to `false` to disable format.
|
||
|
- `json.schemas` schema associations for json files.
|
||
|
|
||
|
## 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 your `coc-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
|