local lualine_config = {
sections = {
lualine_x = {
{
function()
local multi_token = require('sql-cli.multi_token_manager')
return multi_token.get_status()
end,
icon = '🔑',
},
},
},
}
vim.o.statusline = vim.o.statusline .. '%{luaeval("require(\'sql-cli.multi_token_manager\').statusline()")}'
function _G.custom_statusline()
local parts = {}
table.insert(parts, '%f') table.insert(parts, '%m')
local multi_token = require('sql-cli.multi_token_manager')
local token_status = multi_token.get_status()
if token_status ~= "" then
table.insert(parts, token_status)
end
table.insert(parts, '%l:%c')
return table.concat(parts, ' ')
end
vim.o.statusline = '%!v:lua.custom_statusline()'
vim.api.nvim_create_autocmd("User", {
pattern = "TokenRefreshed",
callback = function(args)
local token_name = args.data.token
local success = args.data.success
if success then
local buf = vim.api.nvim_create_buf(false, true)
local msg = string.format("🔑 %s token refreshed", token_name)
vim.api.nvim_buf_set_lines(buf, 0, -1, false, {msg})
local width = #msg + 4
local win = vim.api.nvim_open_win(buf, false, {
relative = 'editor',
width = width,
height = 1,
col = vim.o.columns - width - 2,
row = vim.o.lines - 3,
style = 'minimal',
border = 'rounded',
})
vim.defer_fn(function()
if vim.api.nvim_win_is_valid(win) then
vim.api.nvim_win_close(win, true)
end
end, 3000)
end
end
})
if pcall(require, 'notify') then
vim.notify = require('notify')
require('notify').setup({
render = 'compact',
stages = 'fade_in_slide_out',
timeout = 2000, on_open = function(win)
if vim.api.nvim_win_is_valid(win) then
vim.api.nvim_win_set_config(win, { focusable = false })
end
end,
})
end