[vcpkg edit] Now throws an error if it cannot launch an editor

This commit is contained in:
Alexander Karatarakis 2016-09-30 17:36:33 -07:00
Родитель 188eac680b
Коммит 25145714f7
1 изменённых файлов: 13 добавлений и 2 удалений

Просмотреть файл

@ -11,12 +11,23 @@ namespace vcpkg
const package_spec spec = Input::check_and_get_package_spec(args.command_arguments.at(0), default_target_triplet, example.c_str());
Input::check_triplet(spec.target_triplet, paths);
const fs::path portpath = paths.ports / spec.name;
// Find editor
std::wstring env_EDITOR = System::wdupenv_str(L"EDITOR");
if (env_EDITOR.empty())
env_EDITOR = LR"(C:\Program Files (x86)\Microsoft VS Code\Code.exe)";
{
static const std::wstring CODE_EXE_PATH = LR"(C:\Program Files (x86)\Microsoft VS Code\Code.exe)";
if (fs::exists(CODE_EXE_PATH))
{
env_EDITOR = CODE_EXE_PATH;
}
else
{
Checks::exit_with_message("Visual Studio Code was not found and the environmental variable EDITOR is not set");
}
}
const fs::path portpath = paths.ports / spec.name;
std::wstring cmdLine = Strings::wformat(LR"("%s" "%s" "%s")", env_EDITOR, portpath.native(), (portpath / "portfile.cmake").native());
exit(System::cmd_execute(cmdLine));
}