akinsho / akinsho/bufferline.nvim

[Bug]: Offset only uses one window

未關閉
#789 7 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
bug
主要語言
Lua
星號
4.4k
分支
240
PR 合併指標
30 天內沒有已合併 PR

描述

### Is there an existing issue for this?

- [X] I have searched the existing issues

### What happened?

When multiple offsets are defined, then opening a new window will only apply the offset configuration to one window, usually the leftmost one or the last one opened. It behaves oddly.

For example when having an offset for filetype "help" and an offset for filetype "NvimTree", then opening NvimTree will produce the correct behavior. If you then however open the help with `:vertical help`, the help window gets the offset configuration applied but the nvim-tree gets it's text deleted.

To reproduce:

1. Open nvim and only have one buffer open that doesn't have an offset setting for it's filetype
2. Open nvim-tree
![image](https://github.com/akinsho/bufferline.nvim/assets/16250196/3d5aa79b-5ecf-4108-b8ae-e8e86d10d006)

3. Open vertical help
![image](https://github.com/akinsho/bufferline.nvim/assets/16250196/fd5c8661-6d85-4aac-a542-8f001b3c013e)

4. Notice help doesn't get the title and instead the bufferline starts over the help window
5. Close nvim-tree
![image](https://github.com/akinsho/bufferline.nvim/assets/16250196/41801733-1b1c-4083-a1a6-20b48ecfd089)

6. Notice that help now gets the offset applied where before it did not

Windows that open on the right, such as tagbar, also behave oddly when opening and closing them mixed with opening and closing multiple windows that open on the left, such as undotree.

### What did you expect to happen?

Vertically split windows always get their header text and all the offsets are added for the bufferline, except of course for the offsets for windows on the right, which should be handled separately

### Config

```lua
-- ...
offsets = {
{
filetype = "NvimTree",
text = function()
return "NVIMTREE TEXT"
-- return vim.fn.getcwd()
end,
-- highlight = "Directory",
text_align = "left",
separator = true
},
{
filetype = "NERDTree",
text = function()
return vim.fn.getcwd()
end,
highlight = "Directory",
text_align = "left",
separator = true
},
{
filetype = "undotree",
text = "Undo Tree",
text_align = "left",
separator = true
},
{
filetype = "diff",
text = "Diff",
text_align = "left",
separator = true
},
{
filetype = "tagbar",
text = "Tags",
text_align = "left",
separator = true
},
{
filetype = "help",
text = "Help",
text_align = "left",
separator = true
}
},
-- ...
```

### Additional Information

N/A

### commit

_No response_

貢獻指南

這個儲存庫沒有索引到貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。