Hajime-Suzuki / vuffers.nvim

a neovim plugin that creates a vertical split window to help you manage and navigate your buffers more efficiently
47 stars 1 forks source link

[FEATURE] Group Buffers in Tabs? #36

Open TheCedarPrince opened 1 year ago

TheCedarPrince commented 1 year ago

Hey @Hajime-Suzuki ,

I realized I think I accidentally misunderstood a core design aspect of this package. I thought it also supported Tab Groups in that I could put buffers within a tab group and manage my tabs from there. The vuffer window I thought could look like this:

- Tab 1
   - buff1
   - buff2
- Tab 2
   - ...

Do you think you'll ever add support for grouping buffers into tabs?

Thanks!

~ tcp :deciduous_tree:

Hajime-Suzuki commented 1 year ago

Do you mean like tab groups in Chrome? I've been thinking about something like that for pinned buffers.

Though navigation would be a challenge and I don't know what would be the best way at the moment. For example,

-- The numbers on the left are line numbers

1 - Group 1
2    - buf 1
3    - buf 2
4 - Group 2
5    - buf 3
6 - buf 4 <- cursor is here
7 - buf 5

For go_to_buffer_by_line (let's say I have a key binding gl for it). I can open buf 5 by 7gl. But I can't do 4gl or 1gl because the line number 1 and 4 are on the tab groups. Even worse, go_to_buffer_by_count (gc) would be more tricky. 3gc would go to buf 1 instead of buf 2 because now you have the tab group 2 on the line 4. You have to count that.

It's definitely on my rader but first I have to figure out the best way to navigate buffers in that setup. Let me know if you have a good idea.

lorefnon commented 1 year ago

Yes, I think this would be very helpful. I miss the vscode behavior where each window (pane) has its own set of tabs that can be cycled through independently.

Wrt. navigation one option could be that the ui acts as a single level tree and whenever I navigate to a window, the node for that window auto expands while the rest auto collapse.