summary refs log tree commit diff
diff options
context:
space:
mode:
authorFeng Shu <tumashu@163.com>2023-01-07 00:41:07 +0100
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2023-01-07 00:50:00 +0100
commit605a14a176c558458748c68a89df944b1993c549 (patch)
tree64af74bd61a70520f3ded75227f50d12e043f74a
parent11d9077be1097bb6e1cc4f7c960419e8658f2de5 (diff)
downloadguix-605a14a176c558458748c68a89df944b1993c549.tar.gz
gnu: Add emacs-citre.
* gnu/packages/emacs-xyz.scm (emacs-citre): New variable.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
-rw-r--r--gnu/packages/emacs-xyz.scm43
1 files changed, 43 insertions, 0 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 5718541971..d360d5606f 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -34148,6 +34148,49 @@ wraps GNU Global calls and integration to editor using this API with
 project.el and xref.el.")
       (license license:gpl3+))))
 
+(define-public emacs-citre
+  (package
+    (name "emacs-citre")
+    (version "0.3.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/universal-ctags/citre/")
+             (commit (string-append "v" version))))
+       (sha256
+        (base32 "168z6yidh2nxkmdlx9cqdzzb7achxdipnbk5pj9787m9bp1sdpkd"))
+       (file-name (git-file-name name version))))
+    (build-system emacs-build-system)
+    (arguments
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'set-external-programs
+            (lambda* (#:key inputs #:allow-other-keys)
+              (emacs-substitute-variables "citre-ctags.el"
+                ("citre-ctags-program"
+                 (search-input-file inputs "/bin/ctags")))
+              (emacs-substitute-variables "citre-readtags.el"
+                ("citre-readtags-program"
+                 (search-input-file inputs "/bin/readtags")))
+              (emacs-substitute-variables "citre-global.el"
+                ("citre-gtags-program"
+                 (search-input-file inputs "/bin/gtags")))
+              (emacs-substitute-variables "citre-global.el"
+                ("citre-global-program"
+                 (search-input-file inputs "/bin/global"))))))))
+    (inputs (list global universal-ctags))
+    (home-page "https://github.com/universal-ctags/citre")
+    (synopsis "Ctags IDE on the True Editor")
+    (description
+     "Citre is an advanced Ctags (or actually, readtags) frontend for
+Emacs. It offers Completion At Point, Xref and Imenu integration.  It also
+prodites a Completing Read UI for jumping to definition and a powerful code
+reading tool that lets you go down the rabbit hole without leaving current
+buffer.")
+    (license license:gpl3+)))
+
 (define-public emacs-seq
   (package
     (name "emacs-seq")