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: branches:
- master - master
name: release-please name: release-please
permissions:
contents: write
pull-requests: write
jobs: jobs:
release-please: release-please:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: google-github-actions/release-please-action@v4 - uses: google-github-actions/release-please-action@v4
id: release id: release
with:
release-type: simple
package-name: nvim-tree
command: github-release
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: tag major and minor versions - name: tag major and minor versions
if: ${{ steps.release.outputs.release_created }} 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 if not node or node.name == ".." then
return return
end end
node = utils.get_parent_of_group(node)
local line = vim.api.nvim_get_current_line() local line = vim.api.nvim_get_current_line()
local cursor = vim.api.nvim_win_get_cursor(0) 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 = {} local M = {}
---@param where string ---@class NavigationItemOpts
---@param what string ---@field where string
---@field what string
---@param opts NavigationItemOpts
---@return fun() ---@return fun()
function M.fn(where, what) function M.fn(opts)
return function() return function()
local node_cur = lib.get_node_at_cursor() local node_cur = lib.get_node_at_cursor()
local first_node_line = core.get_nodes_starting_line() 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(core.get_explorer().nodes, first_node_line)
local iter_start, iter_end, iter_step, cur, first, nex 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 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 iter_start, iter_end, iter_step = #nodes_by_line, first_node_line, -1
end end
@@ -26,11 +29,11 @@ function M.fn(where, what)
local node = nodes_by_line[line] local node = nodes_by_line[line]
local valid = false local valid = false
if what == "git" then if opts.what == "git" then
valid = explorer_node.get_git_status(node) ~= nil valid = explorer_node.get_git_status(node) ~= nil
elseif what == "diag" then elseif opts.what == "diag" then
valid = node.diag_status ~= nil valid = node.diag_status ~= nil
elseif what == "opened" then elseif opts.what == "opened" then
valid = vim.fn.bufloaded(node.absolute_path) ~= 0 valid = vim.fn.bufloaded(node.absolute_path) ~= 0
end 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.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 = 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.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.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("prev", "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("next", "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("prev", "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("next", "opened")) 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("prev", "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) 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 end
---Get the highest parent of grouped nodes ---Get the highest parent of grouped nodes
---@param node_ Node ---@param node Node
---@return table ---@return Node node or parent
function M.get_parent_of_group(node_) function M.get_parent_of_group(node)
local node = node_ while node and node.parent and node.parent.group_next do
while node.parent and node.parent.group_next do
node = node.parent node = node.parent
end end
return node 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"
}
}
}