1
1
mirror of https://github.com/mawww/kakoune.git synced 2024-12-25 12:36:11 +03:00

Support kill session inside init command

This commit is contained in:
Maxime Coste 2016-09-06 22:46:27 +01:00
parent c1d7f79a52
commit c63c92cbf7

View File

@ -557,28 +557,28 @@ int run_server(StringView session, StringView init_command,
else
buffer_manager.create_buffer("*scratch*", Buffer::Flags::None);
if (not daemon)
{
local_client = client_manager.create_client(
create_local_ui(ui_type), get_env_vars(), init_command);
if (local_client)
{
auto& selections = local_client->context().selections_write_only();
auto& buffer = selections.buffer();
selections = SelectionList(buffer, buffer.clamp(target_coord));
local_client->context().window().center_line(target_coord.line);
if (startup_error)
local_client->print_status({
"error during startup, see *debug* buffer for details",
get_face("Error")
});
}
}
try
{
if (not daemon)
{
local_client = client_manager.create_client(
create_local_ui(ui_type), get_env_vars(), init_command);
if (local_client)
{
auto& selections = local_client->context().selections_write_only();
auto& buffer = selections.buffer();
selections = SelectionList(buffer, buffer.clamp(target_coord));
local_client->context().window().center_line(target_coord.line);
if (startup_error)
local_client->print_status({
"error during startup, see *debug* buffer for details",
get_face("Error")
});
}
}
while (not terminate and (not client_manager.empty() or daemon))
{
client_manager.redraw_clients();