diff options
-rw-r--r-- | src/nvim/main.c | 3 | ||||
-rw-r--r-- | src/nvim/msgpack_rpc/channel.c | 7 |
2 files changed, 3 insertions, 7 deletions
diff --git a/src/nvim/main.c b/src/nvim/main.c index e11db16c61..9af15924bd 100644 --- a/src/nvim/main.c +++ b/src/nvim/main.c @@ -245,6 +245,7 @@ int main(int argc, char **argv) set_vim_var_string(VV_PROGPATH, (char_u *)argv[0], -1); set_vim_var_string(VV_PROGNAME, path_tail((char_u *)argv[0]), -1); + event_init(); /* * Process the command line arguments. File names are put in the global * argument list "global_alist". @@ -275,7 +276,6 @@ int main(int argc, char **argv) if (GARGCOUNT > 1 && !silent_mode) printf(_("%d files to edit\n"), GARGCOUNT); - event_init(); full_screen = true; t_colors = 256; check_tty(¶ms); @@ -963,6 +963,7 @@ static void command_line_scan(mparm_T *parmp) } else if (STRICMP(argv[0] + argv_idx, "embed") == 0) { embedded_mode = true; parmp->headless = true; + channel_from_stdio(); } else if (STRNICMP(argv[0] + argv_idx, "literal", 7) == 0) { #if !defined(UNIX) parmp->literal = TRUE; diff --git a/src/nvim/msgpack_rpc/channel.c b/src/nvim/msgpack_rpc/channel.c index 0e3b8200c9..d8f86cefab 100644 --- a/src/nvim/msgpack_rpc/channel.c +++ b/src/nvim/msgpack_rpc/channel.c @@ -93,11 +93,6 @@ void channel_init(void) channels = pmap_new(uint64_t)(); event_strings = pmap_new(cstr_t)(); msgpack_sbuffer_init(&out_buffer); - - if (embedded_mode) { - channel_from_stdio(); - } - remote_ui_init(); } @@ -316,7 +311,7 @@ bool channel_close(uint64_t id) /// Creates an API channel from stdin/stdout. This is used when embedding /// Neovim -static void channel_from_stdio(void) +void channel_from_stdio(void) { Channel *channel = register_channel(kChannelTypeStdio); incref(channel); // stdio channels are only closed on exit |