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)) d))
(defun ein:jedi-complete () (defun ein:jedi-complete ()
;; Should I make it parallel and call auto-complete at the end? (deferred:$
(deferred:nextc (jedi:complete-request) (deferred:parallel ; or `deferred:earlier' is better?
(lambda () (jedi:complete-request)
(auto-complete ein:jedi-dot-complete-sources))) (ein:jedi--completer-complete))
(deferred:nextc (ein:jedi--completer-complete) (deferred:nextc it
(lambda (reply) (lambda (replies)
(destructuring-bind (matched-text matches) reply (destructuring-bind (_ ((&key matched_text matches
(ein:completer-finish-completing-ac matched-text matches &allow-other-keys)
ein:jedi-dot-complete-sources))))) _)) 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 () (defun ein:jedi-dot-complete ()
(interactive) (interactive)