大きな理由は以下3点。ただ、今後気が変わる可能性はあるので引き続きウォッチしていく。
- [[virtual line (Neovim)|virtual line]]によってコードの表示位置がコロコロ変わることが耐えられないくらいnoisyである
- [[tiny-inline-diagnostic.nvim (Neovim)|tiny-inline-diagnostic.nvim]]の方が直感的で見やすい
- ピンポイントに[[Diagnostic (Neovim)|Diagnostic]]の場所を指さなくてもほぼ問題はない (なかった)
## 経緯
[[Neovim]] 0.11で[[virtual lines diagnostic (Neovim)|virtual lines diagnostic]]が導入された。
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://gpanders.com/favicon-32x32.png" />
<span class="link-card-v2-site-name">gpanders.com</span>
</div>
<div class="link-card-v2-title">
What's New in Neovim 0.11 | g.p. anders
</div>
<div class="link-card-v2-content">
Neovim 0.11 was just released. As in previous installments in this series, let’s talk a bit about some of the bi ...
</div>
<a href="https://gpanders.com/blog/whats-new-in-neovim-0-11/#virtual-lines"></a>
</div>
以下のように[[LSP]]の[[Diagnostic (Neovim)|Diagnostic]]を分かりやすく表示できる機能。本体に取り入れられたので、利用できるかを検討したい。
![[Pasted image 20250330214503.png]]
## 提案内容
[[tiny-inline-diagnostic.nvim (Neovim)|tiny-inline-diagnostic.nvim]]の代わりに[[virtual lines diagnostic (Neovim)|virtual lines diagnostic]]を導入する。
## 承諾した場合の結果
%%選択肢がある場合は複数書く%%
### メリット
- どの部分になんのエラーが出ているのか分かりやすい
- [[Neovim]]の公式機能なのでメンテやパフォーマンスへの安心感がある
- [[tiny-inline-diagnostic.nvim (Neovim)|tiny-inline-diagnostic.nvim]]のように既存コードが隠れない
### デメリット
#### エラーが多くなると分かりにくくなる
賑やかすぎてコードが見にくくなる。しかも、状況が刻々と変わるので認識負荷も高い。
![[Pasted image 20250330221705.png]]
`virtual_lines.current_line = true` とすれば現在行だけなのでいくらかマシにはなるが、行を移動するたびにコードの位置がピョコピョコ移動するのは認知負荷が高いと感じる。
![[Pasted image 20250330221852.png]]
なお、[[tiny-inline-diagnostic.nvim (Neovim)|tiny-inline-diagnostic.nvim]]は[[virtual text (Neovim)|virtual text]]を使っているため、コード位置が変わることがない。[[virtual lines diagnostic (Neovim)|virtual lines diagnostic]]のようにピンポイントで指定もできないが...。
![[Pasted image 20250330222551.png]]
tiny-inline-diagnostic.nvim