Compare commits

..

46 Commits

Author SHA1 Message Date
uanela
ee173eb666 Merge branch 'chore/remove-operation-between-instances-protocol' of https://github.com/nvim-tree/nvim-tree.lua into feat/add-download-from-path 2026-06-30 14:57:10 +02:00
uanela
9cad29b466 fix(clipboard): destroy dummy nodes from register on paste 2026-06-30 14:55:12 +02:00
uanela
91a288ca57 Merge branch 'feat/add-download-from-path' of https://github.com/nvim-tree/nvim-tree.lua into feat/add-download-from-path 2026-06-29 08:30:01 +02:00
uanela
582bc35ce2 Merge branch 'chore/remove-operation-between-instances-protocol' of https://github.com/nvim-tree/nvim-tree.lua into feat/add-download-from-path 2026-06-29 08:29:38 +02:00
uanela
cb58a0721c fix: _meta/api/fs.lua and docs 2026-06-25 10:27:26 +02:00
uanela
4b13775b45 chore: destroy dummy nodes and prevent empty paths nodes parsing 2026-06-25 10:14:57 +02:00
uanela
4fcbafea04 chore: add fs.move api and update docs 2026-06-25 10:14:16 +02:00
uanela
1b6737155a chore: update docs 2026-06-22 09:06:33 +02:00
uanela
30c5036368 Merge branch 'chore/remove-operation-between-instances-protocol' of https://github.com/nvim-tree/nvim-tree.lua into chore/remove-operation-between-instances-protocol 2026-06-22 09:02:31 +02:00
uanela
f10f779baf refactor: remove visual mode from copy.basename|filename|path 2026-06-22 09:00:31 +02:00
uanela
062a2d2800 chore: revert copy_node_attribute 2026-06-22 08:59:51 +02:00
uanela
4bd13ec53b chore: copy clipboard.data to register on copy/cut 2026-06-22 08:58:50 +02:00
uanela
fa2b18661c fix: remove unused apis 2026-06-22 08:57:05 +02:00
Uanela Como
5eba88e119 Merge branch 'master' into chore/remove-operation-between-instances-protocol 2026-06-22 07:55:41 +02:00
Uanela Como
0522defa11 Correct is_nodes_array return logic
Fix is_nodes_array function to correctly identify node arrays.
2026-06-18 11:39:07 +02:00
Uanela Como
9c782a19ae Update lua/nvim-tree/actions/fs/clipboard.lua
Co-authored-by: gegoune <69750637+gegoune@users.noreply.github.com>
2026-06-18 11:30:20 +02:00
uanela
f8fa340acc chore: add ... when showing Downloading message 2026-06-18 11:09:28 +02:00
uanela
8d1adf0e1d Merge branch 'chore/remove-operation-between-instances-protocol' of https://github.com/nvim-tree/nvim-tree.lua into feat/add-download-from-path 2026-06-18 11:07:53 +02:00
uanela
b1662a5d06 chore: regenerate docs 2026-06-18 11:01:35 +02:00
uanela
859f733ea3 fix: correctly format keymaps 2026-06-18 10:57:55 +02:00
uanela
887e6c129e refactor(docs): update api docs and rename paste_while_cutting to move 2026-06-18 10:52:10 +02:00
uanela
6f1b818356 feat(clipboard): always copy/cut to register and make p pick local data or register data 2026-06-18 10:31:05 +02:00
uanela
356c083687 refactor(keymap): remove gx, use gp to move 2026-06-18 10:30:09 +02:00
uanela
f79cdcb708 refactor(clipboard): simplify copying node attribute and allow all to work in visual mode 2026-06-18 10:02:52 +02:00
uanela
ba8e7a1c56 chore: use newline as separator instead of comma 2026-06-18 09:12:14 +02:00
uanela
a7e647bf83 chore(clipboard): remove vim.cmd workaround in favor of vim.fn.setreg 2026-06-18 09:05:28 +02:00
uanela
4f787e0db3 chore: move node:get_basename to cliboard_ 2026-06-18 08:23:50 +02:00
Uanela Como
43f01b5281 Merge branch 'master' into chore/remove-operation-between-instances-protocol 2026-06-15 11:49:49 +02:00
uanela
b5750c8c86 feat: add download feat when gp 2026-06-15 02:25:12 +02:00
uanela
27f5254cab chore: update docs 2026-06-15 00:50:13 +02:00
uanela
073fac1056 chore: remove use_protocol and use use_register + cut options 2026-06-15 00:43:23 +02:00
uanela
0fd8cfadf5 fix: correctly pass the function to new keymaps 2026-06-15 00:41:48 +02:00
uanela
a9253ded6f chore: update api/fs.lua and api impl.lua to match new keymaps 2026-06-15 00:25:47 +02:00
uanela
77325e556c chore: remove bgy, bgp and add gp + gx 2026-06-15 00:10:03 +02:00
uanela
2c56cc6a1a fix(clipboad): correctly show the number of copied nodes on bgy 2026-06-11 17:20:09 +02:00
uanela
885b4d9ec3 wip 2026-06-11 16:59:17 +02:00
uanela
877e726a77 refactor: change clip protocol keymaps to bgy and bgp 2026-06-11 16:57:54 +02:00
uanela
b9e9b7a67c fix: filter descendant nodes on copy_absolute_path_with_protocol 2026-06-11 16:36:20 +02:00
uanela
38ada46881 feat: add configurable clipboard protocol 2026-06-11 16:34:57 +02:00
uanela
cdc7b28c76 feat: add paste with protocol to clipboard 2026-06-11 15:42:31 +02:00
uanela
f2269a1be7 feat: add paste with protocol to keymap+api 2026-06-11 15:41:20 +02:00
uanela
b98e0c4ba4 feat(api): allow visual operation in absolute_path* 2026-06-11 10:15:11 +02:00
uanela
89edce64c1 feat(clipboard): add opts for adding protocol in reg operations 2026-06-11 10:14:19 +02:00
uanela
058e5081cd feat: add gby keymap, and allow visual mode for copy.basename|absolute_path 2026-06-11 10:11:10 +02:00
uanela
c842a086a3 feat: add helper get_basename into node 2026-06-11 10:08:41 +02:00
uanela
ddbc033b90 feat: add copy absolute path with protocol into public api 2026-06-11 10:07:58 +02:00
3 changed files with 16 additions and 23 deletions

View File

@@ -1,3 +1,3 @@
{
".": "1.18.0"
".": "1.17.0"
}

View File

@@ -1,20 +1,5 @@
# Changelog
## [1.18.0](https://github.com/nvim-tree/nvim-tree.lua/compare/nvim-tree-v1.17.0...nvim-tree-v1.18.0) (2026-07-01)
### Features
* **#1549:** p will paste files from another nvim-tree instance, gp will cut/paste ([#3336](https://github.com/nvim-tree/nvim-tree.lua/issues/3336)) ([c760c92](https://github.com/nvim-tree/nvim-tree.lua/commit/c760c92667fe5febf99e2a5bb8a543b0208c743b))
### Bug Fixes
* **#3312:** correct cursor when full name shown, requires nvim 0.12.2+ ([#3316](https://github.com/nvim-tree/nvim-tree.lua/issues/3316)) ([d277467](https://github.com/nvim-tree/nvim-tree.lua/commit/d277467fc0d1d0e2bca88165a1de6b526f9f6fe8))
* **#3324:** deprecated BufModifiedSet event replaced by OptionSet event for Nvim 0.13+ ([#3325](https://github.com/nvim-tree/nvim-tree.lua/issues/3325)) ([f9bfc00](https://github.com/nvim-tree/nvim-tree.lua/commit/f9bfc0059eca24546b69a7006110463da4808f8f))
* **#3327:** pass nvim_tree.api.node.open.Opts to all applicable nvim_tree.api.node.open function ([#3329](https://github.com/nvim-tree/nvim-tree.lua/issues/3329)) ([07f541f](https://github.com/nvim-tree/nvim-tree.lua/commit/07f541fcaa4a5ae019598240362449ab7e9812b3))
* **full-name:** lower `zindex` to get consistent cursor shape ([d277467](https://github.com/nvim-tree/nvim-tree.lua/commit/d277467fc0d1d0e2bca88165a1de6b526f9f6fe8))
## [1.17.0](https://github.com/nvim-tree/nvim-tree.lua/compare/nvim-tree-v1.16.0...nvim-tree-v1.17.0) (2026-04-07)

View File

@@ -181,10 +181,7 @@ end
---@param node_or_nodes Node|Node[]
---@return boolean
function Clipboard:is_nodes_array(node_or_nodes)
if type(node_or_nodes) == "table" and node_or_nodes.is and node_or_nodes:is(Node) then
return false
end
return true
return type(node_or_nodes) == "table" and node_or_nodes.is and node_or_nodes:is(Node)
end
---Copy one or more nodes
@@ -377,7 +374,7 @@ function Clipboard:do_paste(node, action, action_fn)
if not stats and err_name ~= "ENOENT" then
log.line("copy_paste", "do_paste fs_stat '%s' failed '%s'", destination, err)
notify.error("Could not " .. action .. " " .. notify.render_path(destination) .. " - " .. (err or "???"))
if is_local == false then
if ~is_local then
self:destroy_nodes(clip)
end
return
@@ -402,7 +399,18 @@ function Clipboard:do_paste(node, action, action_fn)
-- Paste non-conflicting items immediately
for _, item in ipairs(no_conflict) do
do_paste_one(item.node.absolute_path, item.dest, action, action_fn)
local absolute_path = item.node.absolute_path
if absolute_path:sub(1, #"http") == "http" then
notify.info("Downloading " .. absolute_path .. " to " .. item.dest .. "...")
local result = vim.fn.system({ "curl", "-sL", absolute_path, "-o", item.dest })
if vim.v.shell_error == 0 then
notify.info("Downloaded " .. absolute_path .. " successfully at " .. item.dest)
else
notify.error("Error downloading " .. absolute_path .. ": " .. result)
end
else
do_paste_one(absolute_path, item.dest, action, action_fn)
end
end
-- Resolve conflicts in batch
@@ -412,7 +420,7 @@ function Clipboard:do_paste(node, action, action_fn)
self:finish_paste(action)
end
if is_local == false then
if ~is_local then
self:destroy_nodes(clip)
end
end