About a month ago, MacRabbit launched their new web editing tool, Espresso, a full-featured text editor, configurable and customizable to all sorts of languages, plus the wonderful Live Preview feature of their fantastic CSSEdit. Espresso also purports a fully functional FTP client and some pretty robust tools for keeping local and remote copies in sync.
Lucky for me, Espresso was included in the MacHeist bundle, so I have a full copy! Here's my run-down of how it stacks up against the other two giants of the Mac text-editing world, Coda and TextMate (both of which I use a lot).
Espresso's also very good about intelligent code completion; unlike TextMate (and like Coda), Espresso is very forward about prompting you for your code. I'm particularly appreciative of it's tag closing—Coda handles this by automatically adding the close tag when you finish the open tag, which is annoying. TextMate relegates it to a contorted shortcut. In Espresso, when you type '</', it closes the last open tag. Clean and elegant.
Espresso's support for regex, though, really blew me away. Espresso gives you live search results as you type, highlighting everything in your document that matches the search, so you can see, live, as you change your regex how that effects your results, making it super easy to see if you're picking up the things you want to. Brilliant execution here.
There are two things that annoy me about Espresso as a text editor. First, that it doesn't automate tab stops, even a little. If you start typing a function, it won't bother to indent the next line. Annoyingly, I think this is a limitation of the application itself, as it doesn't even automate tabbing in the (third-party) Python sugar. (It will, at least, preserve tabs from the previous line.)
Second, somewhat surprisingly, its CSS has a major bug. It auto-fills properties (e.g. "display"), but not values (e.g. "inline"), because when you autofill the property it adds a semicolon to end the line automatically, which frustrates the second part of the autofill. (Delete the semicolon and the autofill menu pops right up.)
In all, Espresso may have become my favorite text editor, though there are still a number of things TextMate has on it (for example, in-program validation, code-tidying, and much better support for Ruby).
Unfortunately, past the text editor, Espresso falls apart very quickly. The vaunted Live Preview (brilliant in CSSEdit) is virtually worthless here. You've got no tools to search deep into your CSS files based on elements you're looking at -- you've got no way to explore your DOM at all, actually, as it lacks anything like CSSEdit's X-Ray feature or Firebug's "inspect."
Espresso also includes an FTP client and features for keeping local and remote copies of your file in sync. However, lacking any form of version control, it often fails to catch when files have changed. You can edit files directly on the server, but this functionality is hidden a bit. You have to enter "browse" mode in the connection palette and open the file from there, and then it'll pop into your workspace with a little cloud next to it.
You can also use the "quick publish" feature, which writes local files to the server whenever you save them. This is fantastic -- but you can't make it the default behavior. You have to set it individually for each file you're working on. Even more annoying, it doesn't remember your quick publish setting if you close the file and open it again. I end up setting and re-setting this a lot.
Espresso's FTP also lacks Coda's ability to open files in other programs. You can't, for example, open a remote file in CSSEdit or TextMate or Photoshop and have it write it to the server whenever it's saved. You could, of course, use Transmit, but that sort of defeats the point of one-app editing.
I have high hopes for version 2, but in the meantime, Espresso's just not quite ready to replace the more mature products out there already.