Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/neoclide/coc-json
Json language extension for coc.nvim
https://github.com/neoclide/coc-json
coc json neovim vim
Last synced: 4 days ago
JSON representation
Json language extension for coc.nvim
- Host: GitHub
- URL: https://github.com/neoclide/coc-json
- Owner: neoclide
- Created: 2018-09-07T08:04:25.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-02-08T09:12:44.000Z (9 months ago)
- Last Synced: 2024-08-01T16:55:54.566Z (3 months ago)
- Topics: coc, json, neovim, vim
- Language: TypeScript
- Homepage:
- Size: 442 KB
- Stars: 230
- Watchers: 9
- Forks: 21
- Open Issues: 5
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
- awesome-vim-setting - neoclide/coc-json
README
# 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.
- 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 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