Skip to content

ahiruman5/LanguageClient-neovim

 
 

Repository files navigation

For legacy python implementation, see branch master.

LanguageClient-neovim

CircleCI

Language Server Protocol (LSP) support for vim and neovim.

rename

More recordings at Updates, screenshots & GIFs.

Features

(Note: Most of the functionality are provided by language servers. Specific language servers may implement only a subset of the features, see http://langserver.org, in which case, featured listed above may not fully functional.)

Quick Start

Using vim-plug:

Plug 'autozimu/LanguageClient-neovim', {
    \ 'branch': 'next',
    \ 'do': 'bash install.sh',
    \ }

" (Optional) Multi-entry selection UI.
Plug 'junegunn/fzf'

" (Completion plugin option 1)
Plug 'roxma/nvim-completion-manager'
" (Completion plugin option 2)
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }

Example configuration

" Required for operations modifying multiple buffers like rename.
set hidden

let g:LanguageClient_serverCommands = {
    \ 'rust': ['rustup', 'run', 'nightly', 'rls'],
    \ 'javascript': ['javascript-typescript-stdio'],
    \ 'javascript.jsx': ['javascript-typescript-stdio'],
    \ }

nnoremap <silent> K :call LanguageClient_textDocument_hover()<CR>
nnoremap <silent> gd :call LanguageClient_textDocument_definition()<CR>
nnoremap <silent> <F2> :call LanguageClient_textDocument_rename()<CR>

Run command nvim +PlugInstall +UpdateRemotePlugins +qa in shell to install this plugin. Install corresponding language servers. Restart neovim/vim and language services will be available right away. Happy hacking!

Please see INSTALL for complete installation and configuration instructions.

Troubleshooting

Troubleshooting

Language Servers

Please see http://langserver.org and/or https://microsoft.github.io/language-server-protocol/implementors/servers/.

Documentation

:help LanguageClient for full list of configurations, commands and functions.

Development

DEVELOPMENT

License

The MIT License.

About

Language Server Protocol (LSP) support for vim and neovim.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 73.8%
  • Vim Script 14.1%
  • Python 7.8%
  • Shell 2.7%
  • Makefile 0.6%
  • PowerShell 0.3%
  • Other 0.7%