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