unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: "Suhail Singh" <suhailsingh247@gmail.com>
To: 74100@debbugs.gnu.org
Cc: Andrew Tropin <andrew@trop.in>,
	Katherine Cox-Buday <cox.katherine.e+guix@gmail.com>,
	Liliana Marie Prikler <liliana.prikler@gmail.com>
Subject: [bug#74100] [PATCH] gnu: Add emacs-visual-replace.
Date: Tue, 29 Oct 2024 23:14:18 -0400	[thread overview]
Message-ID: <16e50046314ebabd8ef0993065342b5afda4c114.1730255311.git.suhail@bayesians.ca> (raw)


* gnu/packages/emacs-xyz.scm (emacs-visual-replace): New variable.

Change-Id: I7c579785ed6b0e2989d16fb0b100e9860e8f38b9
---
 gnu/packages/emacs-xyz.scm | 62 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 488b4cb5d7..367cafdd85 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -16175,6 +16175,68 @@ (define-public emacs-visual-fill-column
 window edge.")
     (license license:gpl3+)))
 
+(define-public emacs-visual-replace
+  (package
+    (name "emacs-visual-replace")
+    ;; XXX: when updating version, please ensure substitution in install-info
+    ;; phase is still accurate.
+    (version "1.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/szermatt/visual-replace")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "085dg77wpa371i8lvsl9ckm09yfjvqwym6wrs8lxfvih5jd7mm1b"))))
+    (build-system emacs-build-system)
+    (arguments
+     (list
+      #:tests? #t
+      #:phases #~(modify-phases %standard-phases
+                   (add-before 'check 'add-test-dir-to-emacs-load-path
+                     (lambda _
+                       (setenv "EMACSLOADPATH"
+                               (string-append (getcwd) "/test:"
+                                              (getenv "EMACSLOADPATH")))))
+                   (add-after 'install 'install-info
+                     (lambda* (#:key outputs #:allow-other-keys)
+                       (let* ((out (assoc-ref outputs "out"))
+                              (info-dir (string-append out "/share/info")))
+                         (invoke "eldev" "build" "--force"
+                                 "visual-replace.texi")
+                         (with-directory-excursion "docs/build/texinfo"
+                           (substitute* "visual-replace.texi"
+                             ;; XXX: Undo damage caused by sphinx-build
+                             (("visual-replace ([^,]+), Jan 01, 1970" _ ver)
+                              (string-append "visual-replace " ver))
+                             (("@copyright\\{\\} 2020-1970")
+                              "@copyright{} 2020-2024"))
+                           (invoke "make" "info")
+                           (install-file "./visual-replace.info" info-dir)
+                           (copy-recursively "./visual-replace-figures"
+                                             (string-append info-dir
+                                              "/visual-replace-figures")))))))
+      #:test-command #~(list "eldev" "--use-emacsloadpath" "-dtTC" "test")))
+    (native-inputs (list emacs-eldev python-sphinx texinfo))
+    (home-page "https://github.com/szermatt/visual-replace")
+    (synopsis
+     "Alternate interface for @code{replace-string} and @code{query-replace}")
+    (description
+     "@code{visual-replace} provides an alternate interface for search and
+replacement commands that supports previews.  The interface also allows one to
+edit both the query-text and its replacement in the same minibuffer prompt.
+The interface covers the following commands:
+
+@enumerate
+@item @code{replace-string}
+@item @code{replace-regexp}
+@item @code{query-replace}
+@item @code{query-replace-regexp}
+@end enumerate")
+    (license license:gpl3+)))
+
 (define-public emacs-writeroom
   (package
     (name "emacs-writeroom")

base-commit: a9c33e9f688fce88aed610ab04c650efb71b4ce6
-- 
2.47.0





             reply	other threads:[~2024-10-30  3:15 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-30  3:14 Suhail Singh [this message]
2024-11-03 20:58 ` [bug#74100] [PATCH] gnu: Add emacs-visual-replace Nicolas Graves via Guix-patches via
2024-11-03 22:45   ` Suhail Singh
2024-11-15  7:42     ` bug#74100: " Liliana Marie Prikler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=16e50046314ebabd8ef0993065342b5afda4c114.1730255311.git.suhail@bayesians.ca \
    --to=suhailsingh247@gmail.com \
    --cc=74100@debbugs.gnu.org \
    --cc=andrew@trop.in \
    --cc=cox.katherine.e+guix@gmail.com \
    --cc=liliana.prikler@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).