yuuka_maniaの日記: そろそろ eglot とか導入してみようか否か
周回遅れなのは、百も承知だが、とりあえず、メモ。
https://granddaifuku.hatenablog.com/entry/emacs-eglot
こっちの方が参考になった
https://solist.work/blog/posts/language-server-protocol/
Eglot 本家
https://github.com/joaotavora/eglot
とりあえず、 go の language server は、 gopls というものらしく、それは、 brew install した。
Emacs 側は、↓な感じ。
(leaf eglot
:ensure t
:config
(add-hook 'go-mode-hook 'eglot-ensure)
;; (define-key eglot-mode-map (kbd "C-c e f") 'eglot-format)
;; (define-key eglot-mode-map (kbd "C-c e n") 'eglot-rename)
)
M-C-i で、補完が効く模様。ドキュメントを見るときは、 M-x eldoc とか。
eldoc-mode にすると、リアルタイムにミニバッファにドキュメントが表示される模様。だけど、個人的に、この振る舞いはあまり好みではない。
Typescript も追加した。 language server は、↓な感じ。
% npm install -g typescript-language-server
今は、もう設定も何も要らないっぽいな。面倒そうと思ってたが、全然だった。
(leaf eglot
:ensure t
:config
(add-hook 'go-mode-hook 'eglot-ensure)
(add-hook 'typescript-mode-hook 'eglot-ensure)
)
さらに、 c/c++ も追加。language serverは、 ccls
% brew install ccls
(leaf eglot
:ensure t
:config
(add-hook 'go-mode-hook 'eglot-ensure)
(add-hook 'typescript-mode-hook 'eglot-ensure)
(add-hook 'cc-mode-hook 'eglot-ensure)
)
そろそろ elgot とか導入してみようか否か More ログイン