aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/window.c
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2021-06-10 12:01:12 +0200
committerGitHub <noreply@github.com>2021-06-10 12:01:12 +0200
commit988f88c24e83c37e1dc011e3561fb505ca7b8706 (patch)
treef470e41459348fca9c25f42540acc88ab65399c1 /src/nvim/api/window.c
parent21645e603cbc7003898315d753a0f3f7c867f68a (diff)
parent7b519cd11cee564813067a818c11fbc7a29e08c3 (diff)
downloadrneovim-988f88c24e83c37e1dc011e3561fb505ca7b8706.tar.gz
rneovim-988f88c24e83c37e1dc011e3561fb505ca7b8706.tar.bz2
rneovim-988f88c24e83c37e1dc011e3561fb505ca7b8706.zip
Merge pull request #14249 from euclidianAce/euclidianAce/win-config-include-border
include 'border' in nvim_win_get_config
Diffstat (limited to 'src/nvim/api/window.c')
-rw-r--r--src/nvim/api/window.c31
1 files changed, 26 insertions, 5 deletions
diff --git a/src/nvim/api/window.c b/src/nvim/api/window.c
index 178375d7f1..0729024b45 100644
--- a/src/nvim/api/window.c
+++ b/src/nvim/api/window.c
@@ -6,20 +6,21 @@
#include <stdlib.h>
#include <limits.h>
-#include "nvim/ascii.h"
-#include "nvim/globals.h"
-#include "nvim/api/window.h"
#include "nvim/api/private/defs.h"
#include "nvim/api/private/helpers.h"
#include "nvim/lua/executor.h"
#include "nvim/ex_docmd.h"
#include "nvim/vim.h"
+#include "nvim/api/window.h"
+#include "nvim/ascii.h"
#include "nvim/buffer.h"
#include "nvim/cursor.h"
+#include "nvim/globals.h"
+#include "nvim/move.h"
#include "nvim/option.h"
-#include "nvim/window.h"
#include "nvim/screen.h"
-#include "nvim/move.h"
+#include "nvim/syntax.h"
+#include "nvim/window.h"
/// Gets the current buffer in a window
///
@@ -456,6 +457,26 @@ Dictionary nvim_win_get_config(Window window, Error *err)
PUT(rv, "row", FLOAT_OBJ(config->row));
PUT(rv, "col", FLOAT_OBJ(config->col));
}
+ if (config->border) {
+ Array border = ARRAY_DICT_INIT;
+ for (size_t i = 0; i < 8; i++) {
+ Array tuple = ARRAY_DICT_INIT;
+
+ String s = cstrn_to_string(
+ (const char *)config->border_chars[i], sizeof(schar_T));
+
+ int hi_id = config->border_hl_ids[i];
+ char_u *hi_name = syn_id2name(hi_id);
+ if (hi_name[0]) {
+ ADD(tuple, STRING_OBJ(s));
+ ADD(tuple, STRING_OBJ(cstr_to_string((const char *)hi_name)));
+ ADD(border, ARRAY_OBJ(tuple));
+ } else {
+ ADD(border, STRING_OBJ(s));
+ }
+ }
+ PUT(rv, "border", ARRAY_OBJ(border));
+ }
}
const char *rel = (wp->w_floating && !config->external