leoliu / ggtags

Emacs frontend to GNU Global source code tagging system.

Home Page:http://elpa.gnu.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Q: counsel support?

FelipeLema opened this issue · comments

Would it be admisible to have counsel support?

I know that https://github.com/syohex/emacs-counsel-gtags exists, but there are two reasons I wouldn't use it.

  • it seems unmaintained: I tried to contact the owner by both twitter and e-mail with no answer
  • from the PRs I've done, it feels like there are several functions being re-implemented, most of them "just" because of some minor detail (namely: handling the compilation buffer is mixed with running global commands)

What I was thinking was to de-couple some functions to be able to extend support for different selection narrowing frameworks (compile-mode, counsel-or-ivy, helm).

I'm willing to do this, as long as the maintainers think it's something that belongs in this package. Needless to say, this work would keep compile-mode support and add counsel support. Most likely to add unit tests to keep this promise.

Hi @FelipeLema,

Sorry for the delay.

That sounds like a good idea to me. Personally I have no experience with those packages so I might not be able to offer much help beyond how to integrate with ggtags. Note ggtags is part of gnu elpa which requires copyright assignment for significant changes. I hope that is not an issue. Thanks in advance for the contribution.

Leo

Ok. I'll create a branch+PR for working in this soon (hopefully this week).

Excellent.

While documentating the functions I realized that most of the code in this package is to get by with the default behaviour of compilation-mode rather than handling global commands.

I don't say this as a critique, but rather to make it explicit that this package's purpose is to provide an interface to global in emacs through compilation-mode.

As such, I'd recommend anyone arriving to this issue to head over to my fork of emacs-counsel-tags that I'll be maintaining.

Thanks @leoliu for your good disposition.