Branch: refs/heads/master Author: Jiří Techet techet@gmail.com Committer: Jiří Techet techet@gmail.com Date: Mon, 14 Mar 2022 19:22:47 UTC Commit: 83c0439cec5616f2fe27e553fdc0d5b2617debe7 https://github.com/geany/geany/commit/83c0439cec5616f2fe27e553fdc0d5b2617deb...
Log Message: ----------- Update mappings in tm_parser.c
The new parser generates 2 tags for import statements like
from A import B
For A tag of the 'i' kind is generated, for B, tag of the kind 'x' is generated. B includes A in its scope and when we omit generation of 'i', imports are printed in the sidebar with the full scope information like
Imports django.views.decorators.csrf.csrf_exempt django.views.decorators.csrf.csrf_exempt2 django.views.decorators.http.require_POST
When we generate 'i' and map it to something (I used tm_tag_externvar_t like for the imports themselves, there's nothing in the tag types we have that would be a good semantic candidate here), the result in the sidebar is
Imports django.views.decorators.csrf csrf_exempt csrf_exempt2 django.views.decorators.http require_POST
which is more readable IMO.
Modified Paths: -------------- src/tagmanager/tm_parser.c
Modified: src/tagmanager/tm_parser.c 4 lines changed, 4 insertions(+), 0 deletions(-) =================================================================== @@ -136,9 +136,13 @@ static TMParserMapEntry map_PYTHON[] = { {'f', tm_tag_function_t}, {'m', tm_tag_method_t}, {'v', tm_tag_variable_t}, + {'I', tm_tag_undef_t}, + {'i', tm_tag_externvar_t}, /* defined as externvar to get those excluded as forward type in symbols.c:goto_tag() * so we can jump to the real implementation (if known) instead of to the import statement */ {'x', tm_tag_externvar_t}, + {'z', tm_tag_undef_t}, + {'l', tm_tag_undef_t}, };
/* different parser than tex.c from universal-ctags */
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).