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

    Fix: (hyperdrive-menu) Make deleting current or parent dir inapt
---
 hyperdrive-menu.el | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/hyperdrive-menu.el b/hyperdrive-menu.el
index 680220229a..1c9b2e014d 100644
--- a/hyperdrive-menu.el
+++ b/hyperdrive-menu.el
@@ -178,10 +178,14 @@
             (when-let ((entry-at-point (hyperdrive-dir--entry-at-point)))
               (not (hyperdrive--entry-directory-p entry-at-point)))))
      ("D" "Delete" hyperdrive-delete
-      :inapt-if-not (lambda ()
-                      (hyperdrive-writablep
-                       (hyperdrive-entry-hyperdrive
-                        (oref transient--prefix scope)))))
+      :inapt-if (lambda ()
+                  (let ((current-entry (oref transient--prefix scope))
+                        (selected-entry (hyperdrive--context-entry)))
+                    (or (not (hyperdrive-writablep
+                              (hyperdrive-entry-hyperdrive current-entry)))
+                        (eq selected-entry current-entry)
+                        (string= ".." (alist-get 'display-name
+                                                 (hyperdrive-entry-etc 
selected-entry)))))))
      ("w" "Copy URL" (lambda ()
                        (interactive)
                        (hyperdrive-copy-url (hyperdrive--context-entry))))

Reply via email to