Files
dotfiles/vim/.vim/lua/config/lualine.lua
Christian Nieves cee72d087c fix tabs
2023-03-27 13:06:20 -05:00

93 lines
2.7 KiB
Lua

local split = function (inputstr, sep)
local t={}
for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
table.insert(t, str)
end
return t
end
local function getCitc()
local fname = vim.api.nvim_buf_get_name(0)
if string.find(fname, '/google/src/cloud/', 1, true) then
local parts = split(fname, '/')
return parts[5]
end
end
local function isCiderLspAttached()
if vim.b['is_cider_lsp_attached'] then
if vim.b['is_cider_lsp_attached'] == 'yes' then
return ''
else
return 'x'
end
else
return ''
end
end
local function getLightbulb()
return require('nvim-lightbulb').get_status_text()
end
local function getLGTMs()
local comments = require("google.comments")
local tracker = require("google.comments.tracker")
local dump = require("utils").dump
print(dump(tracker.get_all_comments()))
local lgtm = comments.get_lgtms()
local appr = comments.get_approvals()
print("lgtms"..dump(lgtm))
print("approvals"..dump(appr))
return "LGTM:"..table.concat(lgtm, ",").." Approval:"..table.concat(appr, ",")
end
local lsp_status = require('lsp-status')
require('lualine').setup {
options = {
theme = 'auto',
globalstatus = false,
refresh = {
statusline = 1000,
tabline = 1000,
winbar = 1000,
}
},
sections = {
lualine_a = {'mode'},
lualine_b = {'branch', 'diff', getCitc, isCiderLspAttached},
lualine_c = {getLightbulb, 'filename'},
lualine_x = {
{ 'diagnostics', sources = {"nvim_lsp"}, symbols = {error = '', warn = '', info = '', hint = ''} },
'encoding',
'filetype'
},
lualine_y = {'searchcount'},
lualine_z = {'location'}
},
tabline = {
lualine_a = {
{
'tabs',
mode = 1,
max_length = (vim.o.columns / 5) * 4,
fmt = function(name, context)
-- Show + if buffer is modified in tab
local buflist = vim.fn.tabpagebuflist(context.tabnr)
local winnr = vim.fn.tabpagewinnr(context.tabnr)
local bufnr = buflist[winnr]
local mod = vim.fn.getbufvar(bufnr, '&mod')
return name .. (mod == 1 and ' +' or '')
end
},
},
lualine_b = {'branch'},
lualine_c = {'filename'},
lualine_c = {
{ 'diagnostics', sources = {"nvim_lsp", "nvim_workspace_diagnostic"}, symbols = {error = '', warn = '', info = '', hint = ''} },
},
-- lualine_y = { getLGTMs }
},
}