You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Switch to asynchronous racer command with timeouts.
This commit replaces blocking `call-process` with asynchronous `make-process`.
Instead we block explicitly until racer process output is received or timeout
fires. To that effect we introduce two new custom variables
`racer-command-timeout` and `racer-eldoc-timeout`. The latter is important because
Eldoc runs every time Emacs is idle but the user should be able to start typing
any time without waiting on the racer process. Timeout value of nil will wait for
the output indefinitely.
I observed that the first time `racer` shell process runs it may take a while to
respond probably due to indexing. Following responses tend to be snappy. For that
reason and because user asking for completion is likely ok with a bit of waiting
`racer-command-timeout` defaults to nil. `racer-eldoc-timeout` however should be
fairly low. How low depends on your machine, etc. Value of 0.1 was too short on my
machine, but 0.5 seems to work fairly reliably.
Hopefully fixesracer-rust#97
0 commit comments