Indeed, I developed this for `company-capf`-based backends. I still haven't ported it to jsonrpc.el tho (I think, will check...) I've been meaning to ask you: in the long run, do you consider separating company's frontend logic completely so that a simpler mode non-company completion frontend can be integrated with emacs (one that would use company-capf exclusively)? João On Tue, Dec 11, 2018 at 6:09 PM Dmitry Gutov wrote: > On 15.10.2018 1:08, João Távora wrote: > > > (joaot/time > > (catch 'done > > (progn (make-process :name "test" > > :filter (lambda (proc string) > > (message "Hey %s just got %s" proc > string) > > (throw 'done nil)) > > :command '("sh" "-c" "sleep 2 && echo bla")) > > (while (sit-for 30))))) ; Took 02.011 seconds and returned > nil > > It's an interesting alternative to Company's async backend interface, > where we have a similar piece of code waiting until either completions > are returned or the user types something (in company--fetch-candidates). > > Which of course makes sense, given that CAPF has no async calling > convention. > -- João Távora