概要
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 件のコメント:
コメントを投稿