Ok. Let's go this way. I'll try to prepare PRs for uctags with the two missing features. If/When they are merged, we can sync the Pascal parser.

Cool, I was going to prepare the PR myself - you were too fast :-)

:)

However, I only PR'ed the argument list parsing feature.
While preparing tests for the "type" parsing, I noticed the current code is quite buggy and incomplete. It only parses very easy type declarations but it probably fails for real world uses.
For example:

type
  TTest=class
    procedure Test1;
    procedure  Test2;
    procedure   Test3;
  end;

Will create a tag for "TTest" but also for the procedures "Test2" and "Test3" which are wrong. And "Test1" is missing for some reason (fun fact: even our test case expects that broken behavior in https://github.com/geany/geany/blob/master/tests/ctags/bug612019.pas.tags).

I guess the parsing of "type" declarations needs to implemented in a more sophisticated way. At least I don't want to submit it upstream in the current state.
Since I don't want and can't fix the implementation, we maybe should just remove that particular feature instead of keeping an incomplete implementation.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.