On Oct 25, 2005, at 20:29, Allan Odgaard wrote:
On 25/10/2005, at 17.50, Gerd Knops wrote:
Eventually I hope to hook into the Syntax Coloring engine, so any language TM knows would work.
Well, one of the reasons I haven't made a popup yet is, that the TM syntax coloring engine isn't really sufficient for all languages. I.e. there's no way it can capture obj-c multi-argument methods as one entity (since they are not that in the source), and coming up with rules to make it parse C++ functions is also all but simple (if not impossible).
So while it has the advantage of not repeating everything for the function popup/code browser, and supporting mixed documents (HTML with embedded CSS, JS, Ruby, PHP, etc.), it's not really working for the two languages I primarely use.
Makes sense. To bad the exuberant ctags don't support ObjC either. Back then NeXTSTEP had a ctags version that knew ObjC, but the sources were never public. I wonder if the compiler could be tickled into cooperation...
And great work making your ctags implementation work with TM! I'm curious, do you get by alone by NSWindow notification and querying representedFile? I'd think the tab-switching would require a little more than that!?!
These details are so dirty that I'd prefer not to discuss them openly! Basically I am doing something similar to 'poseAsClass:', but on the method level. Did I mention it is dirty?
I can easily add (i.e. next build) that TM e.g. loads extensions from AppSupport/TextMate/Plugins — it seems for your “plugin” it wouldn't need to expose any API, thus it's a safe way to slowly extend TM to support plugins
That'd be great, that would at least avoid the InputManagers hack.
(my conservatism is primarily caused by the fear of having to maintain a stupid legacy API for all eternity, that and lack of time of course).
That I understand all to well! And the Commands actually take care of many things already. I could see an argument for bundles for project management, version control plugins, and may be (though that would probably be quite involved and hard to generalize for multiple languages) debugging. Almost everything else can be done with commands. I am really itching to change a few small details of the internal workings of TM (word characters on a per language base, handling of double-click extend), but the code in question seems to be mostly C++ which is a lot less hackable than ObjC...
Gerd