動機
JuliaのLanguageServerはとても起動が遅い。
JuliaにはREPLから@edit
やAlt+E
などエディタを使う機能がいくつかあるが、
呼び出すたびにLanguageServerを起動するのでレスポンスが非常に悪い。
VS Codeを使う場合はVS Codeのプロセスは残るので一度起動すれば補完などは効く。
neovimでも同様のことができれば使いやすくなるだろう。
方法
neovimにもremoteで使う機能がある1。 ただしまだ機能はvimと比べて完全ではないらしい。 neovim-remoteなるものもあった(が、試していない)。
$ nvim --listen 0.0.0.0:3000
でサーバー作成。
--headless
つけるとUIなし。
$ nvim --server 0.0.0.0:3000 --remote <filename>
で先程作成したやつに接続。
ここで通常は、<filename>
の前に行などの情報を+{cmd}
として渡すことで所定の位置に飛べるのだが、
その機能がサポートされていないのでできなかった。
おまけ:Juliaでのeditの実装
@edit edit(println)
していろいろ見てると、InteractiveUtils
のdefine_editor
でそれぞれのエディターで具体的に実行されるコマンドがわかる。
詳しくは、
?InteractiveUtils.define_editor
して。
まとめ
できなかった。 でもJuliaのコードをreplから探索するのはとても楽で良いと思った。
:h remote
↩︎