summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/emacs-xyz.scm29
1 files changed, 29 insertions, 0 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 0fece02697..7575049ea3 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -130,6 +130,7 @@
 ;;; Copyright © 2023 Gabriel Wicki <gabriel@erlikon.ch>
 ;;; Copyright © 2022-2023 Simon Josefsson <simon@josefsson.org>
 ;;; Copyright © 2023 Fabio Natali <me@fabionatali.com>
+;;; Copyright © 2023 Arnaud Lechevallier <arnaud.lechevallier@free.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -9062,6 +9063,34 @@ one Emacs buffer.")
 comparing characters, removing cursors, and more.")
       (license license:bsd-2))))
 
+(define-public emacs-substitute
+  (let ((commit "b81bb7789847f3d1645a60422fa080c48b93dd47")) ;version bump
+    (package
+      (name "emacs-substitute")
+      (version "0.1.8")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://git.sr.ht/~protesilaos/substitute")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "0s1lgpwmdjz17rd4r6qp41agmpqwa9976v1pb55p648zjh0p2vlz"))))
+      (build-system emacs-build-system)
+      (home-page "https://git.sr.ht/~protesilaos/substitute")
+      (synopsis "Efficiently replace targets in the buffer or context")
+      (description
+       "Substitute is a set of commands that perform text replacement (i)
+throughout the buffer, (ii) limited to the current definition (per
+narrow-to-defun), (iii) from point to the end of the buffer, and (iv) from
+point to the beginning of the buffer.
+
+These substitutions are meant to be as quick as possible and, as such, differ
+from the standard @code{query-replace} tool.  The provided commands prompt for
+substitute text and perform the substitution outright.")
+      (license license:gpl3+))))
+
 (define-public emacs-typo
   (package
     (name "emacs-typo")