-
Notifications
You must be signed in to change notification settings - Fork 50
Limit maximum items in list or provide way to hide items. #80
Description
There's an existing issue to allow omitting commands in the palette. I like the idea behind that feature request, but I want to make a more broad feature request: Make it so that the command palette isn't slow and sluggish when plugins add many commands. Issue #35 is just one potential solution so please close this issue and merge it with the other one if you think that #35 is the best approach. But there are other ways to fulfill my specific performance based feature request - you may truncate the list length at a configurable amount (ideally defaulted to some number like 50.
This is actually an important feature because one of the most popular (and imho important) packages for Atom (vim-mode-plus) necessarily implements many commands and these are all added to the command pallet. This makes the command pallet sluggish to open. I don't mind there being too many entries in the list from a searchability standpoint - typing filters effectively. I mind the slugishness when opening the command pallet and Atom feeling more bulky than it actually is due to VMP being such a beloved (and frequently installed) plugin.
Having this problem fixed by default out of the box when installing vmp is important because I'd love to be able to recommend Atom + VMP as a viable solution for long-time Vimmers, and know that the default out of box experience is going to feel great.
Another alternative solution is to incrementally render more rows, so that the initial opening is not blocked on rendering all of them. This is more complicated and probably doesn't improve the situation as effectively because it still renders many rows that are never seen by the user and creates a bunch of garbage for the system to manage that didn't provide much value. I doubt anyone opens the command palette and uses the down arrow to browser over 30, let alone 50 entries in the list - a compliment to the general user experience of the type-search experience.