diff --git a/lua/pending/buffer.lua b/lua/pending/buffer.lua index 367a8bb..79cd2c6 100644 --- a/lua/pending/buffer.lua +++ b/lua/pending/buffer.lua @@ -99,6 +99,13 @@ function M.clear_marks(b) vim.api.nvim_buf_clear_namespace(bufnr, ns_inline, 0, -1) end +---@param b integer +---@param row integer +---@return nil +function M.clear_inline_row(b, row) + vim.api.nvim_buf_clear_namespace(b, ns_inline, row - 1, row) +end + ---@return table function M.dirty_rows() return _dirty_rows diff --git a/lua/pending/init.lua b/lua/pending/init.lua index af018a7..3e8702d 100644 --- a/lua/pending/init.lua +++ b/lua/pending/init.lua @@ -255,8 +255,11 @@ function M._setup_autocmds(bufnr) group = group, buffer = bufnr, callback = function() - if vim.bo[bufnr].modified then - buffer.clear_marks(bufnr) + if not vim.bo[bufnr].modified then + return + end + for row in pairs(buffer.dirty_rows()) do + buffer.clear_inline_row(bufnr, row) end end, })