plugins.fidget.progress.clearOnDetach
Clear notification group when LSP server detaches
This option should be set to a function that, given a client ID number, returns the
notification group to clear.
No group will be cleared if the function returns nil
.
The default setting looks up and returns the LSP client name, which is also used by
notificationGroup
.
Set this option to false
to disable this feature entirely (no |LspDetach|
callback
will be installed).
Type: null or lua function string or value false (singular enum)
Default:
null
Plugin default:
''
function(client_id)
local client = vim.lsp.get_client_by_id(client_id)
return client and client.name or nil
end
''
Declared by:
plugins.fidget.progress.ignore
List of LSP servers to ignore.
Type: null or (list of (string or raw lua code))
Default:
null
Plugin default: [ ]
Declared by:
plugins.fidget.progress.ignoreDoneAlready
Ignore new tasks that are already complete.
This is useful if you want to avoid excessively bouncy behavior, and only seeing
notifications for long-running tasks. Works best when combined with a low pollRate
.
Type: null or boolean or raw lua code
Default:
null
Plugin default: false
Declared by:
plugins.fidget.progress.ignoreEmptyMessage
Ignore new tasks that don’t contain a message.
Some servers may send empty messages for tasks that don’t actually exist. And if those tasks are never completed, they will become stale in Fidget. This option tells Fidget to ignore such messages unless the LSP server has anything meaningful to say.
Note that progress messages for new empty tasks will be dropped, but existing tasks will be processed to completion.
Type: null or boolean or raw lua code
Default:
null
Plugin default: true
Declared by:
plugins.fidget.progress.notificationGroup
How to get a progress message’s notification group key
Set this to return a constant to group all LSP progress messages together.
Example:
notification_group = function(msg)
-- N.B. you may also want to configure this group key ("lsp_progress")
-- using progress.display.overrides or notification.configs
return "lsp_progress"
end
Type: null or lua function string
Default:
null
Plugin default: "function(msg) return msg.lsp_name end"
Declared by:
plugins.fidget.progress.pollRate
How and when to poll for progress messages.
Set to 0
to immediately poll on each |LspProgress|
event.
Set to a positive number to poll for progress messages at the specified frequency
(Hz, i.e., polls per second).
Combining a slow poll_rate
(e.g., 0.5
) with the ignoreDoneAlready
setting can be
used to filter out short-lived progress tasks, de-cluttering notifications.
Note that if too many LSP progress messages are sent between polls, Neovim’s progress
ring buffer will overflow and messages will be overwritten (dropped), possibly causing
stale progress notifications.
Workarounds include using the |fidget.option.progress.lsp.progress_ringbuf_size|
option, or manually calling |fidget.notification.reset|
.
Set to false
to disable polling altogether; you can still manually poll progress
messages by calling |fidget.progress.poll|
.
Type: null or value false (singular enum) or signed integer or floating point number
Default:
null
Plugin default: 0
Declared by:
plugins.fidget.progress.suppressOnInsert
Suppress new messages while in insert mode.
Note that progress messages for new tasks will be dropped, but existing tasks will be processed to completion.
Type: null or boolean or raw lua code
Default:
null
Plugin default: false
Declared by: