# vim-lsp + rust-analyzerを試してみた

元々rlsを使用してrustを書いていたのですが、rls-2.0としてrust-analyzerというものが
あることを知ってvimで使用できるかどうか試してみました。

rust-analyzer公式ページ

環境

macOS: 10.15.4
vim: 8.2.647
vim-lsp, rust-analyzer などは2020-04-27時点での最新版を使用しています。

インストール

  1. 事前準備
    rust-srcの追加
# rustup component add rust-src
  1. rust-analyzerのインストール
# git clone https://github.com/rust-analyzer/rust-analyzer
# cd rust-analyzer
# cargo xtask install
  1. vim-lspの設定
if executable('rust-analyzer')
  au User lsp_setup call lsp#register_server({
        \ 'name': 'rust-analyzer',
        \ 'cmd': {server_info->['rust-analyzer']},
        \ 'whitelist': ['rust'],
        \ })
endif

備考

rust nightly 1.47 から RUST_SRC_PATH に設定していた$(rustc --print sysroot)/lib/rustlib/src/rust/src
$(rustc --print sysroot)/lib/rustlib/src/rust/libraryに変更しないと候補が上手くでなくなりました。

f:id:yasu-n1:20200427204920p:plain