feat: add api.fs.copy.basename, default mapping ge (#2698)
* feat: add copy basename * fix: change keymap for copy basename * fix: use double quotes * fix: add missing help --------- Co-authored-by: Alexander Courtis <alex@courtis.org>
This commit is contained in:
@@ -185,6 +185,7 @@ Show the mappings: `g?`
|
|||||||
`f` Live Filter: Start |nvim-tree-api.live_filter.start()|
|
`f` Live Filter: Start |nvim-tree-api.live_filter.start()|
|
||||||
`g?` Help |nvim-tree-api.tree.toggle_help()|
|
`g?` Help |nvim-tree-api.tree.toggle_help()|
|
||||||
`gy` Copy Absolute Path |nvim-tree-api.fs.copy.absolute_path()|
|
`gy` Copy Absolute Path |nvim-tree-api.fs.copy.absolute_path()|
|
||||||
|
`ge` Copy Basename |nvim-tree-api.fs.copy.basename()|
|
||||||
`H` Toggle Filter: Dotfiles |nvim-tree-api.tree.toggle_hidden_filter()|
|
`H` Toggle Filter: Dotfiles |nvim-tree-api.tree.toggle_hidden_filter()|
|
||||||
`I` Toggle Filter: Git Ignore |nvim-tree-api.tree.toggle_gitignore_filter()|
|
`I` Toggle Filter: Git Ignore |nvim-tree-api.tree.toggle_gitignore_filter()|
|
||||||
`J` Last Sibling |nvim-tree-api.node.navigate.sibling.last()|
|
`J` Last Sibling |nvim-tree-api.node.navigate.sibling.last()|
|
||||||
@@ -2240,6 +2241,7 @@ You are encouraged to copy these to your own |nvim-tree.on_attach| function.
|
|||||||
vim.keymap.set('n', 'f', api.live_filter.start, opts('Live Filter: Start'))
|
vim.keymap.set('n', 'f', api.live_filter.start, opts('Live Filter: Start'))
|
||||||
vim.keymap.set('n', 'g?', api.tree.toggle_help, opts('Help'))
|
vim.keymap.set('n', 'g?', api.tree.toggle_help, opts('Help'))
|
||||||
vim.keymap.set('n', 'gy', api.fs.copy.absolute_path, opts('Copy Absolute Path'))
|
vim.keymap.set('n', 'gy', api.fs.copy.absolute_path, opts('Copy Absolute Path'))
|
||||||
|
vim.keymap.set('n', 'ge', api.fs.copy.basename, opts('Copy Basename'))
|
||||||
vim.keymap.set('n', 'H', api.tree.toggle_hidden_filter, opts('Toggle Filter: Dotfiles'))
|
vim.keymap.set('n', 'H', api.tree.toggle_hidden_filter, opts('Toggle Filter: Dotfiles'))
|
||||||
vim.keymap.set('n', 'I', api.tree.toggle_gitignore_filter, opts('Toggle Filter: Git Ignore'))
|
vim.keymap.set('n', 'I', api.tree.toggle_gitignore_filter, opts('Toggle Filter: Git Ignore'))
|
||||||
vim.keymap.set('n', 'J', api.node.navigate.sibling.last, opts('Last Sibling'))
|
vim.keymap.set('n', 'J', api.node.navigate.sibling.last, opts('Last Sibling'))
|
||||||
|
|||||||
@@ -295,6 +295,12 @@ function M.copy_filename(node)
|
|||||||
copy_to_clipboard(node.name)
|
copy_to_clipboard(node.name)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---@param node Node
|
||||||
|
function M.copy_basename(node)
|
||||||
|
local basename = vim.fn.fnamemodify(node.name, ":r")
|
||||||
|
copy_to_clipboard(basename)
|
||||||
|
end
|
||||||
|
|
||||||
---@param node Node
|
---@param node Node
|
||||||
function M.copy_path(node)
|
function M.copy_path(node)
|
||||||
local absolute_path = node.absolute_path
|
local absolute_path = node.absolute_path
|
||||||
|
|||||||
@@ -163,6 +163,7 @@ Api.fs.print_clipboard = wrap(actions.fs.copy_paste.print_clipboard)
|
|||||||
Api.fs.copy.node = wrap_node(actions.fs.copy_paste.copy)
|
Api.fs.copy.node = wrap_node(actions.fs.copy_paste.copy)
|
||||||
Api.fs.copy.absolute_path = wrap_node(actions.fs.copy_paste.copy_absolute_path)
|
Api.fs.copy.absolute_path = wrap_node(actions.fs.copy_paste.copy_absolute_path)
|
||||||
Api.fs.copy.filename = wrap_node(actions.fs.copy_paste.copy_filename)
|
Api.fs.copy.filename = wrap_node(actions.fs.copy_paste.copy_filename)
|
||||||
|
Api.fs.copy.basename = wrap_node(actions.fs.copy_paste.copy_basename)
|
||||||
Api.fs.copy.relative_path = wrap_node(actions.fs.copy_paste.copy_path)
|
Api.fs.copy.relative_path = wrap_node(actions.fs.copy_paste.copy_path)
|
||||||
|
|
||||||
---@param mode string
|
---@param mode string
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ function M.default_on_attach(bufnr)
|
|||||||
vim.keymap.set('n', 'f', api.live_filter.start, opts('Live Filter: Start'))
|
vim.keymap.set('n', 'f', api.live_filter.start, opts('Live Filter: Start'))
|
||||||
vim.keymap.set('n', 'g?', api.tree.toggle_help, opts('Help'))
|
vim.keymap.set('n', 'g?', api.tree.toggle_help, opts('Help'))
|
||||||
vim.keymap.set('n', 'gy', api.fs.copy.absolute_path, opts('Copy Absolute Path'))
|
vim.keymap.set('n', 'gy', api.fs.copy.absolute_path, opts('Copy Absolute Path'))
|
||||||
|
vim.keymap.set('n', 'ge', api.fs.copy.basename, opts('Copy Basename'))
|
||||||
vim.keymap.set('n', 'H', api.tree.toggle_hidden_filter, opts('Toggle Filter: Dotfiles'))
|
vim.keymap.set('n', 'H', api.tree.toggle_hidden_filter, opts('Toggle Filter: Dotfiles'))
|
||||||
vim.keymap.set('n', 'I', api.tree.toggle_gitignore_filter, opts('Toggle Filter: Git Ignore'))
|
vim.keymap.set('n', 'I', api.tree.toggle_gitignore_filter, opts('Toggle Filter: Git Ignore'))
|
||||||
vim.keymap.set('n', 'J', api.node.navigate.sibling.last, opts('Last Sibling'))
|
vim.keymap.set('n', 'J', api.node.navigate.sibling.last, opts('Last Sibling'))
|
||||||
|
|||||||
Reference in New Issue
Block a user