add lsp progress in lualine components
This commit is contained in:
parent
047d9005a2
commit
3e9a5533e4
|
|
@ -1,3 +1,25 @@
|
|||
local function LSP_progress()
|
||||
if not rawget(vim, "lsp") then
|
||||
return ""
|
||||
end
|
||||
|
||||
local Lsp = vim.lsp.util.get_progress_messages()[1]
|
||||
|
||||
if vim.o.columns < 120 or not Lsp then
|
||||
return ""
|
||||
end
|
||||
|
||||
local msg = Lsp.message or ""
|
||||
local percentage = Lsp.percentage or 0
|
||||
local title = Lsp.title or ""
|
||||
local spinners = { "", "" }
|
||||
local ms = vim.loop.hrtime() / 1000000
|
||||
local frame = math.floor(ms / 120) % #spinners
|
||||
local content = string.format(" %%<%s %s %s (%s%%%%) ", spinners[frame + 1], title, msg, percentage)
|
||||
|
||||
return ("%#St_LspProgress#" .. content) or ""
|
||||
end
|
||||
|
||||
require('lualine').setup {
|
||||
options = {
|
||||
icons_enabled = true,
|
||||
|
|
@ -23,7 +45,7 @@ require('lualine').setup {
|
|||
lualine_c = {
|
||||
{ "filename", path = 1, symbols = { modified = " ", readonly = "", unnamed = "" } }
|
||||
},
|
||||
lualine_x = { 'encoding', 'fileformat', 'filetype' },
|
||||
lualine_x = { LSP_progress, 'encoding', 'fileformat', 'filetype' },
|
||||
lualine_y = { 'progress' },
|
||||
lualine_z = { 'location' }
|
||||
},
|
||||
|
|
|
|||
Reference in New Issue