LoginSignup
2

More than 3 years have passed since last update.

Vimのquickfixリストに目印を付ける vim-quickfixsync プラグインを作成した

Last updated at Posted at 2020-01-17

はじめに

僕は普段はvim-lspを導入しているのですが、とある事情でDartを書く時だけはLanguageClient-neovimを使っています。
しかしバグなのか、Diagnosticsからsignへの反映がたびたびズレる現象が発生していたため、これを解決する為のプラグインを作成しました。
修正されました。

wordijp/vim-quickfixsync

用途としては

  • quickfixリストを利用しているLSPプラグインの目印ズレを修正
  • LSPプラグイン未対応の目印の種類を追加する1
  • QuickRunの結果に目印を付ける

などが挙げられます。
なお、quickfixリストを使っていないvim-lspではこのプラグインは機能しません
(そもそもズレないので必要にならない)。

デモ

QuickRunでC++のmakeをした時の様子です、quickfixリストの内容をsignとtextpropへと反映しています。

demo_quickrun.gif

textpropをワード単位で設定したかったのですが、getgflist(or getloclist)のデータには行(lnum)と列(col)しかない為、最初の一文字だけの設定としています。
GCCではデモのように対象ワードを注釈として返してくれてるんですが、これを組み込むのは恐らくコーナーケース対応になるのでどうしようかってところです。

使い方

デフォルト設定で動きますので、vim-plugをお使いの方は以下をvimrcに追加して:PlugInstallでインストールするだけで動きます。

Plug 'wordijp/vim-quickfixsync'

カスタマイズ設定はREADME.mdをご覧ください。

おわりに

LSP発展の過渡期故の産物ですが、必要な方はお使い下さい。


  1. 例えば、LanguageClient-neovimではsignしかつかないが、このプラグインでtextpropを追加する 

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2