[TxMt] Objective-C Bundle

Joachim Mårtensson joachimm at etek.chalmers.se
Fri Jan 4 10:59:00 UTC 2008


> Hi all
>
> I've been using the Objective-C bundle for about a year now for all my
> Cocoa
> coding. It has a lot of nice features, but there are few shortcomings and
> I
> was wondering if anyone is actively working on this.
Yes, I am working on it (not so actively lately though, been busy) and so
are a few others (Allan, Rob Rix, Ciaran Walsh to name a few). Nice to
hear that we are not the only ones using TextMate for Objective-C.
>
> A few things off the top of my head:
>
> - No completion of new classes in leopard (eg. NSGradient, Core Animation
> classes) or any syntax highlighting for new Objective-C 2.0 features.
>
> - Cocoa classes are automatically highlighted (eg. declaring a variable as
> NSRect will show "NSRect" highlighted). Other Apple classes like those in
> CoreGraphics should also get the same treatment. Declaring a variable as a
> CGRect won't show "CGRect" highlighted. Also help doesn't work for these
> items.
The classes and types that are highlighted, were generated way back, by a
script written by Allan(Support/Collect Cocoa Definitions.sh). With the
exception of the addition of Notifications to the list of
highlighted/scoped constants, not much has happend to this part of the
grammar. If you try out the WIP C bundle, the scope
"variable.other.dot-access.c" will match the new Objective-C 2.0
properties syntax, ofcourse it will also match standard C struct access.
If you try out the WIP C bundle a good companion is the WIP Objective-C
bundle, it will provide somewhat stronger code completion features.

It is clearly time to update the list both for completions and scoping
though.
>
> - "Completion: Partial Method Signature" is really handy for inserting
> delegate method signatures. It does however insert different spacing then
> the "Interface/Class Method" snippet.
> For example in an interface file:
>  Typing "-awakeFromN<tab>" will insert "-(void)awakeFromNib;"
> Typing "m<tab>" will insert "- (id)method:(id)anArgument;" (notice the
> extra
> space after the "-")
For some reason I have not noticed this. I will fix it the next time my
mac gets internet access.

Joachim Mårtensson




More information about the textmate mailing list