]> git.eshelyaron.com Git - kubed.git/commitdiff
Support selecting context in all 'kubed-list-*' commands
authorEshel Yaron <me@eshelyaron.com>
Sat, 10 Aug 2024 15:10:08 +0000 (17:10 +0200)
committerEshel Yaron <me@eshelyaron.com>
Sat, 10 Aug 2024 15:10:08 +0000 (17:10 +0200)
* kubed.el (kubed-define-resource): Improve docstring and
interactive spec of generated 'kubed-list-*' commands.

kubed.el

index b5a1099ef8ccfa7e02b91524901ea224ecce5ae9..a75e394513b891d5f7886ee61b7913270c57002e 100644 (file)
--- a/kubed.el
+++ b/kubed.el
@@ -1319,13 +1319,29 @@ of %S, instead of just one." resource plrl-var)
                (current-buffer)))))
 
        (defun ,list-cmd (context . ,(when namespaced '(namespace)))
-         ,(format "List Kubernetes %S." plrl-var)
-         (interactive (list (kubed-current-context)
-                            . ,(when namespaced
-                                 '((let ((cur (kubed-current-namespace)))
-                                     (if current-prefix-arg
-                                         (kubed-read-namespace "Namespace" cur)
-                                       cur))))))
+         ,(if namespaced
+              (format "List Kubed-List-Update %S in context CONTEXT and namespace NAMESPACE.
+
+Interactively, use the current context and namespace by default.  With a
+prefix argument \\[universal-argument], prompt for NAMESPACE.  With a
+double prefix argument \\[universal-argument] \\[universal-argument], \
+prompt for CONTEXT as well." plrl-var)
+            (format "List Kubed-List-Update %S in context CONTEXT.
+
+Interactively, use the current context.  With a prefix argument
+\\[universal-argument], prompt for CONTEXT." plrl-var))
+         (interactive
+          (let* ((context (kubed-current-context))
+                 (context (if (equal current-prefix-arg
+                                     ,(if namespaced ''(16) ''(4)))
+                              (kubed-read-context "Context" context)
+                            context)))
+            (list context
+                  . ,(when namespaced
+                       '((let ((cur (kubed-current-namespace context)))
+                           (if current-prefix-arg
+                               (kubed-read-namespace "Namespace" cur nil context)
+                             cur)))))))
          (pop-to-buffer (,buff-fun context . ,(when namespaced '(namespace)))))
 
        (defun ,expl-cmd ()