about summary refs log tree commit diff stats
path: root/home-manager/soispha/config/neovim/nixvim/plugins/lsp-progress-nvim
diff options
context:
space:
mode:
Diffstat (limited to 'home-manager/soispha/config/neovim/nixvim/plugins/lsp-progress-nvim')
-rw-r--r--home-manager/soispha/config/neovim/nixvim/plugins/lsp-progress-nvim/lua/lsp-progress-nvim.lua276
1 files changed, 133 insertions, 143 deletions
diff --git a/home-manager/soispha/config/neovim/nixvim/plugins/lsp-progress-nvim/lua/lsp-progress-nvim.lua b/home-manager/soispha/config/neovim/nixvim/plugins/lsp-progress-nvim/lua/lsp-progress-nvim.lua
index 80c01e4a..4273085c 100644
--- a/home-manager/soispha/config/neovim/nixvim/plugins/lsp-progress-nvim/lua/lsp-progress-nvim.lua
+++ b/home-manager/soispha/config/neovim/nixvim/plugins/lsp-progress-nvim/lua/lsp-progress-nvim.lua
@@ -1,160 +1,150 @@
 --- @type table<string, any>
 require("lsp-progress").setup({
-    -- Spinning icons.
-    --
-    --- @type string[]
-    spinner = { "⣾", "⣽", "⣻", "⢿", "⡿", "⣟", "⣯", "⣷" },
+  -- Spinning icons.
+  --
+  --- @type string[]
+  spinner = { "⣾"; "⣽"; "⣻"; "⢿"; "⡿"; "⣟"; "⣯"; "⣷"; };
 
-    -- Spinning update time in milliseconds.
-    --
-    --- @type integer
-    spin_update_time = 200,
+  -- Spinning update time in milliseconds.
+  --
+  --- @type integer
+  spin_update_time = 200;
 
-    -- Last message cached decay time in milliseconds.
-    --
-    -- Message could be really fast(appear and disappear in an
-    -- instant) that user cannot even see it, thus we cache the last message
-    -- for a while for user view.
-    --
-    --- @type integer
-    decay = 700,
+  -- Last message cached decay time in milliseconds.
+  --
+  -- Message could be really fast(appear and disappear in an
+  -- instant) that user cannot even see it, thus we cache the last message
+  -- for a while for user view.
+  --
+  --- @type integer
+  decay = 700;
 
-    -- User event name.
-    --
-    --- @type string
-    event = "LspProgressStatusUpdated",
+  -- User event name.
+  --
+  --- @type string
+  event = "LspProgressStatusUpdated";
 
-    -- Event update time limit in milliseconds.
-    --
-    -- Sometimes progress handler could emit many events in an instant, while
-    -- refreshing statusline cause too heavy synchronized IO, so we limit the
-    -- event rate to reduce this cost.
-    --
-    --- @type integer
-    event_update_time_limit = 100,
+  -- Event update time limit in milliseconds.
+  --
+  -- Sometimes progress handler could emit many events in an instant, while
+  -- refreshing statusline cause too heavy synchronized IO, so we limit the
+  -- event rate to reduce this cost.
+  --
+  --- @type integer
+  event_update_time_limit = 100;
 
-    -- Max progress string length, by default -1 is unlimited.
-    --
-    --- @type integer
-    max_size = -1,
+  -- Max progress string length, by default -1 is unlimited.
+  --
+  --- @type integer
+  max_size = -1;
 
-    -- Regular internal update time.
-    --
-    -- Emit user event to update the lsp progress status, even there's no new
-    -- message.
-    --
-    --- @type integer
-    regular_internal_update_time = 500,
+  -- Regular internal update time.
+  --
+  -- Emit user event to update the lsp progress status, even there's no new
+  -- message.
+  --
+  --- @type integer
+  regular_internal_update_time = 500;
 
-    -- Disable emitting events on specific mode/filetype.
-    -- User events would interrupt insert mode, thus break which-key like plugins behaviour.
-    -- See:
-    --  * https://github.com/linrongbin16/lsp-progress.nvim/issues/50
-    --  * https://neovim.io/doc/user/builtin.html#mode()
-    --
-    --- @type table[]
-    disable_events_opts = {
-        {
-            mode = "i",
-            filetype = "TelescopePrompt",
-        },
-    },
+  -- Disable emitting events on specific mode/filetype.
+  -- User events would interrupt insert mode, thus break which-key like plugins behaviour.
+  -- See:
+  --  * https://github.com/linrongbin16/lsp-progress.nvim/issues/50
+  --  * https://neovim.io/doc/user/builtin.html#mode()
+  --
+  --- @type table[]
+  disable_events_opts = { { mode = "i"; filetype = "TelescopePrompt"; }; };
 
-    -- Format series message.
-    --
-    -- By default it looks like: `formatting isort (100%) - done`.
-    --
-    --- @param title string|nil
-    ---     Message title.
-    --- @param message string|nil
-    ---     Message body.
-    --- @param percentage number|nil
-    ---     Progress in percentage numbers: 0-100.
-    --- @param done boolean
-    ---     Indicate whether this series is the last one in progress.
-    --- @return string|nil messages
-    ---     The returned value will be passed to function `client_format` as
-    ---     one of the `series_messages` array, or ignored if return nil.
-    series_format = function(title, message, percentage, done)
-        local builder = {}
-        local has_title = false
-        local has_message = false
-        if title and title ~= "" then
-            table.insert(builder, title)
-            has_title = true
-        end
-        if message and message ~= "" then
-            table.insert(builder, message)
-            has_message = true
-        end
-        if percentage and (has_title or has_message) then
-            table.insert(builder, string.format("(%.0f%%%%)", percentage))
-        end
-        if done and (has_title or has_message) then
-            table.insert(builder, "- done")
-        end
-        return table.concat(builder, " ")
-    end,
+  -- Format series message.
+  --
+  -- By default it looks like: `formatting isort (100%) - done`.
+  --
+  --- @param title string|nil
+  ---     Message title.
+  --- @param message string|nil
+  ---     Message body.
+  --- @param percentage number|nil
+  ---     Progress in percentage numbers: 0-100.
+  --- @param done boolean
+  ---     Indicate whether this series is the last one in progress.
+  --- @return string|nil messages
+  ---     The returned value will be passed to function `client_format` as
+  ---     one of the `series_messages` array, or ignored if return nil.
+  series_format = function(title, message, percentage, done)
+    local builder = {}
+    local has_title = false
+    local has_message = false
+    if title and title ~= "" then
+      table.insert(builder, title)
+      has_title = true
+    end
+    if message and message ~= "" then
+      table.insert(builder, message)
+      has_message = true
+    end
+    if percentage and (has_title or has_message) then
+      table.insert(builder, string.format("(%.0f%%%%)", percentage))
+    end
+    if done and (has_title or has_message) then
+      table.insert(builder, "- done")
+    end
+    return table.concat(builder, " ")
+  end;
 
-    -- Format client message.
-    --
-    -- By default it looks like:
-    -- `[null-ls] ⣷ formatting isort (100%) - done, formatting black (50%)`.
-    --
-    --- @param client_name string
-    ---     Client name.
-    --- @param spinner string
-    ---     Spinner icon.
-    --- @param series_messages string[]|table[]
-    ---     Messages array.
-    --- @return string|nil messages
-    ---     The returned value will be passed to function `format` as one of the
-    ---     `client_messages` array, or ignored if return nil.
-    client_format = function(client_name, spinner, series_messages)
-        return #series_messages > 0
-            and ("[" .. client_name .. "] " .. spinner .. " " .. table.concat(
-                series_messages,
-                ", "
-            ))
-            or nil
-    end,
+  -- Format client message.
+  --
+  -- By default it looks like:
+  -- `[null-ls] ⣷ formatting isort (100%) - done, formatting black (50%)`.
+  --
+  --- @param client_name string
+  ---     Client name.
+  --- @param spinner string
+  ---     Spinner icon.
+  --- @param series_messages string[]|table[]
+  ---     Messages array.
+  --- @return string|nil messages
+  ---     The returned value will be passed to function `format` as one of the
+  ---     `client_messages` array, or ignored if return nil.
+  client_format = function(client_name, spinner, series_messages)
+    return #series_messages > 0
+      and ("[" .. client_name .. "] " .. spinner .. " " .. table.concat(series_messages, ", "))
+      or nil
+  end;
 
-    -- Format (final) message.
-    --
-    -- By default it looks like:
-    -- ` LSP [null-ls] ⣷ formatting isort (100%) - done, formatting black (50%)`
-    --
-    --- @param client_messages string[]|table[]
-    ---     Client messages array.
-    --- @return nil|string message
-    ---     The returned value will be returned from `progress` API.
-    format = function(client_messages)
-        local sign = " LSP" -- nf-fa-gear \uf013
-        return #client_messages > 0
-            and (sign .. " " .. table.concat(client_messages, " "))
-            or sign
-    end,
+  -- Format (final) message.
+  --
+  -- By default it looks like:
+  -- ` LSP [null-ls] ⣷ formatting isort (100%) - done, formatting black (50%)`
+  --
+  --- @param client_messages string[]|table[]
+  ---     Client messages array.
+  --- @return nil|string message
+  ---     The returned value will be returned from `progress` API.
+  format = function(client_messages)
+    local sign = " LSP" -- nf-fa-gear \uf013
+    return #client_messages > 0 and (sign .. " " .. table.concat(client_messages, " ")) or sign
+  end;
 
-    -- Enable debug.
-    --
-    --- @type boolean
-    debug = false,
+  -- Enable debug.
+  --
+  --- @type boolean
+  debug = false;
 
-    -- Print log to console(command line).
-    --
-    --- @type boolean
-    console_log = false,
+  -- Print log to console(command line).
+  --
+  --- @type boolean
+  console_log = false;
 
-    -- Print log to file.
-    --
-    --- @type boolean
-    file_log = true,
+  -- Print log to file.
+  --
+  --- @type boolean
+  file_log = true;
 
-    -- Log file to write, work with `file_log=true`.
-    --
-    -- For Windows: `$env:USERPROFILE\AppData\Local\nvim-data\lsp-progress.log`.
-    -- For *NIX: `~/.local/share/nvim/lsp-progress.log`.
-    --
-    --- @type string
-    file_log_name = "lsp-progress.log",
+  -- Log file to write, work with `file_log=true`.
+  --
+  -- For Windows: `$env:USERPROFILE\AppData\Local\nvim-data\lsp-progress.log`.
+  -- For *NIX: `~/.local/share/nvim/lsp-progress.log`.
+  --
+  --- @type string
+  file_log_name = "lsp-progress.log";
 })