> So thinking about it, that means it still only handles named scopes (ie those
> that have parent tags), still not lexical scopes ie { to }?
Yep, no lexical support as far as I know.
> If so it still seems a lot of code.
The great majority of the added code is nothing useful for Geany (processing
command-line parameters of ctags, support of different output file formats,
etc.). The only useful thing which this patch brings is the mentioned cork
thing and the ability to run nested parsers from within another parser. Adding
this would be less than 1000 LOCs (rough estimate).
But the point of this pull request isn't to bring anything "useful" - the point
is to make ctags (eventually) truly external dependency we don't have to care
about. Every time something changes upstream now, we have to backport the patch
manually and it's painful (e.g.
https://github.com/geany/geany/commit/662765852fb2f5ca72de8087646ab8bd6d82c889
and various renames of functions used by parsers we have to backport if we want
to keep parsers compatible). The development of ctags is quite active now and
changes like that happen quite often.
This pull request is just the first step - it will have to be followed by:
1. Syncing parsers.
2. If possible getting rid of Geany-specific code we still have.
3. Bringing the library support to ctags.
4. Refactoring ctags so only the necessary things compile for a library.
Once (1) and (2) is done, (3) and (4) can be done in the ctags project and
we'll only have to take over the changes. I don't want to do (4) now as it will
be better to discuss with the ctags guys. Also the current API is rather
provisional and will need some discussion how to do it right in ctags. Still
this pull request helps to make it clear what we need in Geany from ctags and
makes it possible to do (1).
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1263#issuecomment-254869716