MCPcopy Index your code
hub / github.com/autozimu/LanguageClient-neovim

github.com/autozimu/LanguageClient-neovim @binary-0.1.161-i686-unknown-linux-musl

Chat with this repo
repository ↗ · DeepWiki ↗ · release binary-0.1.161-i686-unknown-linux-musl ↗ · + Follow
419 symbols 1,464 edges 49 files 29 documented · 7% updated 9mo ago0.1.161 · 2020-12-10★ 3,553102 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 228
Function 101
Class 53
Enum 20
Interface 17

Languages

Rust79%
Python15%
TypeScript2%
Java1%
C++1%
C1%

Modules by API surface

src/language_server_protocol.rs106 symbols
src/types.rs65 symbols
src/vim.rs38 symbols
src/utils.rs34 symbols
tests/LanguageClient_test.py21 symbols
src/extensions/rust_analyzer.rs14 symbols
src/language_client.rs10 symbols
src/watcher.rs9 symbols
src/rpcclient.rs8 symbols
src/config/server_command.rs8 symbols
src/config/mod.rs7 symbols
rplugin/python3/denite/source/references.py7 symbols

For agents

$ claude mcp add LanguageClient-neovim \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page