Since (IIUC) the cause of #3454 is the intention to limit the symbols visible 
at any point by using heuristics (originally dodgy uctags ones) to exclude 
symbols that definitely can't be visible.  The "its not the same language so it 
can't be visible" heuristic is the cause of the OP of #3454 exacerbated by 
simply using extensions, not the filetype.

As @kugel- pointed out for C/C++ there are situations where actual combinations 
of files affect visibility, and in reverse just because a `.h` file is open in 
Geany does not mean all its symbols are available in another C/C++ file but 
they are considered for autocompletes for example.  

This is the effect of the inability of the uctags/Geany to know about the 
build, without actual dependencies and following includes its simply not 
possible to do it correctly.

So its necessary to resort to heuristics, and they will never handle all 
situations.  The decision needs to be made to find the most useful tradeoff 
between how many omitted visible symbols there are vs how many incorrectly 
visible symbols there are.

This was one of the reasons I moved to Vscode for C++ and I can sort of confirm 
the problem using Vscode because I notice that when I add another file to a 
project but before I add it to the build, Vscode (even using an LSP) will give 
a very similar excessive set of rubbish symbols to uctags/Geany.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3490#issuecomment-1539952982
You are receiving this because you are subscribed to this thread.

Message ID: <geany/geany/pull/3490/[email protected]>

Reply via email to