diff options
author | Tim Keller <tjkeller.xyz> | 2024-11-28 11:53:51 -0600 |
---|---|---|
committer | Tim Keller <tjkeller.xyz> | 2024-11-28 11:53:51 -0600 |
commit | 53921c4f2b2ef868b1bed70bc11ab330b0ad4a47 (patch) | |
tree | d292afac7bb9d32f22838f6d9cb136fc5d9e10b4 /lua/minitab | |
parent | 4e6ad07b4bd217e9fb44d99225b3467d5c5f33f1 (diff) | |
download | minitab.nvim-53921c4f2b2ef868b1bed70bc11ab330b0ad4a47.tar.xz minitab.nvim-53921c4f2b2ef868b1bed70bc11ab330b0ad4a47.zip |
readme updated and minitab fixed
Diffstat (limited to 'lua/minitab')
-rw-r--r-- | lua/minitab/init.lua | 82 |
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, -} |