unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* gtags/ctags/etags/cscope support?
@ 2019-03-23 16:06 Ergus
  2019-03-23 16:44 ` Eli Zaretskii
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Ergus @ 2019-03-23 16:06 UTC (permalink / raw)
  To: emacs-devel

Hi all:

Some days ago Stefan was talking about ebrowse but now it makes me
think.

Between global/gtags/ctags/etags/cscope which of them has been (|| will
be) better supported in emacs. Because there are many packages around
but I can't estimate their popularity.

Is it there any internal support for any of them within emacs? Is the
ggtags package actively maintained? 

Because I want to invest some time in one of them to improve the support
for tramp and ivy.

Which of them has more potential in your opinion?

Thanks in advance
Ergus



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: gtags/ctags/etags/cscope support?
  2019-03-23 16:06 gtags/ctags/etags/cscope support? Ergus
@ 2019-03-23 16:44 ` Eli Zaretskii
  2019-03-23 18:45   ` Ergus
  2019-03-23 16:48 ` Konstantin Kharlamov
  2019-03-23 18:33 ` Vladimir Sedach
  2 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2019-03-23 16:44 UTC (permalink / raw)
  To: Ergus; +Cc: emacs-devel

> Date: Sat, 23 Mar 2019 17:06:24 +0100
> From: Ergus <spacibba@aol.com>
> 
> Some days ago Stefan was talking about ebrowse but now it makes me
> think.
> 
> Between global/gtags/ctags/etags/cscope which of them has been (|| will
> be) better supported in emacs. Because there are many packages around
> but I can't estimate their popularity.
> 
> Is it there any internal support for any of them within emacs? Is the
> ggtags package actively maintained? 
> 
> Because I want to invest some time in one of them to improve the support
> for tramp and ivy.
> 
> Which of them has more potential in your opinion?

It would indeed be interesting to have a comparison table of features
in one place.  Then we could try to figure out what we want to
support.  I'm guessing no single tool in its current form will do.

I can help with the little I know:

  . etags includes support for many languages (see the list at the end
    of what "etags --help" displays), including some "languages", like
    HTML, which aren't really programming languages.  However, support
    for some of the languages is very basic.  Also, etags is only
    partially useful for C++.

  . ebrowse supports C++, but it wasn't updated for new C++ features
    in a very long time, so it probably is not really up to job
    nowadays.

For inclusion in Emacs, we should also consider whether it will be
possible to get copyright assignment from the contributors.

Thanks.



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: gtags/ctags/etags/cscope support?
  2019-03-23 16:06 gtags/ctags/etags/cscope support? Ergus
  2019-03-23 16:44 ` Eli Zaretskii
@ 2019-03-23 16:48 ` Konstantin Kharlamov
  2019-03-23 18:33 ` Vladimir Sedach
  2 siblings, 0 replies; 6+ messages in thread
From: Konstantin Kharlamov @ 2019-03-23 16:48 UTC (permalink / raw)
  To: Ergus; +Cc: emacs-devel



В Сб, мар 23, 2019 at 7:06 ПП (PM), Ergus <spacibba@aol.com> 
написал:
> Hi all:
> 
> Some days ago Stefan was talking about ebrowse but now it makes me
> think.
> 
> Between global/gtags/ctags/etags/cscope which of them has been (|| 
> will
> be) better supported in emacs. Because there are many packages around
> but I can't estimate their popularity.

AFAIK ctags and etags share the same format. There's a lot of different 
apps that generate TAGS file, e.g. etags, ctags, anjuta-tags; then 
there were some old unsupported ctags, but nowadays by ctags usually 
implied "universal ctags" which is the maintained version of older 
ctags.

I can't answer for the rest of them. But one thing I can tell: tags 
stuff is very popular because it allows to share some infrastructure 
with Vim. Ofc formats are a bit different, but not very much, and 
usually tagging apps can produce both Emacs and Vim formats.

To add even more confusion: nowadays there's an open LSP standard, and 
I think it's the future. It supports a lot of different editors, lots 
of languages, and is more flexible than tags (in LSP, basically, you 
have a separate server running that provides features to editors).

> Is it there any internal support for any of them within emacs? Is the
> ggtags package actively maintained?
> Because I want to invest some time in one of them to improve the 
> support
> for tramp and ivy.
> 
> Which of them has more potential in your opinion?
> 
> Thanks in advance
> Ergus
> 





^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: gtags/ctags/etags/cscope support?
  2019-03-23 16:06 gtags/ctags/etags/cscope support? Ergus
  2019-03-23 16:44 ` Eli Zaretskii
  2019-03-23 16:48 ` Konstantin Kharlamov
@ 2019-03-23 18:33 ` Vladimir Sedach
  2 siblings, 0 replies; 6+ messages in thread
From: Vladimir Sedach @ 2019-03-23 18:33 UTC (permalink / raw)
  To: Ergus; +Cc: emacs-devel

> Between global/gtags/ctags/etags/cscope which of them has been (|| will
> be) better supported in emacs. Because there are many packages around
> but I can't estimate their popularity.

I can talk about Cscope. It is a very different tool from the others
mentioned, since it supports only C (the Cscope web page claims it is
useful for C++ and Java, but I think that is being generous).

There are a lot of Cscope interfaces for GNU Emacs. In 2017 I looked
at most of them and concluded that Robert Jarzmik rscope[1] was the
most robust and easiest to work with. In particular, it worked very
well with Tramp.

I wanted something that was based on compilation-mode and followed
modern GNU Emacs conventions (in particular, multi-occur), so I took
Jarzmik's work and made a package called rcscope[2]. I have not
submitted it to ELPA/MELPA yet, because I want to add editing
functionality that works in the same way as wgrep-mode, and clean up
some mistakes I made in how configuration is done, before releasing.
It should be straightforward to add ivy support to the package.

Vladimir

[1] https://github.com/rjarzmik/rscope
[2] https://github.com/vsedach/rcscope



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: gtags/ctags/etags/cscope support?
  2019-03-23 16:44 ` Eli Zaretskii
@ 2019-03-23 18:45   ` Ergus
  2019-03-23 19:00     ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Ergus @ 2019-03-23 18:45 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

On Sat, Mar 23, 2019 at 06:44:40PM +0200, Eli Zaretskii wrote:
>> Date: Sat, 23 Mar 2019 17:06:24 +0100
>> From: Ergus <spacibba@aol.com>
>>
>> Some days ago Stefan was talking about ebrowse but now it makes me
>> think.
>>
>> Between global/gtags/ctags/etags/cscope which of them has been (|| will
>> be) better supported in emacs. Because there are many packages around
>> but I can't estimate their popularity.
>>
>> Is it there any internal support for any of them within emacs? Is the
>> ggtags package actively maintained?
>>
>> Because I want to invest some time in one of them to improve the support
>> for tramp and ivy.
>>
>> Which of them has more potential in your opinion?
>
>It would indeed be interesting to have a comparison table of features
>in one place.  Then we could try to figure out what we want to
>support.  I'm guessing no single tool in its current form will do.
>
The comparison already exist; independently of how accurate it is. There
is a link in the global's page:

https://github.com/oracle/opengrok/wiki/Comparison-with-Similar-Tools

The formats are very similar; and gtags can use ctags if it is set in
compilation time, because the search algorithms in ctags seems to be
apparently more improved.

There is a package for gtags in elpa, but for me it was too
intrusive because most of it's code is to add keybinds and add graphical
windows that I don't use; while the fundamental calls are only less than
10% of the code.

The ctags tool is more frequent to find everywhere because works in vim
out of the box.

The other point is that in case of using tramp it is theoretically
possible to use a remote tags file with the local executable but I am
not "lispy" enough yet to implement such a thing myself from scratch.

>I can help with the little I know:
>
>  . etags includes support for many languages (see the list at the end
>    of what "etags --help" displays), including some "languages", like
>    HTML, which aren't really programming languages.  However, support
>    for some of the languages is very basic.  Also, etags is only
>    partially useful for C++.
>
>  . ebrowse supports C++, but it wasn't updated for new C++ features
>    in a very long time, so it probably is not really up to job
>    nowadays.
>
>For inclusion in Emacs, we should also consider whether it will be
>possible to get copyright assignment from the contributors.
>
>Thanks.
>



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: gtags/ctags/etags/cscope support?
  2019-03-23 18:45   ` Ergus
@ 2019-03-23 19:00     ` Eli Zaretskii
  0 siblings, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2019-03-23 19:00 UTC (permalink / raw)
  To: Ergus; +Cc: emacs-devel

> Date: Sat, 23 Mar 2019 19:45:44 +0100
> From: Ergus <spacibba@aol.com>
> Cc: emacs-devel@gnu.org
> 
> >It would indeed be interesting to have a comparison table of features
> >in one place.  Then we could try to figure out what we want to
> >support.  I'm guessing no single tool in its current form will do.
> >
> The comparison already exist; independently of how accurate it is. There
> is a link in the global's page:
> 
> https://github.com/oracle/opengrok/wiki/Comparison-with-Similar-Tools

That doesn't sound too useful to me (does "ctags" there allude to our
etags?), e.g. it doesn't say which languages are supported.  And I'm
not really sure I understand how that comparison will help you in
your quest.

> The other point is that in case of using tramp it is theoretically
> possible to use a remote tags file with the local executable but I am
> not "lispy" enough yet to implement such a thing myself from scratch.

Doesn't visit-tags-table support remote file names?  If it does, you
just visit TAGS that lives on the remote machine, and then the
"normal" etags commands will just work.



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-03-23 19:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-23 16:06 gtags/ctags/etags/cscope support? Ergus
2019-03-23 16:44 ` Eli Zaretskii
2019-03-23 18:45   ` Ergus
2019-03-23 19:00     ` Eli Zaretskii
2019-03-23 16:48 ` Konstantin Kharlamov
2019-03-23 18:33 ` Vladimir Sedach

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).