Files
dotfiles/vim/.vim/lua/plugins/lualine.lua
Christian Nieves 8337829f4d relpath
2023-11-27 21:46:06 +00:00

122 lines
3.2 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
return {
"nvim-lualine/lualine.nvim",
lazy = false,
config = function()
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",
path = 1, -- 0 = just filename, 1 = relative path, 2 = absolute path
},
},
lualine_x = {
"",
"aerial",
{
"diagnostics",
sources = { "nvim_lsp" },
symbols = { error = "", warn = "", info = "", hint = "" },
},
"filetype",
},
lualine_y = { "progress" },
lualine_z = { "location" },
},
-- tabline = {
-- lualine_a = {
-- {
-- "tabs",
-- mode = 1,
-- use_mode_colors = true,
-- 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_workspace_diagnostic" },
-- symbols = { error = " ", warn = " ", info = " ", hint = " " },
-- },
-- },
-- -- lualine_y = { getLGTMs }
-- lualine_z = {
-- {
-- "filename",
-- file_status = false, -- displays file status (readonly status, modified status)
-- path = 2, -- 0 = just filename, 1 = relative path, 2 = absolute path
-- },
-- },
-- },
})
end,
}