From 47ca64545e762d9b3901dc895cc44657e947368e Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Fri, 11 Nov 2016 15:18:40 -0800 Subject: Make the build to work with `ido'. When the completion system was set to `ido', the user was prompted which target to use, but nothing would be executed. --- pants.el | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/pants.el b/pants.el index 151b45f..b11478c 100644 --- a/pants.el +++ b/pants.el @@ -138,23 +138,30 @@ (while (re-search-forward "^\\(.+\\)$" nil t) (setq target (match-string 1)) (push target targets))) - (cond - ((eq pants-completion-system 'ivy) - (if (fboundp 'ivy-read) - (ivy-read "Pants Targets" targets - :action (lambda (target) (funcall action target))) - (user-error "Please install ivy from https://github.com/abo-abo/swiper"))) - ((eq pants-completion-system 'helm) - (if (fboundp 'helm) - (helm :sources - `((name . "Pants Targets") - (candidates . ,targets) - (action . action)) - :buffer "*helm pants targets*" - :prompt "pants: ") - (user-error "Please install helm from https://github.com/emacs-helm/helm"))) - ((eq pants-completion-system 'ido) - (ido-completing-read "Pants target: " targets))))) + (let (res) + (setq res + (cond + ((eq pants-completion-system 'ivy) + (if (fboundp 'ivy-read) + (ivy-read "Pants Targets" targets + :action (prog1 action + (setq action nil))) + (user-error "Please install ivy from https://github.com/abo-abo/swiper"))) + ((eq pants-completion-system 'helm) + (if (fboundp 'helm) + (helm :sources + (helm-make-source "Pants" 'helm-source-sync + :candidates targets + :action (prog1 action + (setq action nil)) + :buffer "*helm pants targets*" + :prompt "pants: ")) + (user-error "Please install helm from https://github.com/emacs-helm/helm"))) + ((eq pants-completion-system 'ido) + (ido-completing-read "Pants target: " targets)))) + (if action + (funcall action res) + res)))) (defun pants--get-build-file-for-current-buffer () "Finds the nearest build file for the current buffer" -- cgit 1.4.1