[Github-comments] [geany/geany] Status of ctags parsers in Geany (Issue #3170)

Jiří Techet notifications at github.com
Fri Apr 15 19:26:24 UTC 2022


I more or less pushed all the remaining ctags parsers in the recent PRs so here's a short summary of the remaining diffs:

* geany_docbook.c: I think @masatake wanted to make this a proper XML parser in https://github.com/universal-ctags/ctags/pull/2198 which isn't probably interesting for us as we'd need to introduce a dependency on some XML parser. In any case, the parser is simple and there should be no problem to maintain it by ourselves.
* geany_matlab.c: Upstream uctags uses a regex-based parser which extracts some more tags, on the other hand regex parsers tend to be a bit slow so I'd stick with the current (again simple) parser for Geany (right now I don't feel very motivated to improve this parser so it can replace the regex-based parser).

geany_c.c (used as a parser for Java, C#, D, Vala) and geany_lcpp.c (preprocessor for geany_c.c):

1. I'd like to first simplify these by removing the C, C++, Vera parsers which we don't use so there's less code to compare. I already did this in uctags in https://github.com/universal-ctags/ctags/pull/3332 and I'd do something similar in Geany. 
2. Next, I would try to modify it so it uses `cpreprocessor.c` instead of the `geany_lcpp.c` preprocessor. The biggest difference is how function signatures are collected, I'd probably use the uctags implementation.
3. We should then decide what to do with the Vala parser which is present in Geany but not in uctags c.c. There's a PR in uctags https://github.com/universal-ctags/ctags/pull/2677 implementing this parser but I'm not sure how ready it is. Another alternative is to update universal ctags c.c with Vala. Yet another option is a hybrid approach where we could extract Vala from c.c in a similar way to (1), keep using it and eventually migrate to uctags Vala implementation when it is ready.
4. Finally, the rest will have to be synced piece by piece.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3170
You are receiving this because you are subscribed to this thread.

Message ID: <geany/geany/issues/3170 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.geany.org/pipermail/github-comments/attachments/20220415/175ae07e/attachment.htm>


More information about the Github-comments mailing list