add Range:highlight()
This commit is contained in:
parent
3bf3836bd7
commit
c2ba91893f
@ -1,6 +1,5 @@
|
|||||||
local Pos = require 'tt.pos'
|
local Pos = require 'tt.pos'
|
||||||
local State = require 'tt.state'
|
local State = require 'tt.state'
|
||||||
local utils = require 'tt.utils'
|
|
||||||
|
|
||||||
---@class Range
|
---@class Range
|
||||||
---@field start Pos
|
---@field start Pos
|
||||||
@ -415,4 +414,33 @@ function Range:set_visual_selection()
|
|||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---@param group string
|
||||||
|
---@param opts? { timeout?: number, priority?: number }
|
||||||
|
function Range:highlight(group, opts)
|
||||||
|
opts = opts or {}
|
||||||
|
|
||||||
|
local ns = vim.api.nvim_create_namespace ''
|
||||||
|
vim.highlight.range(
|
||||||
|
self.start.buf,
|
||||||
|
ns,
|
||||||
|
group,
|
||||||
|
{ self.start.lnum, self.start.col },
|
||||||
|
{ self.stop.lnum, self.stop.col },
|
||||||
|
{
|
||||||
|
inclusive = true,
|
||||||
|
priority = opts.priority,
|
||||||
|
regtype = 'v',
|
||||||
|
}
|
||||||
|
)
|
||||||
|
vim.cmd.redraw()
|
||||||
|
|
||||||
|
local function clear()
|
||||||
|
vim.print 'clearing highlight...'
|
||||||
|
vim.api.nvim_buf_clear_namespace(self.start.buf, ns, self.start.lnum, self.stop.lnum + 1)
|
||||||
|
end
|
||||||
|
if opts.timeout ~= nil then vim.defer_fn(clear, opts.timeout) end
|
||||||
|
|
||||||
|
return { ns = ns, clear = clear }
|
||||||
|
end
|
||||||
|
|
||||||
return Range
|
return Range
|
||||||
|
Loading…
x
Reference in New Issue
Block a user