Use a specific startup_error exception type to get a nicer message
Fixes #424
This commit is contained in:
parent
9b98aa61a8
commit
d4b1138e2f
12
src/main.cc
12
src/main.cc
|
@ -33,6 +33,11 @@
|
||||||
|
|
||||||
using namespace Kakoune;
|
using namespace Kakoune;
|
||||||
|
|
||||||
|
struct startup_error : Kakoune::runtime_error
|
||||||
|
{
|
||||||
|
using Kakoune::runtime_error::runtime_error;
|
||||||
|
};
|
||||||
|
|
||||||
String runtime_directory()
|
String runtime_directory()
|
||||||
{
|
{
|
||||||
char relpath[PATH_MAX+1];
|
char relpath[PATH_MAX+1];
|
||||||
|
@ -384,7 +389,7 @@ std::unique_ptr<UserInterface> create_local_ui(UIType ui_type)
|
||||||
};
|
};
|
||||||
|
|
||||||
if (not isatty(1))
|
if (not isatty(1))
|
||||||
throw runtime_error("stdout is not a tty");
|
throw startup_error("stdout is not a tty");
|
||||||
|
|
||||||
if (not isatty(0))
|
if (not isatty(0))
|
||||||
{
|
{
|
||||||
|
@ -837,6 +842,11 @@ int main(int argc, char* argv[])
|
||||||
generate_switches_doc(param_desc.switches)));
|
generate_switches_doc(param_desc.switches)));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
catch (startup_error& error)
|
||||||
|
{
|
||||||
|
write_stderr(format("Could not start kakoune: {}\n", error.what()));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
catch (Kakoune::exception& error)
|
catch (Kakoune::exception& error)
|
||||||
{
|
{
|
||||||
write_stderr(format("uncaught exception ({}):\n{}", typeid(error).name(), error.what()));
|
write_stderr(format("uncaught exception ({}):\n{}", typeid(error).name(), error.what()));
|
||||||
|
|
Loading…
Reference in New Issue
Block a user