aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/main.c3
-rw-r--r--src/nvim/msgpack_rpc/channel.c7
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(&params);
@@ -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