Coc.nvim language servers
From wikinotes
COC exposes language servers to vim, you'll need them to perform completion etc.
You can have multiple language-servers running at once on the same language/file (ex: ruby solargraph+sorbet).
Language Servers
Extensions
Language Servers may have a wrapper built for COC. These are called extensions.
They can be installed in a variety of ways:" configured (install if not present) let g:coc_global_extensions = ["coc-json", "coc-pyright", "coc-solargraph"] " interactive :CocInstall coc-python
python unmaintained coc-python active coc-pyright sh, bash active coc-sh ruby active, ruby/rails coc-solargraph graphql active coc-graphql Custom
Some programs may be able to function as an LSP, and can be registered to do so.
see https://github.com/neoclide/coc.nvim/wiki/Language-servers#register-custom-language-servers{ "languageserver": { "sorbet": { "command": "srb", "args": ["tc", "--lsp"], "filetypes": ["ruby"] } } }sorbet
Shows type info in docs, very accurate completion.
// ~/.config/nvim/coc-settings.json { "languageserver": { "sorbet": { "command": "bundle", "args": ["exec", "srb", "tc", "--lsp"], "filetypes": ["ruby"] } } }