[Github-comments] Re: [geany/geany] in document.c symbols_find_typenames_as_string returns always empty string, if tag_parser=Pascal (Issue #3848)

2024-04-21 Thread elextr via Github-comments
The problem with loading all external tags into the wordlists is that the lexers only recognise syntactic elements, in this case "identifier" and not the semantics that it is a typename or a function name. Also they have no knowledge of scope and no way to pass that information to them. The

[Github-comments] Re: [geany/geany] in document.c symbols_find_typenames_as_string returns always empty string, if tag_parser=Pascal (Issue #3848)

2024-04-21 Thread HoTschir via Github-comments
Ok, thats the cause of current behavior. But from my point of view, it should not be so. Then at least for every file type an own TM_GLOBAL_TYPE_MASK should be definable. tm_workspace.c seems to be written for C/C++ language only. I see also in other parts of source code to much focus on C and

[Github-comments] Re: [geany/geany] in document.c symbols_find_typenames_as_string returns always empty string, if tag_parser=Pascal (Issue #3848)

2024-04-21 Thread HoTschir via Github-comments
Closed #3848 as completed. -- Reply to this email directly or view it on GitHub: https://github.com/geany/geany/issues/3848#event-12550086680 You are receiving this because you are subscribed to this thread. Message ID:

[Github-comments] Re: [geany/geany] in document.c symbols_find_typenames_as_string returns always empty string, if tag_parser=Pascal (Issue #3848)

2024-04-20 Thread elextr via Github-comments
The Pascal parser only recognises functions and procedures, it would need extending (upstream in uctags) to recognise type declarations before anything can happen in Geany. And as @b4n says, only type names are passed to the lexer for highlighting. -- Reply to this email directly or view it

[Github-comments] Re: [geany/geany] in document.c symbols_find_typenames_as_string returns always empty string, if tag_parser=Pascal (Issue #3848)

2024-04-20 Thread Colomban Wendling via Github-comments
`symbols_find_typenames_as_string()` uses `symbols_find_typenames_as_string()`, which itself uses `tm_workspace::typename_array`. This is filled *only* with what is deemed a "typename", which currently has to match `TM_GLOBAL_TYPE_MASK` (which is any of `tm_tag_class_t`, `tm_tag_enum_t`,

[Github-comments] Re: [geany/geany] in document.c symbols_find_typenames_as_string returns always empty string, if tag_parser=Pascal (Issue #3848)

2024-04-20 Thread HoTschir via Github-comments
additional information: * attached a pascal source file to be used to verify the problem. [test_small.zip](https://github.com/geany/geany/files/15048965/test_small.zip) * patch to see content of `typedefs` inside `symbols_find_typenames_as_string` ``` --- ./src/symbols.c +++ ./src/symbols.c.new