diff options
| author | Franck Cuny <franckcuny@gmail.com> | 2016-11-11 14:07:54 -0800 |
|---|---|---|
| committer | Franck Cuny <franckcuny@gmail.com> | 2016-11-11 14:07:54 -0800 |
| commit | bd9b74bc1ac377408a62994c0927a2eb36e1fc0e (patch) | |
| tree | 85b9fcdc1ad29eda79bdaedca6513c3342fcd7fc | |
| parent | Add a new `defcustom` to support various completion systems. (diff) | |
| download | pants.el-bd9b74bc1ac377408a62994c0927a2eb36e1fc0e.tar.gz | |
Use the configured completion system.
A user can specify which completion system he wants to use. If the
system is installed, we use it, otherwise we return an error to the
user, asking her to install it.
| -rw-r--r-- | pants.el | 19 |
1 files changed, 17 insertions, 2 deletions
@@ -131,8 +131,23 @@ (while (re-search-forward "^\\(.+\\)$" nil t) (setq target (match-string 1)) (push target targets))) - (ivy-read "Pants Targets" targets - :action (lambda (target) (funcall action target))))) + (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))))) (defun pants--get-build-file-for-current-buffer () "Finds the nearest build file for the current buffer" |
