Socket
Socket
Sign inDemoInstall

coc-clangd

Package Overview
Dependencies
Maintainers
3
Versions
73
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

coc-clangd

clangd extension for coc.nvim


Version published
Weekly downloads
925
decreased by-13.06%
Maintainers
3
Weekly downloads
 
Created
Source

coc-clangd

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

Quick Start

  1. install Node.js. coc.nvim and coc-clangd run on Node.js.
  2. 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
  3. in vim, run :CocInstall coc-clangd
  4. coc-clangd will try to find clangd from your $PATH, if not found, you can run :CocCommand clangd.install to install the latest release from GitHub
  5. follow Project setup to generate compile_commands.json for your project

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
    • You can open in split buffer by :CocCommand clangd.switchSourceHeader vsplit
  • 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

:CocConfig opens your global coc-settings.json. :CocLocalConfig opens local configuration for your project ($PROJECTROOT/.vim/coc-settings.json)

ConfigurationsDescriptionDefault
clangd.enabledenable coc-clangdtrue
clangd.argumentsarguments for clangd server[]
clangd.checkUpdatescheck for clangd language server updates on startupfalse
clangd.disableCompletiondisable completion source from clangdfalse
clangd.disableDiagnosticsdisable diagnostics from clangdfalse
clangd.disableSnippetCompletiondisable completion snippet from clangdfalse
clangd.disableProgressNotificationsdisable indexing progress notifications from clangdfalse
clangd.compilationDatabasePathspecifies the directory containing the compilation database''
clangd.compilationDatabaseCandidatesspecifies directories that may contain the compilation database, you can use ${workspaceFolder} variables https://code.visualstudio.com/docs/editor/variables-reference[]
clangd.fallbackFlagsextra clang flags used to parse files when no compilation database is found[]
clangd.pathpath to clangd executableclangd

Note:

Semantic highlighting is disabled by default in coc.nvim, you can enable it with semanticTokens.enable.

Commands

  • clangd.switchSourceHeader: switch between source/header files
  • clangd.symbolInfo: resolve symbol info under the cursor
  • clangd.memoryUsage: show memory usage
  • clangd.ast: show AST
  • clangd.install: install latest clangd release from GitHub
  • clangd.update: check for updates to clangd from GitHub

License

Apache 2.0 with LLVM Exception

This is the standard LLVM license.


This extension is built with create-coc-extension

Keywords

FAQs

Package last updated on 12 Jun 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc