Add `parsers/c-based.c` from ctags (the only change was to remove the `macroConditionRoleIndex` argument to `cppInit` as our ctags doesn't have it yet).
This is work in progress, I am making a list of things which aren't handled correctly that were by Geany: * function template calltips - the runtime parameter list is not shown * `template` decl members don't have parent * TODO other things
Improvements: * `alias foo = bar;` now parsed * `static if` bodies now parsed but don't set parent * more tag types rather than reusing existing types, listed under templates, aliases, mixins * mixin statements now parsed
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3479
-- Commit Summary --
* Add warning that geany_c.c is not used for C & C++ * [D] Switch to mainline ctags parser * Tweak tagmanager types
-- File Changes --
M ctags/Makefile.am (1) A ctags/parsers/c-based.c (3073) M ctags/parsers/geany_c.c (11) M meson.build (1) M src/tagmanager/tm_parser.c (20)
-- Patch Links --
https://github.com/geany/geany/pull/3479.patch https://github.com/geany/geany/pull/3479.diff
@ntrel pushed 1 commit.
827c164c57bc4a9fccfed0648ce954d71cc55748 Update tests
@ntrel pushed 1 commit.
779f32871d70bcca95bd16be6021732121f03659 Update tests
@ntrel pushed 2 commits.
e856ee57001f2c2395ba28c16bc388e8d3ce915f Add templates.d test a896c5213dd31a12c37873a98da48971113101c1 Ignore D attributes
@ntrel pushed 3 commits.
abad6ad7fa6d08120cf993b716b4a3d2eb609b82 Test contract expression - failing 3047cf75577031a5db101db2e44b3ca09c5105a7 Test constraint e1b68e2b8644ddbb6fd723d569a00c2a504ea2bf Test version
@ntrel pushed 6 commits.
064f00aa1988a638deb64f1b58b3ed67fc2d4395 Update tests 6a7931db1b3ea52669e8ff623bc5c2617b37fe1d Add templates.d test 7c58f45686daac5df2d9ea4a16b488242f18b4cd Ignore D attributes 9adc1713a8f08ba45ffabe63b848445d2ae531a3 Test contract expression - failing c2041273916b7f9a24f90a265f0343e14afdd047 Test constraint 23dfeb13fc2b5a6cb240efc770ee82f2a6438310 Test version
The attribute parsing is new, opened https://github.com/universal-ctags/ctags/pull/3701.
@ntrel pushed 2 commits.
0e22673e634479ee797b361a5f49428276b043c1 Port attribute changes f7aa01d06c21ae70c40694a4260a7037044e293d D: set template members parent name
@ntrel pushed 1 commit.
c251dc3895465ae26ad1ab85648bb9d6e2451466 D: parse contract expressions
@ntrel pushed 1 commit.
1db754a6bbe5acccb0034ca720f40744d022e8e8 D: ignore `extern (C++, name)` arguments
@ntrel pushed 1 commit.
c333aa32ef68e1112258e1d9f467434a233e983b D: parse `!` in parameter list
@ntrel pushed 1 commit.
c2a99f587218deda1a7c0f699681d469a947b75f D: parse extern blocks
@ntrel pushed 1 commit.
819e22eee419c60dcb0073189c633ce8b62f9037 D: parse @attribute blocks
@ntrel pushed 2 commits.
d78f3669063f6e0940881e5c31ababdf96890623 D: remove overload, not a keyword 8ac0919f83cb35cfef89340f4d2d8dbfef8170e7 D: parse const(T), immutable and shared
@ntrel pushed 3 commits.
aaaf750eeb6ad019c12c40c0ab5d3518cf10113a Sync templates.d with ctags PR dc8cab25b0b7da8b9ae7d0846b4b63a40dc366a5 backport ctags tweaks d3fa78adb5747a9612261433a817a47566c1366e D: fix parsing parameter with pointer
@ntrel pushed 1 commit.
067914790722ea0d99e4d072ba4c5bb8be8cfa18 D: parse template instance types with parameter list
github-comments@lists.geany.org