10
Watch
163
Star
15
Fork
36
Issue

Json language extension for coc.nvim

neoclide
neoclide
pushedAt 1 week ago

neoclide/coc-json

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.
  • 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:

Quotes are hidden?

This is not caused by coc-json, you may checkout the conceallevel option.

License

MIT

ucloud ads