From fd08fd3de3020647c8ae73f1c7d2cf9a4926c828 Mon Sep 17 00:00:00 2001 From: glepnir Date: Thu, 14 Sep 2023 13:30:51 +0800 Subject: fix(float): add fixd option --- src/nvim/api/keysets.h | 1 + src/nvim/api/win_config.c | 6 ++++++ 2 files changed, 7 insertions(+) (limited to 'src/nvim/api') diff --git a/src/nvim/api/keysets.h b/src/nvim/api/keysets.h index 4e5e7af619..736ca9ce07 100644 --- a/src/nvim/api/keysets.h +++ b/src/nvim/api/keysets.h @@ -112,6 +112,7 @@ typedef struct { String footer_pos; String style; Boolean noautocmd; + Boolean fixed; } Dict(float_config); typedef struct { diff --git a/src/nvim/api/win_config.c b/src/nvim/api/win_config.c index ac27554172..74c5228329 100644 --- a/src/nvim/api/win_config.c +++ b/src/nvim/api/win_config.c @@ -160,6 +160,8 @@ /// - noautocmd: If true then no buffer-related autocommand events such as /// |BufEnter|, |BufLeave| or |BufWinEnter| may fire from /// calling this function. +/// - fixed: If true when anchor is NW or SW, the float window +/// would be kept fixed even if the window would be truncated. /// /// @param[out] err Error details, if any /// @@ -841,6 +843,10 @@ static bool parse_float_config(Dict(float_config) *config, FloatConfig *fconfig, fconfig->noautocmd = config->noautocmd; } + if (HAS_KEY_X(config, fixed)) { + fconfig->fixed = config->fixed; + } + return true; #undef HAS_KEY_X } -- cgit