5

新しくリリースされたcsslintを使用して、.cssファイルのmakefileとしてvimにフックしてみたかったのです。複数行のエラー形式を出力で機能させるのに苦労しています。

これまでの私の最良の結果は次のとおりです。

au BufRead *.css set makeprg=csslint\ %
au BufRead *.css set errorformat=%A%f:,%C%n:\ warning\ at\ line\ %l\,\ col\ %c,%C%m,%C%.%#,%C%.%#

ただし、行/列番号は正しく取得されません。クイックフィックスウィンドウに次の出力が表示されます。

|| csslint: There are 33 errors and warnings in bookie.css.
|| 
bookie.css||  1: warning Too many font-size declarations (13), abstraction needed.
bookie.css||  2: warning at line 3, col 3 Rule is empty. BODY {
bookie.css||  3: warning at line 12, col 12 Values of 0 shouldn't have units specified. padding: .5em 0em;
bookie.css||  4: warning at line 13, col 13 Values of 0 shouldn't have units specified. margin: 0em;
...

csslintの形式は次のとおりです。

csslint: There are 33 errors and warnings in bookie.css.

bookie.css:
1: warning
Too many font-size declarations (13), abstraction needed.

bookie.css:
2: warning at line 3, col 3
Rule is empty.
BODY {

誰かが私のefmの何が問題になっているのかわかりますか?または、うまくいくかもしれない何かがありますか?フォーマットをクリーンアップするために別の解析スクリプトを作成するルートに進まないようにしています。助けてくれてありがとう。

4

3 に答える 3

2

Vimのエラー形式でカンマをエスケープするには、二重の円記号を使用する必要があります。

于 2011-06-23T11:06:30.073 に答える
2

CSS Lintを使用して、CSS構文チェッカーをSyntasticプラグインにコミットしました。GitHubから最新のSyntasticバージョンを取得し、CSSLintCLIツールをインストールするだけです。

CSS Lintの警告/エラー形式はかなり矛盾していることに注意してください、しかし私が書いたプラグインはそれをかなりうまく処理します。将来的には改善されると思います。

于 2011-06-23T22:22:30.383 に答える
1

vimのerrorformatでの作業は、真の悪夢です。通常、私はvimのシェルでlint出力を書き直しますが、--format=compactスイッチを使用すると、ありがたいことに機能します。

set makeprg=csslint\ --format=compact\ %
set errorformat=%f:\ line\ %l\\,\ col\ \%c\\,\ %m

ソース:https ://github.com/kaihendry/vim-html5/blob/master/ftplugin/css.vim

于 2011-12-08T06:31:25.707 に答える