nvim-mini / nvim-mini/mini.nvim
Improve 'mini.notify' to reduce LSP progress flicker
Nobody has claimed this yet.
- 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_addtime 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 extraMiniNotifyDonehighlight 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.wraplooks 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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