From 5aac9c0a63d2f7b39f35579a1d4a7166541f47cd Mon Sep 17 00:00:00 2001 From: 40DEEA <40deea@gmail.com> Date: Tue, 21 Oct 2025 22:44:42 -0700 Subject: [PATCH] Add OCS-52 module For accessing clipboard over ssh --- init.lua | 1 + lazy-lock.json | 1 + lua/kickstart/plugins/ocs52.lua | 20 ++++++++++++++++++++ 3 files changed, 22 insertions(+) create mode 100644 lua/kickstart/plugins/ocs52.lua diff --git a/init.lua b/init.lua index f4cf502b..18a29aa5 100644 --- a/init.lua +++ b/init.lua @@ -978,6 +978,7 @@ require('lazy').setup({ require 'kickstart.plugins.orgmode', -- require 'kickstart.plugins.lint', -- require 'kickstart.plugins.autopairs', + require 'kickstart.plugins.ocs52', require 'kickstart.plugins.neo-tree', -- require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps diff --git a/lazy-lock.json b/lazy-lock.json index 8b931de0..45779f0f 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -15,6 +15,7 @@ "neo-tree.nvim": { "branch": "main", "commit": "c4c168e459395275c552179a1baf9c3d885d6a74" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, "nvim-lspconfig": { "branch": "master", "commit": "ac98db2f9f06a56498ec890a96928774eae412c3" }, + "nvim-osc52": { "branch": "main", "commit": "04cfaba1865ae5c53b6f887c3ca7304973824fb2" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, "orgmode": { "branch": "master", "commit": "03777caca5c2df4c5b2067734b7829e9df07a423" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, diff --git a/lua/kickstart/plugins/ocs52.lua b/lua/kickstart/plugins/ocs52.lua new file mode 100644 index 00000000..9d904b38 --- /dev/null +++ b/lua/kickstart/plugins/ocs52.lua @@ -0,0 +1,20 @@ +return { + 'ojroques/nvim-osc52', + event = 'VeryLazy', + opts = { max_length = 0, silent = true }, + config = function(_, opts) + require('osc52').setup(opts) + + -- Send *any* yank to the local clipboard automatically + vim.api.nvim_create_autocmd('TextYankPost', { + callback = function() + if vim.v.event.operator == 'y' then + require('osc52').copy_register(vim.v.event.regname == '' and '"' or vim.v.event.regname) + end + end, + }) + + -- Optional: explicit mappings + vim.keymap.set({ 'n', 'x' }, 'y', require('osc52').copy_visual, { desc = 'Yank→local clipboard' }) + end, +}