Subject: [PATCH] gnu: Add emacs-ggtags.

From: Oleg Pykhalov <[email-masked]>
Date: Sat, 14 Oct 2017 12:04:09 +0300

>From bcd267046dc0ab8e87356519d3e3c60a96f7d5a4 Mon Sep 17 00:00:00 2001
From: Oleg Pykhalov <[email-masked]>
Date: Sat, 14 Oct 2017 12:03:23 +0300
Subject: [PATCH] gnu: Add emacs-ggtags.

* gnu/packages/emacs.scm (emacs-ggtags): New variable.
---
 gnu/packages/emacs.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 66f0a2ebe..62338e998 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -1206,6 +1206,51 @@ Using emacs-direnv means that programs started from Emacs will use the
 environment set through Direnv.")
     (license license:gpl3+)))
 
+(define-public emacs-ggtags
+  (package
+    (name "emacs-ggtags")
+    (version "0.8.12")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://elpa.gnu.org/packages/ggtags-"
+                           version ".el"))
+       (sha256
+        (base32
+         "0ny3llk021g6r0s75xdm4hzpbxv393ddm2r6f2xdk8kqnq4gnirp"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/leoliu/ggtags")
+    (synopsis "Frontend to GNU Global source code tagging system")
+    (description "@code{ggtags} provides a frontend to GNU Global source code
+tagging system.
+
+Features:
+
+@itemize
+@item Build on @code{compile.el} for asynchronicity and its large feature-set.
+@item Automatically update Global's tag files when needed with tuning for
+large source trees.
+@item Intuitive navigation among multiple matches with mode-line display of
+current match, total matches and exit status.
+@item Read tag with completion.
+@item Show definition at point.
+@item Jump to #include files.
+@item Support search history and saving a search to register/bookmark.
+@item Query replace.
+@item Manage Global's environment variables on a per-project basis.
+@item Highlight (definition) tag at point.
+@item Abbreviated display of file names.
+@item Support all Global search backends: @code{grep}, @code{idutils}, etc.
+@item Support exuberant ctags @url{http://ctags.sourceforge.net/} and
+@code{pygments} backend.
+@item Support all Global's output formats: @code{grep}, @code{ctags-x},
+@code{cscope} etc.
+@item Support projects on remote hosts (e.g. via @code{tramp}).
+@item Support eldoc.
+@item Search @code{GTAGSLIBPATH} for references and symbols.
+@end itemize\n")
+    (license license:gpl3+)))
+
 (define-public emacs-go-mode
   (package
     (name "emacs-go-mode")
-- 
2.14.2