Compare commits
3 Commits
d58ab508eb
...
0224c05c98
Author | SHA1 | Date | |
---|---|---|---|
0224c05c98 | |||
c355eafedc | |||
df3f04602e |
@ -21,7 +21,12 @@ return {
|
|||||||
-- separator = {left = '', right = ''},
|
-- separator = {left = '', right = ''},
|
||||||
},
|
},
|
||||||
sidebar_filetypes = {
|
sidebar_filetypes = {
|
||||||
['neo-tree'] = {event = 'BufWipeout'},
|
['neo-tree'] = {
|
||||||
|
event = 'BufWipeout',
|
||||||
|
text = ' Explorer',
|
||||||
|
align = 'left',
|
||||||
|
-- event = 'BufWinEnter'
|
||||||
|
},
|
||||||
undotree = {
|
undotree = {
|
||||||
text = 'undotree',
|
text = 'undotree',
|
||||||
align = 'center', -- *optionally* specify an alignment (either 'left', 'center', or 'right')
|
align = 'center', -- *optionally* specify an alignment (either 'left', 'center', or 'right')
|
||||||
@ -46,6 +51,44 @@ return {
|
|||||||
-- }
|
-- }
|
||||||
require('barbar').setup(opts)
|
require('barbar').setup(opts)
|
||||||
|
|
||||||
|
-- 修正neo-tree的winbar開啟後,切換winbat tab會導致barbar offset跑掉的問題
|
||||||
|
-- <https://chatgpt.com/share/683aa9e0-6214-800f-96f9-df29d366ad2a>
|
||||||
|
local function neo_tree_is_visible()
|
||||||
|
for _, win in ipairs(vim.api.nvim_list_wins()) do
|
||||||
|
local buf = vim.api.nvim_win_get_buf(win)
|
||||||
|
if vim.bo[buf].filetype == "neo-tree" then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
vim.api.nvim_create_autocmd("BufEnter", {
|
||||||
|
pattern = "*",
|
||||||
|
callback = function()
|
||||||
|
if vim.bo.filetype == "neo-tree" then
|
||||||
|
for _, win in ipairs(vim.api.nvim_list_wins()) do
|
||||||
|
local buf = vim.api.nvim_win_get_buf(win)
|
||||||
|
if vim.bo[buf].filetype == "neo-tree" then
|
||||||
|
local width = vim.api.nvim_win_get_width(win)
|
||||||
|
require("barbar.api").set_offset(width, " Explorer")
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
vim.api.nvim_create_autocmd("BufLeave", {
|
||||||
|
pattern = "*",
|
||||||
|
callback = function()
|
||||||
|
-- ⚠️ 只有在「沒有任何 neo-tree 視窗」時才清除 offset
|
||||||
|
vim.defer_fn(function()
|
||||||
|
if not neo_tree_is_visible() then
|
||||||
|
require("barbar.api").set_offset(0)
|
||||||
|
end
|
||||||
|
end, 10) -- 使用 defer 確保事件序列完成
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
-- 重定義 :q 命令為僅關閉當前 Buffer
|
-- 重定義 :q 命令為僅關閉當前 Buffer
|
||||||
vim.api.nvim_create_user_command('Q', function()
|
vim.api.nvim_create_user_command('Q', function()
|
||||||
vim.cmd('BufferClose') -- 使用 barbar.nvim 的 BufferClose 呀命
|
vim.cmd('BufferClose') -- 使用 barbar.nvim 的 BufferClose 呀命
|
||||||
|
Loading…
x
Reference in New Issue
Block a user