[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/helm bfde27990d 5/6: Add encrypt file action to HFF
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/helm bfde27990d 5/6: Add encrypt file action to HFF |
Date: |
Mon, 24 Mar 2025 10:01:11 -0400 (EDT) |
branch: elpa/helm
commit bfde27990db8deed6bc42ef21b47758da2599101
Author: Thierry Volpiatto <thievol@posteo.net>
Commit: Thierry Volpiatto <thievol@posteo.net>
Add encrypt file action to HFF
---
helm-files.el | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/helm-files.el b/helm-files.el
index 8581d8dcdc..961a3043db 100644
--- a/helm-files.el
+++ b/helm-files.el
@@ -92,6 +92,9 @@
(declare-function wfnames-setup-buffer "ext:wfnames.el")
(declare-function svg-lib-progress-bar "ext:svg-lib")
(declare-function svg-lib-tag "ext:svg-lib")
+(declare-function helm-epa-success-message "helm-epa")
+(declare-function helm-epa-collect-id-from-candidates "helm-epa")
+(declare-function helm-epa-collect-keys-from-candidates "helm-epa")
(defvar term-char-mode-point-at-process-mark)
(defvar term-char-mode-buffer-read-only)
@@ -839,6 +842,7 @@ want to use it, helm is still providing
" async" "")))
'helm-ff-delete-files
"Touch File(s) `M-T'" 'helm-ff-touch-files
+ "Encrypt file(s)" 'helm-ff-encrypt-files
"Copy file(s) `M-C, C-u to follow'" 'helm-find-files-copy
(lambda ()
(and (executable-find "rsync")
@@ -2126,6 +2130,27 @@ prefix arg shell buffer doesn't exists, create it and
switch to it."
(length failures)
(mapconcat (lambda (f) (format "- %s\n" f)) failures "")))))
+(defun helm-ff-encrypt-files (_candidate)
+ "Encrypt marked files."
+ (require 'epg) (require 'epa) (require 'helm-epa)
+ (let* ((mkds (helm-marked-candidates :with-wildcard t))
+ (recipients (helm :sources (helm-build-sync-source
+ "Select recipient for encryption: "
+ :persistent-action 'ignore
+ :candidates 'helm-epa-get-key-list
+ :action (lambda (_candidate)
+ (helm-marked-candidates))
+ :must-match t)
+ :buffer "*helm-ff epg keys*"))
+ (keys (and recipients (helm-epa-collect-keys-from-candidates
recipients)))
+ (ids (and recipients (helm-epa-collect-id-from-candidates
recipients))))
+ (when recipients ; may be aborted by quit.
+ (cl-loop for f in mkds
+ do (epa-encrypt-file f recipients))
+ (helm-epa-success-message (concat (format "%s File(s) encrypted" (length
mkds))
+ " with key(s):\n %s")
+ keys ids))))
+
(helm-make-command-from-action helm-ff-run-touch-files
"Used to interactively run touch file action from keyboard."
'helm-ff-touch-files)
- [nongnu] elpa/helm updated (3084975808 -> 5359372ac2), ELPA Syncer, 2025/03/24
- [nongnu] elpa/helm ffa0778ca4 2/6: Remove unused keymap, ELPA Syncer, 2025/03/24
- [nongnu] elpa/helm f32ac746d5 3/6: Add restore backup files action to hff, ELPA Syncer, 2025/03/24
- [nongnu] elpa/helm dc649ffbb0 4/6: Add change wall paper action to HFF, ELPA Syncer, 2025/03/24
- [nongnu] elpa/helm 5359372ac2 6/6: Add byte compile file async action to HFF, ELPA Syncer, 2025/03/24
- [nongnu] elpa/helm bfde27990d 5/6: Add encrypt file action to HFF,
ELPA Syncer <=
- [nongnu] elpa/helm 8b9639d29a 1/6: Add :action-transformer to helm-find-files-dummy-source, ELPA Syncer, 2025/03/24