]> git.eshelyaron.com Git - kubed.git/commitdiff
; Don't generate extra nils for non-namespaced resources
authorEshel Yaron <me@eshelyaron.com>
Mon, 29 Jul 2024 06:17:14 +0000 (08:17 +0200)
committerEshel Yaron <me@eshelyaron.com>
Mon, 29 Jul 2024 06:17:14 +0000 (08:17 +0200)
* kubed.el (kubed-define-resource): Improve code generation
for non-namespaced resources.

kubed.el

index 487cde8b1caef15a8c9aa27f9b569ea60e13df5a..40a56c1e0debb8a147beaf1b5c3d6be7f717aa35 100644 (file)
--- a/kubed.el
+++ b/kubed.el
@@ -450,29 +450,29 @@ Optional argument DEFAULT is the minibuffer default argument." resource)
              (setq-local revert-buffer-function fun))
            buf))
 
-       ,(when namespaced
-          `(defun ,read-nms (prompt &optional default multi)
-             (let* ((choice
-                     (funcall
-                      (if multi #'completing-read-multiple #'completing-read)
-                      (format-prompt prompt default)
-                      (lambda (s p a)
-                        (if (eq a 'metadata)
-                            '(metadata
-                              (category
-                               . ,(intern (format "kubernetes-namespaced-%S" resource))))
-                          (while (and (process-live-p ,proc-var)
-                                      (null ,list-var))
-                            (accept-process-output ,proc-var 1))
-                          (complete-with-action a (mapcar (pcase-lambda (`(,name ,space . ,_))
-                                                            (concat name " " space))
-                                                          ,list-var)
-                                                s p)))
-                      nil 'confirm nil ',hist-var default))
-                    (split (mapcar (lambda (c)
-                                     (split-string c " "))
-                                   (ensure-list choice))))
-               (if multi split (car split)))))
+       ,@(when namespaced
+           `((defun ,read-nms (prompt &optional default multi)
+               (let* ((choice
+                       (funcall
+                        (if multi #'completing-read-multiple #'completing-read)
+                        (format-prompt prompt default)
+                        (lambda (s p a)
+                          (if (eq a 'metadata)
+                              '(metadata
+                                (category
+                                 . ,(intern (format "kubernetes-namespaced-%S" resource))))
+                            (while (and (process-live-p ,proc-var)
+                                        (null ,list-var))
+                              (accept-process-output ,proc-var 1))
+                            (complete-with-action a (mapcar (pcase-lambda (`(,name ,space . ,_))
+                                                              (concat name " " space))
+                                                            ,list-var)
+                                                  s p)))
+                        nil 'confirm nil ',hist-var default))
+                      (split (mapcar (lambda (c)
+                                       (split-string c " "))
+                                     (ensure-list choice))))
+                 (if multi split (car split))))))
 
        (defun ,dsp-name (,resource . ,(when namespaced '(&optional k8sns)))
          ,(format "Display Kubernetes %S %s."
@@ -486,11 +486,11 @@ Optional argument DEFAULT is the minibuffer default argument." resource)
 
        (add-hook 'kubed-update-hook #',updt-cmd)
 
-       ,(when namespaced
-          `(add-hook 'kubed-all-namespaces-mode-hook
-                     (lambda ()
-                       (setq ,list-var nil)
-                       (,updt-cmd))))
+       ,@(when namespaced
+           `((add-hook 'kubed-all-namespaces-mode-hook
+                       (lambda ()
+                         (setq ,list-var nil)
+                         (,updt-cmd)))))
 
        (defun ,edt-name (,resource . ,(when namespaced '(&optional k8sns)))
          ,(format "Edit Kubernetes %S %s."