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

我刚刚使用 CSS Lint 向 Syntastic 插件提交了一个 CSS 语法检查器。只需从 GitHub获取最新的Syntastic 版本,然后安装 CSS Lint CLI 工具,您就可以开始使用了。

请注意,CSS Lint 的警告/错误格式非常不一致,但我编写的插件处理得很好。我希望它在未来会有所改善。

于 2011-06-23T22:22:30.383 回答
2

您需要使用双反斜杠来转义 Vim 错误格式中的逗号。

于 2011-06-23T11:06:30.073 回答
1

使用 vim 的错误格式是名副其实的噩梦。通常我会在 shell 中为 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 回答