5

仕事では、私がオープンソースに取り組んでいるときとは異なる構文チェッカーを使用しています。デフォルトのチェッカーを指定し、プロジェクトのルートにファイルが見つかったSyntastic場合にチェッカーを変更する方法はありますか?rc

例:.eslintrcが見つかった場合は を使用しますeslint.eslintrc見つからない場合は、 を使用しますstandard

ありがとう!

編集: scrooloose/syntasticの問題も開きました。

4

2 に答える 2

16

はい、次のようなことができます。

autocmd FileType javascript let b:syntastic_checkers = findfile('.eslintrc', '.;') != '' ? ['eslint'] : ['standard']

編集:リクエストに応じて、これがどのように機能するかの説明:

  • autocmd FileType javascriptfiletype-バッファの が に設定されるたびにjavascript(つまり、通常はバッファごとに 1 回) 、次のものを実行します。
  • b:syntastic_checkers現在のバッファで有効になっているチェッカーのリスト、上書きg:syntastic_javascript_checkers
  • findfile('.eslintrc', ...)- .eslintrc...という名前のファイルを見つけます
  • .;- ... 現在のディレクトリ以上
  • != '' ?- 見つかったら...
  • ['eslint']- ... にb:syntastic_checkers設定['eslint']
  • : ['standard']- ... それ以外の場合は['standard']

マジック、私はあなたに言います。

于 2015-02-18T07:10:28.153 に答える
1

この質問だけでなく、より広い用途を持つ別の簡単なオプションは、以下を .vimrc ファイルに追加することです:

if findfile('.lvimrc','.') != ''
    source .lvimrc
endif

次に、別の動作が必要なディレクトリに、そのディレクトリに必要な構文オプションを含む「.lvimrc」ファイルを追加します。

于 2016-06-13T06:12:24.463 に答える