Skip to content

skt041959/coc-clangd

Repository files navigation

coc-clangd

This extension connects coc.nvim to the clangd language server.

The extension does not install clangd for you! You must install clangd separately.

Quick Start

  1. make sure you have clangd installed already, and set up compile_commands.json for your project.
  2. install Node.js. coc.nvim and coc-clangd run on Node.js.
  3. install coc.nvim. Instructions using vim-plug (check out coc.nvim Wiki other options):
    • add to .vimrc: vim Plug 'neoclide/coc.nvim', {'branch': 'release'}
    • in vim, run :PlugInstall
  4. in vim, run :CocInstall coc-clangd

Note: If you've configured clangd as a languageServer in coc-settings.json, you should remove it to avoid running clangd twice!

Protocol extensions

clangd supports some extensions that are not in the official Language Server Protocol specification.

coc-clangd adds support for:

  • Switching between header and implementation file: :CocCommand clangd.switchSourceHeader
  • File status monitor, shows on NeoVim statusline
  • Describe symbol under the cursor: :CocCommand clangd.symbolInfo
  • Completions that adjust text near the cursor (e.g. correcting . to ->)

Configurations

  • clangd.enabled: enable coc-clangd, default true
  • clangd.disableDiagnostics: disable diagnostics from clangd, default false
  • clangd.path: path to clangd executable, default clangd
  • clangd.arguments: arguments for clangd server, default []
  • clangd.semanticHighlighting: enable semantic highlighting, requires jackguo380/vim-lsp-cxx-highlight to work, default false

License

MIT


This extension is created by create-coc-extension

About

clangd extension for coc.nvim

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 95.3%
  • JavaScript 4.7%