46 lines
2 KiB
Lua
46 lines
2 KiB
Lua
return {
|
|
{
|
|
"coffebar/transfer.nvim",
|
|
cmd = { "TransferInit", "DiffRemote", "TransferUpload", "TransferDownload", "TransferDirDiff", "TransferRepeat" },
|
|
opts = {},
|
|
keys = {
|
|
{ "<leader>xx", function() vim.cmd("TransferRepeat") end, desc = "Repeat last transfer" },
|
|
{ "<leader>xc", function() vim.cmd("TransferInit") end, desc = "Config transfer.nvim" },
|
|
{ "<leader>xj", function() vim.cmd("TransferDownload") end, desc = "Download current file with transfer.nvim" },
|
|
{ "<leader>xJ", function() vim.cmd("TransferDownload " .. vim.uv.cwd()) end, desc = "Download root dir with transfer.nvim" },
|
|
{ "<leader>xk", function() vim.cmd("TransferUpload") end, desc = "Upload current file with transfer.nvim" },
|
|
{ "<leader>xK", function() vim.cmd("TransferUpload " .. vim.uv.cwd()) end, desc = "Upload root dir with transfer.nvim" },
|
|
{ "<leader>xd", function() vim.cmd("DiffRemote") end, desc = "Diff current file with transfer.nvim" },
|
|
{ "<leader>xD", function() vim.cmd("TransferDirDiff " .. vim.uv.cwd()) end, desc = "Diff root dir with transfer.nvim" },
|
|
},
|
|
config = function(_, opts)
|
|
require("transfer").setup(opts)
|
|
|
|
require("yazi").config.forwarded_dds_events = {
|
|
"TransferUpload",
|
|
"TransferDownload",
|
|
"DiffRemote",
|
|
"TransferDirDiff",
|
|
}
|
|
|
|
vim.api.nvim_create_autocmd("User", {
|
|
pattern = "YaziDDSCustom",
|
|
callback = function(event)
|
|
-- vim.print(event.data);
|
|
local data = vim.json.decode(event.data.raw_data)
|
|
|
|
if event.data.type == "DiffRemote" or event.data.type == "TransferDirDiff" then
|
|
local response = vim.system({ "ya", "emit-to", "0", "close" }, { timeout = 1000 }):wait()
|
|
|
|
if response.stderr ~= "" then
|
|
vim.notify(response.stderr, vim.log.levels.ERROR)
|
|
return
|
|
end
|
|
end
|
|
|
|
vim.iter(data):each(function(path) vim.cmd(string.format("%s %s", event.data.type, path)) end)
|
|
end,
|
|
})
|
|
end
|
|
},
|
|
}
|