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 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