Subject: [bug#69618] [PATCH] gnu: emacs-xyz: Add emacs-xref-union.

From: Daniel Ziltener <[email-masked]>
Date: Wed, 24 Jan 2024 21:47:41 +0100

---
 gnu/packages/emacs-xyz.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 7d3e2dc17e..d9c4600f34 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -37633,6 +37633,34 @@ (define-public emacs-xref
 commands, in particular @code{find-definition}.")
     (license license:gpl3+)))
 
+(define-public emacs-xref-union
+  (package
+    (name "emacs-xref-union")
+    (version "0.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://elpa.gnu.org/packages/xref-union-"
+                           version ".tar"))
+       (sha256
+        (base32
+         "0kcmg9fm9gcpdxfwx7c6zz29krf69j5nh6knv2x3df65sbzwdj0b"))))
+    (build-system emacs-build-system)
+    (home-page "https://elpa.gnu.org/packages/xref-union.html")
+    (synopsis "Combine multiple Xref backends")
+    (description
+     "This package provides a way to combine multiple Xref source
+(e.g. Etags and Eglot) and have the results all at once.
+
+To enable, toggle the @code{xref-union-mode} minor mode.  If you want to
+exclude certain modes, take a look at the user option
+`xref-union-excluded-backends'.
+
+You can also manually make use of @code{xref-union} by adding an object
+of the form @code{(union XREF-BACKEND-1 XREF-BACKEND-2 ...)} to
+@code{xref-backend-functions}.")
+    (license license:gpl3+)))
+
 (define-public emacs-burly
   (package
     (name "emacs-burly")
-- 
2.43.0