From 10b278bdae4227ab1fdc1257e09bfa6524cbf63c Mon Sep 17 00:00:00 2001 From: chentau Date: Sun, 3 Jan 2021 13:59:24 -0800 Subject: allow for extmark gravity to be set through api --- test/functional/api/extmark_spec.lua | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'test') diff --git a/test/functional/api/extmark_spec.lua b/test/functional/api/extmark_spec.lua index ab913ba4a4..159b8f7a58 100644 --- a/test/functional/api/extmark_spec.lua +++ b/test/functional/api/extmark_spec.lua @@ -1389,6 +1389,40 @@ describe('API/extmarks', function() undo]],false) eq(2, meths.eval('1+1')) -- did not crash end) + + it('works with left and right gravity', function() + -- right gravity should move with inserted text, while + -- left gravity should stay in place. + curbufmeths.set_extmark(ns, 0, 5, {gravity = 'left'}) + curbufmeths.set_extmark(ns, 0, 5, {gravity = 'right'}) + feed([[Aasdfasdf]]) + + eq({ {1, 0, 5}, {2, 0, 13} }, + curbufmeths.get_extmarks(ns, 0, -1, {})) + + -- but both move when text is inserted before + feed([[Iasdf]]) + -- eq({}, curbufmeths.get_lines(0, -1, true)) + eq({ {1, 0, 9}, {2, 0, 17} }, + curbufmeths.get_extmarks(ns, 0, -1, {})) + + -- clear text + curbufmeths.set_text(0, 0, 0, 17, {}) + + -- handles set_text correctly as well + eq({ {1, 0, 0}, {2, 0, 0} }, + meths.buf_get_extmarks(0, ns, 0, -1, {})) + curbufmeths.set_text(0, 0, 0, 0, {'asdfasdf'}) + eq({ {1, 0, 0}, {2, 0, 8} }, + curbufmeths.get_extmarks(ns, 0, -1, {})) + + feed('u') + -- handles pasting + meths.exec([[let @a='asdfasdf']], false) + feed([["ap]]) + eq({ {1, 0, 0}, {2, 0, 8} }, + meths.buf_get_extmarks(0, ns, 0, -1, {})) + end) end) describe('Extmarks buffer api with many marks', function() -- cgit From 61276610243d2afd14df671f164bbfba32bd9d9d Mon Sep 17 00:00:00 2001 From: chentau Date: Tue, 5 Jan 2021 00:39:07 -0800 Subject: forgot to update tests --- test/functional/api/extmark_spec.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/functional/api/extmark_spec.lua b/test/functional/api/extmark_spec.lua index 159b8f7a58..d2b555ee5b 100644 --- a/test/functional/api/extmark_spec.lua +++ b/test/functional/api/extmark_spec.lua @@ -1393,8 +1393,8 @@ describe('API/extmarks', function() it('works with left and right gravity', function() -- right gravity should move with inserted text, while -- left gravity should stay in place. - curbufmeths.set_extmark(ns, 0, 5, {gravity = 'left'}) - curbufmeths.set_extmark(ns, 0, 5, {gravity = 'right'}) + curbufmeths.set_extmark(ns, 0, 5, {right_gravity = false}) + curbufmeths.set_extmark(ns, 0, 5, {right_gravity = true}) feed([[Aasdfasdf]]) eq({ {1, 0, 5}, {2, 0, 13} }, -- cgit