TextMate provides passable support for autocompletion in Objective-C files. It works to the extent that it finds possible completions. It fails in several other ways, though, especially when compared to Xcode’s incredible Code Sense. TextMate’s implementation provides a vast list of everything that matches the current word. Code Sense parses the list down to only what a particular object can do. TextMate also doesn’t let you keep typing to further narrow down the list. Instead, there’s a bit of menu-based type selection. Xcode allows you to keep typing directly into the source file and the list filters to match the changes. Xcode’s also just looks better. No offense to TextMate, but Xcode just kicks ass in the autocomplete department.
TextMate, however, is highly scriptable. Sure, it isn’t as applescriptable as Xcode (which I sorely miss since switching editors) but makes adding all sorts of other scripts exceptionally easy. I’m a huge fan of scriptability in any form (although my love is easily bought by a great Applescript dictionary). I got it in my head a few days ago that I could do better a autocomplete implementation.
So I’ve worked on it a bit and I’ve got a beta worked out. It works but it’s a bit funky. The underlying scripts need to be stressed (and they will break, I need to know where and how they break) and I’m still working on the completions pop-up.
If anyone is willing to test it out, it’s available in an easily loadable bundle that works well along side TextMate’s build-in autocompletion. I need feedback and good error reports. The scripts are written in Python and I’d appreciate any help there as well (this is the first project that I’ve really committed to Python).
For information and the public beta, please email me.
Leave a Reply