Language Server Protocol (LSP) support for vim and neovim.
Clone or download
ficoos and autozimu Use denite in contextMenu
When using denite for the context menu, the actions should be opened
in denite.
Latest commit 12a1f60 Dec 3, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Switch default Makefile target to release. Nov 13, 2018
.github Update link. Aug 2, 2018
.vim Update rls settings. Aug 27, 2018
.vscode Optimize for horizontal move. Apr 17, 2018
autoload Make LanguageClient_runSync reentrant Dec 10, 2018
bin Try release macOS on CircleCI. Mar 29, 2018
ci Upgrade neovim in CI. Nov 8, 2018
doc Trigger server start and textDocument/didOpen on FileType autocmd event. Nov 12, 2018
plugin Trigger server start and textDocument/didOpen on FileType autocmd event. Nov 12, 2018
rplugin/python3 Use denite in contextMenu Dec 12, 2018
src Fix completion where text_edit is supplied Dec 4, 2018
tests Keep compatible. Sep 14, 2018
.gitignore Simplify passing commands. Jul 21, 2018
.travis.yml Remove bsd from cross build target. Nov 13, 2018
Cargo.lock (cargo-release) version 0.1.132 Dec 10, 2018
Cargo.toml (cargo-release) version 0.1.132 Dec 10, 2018
INSTALL.md Add pre-built binary support for armv7* and armv8* targets Sep 6, 2018
LICENSE.txt Update License to cover contributors. Oct 10, 2017
Makefile Add prefix to echoed messages. Nov 21, 2018
README.md Fix typos Sep 12, 2018
TODO.md Simplify handling of non-empty buftype and empty filetype. Nov 11, 2018
build.rs Revert "Get proper git SHA when TRAVIS_COMMIT is not available." Sep 4, 2018
install.ps1 (cargo-release) version 0.1.132 Dec 10, 2018
install.sh (cargo-release) version 0.1.132 Dec 10, 2018
min-vimrc.vim Make example config more compatible. Nov 14, 2018

README.md

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

Quick Start

Using vim-plug:

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

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

Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }

Example configuration

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

let g:LanguageClient_serverCommands = {
    \ 'rust': ['~/.cargo/bin/rustup', 'run', 'stable', 'rls'],
    \ 'javascript': ['/usr/local/bin/javascript-typescript-stdio'],
    \ 'javascript.jsx': ['tcp://127.0.0.1:2089'],
    \ 'python': ['/usr/local/bin/pyls'],
    \ }

nnoremap <F5> :call LanguageClient_contextMenu()<CR>
" Or map each action separately
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!

Install

INSTALL

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.

Contributing

CONTRIBUTING

License

The MIT License.