28 lines
876 B
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" })
|