From 1f18c27404f15a3344d6f2f3992e71b3efd0923c Mon Sep 17 00:00:00 2001 From: Raphael Date: Mon, 9 Jan 2023 13:57:46 +0800 Subject: fix(ui): convert title_pos string in nvim_win_get_config --- src/nvim/api/win_config.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/nvim/api/win_config.c b/src/nvim/api/win_config.c index 56d5f8fb16..25bae725fc 100644 --- a/src/nvim/api/win_config.c +++ b/src/nvim/api/win_config.c @@ -299,7 +299,15 @@ Dictionary nvim_win_get_config(Window window, Error *err) ADD(titles, ARRAY_OBJ(tuple)); } PUT(rv, "title", ARRAY_OBJ(titles)); - PUT(rv, "title_pos", INTEGER_OBJ(config->title_pos)); + char *title_pos; + if (config->title_pos == 0) { + title_pos = "left"; + } else if (config->title_pos == 1){ + title_pos = "center"; + }else { + title_pos = "right"; + } + PUT(rv, "title_pos", CSTR_TO_OBJ(title_pos)); } } } -- cgit From e351ab179b3f4dbedd8e959dfcd972178d6a9e16 Mon Sep 17 00:00:00 2001 From: Raphael Date: Mon, 9 Jan 2023 14:17:32 +0800 Subject: fix(ui): add test case --- test/functional/ui/float_spec.lua | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/test/functional/ui/float_spec.lua b/test/functional/ui/float_spec.lua index ab87384194..61143e953c 100644 --- a/test/functional/ui/float_spec.lua +++ b/test/functional/ui/float_spec.lua @@ -1739,6 +1739,28 @@ describe('float window', function() })) end) + it('validate title_pos in nvim_win_get_config', function() + local title_pos = exec_lua([[ + local bufnr = vim.api.nvim_create_buf(false, false) + local opts = { + relative = 'editor', + col = 2, + row = 5, + height = 2, + width = 9, + border = 'double', + title = 'Test', + title_pos = 'center' + } + + local win_id = vim.api.nvim_open_win(bufnr, true, opts) + return vim.api.nvim_win_get_config(win_id).title_pos + ]]) + + eq('center', title_pos) + end) + + it('border with title', function() local buf = meths.create_buf(false, false) meths.buf_set_lines(buf, 0, -1, true, {' halloj! ', -- cgit From ad34ab38dbe5ac89c7018097a4dbed033fc38f22 Mon Sep 17 00:00:00 2001 From: Raphael Date: Mon, 9 Jan 2023 14:22:10 +0800 Subject: fix: format --- src/nvim/api/win_config.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/nvim/api/win_config.c b/src/nvim/api/win_config.c index 25bae725fc..4e8a9015c8 100644 --- a/src/nvim/api/win_config.c +++ b/src/nvim/api/win_config.c @@ -302,9 +302,9 @@ Dictionary nvim_win_get_config(Window window, Error *err) char *title_pos; if (config->title_pos == 0) { title_pos = "left"; - } else if (config->title_pos == 1){ + } else if (config->title_pos == 1) { title_pos = "center"; - }else { + } else { title_pos = "right"; } PUT(rv, "title_pos", CSTR_TO_OBJ(title_pos)); -- cgit From 3a8be82175c3bcc26640ecfe7d13c7d8bdc06632 Mon Sep 17 00:00:00 2001 From: Raphael Date: Mon, 9 Jan 2023 17:00:32 +0800 Subject: fix: use enum type --- src/nvim/api/win_config.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/nvim/api/win_config.c b/src/nvim/api/win_config.c index 4e8a9015c8..602802d651 100644 --- a/src/nvim/api/win_config.c +++ b/src/nvim/api/win_config.c @@ -300,9 +300,9 @@ Dictionary nvim_win_get_config(Window window, Error *err) } PUT(rv, "title", ARRAY_OBJ(titles)); char *title_pos; - if (config->title_pos == 0) { + if (config->title_pos == kAlignLeft) { title_pos = "left"; - } else if (config->title_pos == 1) { + } else if (config->title_pos == kAlignCenter) { title_pos = "center"; } else { title_pos = "right"; -- cgit