仕事では、私がオープンソースに取り組んでいるときとは異なる構文チェッカーを使用しています。デフォルトのチェッカーを指定し、プロジェクトのルートにファイルが見つかったSyntastic
場合にチェッカーを変更する方法はありますか?rc
例:.eslintrc
が見つかった場合は を使用しますeslint
。.eslintrc
見つからない場合は、 を使用しますstandard
。
ありがとう!
編集: scrooloose/syntasticの問題も開きました。
仕事では、私がオープンソースに取り組んでいるときとは異なる構文チェッカーを使用しています。デフォルトのチェッカーを指定し、プロジェクトのルートにファイルが見つかったSyntastic
場合にチェッカーを変更する方法はありますか?rc
例:.eslintrc
が見つかった場合は を使用しますeslint
。.eslintrc
見つからない場合は、 を使用しますstandard
。
ありがとう!
編集: scrooloose/syntasticの問題も開きました。
はい、次のようなことができます。
autocmd FileType javascript let b:syntastic_checkers = findfile('.eslintrc', '.;') != '' ? ['eslint'] : ['standard']
編集:リクエストに応じて、これがどのように機能するかの説明:
autocmd FileType javascript
filetype
-バッファの が に設定されるたびにjavascript
(つまり、通常はバッファごとに 1 回) 、次のものを実行します。b:syntastic_checkers
現在のバッファで有効になっているチェッカーのリスト、上書きg:syntastic_javascript_checkers
findfile('.eslintrc', ...)
- .eslintrc
...という名前のファイルを見つけます.;
- ... 現在のディレクトリ以上!= '' ?
- 見つかったら...['eslint']
- ... にb:syntastic_checkers
設定['eslint']
: ['standard']
- ... それ以外の場合は['standard']
マジック、私はあなたに言います。
この質問だけでなく、より広い用途を持つ別の簡単なオプションは、以下を .vimrc ファイルに追加することです:
if findfile('.lvimrc','.') != ''
source .lvimrc
endif
次に、別の動作が必要なディレクトリに、そのディレクトリに必要な構文オプションを含む「.lvimrc」ファイルを追加します。