質問

私が持っています jslint 私のシステムにnpmでインストールされています。

次の形式でエラーメッセージを生成します。

  1 1,9: Missing name in function statement.
    function() {
  2 2,11: Use '===' to compare with '0'.
    if (x == 0) {
  3 4,2: Unnecessary semicolon.
    };

エラーメッセージを解析するためにVIMのコンパイラプラグインを書きましたが、で問題を把握できませんでした errorformat. 。コンパイラファイルに次のようになりました。

CompilerSet makeprg=jslint
      \\ $*
      \\ %
CompilerSet errorformat=
    \%*[\ ]%n\ %l\,%c:\ %m,
    \%-G%.%#

どのafaikが次のことをするべきか:

  • %*[\ ] - ラインの最初のホワイトスペースをスキップします
  • %n - エラー番号に一致します
  • \ - スペースをスキップします
  • %l - 行番号に一致します
  • \, - コンマをスキップします
  • %c - 列番号を一致させます
  • : - コロンをスキップします
  • \ - もう一度スペースをスキップします
  • %m - エラーメッセージに一致します
  • , - 新しいライン
  • %-G%.%# - 他のすべてをスキップします

実行します jslint メッセージが表示されますが :clist コマンドにはエラーが表示されません。

何が足りないの?

役に立ちましたか?

解決

問題はでした \,, 、スキップコンマ、正しい形式は次のとおりです。

CompilerSet errorformat=
    \%*[\ ]%n\ %l%.%c:\ %m,
    \%-G%.%#

他のヒント

コンマは逃げる必要があります \\, 以来 , エラーフォームの特別なcharです \ VIM構成ファイルの特別なcharであり、それ自体が逃げる必要があります。 VIMに、エラー形式はそうです %*[ ]%n %l\,%c: %m,%-G%.%#, 、以来 \ ラインの先頭またはスペースの前に、エラー形式ではなく、VIMの脱出があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top