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

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

[elpa] externals/embark 4a99b93 03/10: Add embark-hash-* commands


From: ELPA Syncer
Subject: [elpa] externals/embark 4a99b93 03/10: Add embark-hash-* commands
Date: Sat, 11 Dec 2021 19:57:17 -0500 (EST)

branch: externals/embark
commit 4a99b93192a05198bfec0a68439ef356ceb1da96
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    Add embark-hash-* commands
---
 embark.el | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/embark.el b/embark.el
index b1cbccb..4c5b127 100644
--- a/embark.el
+++ b/embark.el
@@ -3474,6 +3474,23 @@ With a prefix argument EDEBUG, instrument the code for 
debugging."
              (all-completions (symbol-name prefix)
                               obarray 'elp-profilable-p)))))
 
+(defmacro embark--define-hash (algorithm)
+  "Define command which computes hash from a string.
+ALGORITHM is the hash algorithm symbol understood by `secure-hash'."
+  `(defun ,(intern (format "embark-hash-%s" algorithm)) (str)
+     ,(format "Compute %s hash of STR and store it in the kill ring." 
algorithm)
+     (interactive "sString: ")
+     (let ((hash (secure-hash ',algorithm str)))
+       (kill-new hash)
+       (message "%s: %s" ',algorithm hash))))
+
+(embark--define-hash md5)
+(embark--define-hash sha1)
+(embark--define-hash sha224)
+(embark--define-hash sha256)
+(embark--define-hash sha384)
+(embark--define-hash sha512)
+
 ;;; Setup and pre-action hooks
 
 (defun embark--restart (&rest _)
@@ -3568,7 +3585,13 @@ and leaves the point to the left of it."
   :parent nil
   ("r" rot13-region)
   ("." morse-region)
-  ("-" unmorse-region))
+  ("-" unmorse-region)
+  ("m" embark-hash-md5)
+  ("1" embark-hash-sha1)
+  ("2" embark-hash-sha256)
+  ("3" embark-hash-sha356)
+  ("4" embark-hash-sha224)
+  ("5" embark-hash-sha512))
 
 (fset 'embark-encode-map embark-encode-map)
 



reply via email to

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