emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/hyperdrive c9d89d6fb9 038/123: Change: (hyperdrive-set-nic


From: ELPA Syncer
Subject: [nongnu] elpa/hyperdrive c9d89d6fb9 038/123: Change: (hyperdrive-set-nickname) Accept THEN callback
Date: Fri, 6 Oct 2023 01:01:01 -0400 (EDT)

branch: elpa/hyperdrive
commit c9d89d6fb90fc3e084bbe24f9eacd774bafaae85
Author: Joseph Turner <joseph@ushin.org>
Commit: Joseph Turner <joseph@ushin.org>

    Change: (hyperdrive-set-nickname) Accept THEN callback
---
 hyperdrive.el | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/hyperdrive.el b/hyperdrive.el
index 3e7ae9c4fd..7a6bca0730 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -207,10 +207,13 @@ Universal prefix argument \\[universal-argument] forces
   ;; TODO: Consider refreshing buffer names, directory headers, etc.
   hyperdrive)
 
-(defun hyperdrive-set-nickname (nickname hyperdrive)
+(cl-defun hyperdrive-set-nickname (nickname hyperdrive &key (then #'ignore))
   "Set HYPERDRIVE's NICKNAME.
 Returns HYPERDRIVE.
 
+Asynchronous callback calls THEN with the updated hyperdrive as
+its only argument.
+
 Universal prefix argument \\[universal-argument] forces
 `hyperdrive-complete-hyperdrive' to prompt for a hyperdrive."
   (interactive
@@ -233,7 +236,8 @@ Universal prefix argument \\[universal-argument] forces
             :then (pcase-lambda ((cl-struct plz-response headers))
                     (hyperdrive-message "Unset nickname")
                     (hyperdrive--fill-latest-version hyperdrive headers)
-                    (hyperdrive-persist hyperdrive))))
+                    (hyperdrive-persist hyperdrive)
+                    (funcall then hyperdrive))))
       (setf (alist-get 'name (hyperdrive-metadata hyperdrive)) nickname)
       (hyperdrive-put-metadata hyperdrive
         :then (pcase-lambda ((cl-struct plz-response headers))
@@ -241,7 +245,8 @@ Universal prefix argument \\[universal-argument] forces
                                     (hyperdrive--format-hyperdrive hyperdrive)
                                     (hyperdrive--format-host hyperdrive 
:format '(nickname)))
                 (hyperdrive--fill-latest-version hyperdrive headers)
-                (hyperdrive-persist hyperdrive))))
+                (hyperdrive-persist hyperdrive)
+                (funcall then hyperdrive))))
     ;; TODO: Consider refreshing buffer names, directory headers, etc, 
especially host-meta.json entry buffer.
     )
   hyperdrive)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]