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 } }, }