Merge branch 'master' into ci-lua-language-server

This commit is contained in:
Alexander Courtis
2023-12-11 10:37:13 +11:00
committed by GitHub
7 changed files with 39 additions and 24 deletions

View File

@@ -3,16 +3,15 @@ on:
branches:
- master
name: release-please
permissions:
contents: write
pull-requests: write
jobs:
release-please:
runs-on: ubuntu-latest
steps:
- uses: google-github-actions/release-please-action@v4
id: release
with:
release-type: simple
package-name: nvim-tree
command: github-release
- uses: actions/checkout@v4
- name: tag major and minor versions
if: ${{ steps.release.outputs.release_created }}

View File

@@ -0,0 +1,3 @@
{
".": "0.0.0"
}

View File

@@ -124,6 +124,7 @@ function M.place_cursor_on_node()
if not node or node.name == ".." then
return
end
node = utils.get_parent_of_group(node)
local line = vim.api.nvim_get_current_line()
local cursor = vim.api.nvim_win_get_cursor(0)

View File

@@ -6,19 +6,22 @@ local explorer_node = require "nvim-tree.explorer.node"
local M = {}
---@param where string
---@param what string
---@class NavigationItemOpts
---@field where string
---@field what string
---@param opts NavigationItemOpts
---@return fun()
function M.fn(where, what)
function M.fn(opts)
return function()
local node_cur = lib.get_node_at_cursor()
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 iter_start, iter_end, iter_step, cur, first, nex
if where == "next" then
if opts.where == "next" then
iter_start, iter_end, iter_step = first_node_line, #nodes_by_line, 1
elseif where == "prev" then
elseif opts.where == "prev" then
iter_start, iter_end, iter_step = #nodes_by_line, first_node_line, -1
end
@@ -26,11 +29,11 @@ function M.fn(where, what)
local node = nodes_by_line[line]
local valid = false
if what == "git" then
if opts.what == "git" then
valid = explorer_node.get_git_status(node) ~= nil
elseif what == "diag" then
elseif opts.what == "diag" then
valid = node.diag_status ~= nil
elseif what == "opened" then
elseif opts.what == "opened" then
valid = vim.fn.bufloaded(node.absolute_path) ~= 0
end

View File

@@ -212,12 +212,12 @@ Api.node.navigate.sibling.first = wrap_node(require("nvim-tree.actions.moves.sib
Api.node.navigate.sibling.last = wrap_node(require("nvim-tree.actions.moves.sibling").fn "last")
Api.node.navigate.parent = wrap_node(require("nvim-tree.actions.moves.parent").fn(false))
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("next", "git"))
Api.node.navigate.git.prev = wrap_node(require("nvim-tree.actions.moves.item").fn("prev", "git"))
Api.node.navigate.diagnostics.next = wrap_node(require("nvim-tree.actions.moves.item").fn("next", "diag"))
Api.node.navigate.diagnostics.prev = wrap_node(require("nvim-tree.actions.moves.item").fn("prev", "diag"))
Api.node.navigate.opened.next = wrap_node(require("nvim-tree.actions.moves.item").fn("next", "opened"))
Api.node.navigate.opened.prev = wrap_node(require("nvim-tree.actions.moves.item").fn("prev", "opened"))
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.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.opened.next = wrap_node(require("nvim-tree.actions.moves.item").fn { where = "next", what = "opened" })
Api.node.navigate.opened.prev = wrap_node(require("nvim-tree.actions.moves.item").fn { where = "prev", what = "opened" })
Api.git.reload = wrap(require("nvim-tree.actions.reloaders.reloaders").reload_git)

View File

@@ -150,11 +150,10 @@ function M.get_node_from_path(path)
end
---Get the highest parent of grouped nodes
---@param node_ Node
---@return table
function M.get_parent_of_group(node_)
local node = node_
while node.parent and node.parent.group_next do
---@param node Node
---@return Node node or parent
function M.get_parent_of_group(node)
while node and node.parent and node.parent.group_next do
node = node.parent
end
return node

View File

@@ -0,0 +1,10 @@
{
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
"include-v-in-tag": true,
"packages": {
".": {
"package-name": "nvim-tree",
"release-type": "simple"
}
}
}