aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluukvbaal <luukvbaal@gmail.com>2023-04-18 15:07:37 +0200
committerGitHub <noreply@github.com>2023-04-18 21:07:37 +0800
commit59fed8bb6457eb6c5204dc39a49d7ea0e1781482 (patch)
tree5db9bafa4272bd99d0d03da5031026df9e262d1c
parent9033d5eccc505d31b4a95d9fd23a7e2a8d2f282c (diff)
downloadrneovim-59fed8bb6457eb6c5204dc39a49d7ea0e1781482.tar.gz
rneovim-59fed8bb6457eb6c5204dc39a49d7ea0e1781482.tar.bz2
rneovim-59fed8bb6457eb6c5204dc39a49d7ea0e1781482.zip
fix(api): extmark highlight groups not always included in details (#23179)
Problem: Erroneous for loop condition. Solution: Remove for loop condition.
-rw-r--r--src/nvim/api/extmark.c2
-rw-r--r--test/functional/api/extmark_spec.lua6
2 files changed, 7 insertions, 1 deletions
diff --git a/src/nvim/api/extmark.c b/src/nvim/api/extmark.c
index fc17b9d0cc..eb49587d03 100644
--- a/src/nvim/api/extmark.c
+++ b/src/nvim/api/extmark.c
@@ -208,7 +208,7 @@ static Array extmark_to_array(const ExtmarkInfo *extmark, bool id, bool add_dict
// uncrustify:on
- for (int j = 0; hls[j].name && hls[j].val; j++) {
+ for (int j = 0; hls[j].name; j++) {
if (hls[j].val) {
PUT(dict, hls[j].name, hl_group_name(hls[j].val, hl_name));
}
diff --git a/test/functional/api/extmark_spec.lua b/test/functional/api/extmark_spec.lua
index 4bd8f51904..e30ffc92b6 100644
--- a/test/functional/api/extmark_spec.lua
+++ b/test/functional/api/extmark_spec.lua
@@ -1541,6 +1541,12 @@ describe('API/extmarks', function()
virt_text_pos = "win_col",
virt_text_win_col = 1,
} }, get_extmark_by_id(ns, marks[2], { details = true }))
+ set_extmark(ns, marks[3], 0, 0, { cursorline_hl_group = "Statement" })
+ eq({0, 0, {
+ ns_id = 1,
+ cursorline_hl_group = "Statement",
+ right_gravity = true,
+ } }, get_extmark_by_id(ns, marks[3], { details = true }))
end)
it('can get marks from anonymous namespaces', function()