akinsho / akinsho/bufferline.nvim

[Feature Request]: Expose next_item API

未关闭
#1,032 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
enhancement
主要语言
Lua
星标
4.4k
派生
240
PR 合并指标
30 天内没有已合并 PR

描述

### What?

Expose next_item api, so as user could get a next buffer a potential call of cycle in a given direction or BufferLineCyclePrev cmd move to.

### Why?

In order to easier integrate plugins such as bufdel.
At the moment a user is required to call a private API (I guess so) and duplicate a part of cycle command, e.g.

```lua
{
"ojroques/nvim-bufdel",
opts = {
next = function()
-- TODO: if it's first then next, otherwise prev
local state = require("bufferline.lazy").require("bufferline.state")
local index = require("bufferline.commands").get_current_element_index(state)
if not index then
return
end

local next_index = index - 1

if next_index <= 0 then
next_index = #state.components
end

local item = state.components[next_index]
if not item then
return vim.notify("This " .. item.type .. " does not exist", vim.log.levels.ERROR)
end
return item.id
end,
quit = true,
},
},
```

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。