This patch enables local variable and function parameter reporting for Python, GDScript, PHP, and Typescript.
Because these are dynamic languages and Geany scope autocompletion relies on static type information, scope completion doesn't work for these languages. However, at least we get non-scope autocompletion for local variables and function parameters.
Local variables in GDScript were previously mapped to tm_tag_other_t and were displayed in the sidebar. We don't display these tags for C/C++ in the sidebar and they should also be mapped to tm_tag_local_var_t which is why there is a diff in unit tests removing these variables from the output.
The python parser generates a slightly different output when function parameter parsing is enabled (whitespace only change) which causes the change of the output of some python unit tests. You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3275
-- Commit Summary --
* Update python parser to the latest version from uctags * Enable local variable and parameter tag reporting for various languages
-- File Changes --
M ctags/parsers/python.c (258) M src/tagmanager/tm_parser.c (23) M tests/ctags/cython_sample.pyx.tags (4) M tests/ctags/gdscript-inner-class.gd.tags (20) M tests/ctags/gdscript-modifiers.gd.tags (16) M tests/ctags/gdscript-no-implicit-class.gd.tags (14) M tests/ctags/simple.py.tags (4)
-- Patch Links --
https://github.com/geany/geany/pull/3275.patch https://github.com/geany/geany/pull/3275.diff