Language Server Protocol (LSP) support for vim and neovim.
Clone or download
Pull request Compare This branch is 5 commits behind autozimu:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github
autoload
doc
plugin
pythonx
rplugin/python3
.gitignore
.travis.yml
DEVELOPMENT.md
Dockerfile
INSTALL.md
LICENSE.txt
Makefile
README.md
TODO.md
min-init.vim

README.md

This branch has been deprecated. Please use branch next if possible.

LanguageClient-neovim

Build Status

Language Server Protocol support for neovim and vim.

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', { 'do': ':UpdateRemotePlugins' }

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

" (Optional) Completion integration with deoplete.
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
" (Optional) Completion integration with nvim-completion-manager.
Plug 'roxma/nvim-completion-manager'

" (Optional) Showing function signature and inline doc.
Plug 'Shougo/echodoc.vim'

Example configuration

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

let g:LanguageClient_serverCommands = {
    \ 'rust': ['rustup', 'run', 'nightly', 'rls'],
    \ 'javascript': ['/opt/javascript-typescript-langserver/lib/language-server-stdio.js'],
    \ }

" Automatically start language servers.
let g:LanguageClient_autoStart = 1

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. Start neovim and language services will be available right away if things go well. Happy hacking!

Please see INSTALL for complete installation and configuration instructions.

Troubleshooting

Troubleshooting

Language Servers

Please see http://langserver.org and/or https://github.com/Microsoft/language-server-protocol/wiki/Protocol-Implementations.

Documentation

See LanguageClient.txt for full list of configurations, commands and functions.

Development

DEVELOPMENT

License

The MIT License.