cossonleo / LanguageClient-neovim

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

Changelog

See Updates. Subscribe the issue if you want to receive notifications.

Contributing

CONTRIBUTING

License

The MIT License.

About

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

License:MIT License


Languages

Language:Rust 68.1%Language:Vim Script 18.4%Language:Python 9.0%Language:Shell 1.9%Language:Elixir 0.8%Language:Makefile 0.5%Language:Java 0.3%Language:Dockerfile 0.2%Language:PowerShell 0.2%Language:JavaScript 0.2%Language:PureScript 0.1%Language:C++ 0.1%Language:C# 0.1%Language:TypeScript 0.0%Language:HTML 0.0%Language:CMake 0.0%Language:PHP 0.0%Language:C 0.0%Language:Haskell 0.0%Language:Go 0.0%