2021年8月30日月曜日

Emacs で Ruby の LSP をインストールする方法

Emacs で Ruby の LSP をインストールする方法

概要

Ruby で LSP に入門してみました
今回はサーバ側は solargraph という LSP 実装を使いクライアント側は eglot というツールを使います

環境

  • macOS 11.5.2
  • emacs 27.1
  • solargraph 0.43.0
  • Ruby 3.0.1p64

solargraph のインストール

まずはサーバ側のインストールを行います
Ruby を実装されているので gem を使うと簡単です

  • gem install solargraph

eglot のインストール

次にクライアント側 (emacs) の設定になります
package-list-packages から eglot を選択してインストールします

.emacs の設定

ruby-mode にフックするのが一番簡単です

(require 'eglot)
(add-hook 'ruby-mode-hook 'eglot-ensure)

動作確認

emacs を起動して ruby のファイルを開きましょう
eglot が自動的に起動して接続できれば OK です

補完を使うには Ctrl + Alt + i を押せば現在のカーソル上で補完可能な候補を表示してくれます
もし helm などを使っている場合は helm 上で候補を絞ることができます

最後に

引数などのオブジェクトの補完はデフォルトだとやってくれませんでした

また flymake を使って構文チェックを行ってくれるのですが自分の設定が悪いのか Wait という状態になり動作しませんでした
すべてにいろいろと設定済みの emacs 上だとそれらと競合してうまく動かない部分が出てくるのかもしれません

トラブルシューティング

eglot 起動時に Could not start and connect to server が発生する場合は emacs から solargraph の起動がうまくいっていません

emacs を開いているバッファ上で solargraph コマンドが実行できるか確認しましょう PATH など変更している場合は一度 emacs とターミナルを閉じて再度 PATH を読み込ませるとうまく起動できます

参考サイト

0 件のコメント:

コメントを投稿