> 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

Reply via email to