Vim: формат ошибки соответствует всему

Я пытаюсь сопоставить следующую ошибку с efm :

AssertionError: 1 == 2
    at /home/strager/projects/blah/blah.js:13:37

Сообщение об ошибке может быть любым (т.е. оно не всегда соответствует AssertionError:. * или . * Error:. * форматы). Общий формат:

errormessage
    at filename:line:column

Моя проблема в том, что сообщение об ошибке соответствует любому ; мне нужно ограничить сообщение об ошибке только одной строкой и соответствовать только в том случае, если за ней следует соответствующая строка "at".

Я пробовал следующий efm :

set efm=%Z\ \ \ \ at\ %f:%l:%c,%E%m
" %Z    at %f:%l:%c,%E%m

Это почти работает, но он соответствует строкам состояния (например, без ошибок до и после ошибки) в дополнение к ошибкам. Как я могу заставить % E% m ...% Z быть всего двумя строками ( один для сообщения об ошибке и один для в строке )? У меня доступ к стандартным инструментам UNIX для makeprg при необходимости.

6
задан strager 15 September 2010 в 18:14
поделиться