summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--etc/completion/bash/guix13
1 files changed, 13 insertions, 0 deletions
diff --git a/etc/completion/bash/guix b/etc/completion/bash/guix
index 9c851e3717..00c3dfaf49 100644
--- a/etc/completion/bash/guix
+++ b/etc/completion/bash/guix
@@ -113,6 +113,12 @@ _guix_complete_file ()
     COMPREPLY=()
 }
 
+_guix_complete_pid ()
+{
+    local pids="$(cd /proc; echo [0-9]*)"
+    COMPREPLY=($(compgen -W "$pids" -- "$1"))
+}
+
 declare _guix_subcommands
 
 _guix_complete ()
@@ -158,6 +164,13 @@ _guix_complete ()
 		    2) _guix_complete_subcommand;;
 		    *) _guix_complete_file;; # TODO: restrict to *.scm
 		esac
+	    elif _guix_is_command "container"
+	    then
+		case $COMP_CWORD in
+		    2) _guix_complete_subcommand;;
+		    3) _guix_complete_pid "$word_at_point";;
+		    *) _guix_complete_file;;
+		esac
 	    elif _guix_is_command "import"
 	    then
 		_guix_complete_subcommand