> @techee thanks for the explanation, can you explain more what is "cork" and 
> what it provides? This is more for understanding than directly relevant to 
> the PR.

The "cork" thing is something that helps constructing scope information by 
referencing the parent tag. You write something like:

parent_tag = makeTag(...);
chlid_tag = makeTag(parent_tag, ...);

and arbitrary nesting of these and it automatically generates scope for you 
(you also have to statically specify scope separator before). Don't ask me why 
it's called cork though ;-).

> You pointed out the concern, is there anything that is not needed in Geany, 
> thats in that code because ctags needs it (like for instance the stuff that 
> outputs ctags files). I know Geany abandoned the "small and lightweight" some 
> time ago, but this is adding two extra editor.cs worth of code to the 
> executable.

Binary-size wise libgeany.so size looks this way:

17942824   before
18533832   after

which is 3.2% increase so nothing dramatic. While it brings more code, the 
point is we should have less code to maintain ourselves because we could rely 
on uctags maintaining the code.

I could probably use more ifdefs to strip more unnecessary code from the binary 
but first I'd like to do as little as possible and get some feedback both from 
Geany project and uctags (where I plan to publish the basic library support 
patches for further discussion which direction to take).

> I don't suppose you could get uctags to provide a libctags like Geanys 
> libmain?

That's the long-term plan but many things have to be resolved first - the diffs 
we need for Geany right now I mentioned in the first post, then probably ctags 
should be modularized a little because it doesn't expect that something like a 
library based on it could exist and you cannot easily remove code we don't care 
about right now.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:

Reply via email to