minad / cape

🦸cape.el - Completion At Point Extensions
GNU General Public License v3.0
603 stars 22 forks source link

[Wishlist] Better tag completion support (etags, gtags, ctags, etc) #65

Closed BooAA closed 1 year ago

BooAA commented 1 year ago

Hi, thanks for the awesome package.

I'm shifting all of my completion usage from company to corfu + cape. One thing I found missing is that there are not much support on tag completion (generally gnu global (gtags), etags, and universal ctags). Company comes with built-in support for gtags and etags, and there are third-party package for ctags (company-ctags). In the corfu README, the example of etags completion is using the complete-tag from etags.el, which in my experience is much much slower company-etags (especially for huge project like LInux Kernel where you can have GB of tags). And it seems no alternative to company-gtags and company-ctags yet. Although modern solution for completion is LSP, but tags are still useful for huge project which LSP do not scale well. I thinks it will be appreciated if cape can have tags completion support natively. Thanks.

minad commented 1 year ago

Hey, thanks!

Thanks also for the suggestion, but tag capfs are out of scope of cape and should be published separately or as part of the original tag packages.

Generally I would expect the tag capfs (gtags, etags, ctags) to behave well and to be sufficiently performant. If not, you may want to ask the maintainers of the respective packages. For now, you can also reuse the company backend via cape-company-to-capf.