Skip to content

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

License

Notifications You must be signed in to change notification settings

weipeng1999/LanguageClient-neovim

This branch is 1 commit ahead of autozimu/LanguageClient-neovim:next.

Folders and files

NameName
Last commit message
Last commit date
Jul 20, 2020
Dec 6, 2020
Aug 27, 2018
Apr 17, 2018
May 25, 2023
Mar 29, 2018
Sep 20, 2020
Dec 9, 2020
Jul 5, 2020
Dec 6, 2020
Jul 5, 2020
Dec 9, 2020
Dec 6, 2020
Jul 21, 2018
Jun 21, 2020
Dec 10, 2020
Jun 7, 2022
Dec 10, 2020
Mar 15, 2020
Oct 10, 2017
Dec 6, 2020
Dec 6, 2020
Sep 20, 2020
Dec 10, 2020
Dec 10, 2020
Aug 23, 2019
Sep 20, 2020
Jul 17, 2019
Jul 19, 2020

Repository files navigation

For legacy python implementation, see branch master.

LanguageClient-neovim

CircleCI Join the chat at https://gitter.im/LanguageClient-neovim/LanguageClient-neovim

Language Server Protocol 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'

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'],
    \ 'ruby': ['~/.rbenv/shims/solargraph', 'stdio'],
    \ }

" note that if you are using Plug mapping you should not use `noremap` mappings.
nmap <F5> <Plug>(lcn-menu)
" Or map each action separately
nmap <silent>K <Plug>(lcn-hover)
nmap <silent> gd <Plug>(lcn-definition)
nmap <silent> <F2> <Plug>(lcn-rename)

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!

Mappings

LanguageClient-neovim defines various Plug mappings, see :help LanguageClientMappings for a full list and an example configuration.

Install

Full installation steps

Language Servers

Note, you will also need language server(s) to take advantages of this plugin. To find list of language server implementations and how to install them, please see http://langserver.org and/or https://microsoft.github.io/language-server-protocol/implementors/servers/.

Documentation

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 71.2%
  • Vim Script 17.9%
  • Python 6.0%
  • Shell 1.4%
  • Nix 1.2%
  • Elixir 0.5%
  • Other 1.8%