Estoy tratando de coincidir con el siguiente error con efm
:Vim: formato de error coincide con todo lo
AssertionError: 1 == 2
at /home/strager/projects/blah/blah.js:13:37
El mensaje de error puede ser cualquier cosa (es decir, que no siempre coincide con los AssertionError: .*
o .*Error: .*
formatos). El formato general es:
errormessage
at filename:line:column
Mi problema es que el mensaje de error coincide con ninguna línea; Necesito restringir el mensaje de error a una sola línea, y solo coincido si va seguido de una línea "a" coincidente.
He intentado el siguiente efm
:
set efm=%Z\ \ \ \ at\ %f:%l:%c,%E%m
" %Z at %f:%l:%c,%E%m
Esto casi funciona, pero coincide con líneas de estado (por ejemplo, no son errores antes y después del error), además de los errores. ¿Cómo puedo forzar que %E%m ... %Z
tenga solo dos líneas en total (una para el mensaje de error y otra para la línea at
)? Tengo acceso a las herramientas estándar de UNIX para makeprg
si es necesario.
Esto es lo que tenía inicialmente, pero esto coincide con cada línea como un "error" sin más información. El 'efm' que publiqué en mi pregunta lo hace, pero también detecta el nombre del archivo y los números de línea y columna de la línea" at ". – strager