Files
dotfiles/.config/nvim/lua/config/osc52.lua

28 lines
876 B
Lua

vim.g.osc_enabled = false
vim.api.nvim_create_user_command("ToggleOsc", function(input)
if not vim.g.osc_enabled then
vim.g.clipboard = {
name = "osc 52",
copy = {
["+"] = require("vim.ui.clipboard.osc52").copy("+"),
["*"] = require("vim.ui.clipboard.osc52").copy("*"),
},
paste = {
["+"] = function()
return { vim.fn.split(vim.fn.getreg(""), "\n"), vim.fn.getregtype("") }
end,
["*"] = function()
return { vim.fn.split(vim.fn.getreg(""), "\n"), vim.fn.getregtype("") }
end,
},
}
vim.g.osc_enabled = true
vim.api.nvim_echo({ { "OSC 52 Clipboard Enabled", "Normal" } }, true, {})
else
vim.g.clipboard = nil
vim.g.osc_enabled = false
vim.api.nvim_echo({ { "OSC 52 Clipboard Disabled", "Normal" } }, true, {})
end
end, {})
vim.keymap.set("n", "<leader>H", vim.cmd.ToggleOsc, { desc = "Toggle OSC 52 clipboard" })