Enable local variable and parameter tag reporting for various languages
commit06e8bdc1b3cd516a068c43bd68b76a498e1adeee
authorJiří Techet <techet@gmail.com>
Thu, 28 Apr 2022 23:15:11 +0000 (29 01:15 +0200)
committerJiří Techet <techet@gmail.com>
Fri, 2 Sep 2022 22:08:51 +0000 (3 00:08 +0200)
treeb3bc11b101633a14eaa02bc36a5cf3cb16249708
parent41b40120eaf3c1fcb46f9156de3585d3eaf2ec87
Enable local variable and parameter tag reporting for various languages

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.
src/tagmanager/tm_parser.c
tests/ctags/cython_sample.pyx.tags
tests/ctags/gdscript-inner-class.gd.tags
tests/ctags/gdscript-modifiers.gd.tags
tests/ctags/gdscript-no-implicit-class.gd.tags
tests/ctags/simple.py.tags