[Github-comments] [geany/geany] Use python parser from uctags (PR #3031)

Jiří Techet notifications at xxxxx
Sun Nov 28 11:08:56 UTC 2021


This pull request updates the python parser to the uctags version. The most interesting things are from the following commit messages from the pull request:

tm_ctags update:
```
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.
```

cython unit test updates:
```
I'm not sure if cython is officially supported by uctags and there's a
slight problem where the new parser omits space between type and
function argument name. E.g. it produces

method(self,inti)

instead of

method(self,int i)
```

Not sure if we should worry about the cython output much - we could also drop the cython unit tests if desired.
You can view, comment on, or merge this pull request online at:

  https://github.com/geany/geany/pull/3031

-- Commit Summary --

  * Use uctags version of python
  * Update mappings in tm_parser.c
  * Update python unit tests
  * Update cython tests with a slightly buggy output

-- File Changes --

    M ctags/Makefile.am (2)
    D ctags/parsers/geany_python.c (862)
    A ctags/parsers/python.c (1597)
    M src/tagmanager/tm_parser.c (4)
    M tests/ctags/cython_sample.pyx.tags (6)
    M tests/ctags/cython_sample2.pyx.tags (2)
    M tests/ctags/py_constructor_arglist.py.tags (33)
    M tests/ctags/simple.py.tags (6)
    M tests/ctags/tabindent.py.tags (2)

-- Patch Links --

https://github.com/geany/geany/pull/3031.patch
https://github.com/geany/geany/pull/3031.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3031
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.geany.org/pipermail/github-comments/attachments/20211128/98c5cd7e/attachment.htm>


More information about the Github-comments mailing list