~ruther/guix-local

f5f4978ec3cccc23357fdadb0bdbc3e16e7765d1 — Suhail Singh 2 years ago 746ffec
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>
1 files changed, 62 insertions(+), 0 deletions(-)

M gnu/packages/emacs-xyz.scm
M gnu/packages/emacs-xyz.scm => gnu/packages/emacs-xyz.scm +62 -0
@@ 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")