diff options
author | Suhail Singh <suhailsingh247@gmail.com> | 2024-10-29 23:14:18 -0400 |
---|---|---|
committer | Liliana Marie Prikler <liliana.prikler@gmail.com> | 2024-11-15 07:46:07 +0100 |
commit | f5f4978ec3cccc23357fdadb0bdbc3e16e7765d1 (patch) | |
tree | 48c38185cf0d9009059b6d873542583430e86eb0 | |
parent | 746ffecd869bd70a906929d742b1dbf97e35b535 (diff) | |
download | guix-f5f4978ec3cccc23357fdadb0bdbc3e16e7765d1.tar.gz |
gnu: Add emacs-visual-replace.
* gnu/packages/emacs-xyz.scm (emacs-visual-replace): New variable. Change-Id: I7c579785ed6b0e2989d16fb0b100e9860e8f38b9 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
-rw-r--r-- | gnu/packages/emacs-xyz.scm | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 8701717461..90a2637bde 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -16202,6 +16202,68 @@ wrapping lines at the window edge, which is the standard behaviour of 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") |