Un hilo muy antiguo, pero este es un seguimiento de @dule's excellent answer. No deja de ser un pellizco, pero puede ser útil para otros también (me llevó algún tiempo con TFM a trabajar hacia fuera, ¿por qué no compartir?):
setlocal makeprg=jslint\ %
setlocal errorformat=%-P%f,
\%A%>%\\s%\\?#%*\\d\ %m,%Z%.%#Line\ %l\\,\ Pos\ %c,
\%-G%f\ is\ OK.,%-Q
Hay dos diferencias, tanto en la tercera línea .Primero, reemplazo la coincidencia inicial codificada de un solo espacio con un patrón que coincide con cero o un espacio (es decir, hace que el espacio sea opcional). Tenía que hacerlo, por lo siguiente salida de jslint
:
... First 8 errors trimmed
#9 Expected '$' at column 9, not column 7.
$('img#placeholder').attr('src', pic); // Line 15, Pos 7
#10 Expected '$' at column 9, not column 7.
$('img#placeholder').attr('alt', desc) // Line 16, Pos 7
mira muy de cerca, y lo vas a ver. Para los errores del 1 al 9, hay un espacio al comienzo de la línea. Por 10 ... n, sin espacio. Una pequeña cosa, pero significa que la ventana de quickfix no funciona correctamente para los errores de 10 en adelante. Ugh. (Por cierto, consideré la respuesta "No hagas más de 9 errores en ningún archivo JS dado, pero eso también me pareció un poco" meneando al perro ". Además, ahora sé más de lo que sabía hace unas horas sobre scanf
.)
la segunda diferencia es que he sustituido %E
con %A
y la matcher %n
con un patrón de ignorar ese número. esto es esencialmente por razones estéticas. Hacerlo @ manera de dule, se obtiene este resultado en la ventana quickfix :
showPic.js|5 col 7 error 1| Expected 'event' at column 9, not column 7.
showPic.js|9 col 7 error 2| Expected 'var' at column 9, not column 7.
no quiero un recuento de errores allí, y no necesito el recordatorio de que son todos los errores - sé que tanto el uso de %A
, yo. u obtener esta salida más simple:
showPic.js|5 col 7| Expected 'event' at column 9, not column 7.
showPic.js|9 col 7| Expected 'var' at column 9, not column 7.
no pude conseguir el formato de error para trabajar, pero me pasa a su tenedor de JSLint (en vez que Reid) y que funciona perfectamente ... Gracias –