From 72c914e1ef2e2d363af7da09b2e2d1a794cbdfd1 Mon Sep 17 00:00:00 2001 From: aleidk Date: Thu, 16 Jan 2025 08:30:32 -0300 Subject: [PATCH] add remote.nvim plugin --- config/nvim/lazy-lock.json | 1 + .../lua/aleidk/plugins-ide/remote-sshfs.lua | 64 +++++++++++++++++-- 2 files changed, 58 insertions(+), 7 deletions(-) diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json index aac2ace..8a2cc47 100644 --- a/config/nvim/lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -39,6 +39,7 @@ "nvim-web-devicons": { "branch": "master", "commit": "edbe0a65cfacbbfff6a4a1e98ddd60c28c560509" }, "overseer.nvim": { "branch": "master", "commit": "10ee48ff96c8d1049efb278ea4c8cf9f3b0e4326" }, "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, + "remote-nvim.nvim": { "branch": "main", "commit": "66fc20fd259401c7bb6ac5189ecb6283c2eb65d2" }, "remote-sshfs.nvim": { "branch": "main", "commit": "03f6c40c4032eeb1ab91368e06db9c3f3a97a75d" }, "render-markdown": { "branch": "main", "commit": "6096cf3608b576a38fd1396227dbc0473091714d" }, "smart-splits.nvim": { "branch": "master", "commit": "d8b0e772a0244169534b1fd57c1660c9bf323d26" }, diff --git a/config/nvim/lua/aleidk/plugins-ide/remote-sshfs.lua b/config/nvim/lua/aleidk/plugins-ide/remote-sshfs.lua index c5727cc..30f9134 100644 --- a/config/nvim/lua/aleidk/plugins-ide/remote-sshfs.lua +++ b/config/nvim/lua/aleidk/plugins-ide/remote-sshfs.lua @@ -1,9 +1,59 @@ return { - "nosduco/remote-sshfs.nvim", - dependencies = { "nvim-telescope/telescope.nvim" }, - cmd = { "RemoteSSHFSConnect" }, - config = function() - require("remote-sshfs").setup({}) - require("telescope").load_extension("remote-sshfs") - end, + { + "nosduco/remote-sshfs.nvim", + dependencies = { "nvim-telescope/telescope.nvim" }, + cmd = { "RemoteSSHFSConnect" }, + config = function() + require("remote-sshfs").setup({}) + require("telescope").load_extension("remote-sshfs") + end, + }, + { + "amitds1997/remote-nvim.nvim", + version = "*", -- Pin to GitHub releases + dependencies = { + "nvim-lua/plenary.nvim", -- For standard functions + "MunifTanjim/nui.nvim", -- To build the plugin UI + "nvim-telescope/telescope.nvim", -- For picking b/w different remote methods + }, + opts = { + remote = { + copy_dirs = { + data = { + base = vim.fn.stdpath("data"), -- Path from where data has to be copied. You can choose to copy entire path or subdirectories inside using `dirs` + dirs = { "lazy" }, -- Directories inside `base` to copy over. If this is set to string "*"; it means entire `base` should be copied over + compression = { + enabled = true, -- Should data be compressed before uploading + additional_opts = { "--exclude-vcs" }, -- Any arguments that can be passed to `tar` for compression can be specified here to improve your compression + }, + }, + -- cache = { + -- base = vim.fn.stdpath("cache"), + -- dirs = {}, + -- compression = { + -- enabled = true, + -- }, + -- }, + state = { + base = vim.fn.stdpath("state"), + dirs = {}, + compression = { + enabled = true, + }, + }, + }, + }, + client_callback = function(port, workspace_config) + local cmd = ("tmux new-window 'nvim --server localhost:%s --remote-ui' && tmux select-window -t:$"):format(port) + vim.fn.jobstart(cmd, { + detach = true, + on_exit = function(job_id, exit_code, event_type) + -- This function will be called when the job exits + print("Client", job_id, "exited with code", exit_code, "Event type:", event_type) + end, + }) + end, + }, + config = true, + } }