mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
buffer_updates: emit valid old_byte_size
Test this using treesitter highlighting, which is based on this old_byte_size.
This commit is contained in:
parent
409a1dcdc6
commit
2c34780c32
@ -1876,8 +1876,10 @@ errorret:
|
|||||||
buf->b_ml.ml_line_lnum = lnum;
|
buf->b_ml.ml_line_lnum = lnum;
|
||||||
buf->b_ml.ml_flags &= ~ML_LINE_DIRTY;
|
buf->b_ml.ml_flags &= ~ML_LINE_DIRTY;
|
||||||
}
|
}
|
||||||
if (will_change)
|
if (will_change) {
|
||||||
buf->b_ml.ml_flags |= (ML_LOCKED_DIRTY | ML_LOCKED_POS);
|
buf->b_ml.ml_flags |= (ML_LOCKED_DIRTY | ML_LOCKED_POS);
|
||||||
|
ml_add_deleted_len_buf(buf, buf->b_ml.ml_line_ptr, -1);
|
||||||
|
}
|
||||||
|
|
||||||
return buf->b_ml.ml_line_ptr;
|
return buf->b_ml.ml_line_ptr;
|
||||||
}
|
}
|
||||||
|
@ -360,6 +360,52 @@ static int nlua_schedule(lua_State *const lstate)
|
|||||||
{8:}} |
|
{8:}} |
|
||||||
|
|
|
|
||||||
]]}
|
]]}
|
||||||
|
|
||||||
|
feed("gg$")
|
||||||
|
feed("~")
|
||||||
|
screen:expect{grid=[[
|
||||||
|
{2:/// Schedule Lua callback on main loop's event queu^E} |
|
||||||
|
{3:static} {3:int} nlua_schedule({3:lua_State} *{3:const} lstate) |
|
||||||
|
{ |
|
||||||
|
{2:/*} |
|
||||||
|
{2: if (lua_type(lstate, 1) != LUA_TFUNCTION} |
|
||||||
|
{2: || lstate != lstate) {} |
|
||||||
|
{2: lua_pushliteral(lstate, "vim.schedule: expected function");} |
|
||||||
|
{2: return lua_error(lstate);} |
|
||||||
|
{2:*/} |
|
||||||
|
} |
|
||||||
|
|
|
||||||
|
{7:LuaRef} cb = nlua_ref(lstate, {5:1}); |
|
||||||
|
|
|
||||||
|
multiqueue_put(main_loop.events, nlua_schedule_event, |
|
||||||
|
{5:1}, ({3:void} *)({3:ptrdiff_t})cb); |
|
||||||
|
{4:return} {5:0}; |
|
||||||
|
{8:}} |
|
||||||
|
|
|
||||||
|
]]}
|
||||||
|
|
||||||
|
|
||||||
|
feed("re")
|
||||||
|
screen:expect{grid=[[
|
||||||
|
{2:/// Schedule Lua callback on main loop's event queu^e} |
|
||||||
|
{3:static} {3:int} nlua_schedule({3:lua_State} *{3:const} lstate) |
|
||||||
|
{ |
|
||||||
|
{2:/*} |
|
||||||
|
{2: if (lua_type(lstate, 1) != LUA_TFUNCTION} |
|
||||||
|
{2: || lstate != lstate) {} |
|
||||||
|
{2: lua_pushliteral(lstate, "vim.schedule: expected function");} |
|
||||||
|
{2: return lua_error(lstate);} |
|
||||||
|
{2:*/} |
|
||||||
|
} |
|
||||||
|
|
|
||||||
|
{7:LuaRef} cb = nlua_ref(lstate, {5:1}); |
|
||||||
|
|
|
||||||
|
multiqueue_put(main_loop.events, nlua_schedule_event, |
|
||||||
|
{5:1}, ({3:void} *)({3:ptrdiff_t})cb); |
|
||||||
|
{4:return} {5:0}; |
|
||||||
|
{8:}} |
|
||||||
|
|
|
||||||
|
]]}
|
||||||
end)
|
end)
|
||||||
|
|
||||||
it('inspects language', function()
|
it('inspects language', function()
|
||||||
|
Loading…
Reference in New Issue
Block a user