Add a -debug '...' switch to Kakoune startup that sets the debug option
This gives an easy way to profile startup by running with -debug profile.
This commit is contained in:
parent
7ed5d53fe6
commit
40a91b1120
|
@ -590,7 +590,7 @@ constexpr bool with_bit_ops(Meta::Type<ServerFlags>) { return true; }
|
||||||
|
|
||||||
int run_server(StringView session, StringView server_init,
|
int run_server(StringView session, StringView server_init,
|
||||||
StringView client_init, Optional<BufferCoord> init_coord,
|
StringView client_init, Optional<BufferCoord> init_coord,
|
||||||
ServerFlags flags, UIType ui_type,
|
ServerFlags flags, UIType ui_type, DebugFlags debug_flags,
|
||||||
ConstArrayView<StringView> files)
|
ConstArrayView<StringView> files)
|
||||||
{
|
{
|
||||||
static bool terminate = false;
|
static bool terminate = false;
|
||||||
|
@ -629,6 +629,8 @@ int run_server(StringView session, StringView server_init,
|
||||||
register_commands();
|
register_commands();
|
||||||
register_highlighters();
|
register_highlighters();
|
||||||
|
|
||||||
|
global_scope.options()["debug"].set(debug_flags);
|
||||||
|
|
||||||
UnitTest::run_all_tests();
|
UnitTest::run_all_tests();
|
||||||
|
|
||||||
write_to_debug_buffer("*** This is the debug buffer, where debug info will be written ***");
|
write_to_debug_buffer("*** This is the debug buffer, where debug info will be written ***");
|
||||||
|
@ -910,6 +912,7 @@ int main(int argc, char* argv[])
|
||||||
{ "ui", { true, "set the type of user interface to use (ncurses, dummy, or json)" } },
|
{ "ui", { true, "set the type of user interface to use (ncurses, dummy, or json)" } },
|
||||||
{ "l", { false, "list existing sessions" } },
|
{ "l", { false, "list existing sessions" } },
|
||||||
{ "clear", { false, "clear dead sessions" } },
|
{ "clear", { false, "clear dead sessions" } },
|
||||||
|
{ "debug", { true, "initial debug option value" } },
|
||||||
{ "ro", { false, "readonly mode" } },
|
{ "ro", { false, "readonly mode" } },
|
||||||
{ "help", { false, "display a help message and quit" } } }
|
{ "help", { false, "display a help message and quit" } } }
|
||||||
};
|
};
|
||||||
|
@ -1045,7 +1048,8 @@ int main(int argc, char* argv[])
|
||||||
(parser.get_switch("d") ? ServerFlags::Daemon : ServerFlags::None) |
|
(parser.get_switch("d") ? ServerFlags::Daemon : ServerFlags::None) |
|
||||||
(parser.get_switch("ro") ? ServerFlags::ReadOnly : ServerFlags::None) |
|
(parser.get_switch("ro") ? ServerFlags::ReadOnly : ServerFlags::None) |
|
||||||
(argc == 1 and isatty(0) ? ServerFlags::StartupInfo : ServerFlags::None);
|
(argc == 1 and isatty(0) ? ServerFlags::StartupInfo : ServerFlags::None);
|
||||||
return run_server(session, server_init, client_init, init_coord, flags, ui_type, files);
|
auto debug_flags = option_from_string(Meta::Type<DebugFlags>{}, parser.get_switch("debug").value_or(""));
|
||||||
|
return run_server(session, server_init, client_init, init_coord, flags, ui_type, debug_flags, files);
|
||||||
}
|
}
|
||||||
catch (convert_to_client_mode& convert)
|
catch (convert_to_client_mode& convert)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user