move lib.get_cursor_position to Explorer

This commit is contained in:
Alexander Courtis
2024-10-21 10:56:45 +11:00
parent 8331a24c77
commit 0992969dc5
3 changed files with 21 additions and 19 deletions

View File

@@ -34,11 +34,16 @@ end
---@param what string type of status
---@param skip_gitignored boolean default false
local function move(where, what, skip_gitignored)
local explorer = core.get_explorer()
if not explorer then
return
end
local first_node_line = core.get_nodes_starting_line()
local nodes_by_line = utils.get_nodes_by_line(core.get_explorer().nodes, first_node_line)
local nodes_by_line = utils.get_nodes_by_line(explorer.nodes, first_node_line)
local iter_start, iter_end, iter_step, cur, first, nex
local cursor = lib.get_cursor_position()
local cursor = explorer:get_cursor_position()
if cursor and cursor[1] < first_node_line then
cur = cursor[1]
end

View File

@@ -374,6 +374,19 @@ function Explorer:reload_git()
event_running = false
end
---Cursor position as per vim.api.nvim_win_get_cursor
---nil on no explorer or invalid view win
---@return integer[]|nil
function Explorer:get_cursor_position()
local winnr = view.get_winnr()
if not winnr or not vim.api.nvim_win_is_valid(winnr) then
return
end
return vim.api.nvim_win_get_cursor(winnr)
end
function Explorer:setup(opts)
config = opts
require("nvim-tree.explorer.watch").setup(opts)

View File

@@ -13,22 +13,6 @@ local M = {
target_winid = nil,
}
---Cursor position as per vim.api.nvim_win_get_cursor
---nil on no explorer or invalid view win
---@return integer[]|nil
function M.get_cursor_position()
if not core.get_explorer() then
return
end
local winnr = view.get_winnr()
if not winnr or not vim.api.nvim_win_is_valid(winnr) then
return
end
return vim.api.nvim_win_get_cursor(winnr)
end
---@return Node|nil
function M.get_node_at_cursor()
local explorer = core.get_explorer()
@@ -36,7 +20,7 @@ function M.get_node_at_cursor()
return
end
local cursor = M.get_cursor_position()
local cursor = explorer:get_cursor_position()
if not cursor then
return
end