summaryrefslogtreecommitdiff
path: root/.config/coc/extensions/node_modules/coc-clangd/README.md
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@simplelittledream.com>2022-07-16 18:13:16 -0400
committerJacob McDonnell <jacob@simplelittledream.com>2022-07-16 18:13:16 -0400
commit8fad9a5ecddc88d57a531e4b0084544984f23d25 (patch)
tree84954bc8219942aa56bc899330ccd0007bbe0ef0 /.config/coc/extensions/node_modules/coc-clangd/README.md
parent2887af7fcfb4d618dd13cf66ec2fbdbd84c7527c (diff)
Added profile and other missing configs
Diffstat (limited to '.config/coc/extensions/node_modules/coc-clangd/README.md')
-rw-r--r--.config/coc/extensions/node_modules/coc-clangd/README.md74
1 files changed, 74 insertions, 0 deletions
diff --git a/.config/coc/extensions/node_modules/coc-clangd/README.md b/.config/coc/extensions/node_modules/coc-clangd/README.md
new file mode 100644
index 0000000..b6e5210
--- /dev/null
+++ b/.config/coc/extensions/node_modules/coc-clangd/README.md
@@ -0,0 +1,74 @@
+# 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.
+1. 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`
+1. in vim, run `:CocInstall coc-clangd`
+1. `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
+1. 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][lsp].
+
+`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`)
+
+| Configurations | Description | Default |
+| ------------------------------- | ------------------------------------------------------------------------------------ | -------- |
+| clangd.enabled | enable `coc-clangd` | `true` |
+| clangd.arguments | arguments for `clangd` server | `[]` |
+| clangd.checkUpdates | check for clangd language server updates on startup | `false` |
+| clangd.disableCompletion | disable completion source from clangd | `false` |
+| clangd.disableDiagnostics | disable diagnostics from clangd | `false` |
+| clangd.disableSnippetCompletion | disable completion snippet from clangd | `false` |
+| clangd.disableProgressNotifications | disable indexing progress notifications from clangd | `false` |
+| clangd.compilationDatabasePath | specifies the directory containing the compilation database | `''` |
+| clangd.fallbackFlags | extra clang flags used to parse files when no compilation database is found | `[]` |
+| clangd.path | path to `clangd` executable | `clangd` |
+| clangd.inlayHints.enable | whether to enable the Inlay Hints feature | `true` |
+
+## 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
+- `clangd.inlayHints.toggle`: toggles displaying Inlay Hints
+
+## License
+
+Apache 2.0 with LLVM Exception
+
+This is the [standard LLVM license](https://llvm.org/foundation/relicensing/).
+
+---
+
+> This extension is built with [create-coc-extension](https://github.com/fannheyward/create-coc-extension)
+
+[node.js]: https://nodejs.org/en/
+[clangd]: https://clangd.llvm.org/installation.html
+[coc.nvim]: https://github.com/neoclide/coc.nvim
+[coc.nvim wiki]: https://github.com/neoclide/coc.nvim/wiki/Install-coc.nvim
+[lsp]: https://microsoft.github.io/language-server-protocol/specification
+[extensions]: https://clangd.llvm.org/extensions.html
+[latest release]: https://github.com/clangd/clangd/releases
+[project setup]: https://clangd.llvm.org/installation.html#project-setup