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?