aboutsummaryrefslogtreecommitdiff
path: root/lua/minitab
diff options
context:
space:
mode:
authorTim Keller <tjkeller.xyz>2024-11-28 11:53:51 -0600
committerTim Keller <tjkeller.xyz>2024-11-28 11:53:51 -0600
commit53921c4f2b2ef868b1bed70bc11ab330b0ad4a47 (patch)
treed292afac7bb9d32f22838f6d9cb136fc5d9e10b4 /lua/minitab
parent4e6ad07b4bd217e9fb44d99225b3467d5c5f33f1 (diff)
downloadminitab.nvim-53921c4f2b2ef868b1bed70bc11ab330b0ad4a47.tar.xz
minitab.nvim-53921c4f2b2ef868b1bed70bc11ab330b0ad4a47.zip
readme updated and minitab fixed
Diffstat (limited to 'lua/minitab')
-rw-r--r--lua/minitab/init.lua82
1 files changed, 0 insertions, 82 deletions
diff --git a/lua/minitab/init.lua b/lua/minitab/init.lua
deleted file mode 100644
index 22beb44..0000000
--- a/lua/minitab/init.lua
+++ /dev/null
@@ -1,82 +0,0 @@
-local M = {
- moduleNames = { "init.lua", "__init__.py" },
- separatorC = "|",
- modifiedC = "+",
-}
-
-M.title = function(bufnr, isSelected)
- local file = vim.fn.simplify(vim.fn.bufname(bufnr))
- local tail = vim.fn.fnamemodify(file, ':t')
- local buftype = vim.fn.getbufvar(bufnr, '&buftype')
- local filetype = vim.fn.getbufvar(bufnr, '&filetype')
-
- if buftype == "help" then
- return "help:" .. vim.fn.fnamemodify(tail, ':r')
- elseif filetype == "netrw" then
- return file == "" and "netrw" or vim.fn.fnamemodify(file, ':p:~')
- elseif buftype ~= "" then
- return buftype
- elseif file == "" then
- return filetype == "" and "[No Name]" or filetype
- elseif vim.tbl_contains(M.moduleNames, tail) then
- return vim.fn.fnamemodify(vim.fn.fnamemodify(file, ':p:~:h'), ':t') .. "/" .. tail -- e.g. minitab/init.lua
- end
-
- return tail
-end
-
-M.modified = function(bufnr)
- return vim.fn.getbufvar(bufnr, '&modified') == 1 and M.modifiedC or ""
-end
-
-M.windowCount = function(index, hl)
- local nwins = #vim.tbl_filter(function(winnr)
- return vim.fn.win_gettype(winnr) == "" -- windows will appear or disappear at random when editing files etc for no discernible reason
- end, vim.api.nvim_tabpage_list_wins(index))
- return nwins > 1 and '%#TabLineSel#' .. nwins .. hl or ""
-end
-
-M.separator = function(index, hl)
- return (index < vim.fn.tabpagenr('$') and '%#TabLine#' .. M.separatorC or "")
-end
-
-M.cell = function(index)
- local isSelected = vim.fn.tabpagenr() == index
- local buflist = vim.fn.tabpagebuflist(index)
- local winnr = vim.fn.tabpagewinnr(index)
- local bufnr = buflist[winnr]
- local hl = (isSelected and '%#TabLineSel#' or '%#TabLine#')
-
- local prefix = M.windowCount(index, hl) .. M.modified(bufnr) .. " "
- return hl .. '%' .. index .. 'T' .. " " ..
- (prefix == " " and "" or prefix) ..
- M.title(bufnr, isSelected) .. " " ..
- M.separator(index)
-end
-
-M.tabline = function()
- local line = ""
- for i = 1, vim.fn.tabpagenr('$'), 1 do
- line = line .. M.cell(i)
- end
- line = line .. '%#TabLineFill#%='
- if vim.fn.tabpagenr("$") > 1 then
- line = line .. '%#TabLine#%999XX'
- end
- return line
-end
-
-local setup = function(opts)
- if opts then
- for key, value in pairs(opts) do
- M[key] = value
- end
- end
-
- vim.opt.tabline = "%!v:lua.require'minitab'.helpers.tabline()"
-end
-
-return {
- helpers = M,
- setup = setup,
-}