I agree, but I don't think TM is the right API at present for this purpose. I'm just worried we're boxing ourselves in a corner if we expose a lot of the API and then need to make massive sweeping changes to it in order to accommodate useful APIs for plugins to provide these kinds of features.

IMO it's OK to break API if it doesn't happen too often and if there's a good reason for it so this wouldn't worry me much.

I'm just afraid that we won't be able to find a common way to represent both ctags symbols (simple list), clang symbols (tree I guess) or whatever else may appear for any other language. Moreover I guess clang already provides some TM-like API you can use to perform queries so any functionality TM provides would be mostly redundant.

I think it will be necessary to keep them separate and provide e.g. some callbacks plugins can use to override autocompletion or calltips, provide symbols for the sidebar (some common tree-like representation would be necessary here but it shouldn't be too hard to find something) etc. It wouldn't actually be necessary to disable TM and ctags completely - they could still parse the files, you just wouldn't see their tags in the UI.

If it's like this you don't have to worry about what happens in TM - it would be just a parallel system that parses symbols independent of your own.


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