summary refs log tree commit diff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-01-10 19:38:10 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-01-10 22:06:35 -0500
commit24ad9a9a48ca4f51505912224217a2a9688c7fa0 (patch)
tree63d61e32d0ddc355559f78ac0e7d49e5b5ab5de6
parent80d9e967e3b9e298a7b480ba0525e2e59df574c4 (diff)
downloadguix-24ad9a9a48ca4f51505912224217a2a9688c7fa0.tar.gz
gnu: Add emacs-enh-ruby-mode.
* gnu/packages/emacs-xyz.scm (emacs-enh-ruby-mode): New variable.
-rw-r--r--gnu/packages/emacs-xyz.scm39
1 files changed, 38 insertions, 1 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index b71432e975..b368ecf1bb 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -31,7 +31,7 @@
 ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
 ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
-;;; Copyright © 2017, 2018, 2019, 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2017, 2018, 2019, 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2018 Sohom Bhattacharjee <soham.bhattacharjee15@gmail.com>
 ;;; Copyright © 2018, 2019 Mathieu Lirzin <mthl@gnu.org>
 ;;; Copyright © 2018, 2019, 2020, 2021 Pierre Neidhardt <mail@ambrevar.xyz>
@@ -18349,6 +18349,43 @@ a fontified buffer and pass the data to any number of backends which can deal
 with specific output formats.")
     (license license:gpl3+)))
 
+(define-public emacs-enh-ruby-mode
+  ;; The latest tag is from 2019.
+  (let ((revision "0")
+        (commit "7e76d754e1632b4fc9a024fa393c3fc837bcc86b"))
+    (package
+      (name "emacs-enh-ruby-mode")
+      (version (git-version "2019111" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/zenspider/enhanced-ruby-mode")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1gc2kgvnzq6m6hswcvsd4c00xywi2phdnr121r53kvsv46avrq9z"))))
+      (build-system emacs-build-system)
+      (arguments
+       (list #:include #~(cons "^ruby/" %default-include)
+             #:tests? #t
+             #:test-command ''("rake" "test:all")
+             #:phases #~(modify-phases %standard-phases
+                          (add-after 'unpack 'set-default-ruby
+                            (lambda* (#:key inputs #:allow-other-keys)
+                              (emacs-substitute-variables "enh-ruby-mode.el"
+                                ("enh-ruby-program"
+                                 (search-input-file inputs "bin/ruby"))))))))
+      (native-inputs (list ruby-rake))
+      (inputs (list ruby))
+      (home-page "https://github.com/zenspider/Enhanced-Ruby-Mode")
+      (synopsis "Emacs major mode for editing Ruby files")
+      (description "@code{enh-ruby-mode} is a major mode providing syntax
+highlighting, navigation and indentation capabilities for editing Ruby source
+files.  It parses the source files using Ruby's builtin @code{Ripper} class
+and performs syntax checks on them.")
+      (license license:ruby))))
+
 (define-public emacs-inheritenv
   (package
     (name "emacs-inheritenv")