> 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

Reply via email to