This is for completions in "M-x shell".
>From 5c2294db69811395650db151d14d548495002cfb Mon Sep 17 00:00:00 2001
From: Alex Kost <[email protected]>
Date: Wed, 28 Oct 2015 20:48:45 +0300
Subject: [PATCH] emacs: Add shell completions for 'guix refresh --type'.
* emacs/guix-pcomplete.el (guix-pcomplete-refresh-updaters): New function.
(guix-pcomplete-complete-option-arg): Complete '-t/--type' option for
'guix refresh' command.
---
emacs/guix-pcomplete.el | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/emacs/guix-pcomplete.el b/emacs/guix-pcomplete.el
index 98f8efd..3074dc8 100644
--- a/emacs/guix-pcomplete.el
+++ b/emacs/guix-pcomplete.el
@@ -128,6 +128,13 @@ subcommands, actions, etc. for this guix COMMAND."
guix-help-parse-regexp-group
"graph" "--list-types"))
+(guix-memoized-defun guix-pcomplete-refresh-updaters ()
+ "Return a list of all available refresh updater types."
+ (guix-pcomplete-run-guix-and-search
+ guix-help-parse-list-regexp
+ guix-help-parse-regexp-group
+ "refresh" "--list-updaters"))
+
;;; Completing
@@ -287,9 +294,12 @@ INPUT is the current partially completed string."
(option? "-u" "--user"))
(complete* (pcmpl-unix-user-names)))
- ((and (command? "refresh")
- (option? "-s" "--select"))
- (complete* guix-help-refresh-subsets))
+ ((command? "refresh")
+ (cond
+ ((option? "-s" "--select")
+ (complete* guix-help-refresh-subsets))
+ ((option? "-t" "--type")
+ (complete* (guix-pcomplete-refresh-updaters)))))
((and (command? "size")
(option? "-m" "--map-file"))
--
2.5.0