vim-dartanalyzerの使い方
先日の記事(気づいたらDartの構文チェック用Vimプラグインを作っていた)で紹介したDartの構文チェックプラグイン、vim-dartanalyzerの使い方などを書いておきます。
スクリーンキャスト
こんな感じで結構キビキビと構文チェックします。
インストール
dark-sdk付属のdartanalyzerと、Shougo/vimproc.vim が必要なので、先にインストールしてください。
その後、vim-dartanalyzerをインストールします。neobundle.vim でvimのプラグイン管理を行っている人は、.vimrc
に以下の行を書き足して:so %
して:NeoBundleInstall
でインストールできます。
NeoBundle 'miyakogi/vim-dartanalyzer'
使い方
基本的に特別な設定は不要です。
ft=dart
なファイルを開けば自動的にdartanalyzerをバックグラウンドで起動し、いい感じにエラーチェックします。
ファイルに変更が加えられるたびにチェックが走ります。
明示的に任意のタイミングでチェックを行いたいときは:DartAnalyzerRun
で実行できます。
もし拡張子がdartなファイルを開いてもfiletypeが設定されない場合は、dart-lang/dart-vim-pluginをインストールするか、.vimrc
に
autocmd BufNewFile,BufRead *.dart set filetype=dart
などの設定を追加してください。
エラー箇所と警告箇所はそれぞれSpellBad
とSpellCaps
のハイライトを使用します。
使っているcolorschemeによりますが、GVimの場合赤い波線と緑の波線だったりするんじゃないでしょうか。
エラー部分にカーソルを持って行くとステータスライン(?)にエラーの内容が表示されます。
エラー箇所はlocation-listに保存されます。
:lopen
でlocation-listを開けば任意のエラー箇所にジャンプできます。
設定
実行パス
dartanalyzerの実行パスを明示的に指定したい場合、変数g:dartanalyzer_cmd
にパスを指定してください。
デフォルトでは'dartanalyzer'
になっています。
自動起動
dartanalyzerを自動的に起動したくない場合、
let g:dartanalyzer_disable_autostart = 1
を.vimrc
で設定すると自動起動しなくなります。
起動したい時は:DartAnalyzerEnable
を実行してください。
起動時メッセージ
dartanalyzerの起動には数秒かかり、その間はチェックが行われない上にvimの動作がもっさりします。 起動が終わっているかわかりやすくしたい場合は、
let g:dartanalyzer_show_startupmsg = 1
を.vimrc
で設定すると起動中と起動完了時にメッセージが表示されます。
チェック後に処理を行う
構文チェック後に任意の処理を行うことができます。
設定はg:dartanalyzer_postprocess
にexecute
してほしい処理を書くだけです。
私は以下のように設定してitchyny/lightline.vimを更新する処理を入れています。
let g:dartanalyzer_postprocess = "call lightline#update()"
エラーの数、警告の数を取得する
エラー数と警告数は以下の関数で取得できます。
call dartanalyzer#count_errors() call dartanalyzer#count_warnings()
用途としては、lightlineなどでエラー数の表示に使うことを想定しています。
今後の予定
ソースを見ながらこの記事を書いていたら修正したい箇所が出てきたのでそこを修正します。 これは大きな変更ではありません。
あとは一応エラー箇所のハイライトをユーザーが設定できるようにしようかと思っています。