[TxMt] TmCodeBrowser2 plugin!
Gerd Knops
gerti at bitart.com
Wed Oct 26 04:19:23 UTC 2005
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
More information about the textmate
mailing list