diff options
author | erw7 <erw7.github@gmail.com> | 2020-07-20 00:44:22 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-19 17:44:22 +0200 |
commit | 8e350c1c6922f9c678e83d97227e7edd84967571 (patch) | |
tree | 71914cb8842b3bcdc10b550d7eb61c3a8b5464b1 /src/nvim/main.c | |
parent | 08efa7037e05ce229150d17db11b1b1c2419631f (diff) | |
download | rneovim-8e350c1c6922f9c678e83d97227e7edd84967571.tar.gz rneovim-8e350c1c6922f9c678e83d97227e7edd84967571.tar.bz2 rneovim-8e350c1c6922f9c678e83d97227e7edd84967571.zip |
startup: fix stall issue with -D options (#12652)
fixes #12647.
Diffstat (limited to 'src/nvim/main.c')
-rw-r--r-- | src/nvim/main.c | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/src/nvim/main.c b/src/nvim/main.c index ae64046d07..f79fb57eae 100644 --- a/src/nvim/main.c +++ b/src/nvim/main.c @@ -313,6 +313,26 @@ int main(int argc, char **argv) input_start(STDIN_FILENO); } + // Wait for UIs to set up Nvim or show early messages + // and prompts (--cmd, swapfile dialog, …). + bool use_remote_ui = (embedded_mode && !headless_mode); + bool use_builtin_ui = (!headless_mode && !embedded_mode && !silent_mode); + if (use_remote_ui || use_builtin_ui) { + TIME_MSG("waiting for UI"); + if (use_remote_ui) { + remote_ui_wait_for_attach(); + } else { + ui_builtin_start(); + } + TIME_MSG("done waiting for UI"); + + // prepare screen now, so external UIs can display messages + starting = NO_BUFFERS; + screenclear(); + TIME_MSG("initialized screen early for UI"); + } + + // open terminals when opening files that start with term:// #define PROTO "term://" do_cmdline_cmd("augroup nvim_terminal"); @@ -335,25 +355,6 @@ int main(int argc, char **argv) p_lpl = false; } - // Wait for UIs to set up Nvim or show early messages - // and prompts (--cmd, swapfile dialog, …). - bool use_remote_ui = (embedded_mode && !headless_mode); - bool use_builtin_ui = (!headless_mode && !embedded_mode && !silent_mode); - if (use_remote_ui || use_builtin_ui) { - TIME_MSG("waiting for UI"); - if (use_remote_ui) { - remote_ui_wait_for_attach(); - } else { - ui_builtin_start(); - } - TIME_MSG("done waiting for UI"); - - // prepare screen now, so external UIs can display messages - starting = NO_BUFFERS; - screenclear(); - TIME_MSG("initialized screen early for UI"); - } - // Execute --cmd arguments. exe_pre_commands(¶ms); |