diff options
author | bfredl <bjorn.linse@gmail.com> | 2022-04-22 20:56:31 +0200 |
---|---|---|
committer | bfredl <bjorn.linse@gmail.com> | 2022-05-02 22:19:41 +0200 |
commit | ad63b94b03c166f37bda477db6cbac2a9583d586 (patch) | |
tree | 49ee0ca3d359e52630d7e30e5dbb5a53275640b1 /src/nvim/api/ui.c | |
parent | 619c8f4b9143e4dea0fb967ccdce594e14956ed3 (diff) | |
download | rneovim-ad63b94b03c166f37bda477db6cbac2a9583d586.tar.gz rneovim-ad63b94b03c166f37bda477db6cbac2a9583d586.tar.bz2 rneovim-ad63b94b03c166f37bda477db6cbac2a9583d586.zip |
refactor(ui): simplify stdin handling
Diffstat (limited to 'src/nvim/api/ui.c')
-rw-r--r-- | src/nvim/api/ui.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/nvim/api/ui.c b/src/nvim/api/ui.c index 997f0c218a..f449ccc3c7 100644 --- a/src/nvim/api/ui.c +++ b/src/nvim/api/ui.c @@ -283,6 +283,22 @@ static void ui_set_option(UI *ui, bool init, String name, Object value, Error *e return; } + if (strequal(name.data, "stdin_fd")) { + if (value.type != kObjectTypeInteger || value.data.integer < 0) { + api_set_error(error, kErrorTypeValidation, "stdin_fd must be a non-negative Integer"); + return; + } + + if (starting != NO_SCREEN) { + api_set_error(error, kErrorTypeValidation, + "stdin_fd can only be used with first attached ui"); + return; + } + + stdin_fd = (int)value.data.integer; + return; + } + // LEGACY: Deprecated option, use `ext_cmdline` instead. bool is_popupmenu = strequal(name.data, "popupmenu_external"); |