feat: add option to skip gitignored files on git navigation (#2583)
* feat: add option to skip gitignored files on git navigation * Add API bindings * stylua: ignore
This commit is contained in:
@@ -1874,9 +1874,17 @@ node.open.preview_no_picker() *nvim-tree-api.node.open.preview_no_picker()*
|
|||||||
node.navigate.git.next() *nvim-tree-api.node.navigate.git.next()*
|
node.navigate.git.next() *nvim-tree-api.node.navigate.git.next()*
|
||||||
Navigate to the next item showing git status.
|
Navigate to the next item showing git status.
|
||||||
|
|
||||||
|
*nvim-tree-api.node.navigate.git.next_skip_gitignored()*
|
||||||
|
node.navigate.git.next_skip_gitignored()
|
||||||
|
Same as |node.navigate.git.next()|, but skips gitignored files.
|
||||||
|
|
||||||
node.navigate.git.prev() *nvim-tree-api.node.navigate.git.prev()*
|
node.navigate.git.prev() *nvim-tree-api.node.navigate.git.prev()*
|
||||||
Navigate to the previous item showing git status.
|
Navigate to the previous item showing git status.
|
||||||
|
|
||||||
|
*nvim-tree-api.node.navigate.git.prev_skip_gitignored()*
|
||||||
|
node.navigate.git.prev_skip_gitignored()
|
||||||
|
Same as |node.navigate.git.prev()|, but skips gitignored files.
|
||||||
|
|
||||||
*nvim-tree-api.node.navigate.diagnostics.next()*
|
*nvim-tree-api.node.navigate.diagnostics.next()*
|
||||||
node.navigate.diagnostics.next()
|
node.navigate.diagnostics.next()
|
||||||
Navigate to the next item showing diagnostic status.
|
Navigate to the next item showing diagnostic status.
|
||||||
|
|||||||
@@ -30,7 +30,8 @@ function M.fn(opts)
|
|||||||
local valid = false
|
local valid = false
|
||||||
|
|
||||||
if opts.what == "git" then
|
if opts.what == "git" then
|
||||||
valid = explorer_node.get_git_status(node) ~= nil
|
local git_status = explorer_node.get_git_status(node)
|
||||||
|
valid = git_status ~= nil and (not opts.skip_gitignored or git_status[1] ~= "!!")
|
||||||
elseif opts.what == "diag" then
|
elseif opts.what == "diag" then
|
||||||
valid = node.diag_status ~= nil
|
valid = node.diag_status ~= nil
|
||||||
elseif opts.what == "opened" then
|
elseif opts.what == "opened" then
|
||||||
|
|||||||
@@ -216,6 +216,10 @@ Api.node.navigate.parent = wrap_node(require("nvim-tree.actions.moves.parent").f
|
|||||||
Api.node.navigate.parent_close = wrap_node(require("nvim-tree.actions.moves.parent").fn(true))
|
Api.node.navigate.parent_close = wrap_node(require("nvim-tree.actions.moves.parent").fn(true))
|
||||||
Api.node.navigate.git.next = wrap_node(require("nvim-tree.actions.moves.item").fn { where = "next", what = "git" })
|
Api.node.navigate.git.next = wrap_node(require("nvim-tree.actions.moves.item").fn { where = "next", what = "git" })
|
||||||
Api.node.navigate.git.prev = wrap_node(require("nvim-tree.actions.moves.item").fn { where = "prev", what = "git" })
|
Api.node.navigate.git.prev = wrap_node(require("nvim-tree.actions.moves.item").fn { where = "prev", what = "git" })
|
||||||
|
-- stylua: ignore
|
||||||
|
Api.node.navigate.git.next_skip_gitignored = wrap_node(require("nvim-tree.actions.moves.item").fn { where = "next", what = "git", skip_gitignored = true })
|
||||||
|
-- stylua: ignore
|
||||||
|
Api.node.navigate.git.prev_skip_gitignored = wrap_node(require("nvim-tree.actions.moves.item").fn { where = "prev", what = "git", skip_gitignored = true })
|
||||||
Api.node.navigate.diagnostics.next = wrap_node(require("nvim-tree.actions.moves.item").fn { where = "next", what = "diag" })
|
Api.node.navigate.diagnostics.next = wrap_node(require("nvim-tree.actions.moves.item").fn { where = "next", what = "diag" })
|
||||||
Api.node.navigate.diagnostics.prev = wrap_node(require("nvim-tree.actions.moves.item").fn { where = "prev", what = "diag" })
|
Api.node.navigate.diagnostics.prev = wrap_node(require("nvim-tree.actions.moves.item").fn { where = "prev", what = "diag" })
|
||||||
Api.node.navigate.opened.next = wrap_node(require("nvim-tree.actions.moves.item").fn { where = "next", what = "opened" })
|
Api.node.navigate.opened.next = wrap_node(require("nvim-tree.actions.moves.item").fn { where = "next", what = "opened" })
|
||||||
|
|||||||
Reference in New Issue
Block a user