Subject: [bug#28830] [PATCH] gnu: Add emacs-ggtags.

From: Christopher Baines <[email-masked]>
Date: Mon, 16 Oct 2017 06:51:31 +0100

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

> 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")

I'd suggest putting "the" in here, so "Frontend to the GNU Global ...",
as I think that reads better.

> +    (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")

Similarly with "the GNU Global" in the description. What do you think?
Apart from that, this looks fine to me :)