:)
Я просто работаю с программами форматирования в сочетании с Vim .До сих пор я использовал neoformat
как плагин, чтобы справиться с этим для меня.Но он отстает в некоторых моментах, и поэтому я попытался решить его сам, определив formatprg
сам.Дело в том, что некоторые (может быть, все?) Форматеры имеют конфигурацию в корневом каталоге проектов.Потому что необходимо, чтобы код был отформатирован с этой конфигурацией, а не с глобальной настройкой по умолчанию, мне нужно настроить formatprg
для этого.
Экспериментами с простым сценарием, который я использовал в качестве средства форматирования, я нашелчто скрипт / форматер выполняется в Vim's текущем рабочем каталоге.Раньше мой экземпляр Vim автоматически находился в корневом каталоге проектов, поэтому все это должно работать, и средство форматирования находит конфигурацию проектов.Но я не хочу на это полагаться.Поэтому меня интересует, можно ли передать рабочий каталог в formatprg
независимо от текущего Vims .Я не смог найти такой вариант в документации, но это не значит, что это не так.
В качестве альтернативы я подумал о скрипте, который принимает программу форматирования и ее аргументы, передаваемые * 1019.*, но сначала измените рабочий каталог перед вызовом this и передайте вывод в его собственный stdout.Поэтому назовите его оболочкой, которая просто проверяет правильность каталога.
Так что вместо setlocal formatprg=prettier\ --stdin
используйте его с setlocal formatprg=formatwrapper\ prettier\ --stdin
.
Каково ваше мнение?Спасибо за помощь!