nvim-mini / nvim-mini/mini.nvim

Improve 'mini.notify' to reduce LSP progress flicker

Open
#2,034 0 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature-request mini.notify
Dominant language
Lua
Stars
9.5k
Forks
310
Avg merge
4h 16m
Merged PRs (30d)
1

Description

Thanks for sharing and the feedback! I don't really work with Rust, but when testing it does look too flickery.

Couple of thoughts:

  • Making notifications sorted based on ts_add time is not complicated to do manually, which you have. I do wonder if it indeed might be a good idea to have it by default. Probably would require extra MiniNotifyDone highlight group to dim already finished tasks to easier differentiate from active ones.
  • I agree that not wrapping by default should be easier. I'll take a look, but adding config.window.wrap looks reasonable.
  • Throttling LSP progress updates by default might also be a good idea. I'll also take a look.

I had an idea of revisiting 'mini.notify' to see if it can be naturally extended to show spinners and account for the new Progress event on Nightly, so this will be a good time to revisit all of these. Not sure about the time frame, though.

Originally posted by @echasnovski in https://github.com/nvim-mini/mini.nvim/discussions/36#discussioncomment-14549820

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the mini.notify module and its handling of LSP Progress updates. Examine the discussion's suggestions around ts_add ordering, MiniNotifyDone highlighting, config.window.wrap, and throttling; done means reducing notification flicker while deciding which of these changes belongs in the module.

Written by the indexing model from the issue text.

Assessment

Tech stack
lua
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.