It's a neovim plugin that turns global
buffers into tab-local
buffers.
So you can use buffers while have different contexts in different tabs.
-- Initialize tabscope
require("tabscope").setup({})
-- To remove tab local buffer, use remove_tab_buffer:
vim.keymap.set("n", "<M-o>", require("tabscope").remove_tab_buffer)
There is no way to get info about hidden buffers that loaded by session. So all hidden buffers are dropped after session loaded.