galeo / corfu-doc

Documentation popup for Corfu
GNU General Public License v3.0
64 stars 4 forks source link

Don't update doc frame immediately if it is visible, use idle timer #6

Closed AkibAzmain closed 2 years ago

AkibAzmain commented 2 years ago

Updating doc frame immediately makes Emacs slow, specially when browsing completion candidates. I changed corfu-doc--set-timer to hide doc frame when visible, then update using a idle timer instead of a ordinary timer.

galeo commented 2 years ago

Updating doc frame immediately makes Emacs slow, specially when browsing completion candidates.

Indeed in some cases. I have been thinking about whether the code can be adjusted to update the UI asynchronously. No progress. I tried vscode's Intellisense, which was very smooth. I hope the same effect can be achieved someday.

I changed corfu-doc--set-timer to hide doc frame when visible, then update using a idle timer instead of a ordinary timer.

Using idle timer may lead to some problem when using with flyspell. Please also see the comments in code review.

You can currently toggle on or off the documentation popup manually. Let's wait for a while to see if there are other ways to improve it. Thanks.

galeo commented 2 years ago

Hi @AkibAzmain

I've been busy recently. I just committed the code to try to solve the problem that this pull request wants to solve. Thanks for your patience to this pull request. Please try it to see if it works well.