diff options
author | Lee Thompson <lee.p.thomp@gmail.com> | 2025-01-03 11:18:48 +0100 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2025-01-03 11:59:35 +0100 |
commit | b1fed4ca569c99d5b4fd7e5cfff4c8c63d9cad17 (patch) | |
tree | fb4dcbf651e4699ee99ee01facbf2f0db8573ba4 /gnu/packages/emacs-xyz.scm | |
parent | 37ca28fa4e1f1ac0ab11ad616cb64585e885ac9b (diff) |
gnu: Add emacs-parinfer-rust-mode.
* gnu/packages/emacs-xyz.scm (emacs-parinfer-rust-mode): New variable.
Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Change-Id: I3db27c99bfb5286d5ca8d8bc5e7041eec070f02f
Diffstat (limited to 'gnu/packages/emacs-xyz.scm')
-rw-r--r-- | gnu/packages/emacs-xyz.scm | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 368df468974..e9e230c9fd1 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -290,6 +290,7 @@ #:use-module (gnu packages statistics) #:use-module (gnu packages libcanberra) #:use-module (gnu packages texinfo) + #:use-module (gnu packages text-editors) #:use-module (gnu packages virtualization) #:use-module (gnu packages web-browsers) #:use-module (gnu packages wget) @@ -27760,6 +27761,48 @@ mode for Lisp programming languages. It will infer some changes to keep Parens and Indentation inline with one another.") (license license:gpl3+))) +(define-public emacs-parinfer-rust-mode + (package + (name "emacs-parinfer-rust-mode") + (version "0.9.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/justinbarclay/parinfer-rust-mode") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1p00m757maw6dxig0x45gry1l7vm9dm6wg1anfm2rwl6hw1f5q25")))) + (build-system emacs-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda* (#:key inputs #:allow-other-keys) + (let ((parinfer-lib + (dirname + (search-input-file inputs "lib/libparinfer_rust.so")))) + ;; Specify the absolute file names of the parinfer shared + ;; library. + ;; (make-file-writable "parinfer-rust-mode.el") + (emacs-substitute-variables "parinfer-rust-mode.el" + ("parinfer-rust--lib-name" "libparinfer_rust.so") + ("parinfer-rust-library-dir" parinfer-lib)) + (emacs-substitute-sexps "parinfer-rust-mode.el" + ("defcustom parinfer-rust-library-directory" parinfer-lib) + ("defconst parinfer-rust--lib-name" + "libparinfer_rust.so")))))))) + (inputs (list parinfer-rust-emacs)) + (propagated-inputs (list emacs-track-changes)) + (home-page "https://github.com/justinbarclay/parinfer-rust-mode") + (synopsis "Lisp structure editing mode leveraging Parinfer Rust") + (description + "Parinfer Rust mode aims to be a simple implementation of Parinfer that +leverages the Parinfer Rust Emacs library to do most of the heavy lifting.") + (license license:gpl3+))) + (define-public emacs-helm-eww (package (name "emacs-helm-eww") |