概要
solargraph に変えて ruby-lsp を使ってみました
emacs のクライアントは lsp-mode を使います
環境
- macOS 11.7.6
- emacs 28.2
- lsp-mode 20230524.1820
- Ruby 3.2.1
- ruby-lsp 0.5.1
lsp-mode アップデート or インストール
ruby-lsp に対応しているバージョンをインストールしましょう
- M-x package-list-packages
ruby-lsp
solargraph のアンインストール
- gem uninstall solargraph
ruby-lsp のインストール
- gem install ruby-lsp
ruby-lsp コマンドが実行できることを確認してください
また emacs から ruby-lsp コマンドが見つからず Command "ruby-lsp" is not present on the path.
という感じでうまく起動できない場合はターミナルや tmux から一度抜けて再度試してみてください
emacs の設定
(require 'lsp-mode)
; (setq lsp-ruby-lsp-use-bundler t)
(add-hook 'ruby-mode-hook 'lsp)
bundler 配下で使用する場合には Gemfile に
gem 'ruby-lsp'
をし bundle install した後上記コメント部分をアウトしてください
動作確認
トラブルシューティング
solargraph から移行した場合には前のセッションが残っておりうまく動作しないことがあるのでセッションを削除して再度 ruby-lsp を起動してみてください
-
rm ~/.emacs.d/.lsp-session-v1
The connected server(s) does not support method textDocument/definition.
To find out what capabilities support your server use ‘M-x lsp-describe-session’
and expand the capabilities section
となり定義へのジャンプはできませんでした
おそらく https://github.com/Shopify/ruby-lsp/pull/195 にあるように特殊なコメントを記載することでそこに飛ぶことはできるようです
またその場合は lsp-mode 側で lsp-enable-links を有効にする必要がありそうです
最後に
まだまだ開発途中という感じがします
また vscode に特化しているのと記述が Spotify 基準になっているので少し特殊な書き方が必要かもしれません
当面は solargraph + robe という気がします
0 件のコメント:
コメントを投稿