mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
shadow previously set signs #1893
This commit is contained in:
parent
2d22e1f035
commit
6e992876ea
@ -4337,10 +4337,8 @@ void buf_addsign(
|
|||||||
if (lnum == sign->lnum && id == sign->id) {
|
if (lnum == sign->lnum && id == sign->id) {
|
||||||
sign->typenr = typenr;
|
sign->typenr = typenr;
|
||||||
return;
|
return;
|
||||||
}
|
} else if ((lnum == sign->lnum && id != sign->id)
|
||||||
else if (id < 0 /* keep signs sorted by lnum */
|
|| (id < 0 && lnum < sign->lnum)) { // attempt to keep signs sorted by lnum
|
||||||
&& lnum < sign->lnum)
|
|
||||||
{
|
|
||||||
insert_sign(buf, prev, sign, id, lnum, typenr);
|
insert_sign(buf, prev, sign, id, lnum, typenr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
45
test/functional/ui/sign_spec.lua
Normal file
45
test/functional/ui/sign_spec.lua
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
local helpers = require('test.functional.helpers')
|
||||||
|
local Screen = require('test.functional.ui.screen')
|
||||||
|
local clear, feed, execute = helpers.clear, helpers.feed, helpers.execute
|
||||||
|
|
||||||
|
describe('Signs', function()
|
||||||
|
local screen
|
||||||
|
|
||||||
|
before_each(function()
|
||||||
|
clear()
|
||||||
|
screen = Screen.new()
|
||||||
|
screen:attach()
|
||||||
|
screen:set_default_attr_ignore( {{}, {bold=true, foreground=255}} )
|
||||||
|
end)
|
||||||
|
|
||||||
|
after_each(function()
|
||||||
|
screen:detach()
|
||||||
|
end)
|
||||||
|
|
||||||
|
describe(':sign place', function()
|
||||||
|
it('shadows previously placed signs', function()
|
||||||
|
feed('ia<cr>b<cr>c<cr><esc>')
|
||||||
|
execute('sign define piet text=>> texthl=Search')
|
||||||
|
execute('sign define pietx text=>! texthl=Search')
|
||||||
|
execute('sign place 1 line=1 name=piet buffer=1')
|
||||||
|
execute('sign place 2 line=3 name=piet buffer=1')
|
||||||
|
execute('sign place 3 line=1 name=pietx buffer=1')
|
||||||
|
screen:expect([[
|
||||||
|
>!a |
|
||||||
|
b |
|
||||||
|
>>c |
|
||||||
|
^ |
|
||||||
|
~ |
|
||||||
|
~ |
|
||||||
|
~ |
|
||||||
|
~ |
|
||||||
|
~ |
|
||||||
|
~ |
|
||||||
|
~ |
|
||||||
|
~ |
|
||||||
|
~ |
|
||||||
|
:sign place 3 line=1 name=pietx buffer=1 |
|
||||||
|
]])
|
||||||
|
end)
|
||||||
|
end)
|
||||||
|
end)
|
Loading…
Reference in New Issue
Block a user