diff options
-rw-r--r-- | lua/tabby.lua | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/lua/tabby.lua b/lua/tabby.lua new file mode 100644 index 0000000..a189656 --- /dev/null +++ b/lua/tabby.lua @@ -0,0 +1,48 @@ +local theme = { + fill = 'TabLineFill', + -- Also you can do this: fill = { fg='#f2e9de', bg='#907aa9', style='italic' } + head = 'TabLine', + current_tab = 'TabLineSel', + tab = 'TabLine', + win = 'TabLine', + tail = 'TabLineTail', + close_sel = 'TabLineCloseSel', + close = 'TabLineClose', +} +require('tabby.tabline').set(function(line) + return { + { + { ' ', hl = theme.head }, + line.sep(' ', theme.head, theme.fill), + }, + line.tabs().foreach(function(tab) + local hl = tab.is_current() and theme.current_tab or theme.tab + return { + line.sep(' ', hl, theme.fill), + tab.is_current() and '' or '', + tab.number(), + tab.name(), + tab.close_btn({' ', hl = tab.is_current() and theme.close_sel or theme.close}), + line.sep(' ', hl, theme.fill), + hl = hl, + margin = ' ', + } + end), + line.spacer(), + line.wins_in_tab(line.api.get_current_tab()).foreach(function(win) + return { + line.sep(' ', theme.win, theme.fill), + win.is_current() and '·' or ' ', + win.buf_name(), + line.sep(' ', theme.win, theme.fill), + hl = theme.win, + margin = ' ', + } + end), + { + line.sep(' ', theme.tail, theme.fill), + { ' ', hl = theme.tail }, + }, + hl = theme.fill, + } +end) |