commit da70c394053e2110aedf5a8ea72cbaba0ccf06d9
parent 8b86cb8f5b26699ead075cb6660c9236dfb5c495
Author: Liad Oz <liadozil@gmail.com>
Date: Wed, 7 Dec 2022 19:07:56 +0200
fix(extmarks): adjust extmarks when inserting prompt prefix
Diffstat:
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/nvim/edit.c b/src/nvim/edit.c
@@ -1484,7 +1484,7 @@ static void init_prompt(int cmdchar_todo)
}
curwin->w_cursor.lnum = curbuf->b_ml.ml_line_count;
coladvance(MAXCOL);
- changed_bytes(curbuf->b_ml.ml_line_count, 0);
+ inserted_bytes(curbuf->b_ml.ml_line_count, 0, 0, (colnr_T)strlen(prompt));
}
// Insert always starts after the prompt, allow editing text after it.
diff --git a/test/functional/api/extmark_spec.lua b/test/functional/api/extmark_spec.lua
@@ -1454,6 +1454,14 @@ describe('API/extmarks', function()
}} }, get_extmarks(ns, 0, -1, {details=true}))
end)
+ it('in prompt buffer', function()
+ feed('dd')
+ local id = set_extmark(ns, marks[1], 0, 0, {})
+ curbufmeths.set_option('buftype', 'prompt')
+ feed('i<esc>')
+ eq({{id, 0, 2}}, get_extmarks(ns, 0, -1))
+ end)
+
it('can get details', function()
set_extmark(ns, marks[1], 0, 0, {
end_col = 0,