Le 26/04/2012 18:53, Nick Treleaven a écrit :
On 26/04/2012 16:02, Nick Treleaven wrote:
On 24/04/2012 22:31, Colomban Wendling wrote:
- it uses the same tag parsers tagmanager used, in ctagsmanager/ctags;
BTW this is a good idea to clearly separate CTags from tagmanager. If this change can be applied separately, perhaps it could be merged into master.
It should be quite easy -- though it won't still be a vanilla CTags of course, my own isn't either (yet?).
For avoiding resorting of workspace tags when only reparsing one source object, we can remove the source object's old tags & merge the new tags. This is all O(n) for the workspace array. I haven't looked into implementing this yet because now it's clear you're working on a competing change.
Another option is to remove the workspace array altogether and just have Geany collate tags from each (sorted) source object when needed. Not sure the implications of this yet but it would simplify tagmanager.
Well, tagmanager needs to know all tags to perform e.g. scope completion beyond file's boundaries. And for search too, it would need us to pass it everything, or to perform a search on each document's tags and then merge the result. Doesn't sound sensible at a first glance, but maybe I'm missing something.