[Github-comments] [geany] Rewrite scope completion 3 (#862)

Jiří Techet notifications at xxxxx
Mon Jan 11 23:59:47 UTC 2016


> That is likely to make autocompletion worse than it is now. 

How? This definitely didn't work before. What about trying it first?

> Everything in C++ is namespaced (or should be) so what you are saying is that no name in a namespace will provide an autocompletion.

It doesn't work for namespaces themselves only but works for the stuff inside - have a look at Colomban's example - you get scope completion for the contents of the classes inside.

> C++ autocompletion is such rubbish that I now turn it off. Python autoc is such an annoyance I turn it off. Basically I turn just it off completely. And decisions to arbitrarily not support large parts of a languages features doesn't help.

I can only say - patches are welcome. I'm not saying it's perfect but it's much better than before (which was really broken in some cases) and can always be improved. I don't want to put more and more patches on top of this (as you suggested yourself yesterday) because then it never gets merged.

> Thank you for putting the effort into it, but instead of using your effort trying to solve a broken system it would be a better spent to provide the hooks so plugins can control these things, with libclang being to obvious contender for C++.

This is something I'm not interested in - if you want to make clang work then clang will have to have full knowledge of the build process which means Geany will have to start managing your project. And this is not something I want Geany to evlove into - I want Geany to be build system independent and cross-language. If I wanted something like this, I'd just grab some full-blown IDE - I feel zero motivation to recreate something like that. And making such a thing work is A LOT more effort than the few hundreds lines in this patch.

I definitely wouldn't call the ctags parsing stuff "broken" - actually think the ctags parsing works wonderfully well (and is super-fast). It just depends what expectations you have - it won't be able to do some things like things that require function body parsing.

To be honest, I also don't care much about the autocompletion but the goto tag definition/declaration feature is fantastic (and getting https://github.com/geany/geany/pull/406 merged would make a much bigger practical difference for me than these patches).

The main benefit of these patches is mainly the TM cleanup - the patches merged a year ago concentrated mostly on tag sorting and management, these patches clean up searching. Some of the previous code was _really_ bad and hard to read and I think this will make TM much easier to maintain. The scope completion improvements are more or less a side-effect of this. There is some more TM-related work I'd like to do (Colomban, don't worry, should be more or less formal cleanups and not such headache-makers like this :-) but I think the code is pretty understandable now.

---
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/862#issuecomment-170737058
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.geany.org/pipermail/github-comments/attachments/20160111/592a32b6/attachment.html>


More information about the Github-comments mailing list