Use deferred:parallel in ein:jedi-complete

Also, destructuring-bind in the callback is fixed.
Previous version may work better than the current version
if I use this code.  But let's use this "parallel" approach
until I find some glitch.
This commit is contained in:
Takafumi Arakaki 2012-11-19 21:22:38 +01:00
parent 11ed4c539d
commit 6b911124ce

View file

@ -47,15 +47,20 @@
d))
(defun ein:jedi-complete ()
;; Should I make it parallel and call auto-complete at the end?
(deferred:nextc (jedi:complete-request)
(lambda ()
(auto-complete ein:jedi-dot-complete-sources)))
(deferred:nextc (ein:jedi--completer-complete)
(lambda (reply)
(destructuring-bind (matched-text matches) reply
(ein:completer-finish-completing-ac matched-text matches
ein:jedi-dot-complete-sources)))))
(deferred:$
(deferred:parallel ; or `deferred:earlier' is better?
(jedi:complete-request)
(ein:jedi--completer-complete))
(deferred:nextc it
(lambda (replies)
(destructuring-bind (_ ((&key matched_text matches
&allow-other-keys)
_)) replies
(if matches
(ein:completer-finish-completing-ac
matched_text matches
ein:jedi-dot-complete-sources)
(auto-complete ein:jedi-dot-complete-sources)))))))
(defun ein:jedi-dot-complete ()
(interactive)