Я изо всех сил пытаюсь найти правильный Vim errorformat
, чтобы использовать, когда текущий каталог является родственным каталогом с файлом с ошибкой.Например:
errorformat
errorformat/model
errorformat/spec
Опция Vim's makeprg
настроена на выполнение файла в errorformat/spec
.Я запускаю make из errorformat/model
.Vim настроен на использование каталога текущего файла в качестве рабочего каталога.
Чтобы проверить, я запускаю следующее в errorformat/model/errorformat.vim
set makeprg=ruby\ ~/errorformat/spec/errorformat_spec.rb
let &efm="%D%f,%f:%l"
make!
copen
Как видите, он запускаетсяRuby-файл в каталоге-партнере, который просто выполняет
puts %{errorformat}
puts %{./spec/errorformat_spec.rb:1}
exit 5
. Желаемый эффект заключается в том, что когда я запускаю спецификацию из другого каталога, Vim будет использовать %D
в errorformat
, чтобы открытьфайл спецификации.Но это не работает.В частности, я просто не могу заставить %D%f
делать то, что я ожидаю.Когда я запускаю этот тест, в окне QuickFix отображается
|| errorformat
|| ./spec/errorformat_spec.rb:1
Двойные полосы указывают, что часть %D%f
в errorformat
не распознает выходные данные.Это также, кажется, препятствует интерпретации следующей строки частью %f:%l
.
Должно быть что-то очень простое, что мне не хватает!