Skip to content

Commit 12df0ef

Browse files
committed
fix(configs): default attach to terminals (#247)
1 parent b695c34 commit 12df0ef

File tree

4 files changed

+43
-10
lines changed

4 files changed

+43
-10
lines changed

README.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ winbar:
217217
- Default:
218218
```lua
219219
{
220-
'OptionSet',
220+
'TermOpen',
221221
'BufWinEnter',
222222
'BufWritePost',
223223
}
@@ -1291,9 +1291,8 @@ require('dropbar').setup({
12911291
return false
12921292
end
12931293

1294-
return vim.bo[buf].ft == 'markdown'
1295-
or vim.bo[buf].ft == 'oil' -- enable in oil buffers
1296-
or vim.bo[buf].ft == 'fugitive' -- enable in fugitive buffers
1294+
return vim.bo[buf].bt == 'terminal'
1295+
or vim.bo[buf].ft == 'markdown'
12971296
or pcall(vim.treesitter.get_parser, buf)
12981297
or not vim.tbl_isempty(vim.lsp.get_clients({
12991298
bufnr = buf,

doc/dropbar.txt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*dropbar.txt* Last change: 2025 May 23
1+
*dropbar.txt* Last change: 2025 June 10
22

33
==============================================================================
44
INTRODUCTION *dropbar-introduction*
@@ -210,7 +210,7 @@ the winbar:
210210
- Default:
211211
>lua
212212
{
213-
'OptionSet',
213+
'TermOpen',
214214
'BufWinEnter',
215215
'BufWritePost',
216216
}
@@ -1226,9 +1226,8 @@ This configuration should addresses the issue:
12261226
return false
12271227
end
12281228

1229-
return vim.bo[buf].ft == 'markdown'
1230-
or vim.bo[buf].ft == 'oil' -- enable in oil buffers
1231-
or vim.bo[buf].ft == 'fugitive' -- enable in fugitive buffers
1229+
return vim.bo[buf].bt == 'terminal'
1230+
or vim.bo[buf].ft == 'markdown'
12321231
or pcall(vim.treesitter.get_parser, buf)
12331232
or not vim.tbl_isempty(vim.lsp.get_clients({
12341233
bufnr = buf,

lua/dropbar/configs.lua

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,14 +278,16 @@ M.opts = {
278278
return false
279279
end
280280

281-
return vim.bo[buf].ft == 'markdown'
281+
return vim.bo[buf].bt == 'terminal'
282+
or vim.bo[buf].ft == 'markdown'
282283
or pcall(vim.treesitter.get_parser, buf)
283284
or not vim.tbl_isempty(vim.lsp.get_clients({
284285
bufnr = buf,
285286
method = 'textDocument/documentSymbol',
286287
}))
287288
end,
288289
attach_events = {
290+
'TermOpen',
289291
'BufWinEnter',
290292
'BufWritePost',
291293
},

tests/configs_spec.lua

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
local dropbar = require('dropbar')
2+
local configs = require('dropbar.configs')
3+
4+
describe('[terminal]', function()
5+
local term_buf = nil
6+
local term_win = nil
7+
8+
before_each(function()
9+
vim.cmd.terminal()
10+
term_buf = vim.api.nvim_get_current_buf()
11+
term_win = vim.api.nvim_get_current_win()
12+
-- Wait for terminal to be ready and dropbar to attach
13+
vim.wait(100)
14+
end)
15+
16+
after_each(function()
17+
-- Clean up terminal buffer
18+
if vim.api.nvim_buf_is_valid(term_buf) then
19+
vim.api.nvim_buf_delete(term_buf, { force = true })
20+
end
21+
end)
22+
23+
it('attaches dropbar to terminal buffers', function()
24+
assert.are.equal('terminal', vim.bo[term_buf].bt)
25+
26+
assert.is_not_nil(_G.dropbar.bars[term_buf])
27+
assert.is_not_nil(_G.dropbar.bars[term_buf][term_win])
28+
29+
local winbar = _G.dropbar.bars[term_buf][term_win]
30+
assert.is_not_nil(winbar)
31+
assert.is_table(winbar.components)
32+
end)
33+
end)

0 commit comments

Comments
 (0)