I wanted to add some handler that is triggered whenever a paste happened. From what I know, there is no such a thing like autocmd for paste action. I have look into some possible solution such as overriding the vim.paste
api such as below.
local function handler(overriden)
return function (lines, phase)
doSomething()
overriden(lines, phase)
end
end
vim.paste = handler(vim.paste)
But I noticed that the doSomething
is only triggered when it is an external paste as mentioned in the docs.
"Paste" is a separate concept from |clipboard|: paste means "dump a bunch of
text to the editor", whereas clipboard provides features like |quote+| to get
and set the OS clipboard directly. For example, middle-click or CTRL-SHIFT-v
(macOS: CMD-v) in your terminal is "paste", not "clipboard": the terminal
application (Nvim) just gets a stream of text, it does not interact with the
clipboard directly.
Is there any way I can implement one for all kind of paste?