draft外し忘れていた…


数日間溶かしてしまった。

主に設定したこと

  • plugin managerの変更(packerからlazy.nvimに)
  • Language Serverの設定
    • Julia, Python, SATySFi, bash, Rust, LaTeX
  • tree sitterの設定
  • color scheme
  • コメント
  • gitsign
  • auto comp
  • fuzzy finder

それぞれの詳細はgithubのdotfilesを参照するとわかる。 以下、ちょっと特殊な設定内容

SATySFi

SATySFi用の古典的?なプラグインは入れてない。 補完、エラーなどはSATySFi Language Serverとlspconfigで設定し、 syntax highlightはtree sitterを利用した。 そもそもfiletypeの認識ができないので、それも設定した。

LaTeX

これは全部入りの古典的?なプラグインを入れた。 一応Language Serverやtree-sitterも入っている。 ビューワーの設定はしてない。 メモ:\begin{ }の補完は]]

Julia

JuliaのLanguageServer.jlは静的型付けなSATySFiなどに比べるとエラー検出能力が貧弱。 以前見かけたJET.jlを使えないか調べてみると見つけたので使おうとしたが、 プラグインが古く、JET.jl、および依存するnull-lsともに対応していなかった。 以下、変更点。

null-lsでlspconfig依存廃止

オプションを消しておいた。 ついでにdebugフラグもつけた。

JET.jlでmsg filedがないと怒られる

print_reportをつかう。

shebangやwhile trueを使っていた。プロセスが溜まる。

サンプルのmarkdown-lintはずっと走らせておく必要がないらしいので、while trueさせるのはやめた。 shebangはwindowsで使えないので、普通にluaファイル内でargsを設定した。

応急処置でサーバーを開始したり止めるcommandを追加した

保存されたファイルを読むタイプなので、タイミングによっては表示がうるさい。 デフォルトでは読み込まれないようにした(これは個人の設定)。 途中で止めることもできる。

不満点

Juliaなので、ずっと走らせる、つまり普通のLanguageServerの運用がしたい。 本家?のJETLS.jlを試そうとしたけどうまく動かなかった(コミット数1だし、それを使ったnvim pluginも動いてないのでお手上げ。)

おまけ

ついでにtmuxも設定を更新した。 PrefixとCopyの状態がわかるようにした。 全部manページに書かれてる。 あとnvimだとmanページが読みやすい(モノクロターミナルよりweb browserで読むようにしてたけど、色がつくnvimのほうが圧倒的に良い。)

感想

LSPやtree-sitterのおかげで一括で設定できた。 意外とスッキリしてた。

P.S.

コメント機能、mstdn.jpがv4に上がって動かなくなった。 修正しないと。