Я использую этот код для генератора проекта cpp (/newt/cpp содержит main.cpp и CMakeLists.txt). Предполагается, что общий метод вызывается без вывода сообщений при нажатии F5 и предназначен только для компиляции и запуска программы, но только если компиляция прошла успешно. Но проблема в том, что urxvt не наследует код выхода выполняемой команды, поэтому я не могу сказать, была ли команда успешной или нет. Итак, вот мой вопрос: как я могу запустить команду во внешней оболочке и выяснить код выхода?
function SetupCPP()
!cp -a ~/.config/nvim/src/newt/cpp/. .
e main.cpp
function! GenericRun()
call system("urxvt -e sh -c \"cmake . \"")
if v:shell_error != 0
return
endif
call system("urxvt -e sh -c \"make . || read && false\"")
if v:shell_error != 0
return
endif
call system("urxvt -e './main'")
endfunction
endfunction