Refactor, remove kakoune function and move it inside main.
This commit is contained in:
parent
ceb10665d1
commit
eff32aa1a1
56
src/main.cc
56
src/main.cc
|
@ -440,8 +440,32 @@ int run_pipe(StringView session)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int kakoune(const ParametersParser& parser)
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
|
setlocale(LC_ALL, "");
|
||||||
|
|
||||||
|
signal(SIGSEGV, signal_handler);
|
||||||
|
signal(SIGFPE, signal_handler);
|
||||||
|
signal(SIGQUIT, signal_handler);
|
||||||
|
signal(SIGTERM, signal_handler);
|
||||||
|
|
||||||
|
std::vector<String> params;
|
||||||
|
for (size_t i = 1; i < argc; ++i)
|
||||||
|
params.push_back(argv[i]);
|
||||||
|
|
||||||
|
const ParameterDesc param_desc{
|
||||||
|
SwitchMap{ { "c", { true, "connect to given session" } },
|
||||||
|
{ "e", { true, "execute argument on initialisation" } },
|
||||||
|
{ "n", { false, "do not source kakrc files on startup" } },
|
||||||
|
{ "s", { true, "set session name" } },
|
||||||
|
{ "d", { false, "run as a headless session (requires -s)" } },
|
||||||
|
{ "p", { true, "just send stdin as commands to the given session" } },
|
||||||
|
{ "f", { true, "act as a filter, executing given keys on given files" } } }
|
||||||
|
};
|
||||||
|
try
|
||||||
|
{
|
||||||
|
ParametersParser parser(params, param_desc);
|
||||||
|
|
||||||
if (parser.has_option("p"))
|
if (parser.has_option("p"))
|
||||||
{
|
{
|
||||||
for (auto opt : { "c", "n", "s", "d", "e" })
|
for (auto opt : { "c", "n", "s", "d", "e" })
|
||||||
|
@ -494,39 +518,13 @@ int kakoune(const ParametersParser& parser)
|
||||||
files);
|
files);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char* argv[])
|
|
||||||
{
|
|
||||||
setlocale(LC_ALL, "");
|
|
||||||
|
|
||||||
signal(SIGSEGV, signal_handler);
|
|
||||||
signal(SIGFPE, signal_handler);
|
|
||||||
signal(SIGQUIT, signal_handler);
|
|
||||||
signal(SIGTERM, signal_handler);
|
|
||||||
|
|
||||||
std::vector<String> params;
|
|
||||||
for (size_t i = 1; i < argc; ++i)
|
|
||||||
params.push_back(argv[i]);
|
|
||||||
|
|
||||||
const ParameterDesc param_desc{
|
|
||||||
SwitchMap{ { "c", { true, "connect to given session" } },
|
|
||||||
{ "e", { true, "execute argument on initialisation" } },
|
|
||||||
{ "n", { false, "do not source kakrc files on startup" } },
|
|
||||||
{ "s", { true, "set session name" } },
|
|
||||||
{ "d", { false, "run as a headless session (requires -s)" } },
|
|
||||||
{ "p", { true, "just send stdin as commands to the given session" } },
|
|
||||||
{ "f", { true, "act as a filter, executing given keys on given files" } } }
|
|
||||||
};
|
|
||||||
try
|
|
||||||
{
|
|
||||||
kakoune(ParametersParser(params, param_desc));
|
|
||||||
}
|
|
||||||
catch (Kakoune::parameter_error& error)
|
catch (Kakoune::parameter_error& error)
|
||||||
{
|
{
|
||||||
printf("Error: %s\n"
|
printf("Error: %s\n"
|
||||||
"Valid switches:\n"
|
"Valid switches:\n"
|
||||||
"%s",
|
"%s",
|
||||||
error.what(), generate_switches_doc(param_desc.switches).c_str());
|
error.what(),
|
||||||
|
generate_switches_doc(param_desc.switches).c_str());
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
catch (Kakoune::exception& error)
|
catch (Kakoune::exception& error)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user