summaryrefslogtreecommitdiff
path: root/.config/nvim/lua/custom/config/lualine.lua
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2025-04-24 11:36:39 +0300
committerKyren223 <Kyren223@proton.me>2025-04-24 11:36:39 +0300
commit6bef8f32b19778fdfe52f0eb39719425508dcc7b (patch)
treef293141ed7e8676b76bb06c07a0fa9472b10e2ac /.config/nvim/lua/custom/config/lualine.lua
parentdbd9a6fdd0c44e26b200fb706aacd120a2e09c47 (diff)
Refactored nvim config to make it easier and less insanely nested
Diffstat (limited to '.config/nvim/lua/custom/config/lualine.lua')
-rw-r--r--.config/nvim/lua/custom/config/lualine.lua92
1 files changed, 0 insertions, 92 deletions
diff --git a/.config/nvim/lua/custom/config/lualine.lua b/.config/nvim/lua/custom/config/lualine.lua
deleted file mode 100644
index 53cd7fe..0000000
--- a/.config/nvim/lua/custom/config/lualine.lua
+++ /dev/null
@@ -1,92 +0,0 @@
-local lualine = require('lualine')
-local lsp_progress = require('lsp-progress')
-
-local progress_filled = '█'
-local progress_empty = '░'
-local function progress_bar(percentage, width)
- -- Ensure i is an integer between 0 and width (inclusive)
- local i = math.max(0, math.min(math.floor(width * percentage), width))
- return string.rep(progress_filled, i) .. string.rep(progress_empty, width - i)
-end
-
-local progress_bar_width = 10
-lsp_progress.setup({
- format = function(client_messages) -- global
- local sign = ' LSP'
- if #client_messages > 0 then
- return sign .. ' ' .. table.concat(client_messages, ' ')
- end
- if #require('lsp-progress.api').lsp_clients() > 0 then
- return sign
- end
- return ''
- end,
- client_format = function(_, _, series_messages) -- per lsp
- return #series_messages > 0 and table.concat(series_messages, ', ') or nil
- end,
- series_format = function(title, message, percentage, done) -- per progress
- local builder = {}
- local has_title = false
- local has_message = false
- if type(title) == 'string' and string.len(title) > 0 then
- table.insert(builder, title .. ':')
- has_title = true
- end
- if percentage then
- table.insert(builder, string.format('%.0f%%', percentage))
- table.insert(builder, 1, progress_bar(percentage / 100, progress_bar_width))
- end
- if type(message) == 'string' and string.len(message) > 0 then
- table.insert(builder, string.format('(%s)', message))
- has_message = true
- end
- if done and (has_title or has_message) then
- table.insert(builder, ' ')
- end
- return table.concat(builder, ' ')
- end,
-})
-
-lualine.setup({
- options = {
- globalstatus = true,
- theme = 'auto',
- },
- sections = {
- lualine_a = { { 'mode', icon = '' } },
- lualine_b = {
- -- require('auto-session.lib').current_session_name,
- { 'branch', icon = '' },
- {
- 'diagnostics',
- symbols = {
- error = '󰅙 ',
- warn = '󰀦 ',
- info = '󰋼 ',
- hint = '󰌵 ',
- },
- },
- },
- lualine_c = {
- function()
- return lsp_progress.progress()
- end,
- },
- lualine_x = {
- 'searchcount',
- 'encoding',
- 'fileformat',
- 'filetype',
- },
- lualine_y = { 'progress' },
- lualine_z = { 'location' },
- },
- extensions = { 'oil', 'trouble' },
-})
-
--- Refresh lualine when lsp progress is updated
-vim.api.nvim_create_autocmd('User', {
- group = vim.api.nvim_create_augroup('lualine_augroup', { clear = true }),
- pattern = 'LspProgressStatusUpdated',
- callback = require('lualine').refresh,
-})