feat: api.node.open.preview_no_picker with default mapping <S-Tab> (#2464)
* feat: add preview with no window picker action * feat: preview_no_window_picker -> preview_no_picker --------- Co-authored-by: Alexander Courtis <alex@courtis.org>
This commit is contained in:
parent
0882354517
commit
aaee4cd896
@ -150,6 +150,7 @@ Show the mappings: `g?`
|
||||
`<BS>` Close Directory |nvim-tree-api.node.navigate.parent_close()|
|
||||
`<CR>` Open |nvim-tree-api.node.open.edit()|
|
||||
`<Tab>` Open Preview |nvim-tree-api.node.open.preview()|
|
||||
`<S-Tab>` Open Preview: No Picker |nvim-tree-api.node.open.preview_no_picker()|
|
||||
`>` Next Sibling |nvim-tree-api.node.navigate.sibling.next()|
|
||||
`<` Previous Sibling |nvim-tree-api.node.navigate.sibling.prev()|
|
||||
`.` Run Command |nvim-tree-api.node.run.cmd()|
|
||||
@ -187,8 +188,8 @@ Show the mappings: `g?`
|
||||
`R` Refresh |nvim-tree-api.tree.reload()|
|
||||
`s` Run System |nvim-tree-api.node.run.system()|
|
||||
`S` Search |nvim-tree-api.tree.search_node()|
|
||||
`U` Toggle Filter: Hidden |nvim-tree-api.tree.toggle_custom_filter()|
|
||||
`u` Rename: Full Path |nvim-tree-api.fs.rename_full()|
|
||||
`U` Toggle Filter: Hidden |nvim-tree-api.tree.toggle_custom_filter()|
|
||||
`W` Collapse |nvim-tree-api.tree.collapse_all()|
|
||||
`x` Cut |nvim-tree-api.fs.cut()|
|
||||
`y` Copy Name |nvim-tree-api.fs.copy.filename()|
|
||||
@ -1815,6 +1816,11 @@ node.open.tab_drop()
|
||||
node.open.preview() *nvim-tree-api.node.open.preview()*
|
||||
|nvim-tree-api.node.edit()|, file buffer will have |bufhidden| set to `delete`.
|
||||
|
||||
node.open.preview_no_picker() *nvim-tree-api.node.open.preview_no_picker()*
|
||||
|nvim-tree-api.node.edit()|, file buffer will have |bufhidden| set to `delete`.
|
||||
window picker will never be used as per
|
||||
|nvim-tree.actions.open_file.window_picker.enable| `false`
|
||||
|
||||
node.navigate.git.next() *nvim-tree-api.node.navigate.git.next()*
|
||||
Navigate to the next item showing git status.
|
||||
|
||||
@ -2075,6 +2081,7 @@ You are encouraged to copy these to your own |nvim-tree.on_attach| function.
|
||||
vim.keymap.set('n', '<BS>', api.node.navigate.parent_close, opts('Close Directory'))
|
||||
vim.keymap.set('n', '<CR>', api.node.open.edit, opts('Open'))
|
||||
vim.keymap.set('n', '<Tab>', api.node.open.preview, opts('Open Preview'))
|
||||
vim.keymap.set('n', '<S-Tab>', api.node.open.preview_no_picker, opts('Open Preview: No Picker'))
|
||||
vim.keymap.set('n', '>', api.node.navigate.sibling.next, opts('Next Sibling'))
|
||||
vim.keymap.set('n', '<', api.node.navigate.sibling.prev, opts('Previous Sibling'))
|
||||
vim.keymap.set('n', '.', api.node.run.cmd, opts('Run Command'))
|
||||
@ -2112,8 +2119,8 @@ You are encouraged to copy these to your own |nvim-tree.on_attach| function.
|
||||
vim.keymap.set('n', 'R', api.tree.reload, opts('Refresh'))
|
||||
vim.keymap.set('n', 's', api.node.run.system, opts('Run System'))
|
||||
vim.keymap.set('n', 'S', api.tree.search_node, opts('Search'))
|
||||
vim.keymap.set('n', 'U', api.tree.toggle_custom_filter, opts('Toggle Filter: Hidden'))
|
||||
vim.keymap.set('n', 'u', api.fs.rename_full, opts('Rename: Full Path'))
|
||||
vim.keymap.set('n', 'U', api.tree.toggle_custom_filter, opts('Toggle Filter: Hidden'))
|
||||
vim.keymap.set('n', 'W', api.tree.collapse_all, opts('Collapse'))
|
||||
vim.keymap.set('n', 'x', api.fs.cut, opts('Cut'))
|
||||
vim.keymap.set('n', 'y', api.fs.copy.filename, opts('Copy Name'))
|
||||
|
||||
@ -186,7 +186,7 @@ end
|
||||
|
||||
local function get_target_winid(mode)
|
||||
local target_winid
|
||||
if not M.window_picker.enable or mode == "edit_no_picker" then
|
||||
if not M.window_picker.enable or mode == "edit_no_picker" or mode == "preview_no_picker" then
|
||||
target_winid = lib.target_winid
|
||||
|
||||
-- first available window
|
||||
@ -275,7 +275,7 @@ local function open_in_new_window(filename, mode)
|
||||
cmd = string.format("edit %s", fname)
|
||||
end
|
||||
|
||||
if mode == "preview" and view.View.float.enable then
|
||||
if (mode == "preview" or mode == "preview_no_picker") and view.View.float.enable then
|
||||
-- ignore "WinLeave" autocmd on preview
|
||||
-- because the registered "WinLeave"
|
||||
-- will kill the floating window immediately
|
||||
@ -326,7 +326,7 @@ function M.fn(mode, filename)
|
||||
local buf_loaded = is_already_loaded(filename)
|
||||
|
||||
local found_win = utils.get_win_buf_from_path(filename)
|
||||
if found_win and mode == "preview" then
|
||||
if found_win and (mode == "preview" or mode == "preview_no_picker") then
|
||||
return
|
||||
end
|
||||
|
||||
@ -341,7 +341,7 @@ function M.fn(mode, filename)
|
||||
view.resize()
|
||||
end
|
||||
|
||||
if mode == "preview" then
|
||||
if mode == "preview" or mode == "preview_no_picker" then
|
||||
return on_preview(buf_loaded)
|
||||
end
|
||||
|
||||
|
||||
@ -171,16 +171,6 @@ local function open_or_expand_or_dir_up(mode)
|
||||
end
|
||||
end
|
||||
|
||||
local function open_preview(node)
|
||||
if node.name == ".." then
|
||||
require("nvim-tree.actions.root.change-dir").fn ".."
|
||||
elseif node.nodes then
|
||||
require("nvim-tree.lib").expand_or_collapse(node)
|
||||
else
|
||||
edit("preview", node)
|
||||
end
|
||||
end
|
||||
|
||||
Api.node.open.edit = wrap_node(open_or_expand_or_dir_up "edit")
|
||||
Api.node.open.drop = wrap_node(open_or_expand_or_dir_up "drop")
|
||||
Api.node.open.tab_drop = wrap_node(open_or_expand_or_dir_up "tab_drop")
|
||||
@ -189,7 +179,8 @@ Api.node.open.no_window_picker = wrap_node(open_or_expand_or_dir_up "edit_no_pic
|
||||
Api.node.open.vertical = wrap_node(open_or_expand_or_dir_up "vsplit")
|
||||
Api.node.open.horizontal = wrap_node(open_or_expand_or_dir_up "split")
|
||||
Api.node.open.tab = wrap_node(open_or_expand_or_dir_up "tabnew")
|
||||
Api.node.open.preview = wrap_node(open_preview)
|
||||
Api.node.open.preview = wrap_node(open_or_expand_or_dir_up "preview")
|
||||
Api.node.open.preview_no_picker = wrap_node(open_or_expand_or_dir_up "preview_no_picker")
|
||||
|
||||
Api.node.show_info_popup = wrap_node(require("nvim-tree.actions.node.file-popup").toggle_file_info)
|
||||
Api.node.run.cmd = wrap_node(require("nvim-tree.actions.node.run-command").run_file_command)
|
||||
|
||||
@ -44,6 +44,7 @@ function M.default_on_attach(bufnr)
|
||||
vim.keymap.set('n', '<BS>', api.node.navigate.parent_close, opts('Close Directory'))
|
||||
vim.keymap.set('n', '<CR>', api.node.open.edit, opts('Open'))
|
||||
vim.keymap.set('n', '<Tab>', api.node.open.preview, opts('Open Preview'))
|
||||
vim.keymap.set('n', '<S-Tab>', api.node.open.preview_no_picker, opts('Open Preview: No Picker'))
|
||||
vim.keymap.set('n', '>', api.node.navigate.sibling.next, opts('Next Sibling'))
|
||||
vim.keymap.set('n', '<', api.node.navigate.sibling.prev, opts('Previous Sibling'))
|
||||
vim.keymap.set('n', '.', api.node.run.cmd, opts('Run Command'))
|
||||
@ -81,8 +82,8 @@ function M.default_on_attach(bufnr)
|
||||
vim.keymap.set('n', 'R', api.tree.reload, opts('Refresh'))
|
||||
vim.keymap.set('n', 's', api.node.run.system, opts('Run System'))
|
||||
vim.keymap.set('n', 'S', api.tree.search_node, opts('Search'))
|
||||
vim.keymap.set('n', 'U', api.tree.toggle_custom_filter, opts('Toggle Filter: Hidden'))
|
||||
vim.keymap.set('n', 'u', api.fs.rename_full, opts('Rename: Full Path'))
|
||||
vim.keymap.set('n', 'U', api.tree.toggle_custom_filter, opts('Toggle Filter: Hidden'))
|
||||
vim.keymap.set('n', 'W', api.tree.collapse_all, opts('Collapse'))
|
||||
vim.keymap.set('n', 'x', api.fs.cut, opts('Cut'))
|
||||
vim.keymap.set('n', 'y', api.fs.copy.filename, opts('Copy Name'))
|
||||
|
||||
Loading…
Reference in New Issue
Block a user