TextMate News

Anything vaguely related to TextMate and macOS.

Future Directions

Now that I have a solid 1.5 release it is time to hold back on the incremental improvements and instead rethink and redo the underlying architecture of TextMate.

I have branched the source code so that I can still release a few 1.5.x versions, but currently my time is spent on the “new” branch, from which there will be no betas in the near future, sorry! There will be betas when it is feasible, please refrain from asking me when.

From my point of view, TextMate can be split into two portions. There is the central text editing control (i.e. my alternative to NSTextView) and then there is the surrounding application, providing stuff like the project drawer, tabs, and similar.

This is an oversimplification, but the code base for these two portions are mostly unrelated, which is why I have this mental split.

Both things need an overhaul, but I am starting with the surrounding application. This isn’t what I am most excited to work on, but the current project management is quirky at best, and there are some “expected” things which are simply missing.

The core of this overhaul is the project drawer. I am writing a new component which mimics the functionality of a Finder window, so it has features such as aliases, labels, and smart folders. It also provides a plug-in system for remote file systems (like sftp) and SCM support (like subversion).

While it looks a little like the old project listing (it is depicted below), the feel of it will be a little different, and it will have some nice new capabilities. It will also use a combination of kqueue and multi-threading to track changes on disk and not cause the application to stall when working with slow file systems.

File Manager Control

This component will also integrate well with the Find in Project functionality and commands (as found in bundles).

The other part of the surrounding application is (lack of) split views, docking of HTML output for commands, tabs, HTML preview, the bundle editor, configurable (mode dependent) tool bars, and a few other things.

There are also planned improvements for all of this. I can go into more detail when I am further along in the process. Currently my ambitions are too high, so I’ll wait sharing them till I have a better grasp of what will be practical (and worth it).

You may wonder if this will be the 2.0 release, and likely it will. But it will be a free upgrade for all registered users. Though please do not buy TextMate today for what you think may come in 2.0. I make absolutely no promises about what future versions will contain, and I reserve the right to completely change my mind on what it should contain!

categories General

85 Comments

How awesome. Can’t wait. :)

All this sounds great, and very exciting too!

I’m sure you’ll get a zillion of these comments but I’ll say it anyways… Textmate kicks ass and the new features will make it even better.

amazing job allan!

textmate is a fantastic piece of software

You are awesome. TextMate is awesome. I wish all the apps I love had such a transparent development process.

Bravo!

Though I’m still using another editor as my main horse, your attitude towards development and the vision you show for your product was more than enough for me to buy a license when you launched.

I heartily applaud your approach, and you’ve inspired me to use TextMate as my primary tool for a new project I’m working on.

I find it amazing that you’re going to give us a free 2.0 update, especially as it’s probably quite a while in the future… I just got a license last year and was a bit worried that I’ll have to update in a couple of months, yet it seems like this has been postponed for at least a year!

Your customer-friendliness borders on self-abuse ;)

This poor student thanks you.

Sounds good.

It will be great not to have to switch back and forth between textmate and finder to reorganize files.

Now, about the ruby refactoring support … ;-)

Allan, this sounds amazing. And the value/cost of TextMate is really good, too. :)

I’ve recently switched from Text Wrangler to TextMate, and after only a few hours of use TextMate is helping me kick ass. It’s a joy to use.

Keep up the good work!

Mode-dependent, configurable toolbars sound great - Every Mode has a few commands that are frequently needed, but only in that mode (e.g. Compile and run in Java).

Maybe you could make the Automation menu mode-dependent, too?

Currently the automation menu is a little messy, and seems more focused on the internal structure of the application than on the users’ needs. You could try highlighting only those Commands etc that make sense in the current mode, and putting the rest into a “more” or “other commands” sub-menu.

Overall Textmate is a great app, definitely worth the money!

Keep up the good work.

Elmar

Allan,

I love using TextMate and adding remote filesystem support would be awesome. Currently I use TextMate and Transmit for separate tasks, but having TextMate look after remoting would save a lot of time and hassle.

You and TextMate rock!

Cheers;
Poncho

15 February 2006

by Gerd Knops

kqueue does not work on NFS (and smb and others). So you can’t rely on that alone for speed improvements, as us users with an NFS home directory currently suffer the most! Bringing TM to front takes about 4 seconds for my main project!

Also PLEASE do not forget about some of those little things in the key editor that are a must and that you have been putting of. For example double-click extend selection, or more flexible folding. I’d rather have those and no project management at all!

But don’t get me wrong: I love TextMate!

Gerd

I love the ideas for the new project drawer, the current drawer was the main reason for my purchase.

Keep up the great work.

15 February 2006

by Jonathon Delacour

“TextMate can be split into two portions…the central text editing control… and… the surrounding application… Both things need an overhaul, but I am starting with the surrounding application.”

Support for Chinese/Japanese/Korean text entry was promised more than a year ago:

“I can’t give an ETA on when this will be fixed, but I can imagine it’s frustrating for those who rely on these input methods, so I’ll try not to have ‘the fix’ pending for too long.”

It is now impossible to even enter CJK text in TextMate (CJK entry was possible in earlier versions, although the characters were bunched together and illegible).

Would it be reasonable to assume that since you “reserve the right to completely change [your] mind on what [TextMate] should contain”, the previous promise has been rescinded and TextMate is unlikely to ever offer CJK support?

15 February 2006

by Mark Patterson

Before all this adulation blows you head up, I trust you had a great holiday, and it’s nice to see you back.

You know, I’m beginning to really wish for a mail client that a) didn’t suck and b) used TextMate’s NSTextView alternative.

One word, er… symbol… thingy:

<3

15 February 2006

by Richstyles

I would like to second the comment on CJK support. I’m sure that this is closely related to how you’ve reworked NSTextView.

Although I don’t blame you for prioritizing development tasks as you see fit and this is ultimately your creation and our choice to buy or not buy.

However, as a fan of Textmate and paying customer, I can only tell you how I wish I could have the peach of mind to enter CJK characters (Japanese in my case) without worry. The input cursor freezes if I forget to turn the Japanese characters and spaces become “illegal characters” that freeze my entire application. I’ve gone down a couple rabbit holes until I learned what the problem was.

There are so many people dying to have this editor for their own languages. You can keep the menus in English, just as long as we can render the text legibly and not be smacked in the wrist for inputting in our own language.

This editor has the most potential for the OSX platform and there is a massive market just waiting for you. Please, consider prioritizing CJK (and other character set) input & rendering for those of us trying to build international web applications.

Also, thanks for the generosity of giving us 2.0. I’m really glad I bought this program and now I can look forward to the next release!!

Elmar: If you use the gear menu in the status bar, it will open on the bundle which should represent the current mode. Some issues related to this was recently discussed at the mailing list. Gerd: I know the limitations of kqueue, that’s why I also mentioned multi-threading. Gerd/Jonathon: I looked into the issue. It was more complicated than I had initially estimated (with the current code base), hence I put it in the central text editor overhaul pile. Jonathan: You should read the last paragraph as there is too much I would like to change/fix/improve/add to TextMate, so I can’t possible do it all in reasonable time, and so I have to put a disclaimer on everything I “promise” so to not have users protest when reality kicks in. FYI I receive in the order of 10 e-mails every single day from users with feedback on TextMate. Many trying to make a strong case as to why I should do X, that Y is a deal breaker, or that it would be much better for my sales to do Z. What matters to me though is that I don’t burn out doing this. If I had to spend week after week attending only to the desire of users, I most certainly would. And trust me, there are enough user requests for me to be able to do that for years.

Allan said ‘Split Views’.

:)

16 February 2006

by Mike Ter Louw

Allan, thanks for the great work you’ve done and are planning on doing. TextMate is my favorite editor across the major platforms, even though I miss a feature or two. It strikes a delicate balance between simplicity and power. Please keep that in mind during this overhaul, and remember that the user experience means so much. I admire your design decisions that have made this editor such a joy to use in its current form.

16 February 2006

by Dan Kelley

Allan, you should do what you want to do, incorporating user suggestions as you see fit, based on your vision of the TM future and also based on practical factors. If the past is any guide, we can trust you to steer this boat with a skillful hand, aware not just of the overall path but also of the rocky shoals along the way.

16 February 2006

by Jay Soffian

Allan,

This is a great editor and I certainly don’t want you to burn out on it. But it also seems like it’s grown to the point where it might need more than a single programmer working on it so that it can fulfill your vision in a timely manner. I know you’ve got contributors to the bundles but I wonder if you’ve considered open sourcing the rest of the editor. Alternatively, and I know you’d rather program than run a company, but I also wonder if you’ve considered turning Macromates into a larger enterprise and hiring a few programmers.

Also, while I appreciate that you’re making 2.0 a free upgrade, I’d gladly pay for it. But I do thank you for acknowledging your early adopters.

j.

Looking forward, as always, to putting whatever new features may come to good use. Best money I ever spent.

+1 for CJK(multibyte char) support..

Wow, that sounds really nice. Some way to force the project drawer to mimic the folder structure properly on the disk would be good too. I have noticed that moving a file in the project drawer doesn’t seem to move it on the disk when the folder structures are the same.

Jay: Yes, I have considered both.

Open sourcing parts of TextMate is likely what I will try first. But not with the expectation that this will speed up the development.

I reckon I will get a handful of minor patches created mainly to scratch a personal itch, for example Gerd’s selection issue.

But it could serve as a screening process for a potential hire. Just hiring someone is likely going to be more trouble than it’s worth.

18 February 2006

by Jonathon Delacour

“Just hiring someone is likely going to be more trouble than it’s worth.”

Not if the eventual hire can read and write Chinese, Japanese, or Korean…

Jonathon: There are half a dozen reasons as to why hiring someone could slow down the development of TextMate. That’s what I meant by “more trouble than it’s worth”. I will end up paying a lot of money to be slowed down, and have to change the way I currently develop.

And I do have experience developing software in teams, having people “under” me (in a commercial setting) to whom I could delegate work, etc.

19 February 2006

by Supersmart Tamagotchi

You better be careful, Allan… If you keep making TextMate so ridiculously awesome you’ll kill all your competition, which will cause TextMate to start sucking ;)

20 February 2006

by Alex Kadis

One word: YAY!

This sounds really cool, I can’t wait. I know you said no betas for a while, but when you’re ready, we’re ready to test it for ya :-)

Fantastic editor.

My dream would be a merging of TM with the abilities of IntelliJ IDEA.

Having a true AST based editor allows for refactoring and features that aren’t there yet for Textmate.

Cheers,

Dion

And to think I originally balked at the €39 price tag…

Fantastic app, Allan. I don’t know how I coded without it, and it looks like 2.0 will make it even more of a necessity. I’m especially looking forward to integrated SFTP and SCM functionality. I eagerly await the day TM chimes to let me know there’s a new release available!

I trust you will also support traditional FTP? I hate all apps that make decisions on users behalf of what is secure or not. The user will decide for himself, thank you very much.

Note that I only wrote: “It also provides a plug-in system for remote file systems”. I did not say that I will write these plug-ins. An FTP plug-in can likely be made by wrapping libcurl (although it only has functions to retrieve files, not rename/move on the server etc.). But from what I hear, there are a lot of different FTP servers out there which all behave slightly different, and for example the result from getting a file list isn’t standardized. So this might be another reason why clients “decide” that the user should move to sftp…

Allan, this is great stuff. As a bundle committer, I love the idea of part (or all!) of TextMate going open source. If you open source it and agree to remain its BDFL, I’ll pay you another 39 Euros for 2.0!

allan, thanks for a fantastic editor and keep up the good work!

only one request though, can you port it to windows? ;oP
that’s the thing i miss most when i’m forced to work in a windows-environment, textmate

+2 for CJK(multibytes char) support!

I’ll cast my vote with streamlining and bugfixing over new features. TextMate is a wonderful product as-is. Keep it up.

+3 for CJK support!

TextMate completely replaces NSTextView, or it just does some trickery with the NSTextStorage/NSLayoutManager/etc. object network or perhaps uses a subclass? I can’t imagine actually replacing NSTextView and all its functionality, but what do I know.

In case you didn’t notice yet, Apple is recommending TextMate for Ruby development.

Absolutely wonderful news! Although I must correct you a bit by saying that regardless if there is a multiple ftp servers, the basics are the same. Or at least I doubt that every ftp client would have some hacks or such for every piece of ftp server that behaves a little different or off-standard, but what do I know.

Anyway, I think that the sftp support integration would suffice as most of the hosts have ssh service running on their servers and, at least at the *nix end, all the servers function the same and understand the same commands with retiving, moving and putting files. OpenSSH is open source, so it’s basically (or so I’d imagine) only one lib more.

I’ve been able to find only couple editors that have a remote filesystem support for now, one has a really sucky file dialog, is just plain useless and runs only on windows and another one is written in Java (yuk) and bloated. You put the SFTP support on TextMate and you’re guarenteed to sell at least one more license. :)

02 March 2006

by Mark Imbriaco

You know, I used to agree that remote editing was important, but now that I’ve tried Cyberduck + TextMate, I have to say that I’m not as concerned about it anymore. The combination of the two works so seamlessly that I’m not really bothered by the lack of it in TextMate.

Looking forward to seeing things as they develop!

03 March 2006

by Damien

How about support for ColdFusion, at least the tag-based syntax? Maybe you could think about open-sourcing the language-specific configurations so that they can be enhanced by users and reduce some of the strain of keeping 20+ language controls up-to-date? I really wish companies like Adobe would do this for their language-specific controls, there are many shortcomings to their tools’ handling of them that could easily be tweaked.

So, whaddya say? :)

Damien

Preston: It’s a full replacement. The things I wanted (and want) to do with TextMate would have been too painful to do with NSTextView.

jp: You shouldn’t correct me when you don’t know the facts. Take a look at ftpparse.c and look at which formats of the result from a LIST command it can parse.

Damien: The bundles are already open source. Do feel free to read about language grammars and chip in! :)

I think you shouldn’t focus too much effort on built in FTP support as using an external FTP client does work quite well. Textmate + Transmit = Crazy Delicious. Shame you and Panic don’t have some sort of buy “buy transmit and textmate together for the low low price of…” sort of deal.

Allan, sorry, didn’t mean to offend you; as I said, what do I know. I’m aware (or should I say that at least now I am) that not all the FTP servers function the same but I’d assume that that’s not the case with SSH/SFTP afaik. As I said, most of the hosts have enabled the support for mentioned protocol and are more and more getting out of FTP. So maybe the only SFTP support would be needed.

Also I’m aware of possibility of using external FTP client with various editors, including TextMate but for some reason I try to stay away from them. Sorry again if I stepped on your toes with my previous comment, that honestly wasn’t my intention.

Maybe I just should give a external clients another shot. (:

external ftp client… may i recommend YummyFTP? Silly name, but great client. and the developer couldn’t be more helpful, extremely responsive.. Transmit was way too overkill for me. Plus it takes the developers a month to even respond to an email!

@Mitch: Odd, your experience with Panic developers is. I’ve contacted them a number of times, and I’ve never waited more than a day for a reply.

@Allan: Keep up the good work, champ. I can only begin to imagine the constant struggle between maintaining an intuitive application, satisfying personal and client desires for additional features, and avoiding bloat.

To second what Blair said, I’ve emailed Panic once for support, and got a reply back right away.

I just bought my license after using demos and betas for too long.

http://houseofwarwick.com/entries/00000053.html

Thanks for a great product!

Glad to hear you’ll be adding remote file system plugin support. Just wanted to add a voice of support for integrated FTP support. While Transmit works fine in conjunction with TextMate, integrated FTP support could mean things like Find in Project… work for remote projects as well right?

08 March 2006

by Michael O'Keefe

Just wanted to also add my “vote” for CJK character input support. That is the one “feature” I find lacking in TextMate. (But having bought it, I obviously think the package is great and am jazzed to see where you go with it =)

Is there anything we [the coding community] can do to assist you with the CJK issue?

+1e6 for Unicode character support… This has much more value than (S)FTP integration because there is no workaround. If I can’t type Japanese, my wife gets nervous ;-)

However, I can see how daunting full support could be (see how convoluted NSText and friends have become), so I’d suggest to start with minimalist CJK support in small steps:

1) forget about right-to-left scripts, ligatures, furigana and more exotic things: this is still a programmer’s editor at heart

2) display ideograms in wider character boxes so they become readable (1.75 times the ascii fixed width – or 2 times if it makes things easier, but in both cases vertical block editing will require special attention)

3) let the input system deal with “Enter” to commit current input while typing CJK – TextMate currently does a newline, which is unexpected behaviour when we try to type ideograms

At this stage, most CJK typists could do their job a lot less painfully than in the current status. To ease the pain further, the next steps would be:

4) show the character selector window under the caret (it currently opens at a fixed location in the top-left area of the screen)

5) force the input system to display what it’s doing with uncommitted text in a floating window under the caret

And finally, if you feel like a hero after all this ;-)

6) enable right-to-left scripts… easy: Hebrew, hard: Arabic

I’m sure you’ve done your own analysis of the issues involved, but I hope this outside perspective can be helpful. Email me if you’d like to discuss this further.

09 March 2006

by Christian Bogen

Well, hopefully the Edit-in-TextMate-works-only-with-English-apps-problem won’t have to you’re done rethinking and redoing the underlying architecture …! %-)

It also provides a plug-in system for remote file systems (like sftp) and SCM support (like subversion).

All I can say is two thumbs way up!!!

+4 for CJK support! Believe it or not text plays a large part in usability, once textmate has that…. the best text editor on the Mac and my dollars in support of it.

Thanks

Guys, there is no need to repeat a request or add your vote to it.

I am not holding open elections on what I should focus on, and you should actually be glad about that, cause if I did, CJK would probably not even get 1% of the votes — something to keep in mind ;)

17 March 2006

by Rasmus

Might I suggest the reason that CJK wouldn’t get that many votes is because TextMate doesn’t support it? I mean, users that do not understand english that well (a lot of CJK-users don’t) currently use something which is localized. I think that you’re only seeing the tip of an iceberg (namely westerners working as programmers in CJK-countries). But hey, great way to belittle CJK-users.

ps. Japan alone is a huge market for OS X software.

Rasmus: According to OmniGroups update statistics, 71.5% of their users run their operating system in English.

So Japan may be a big second marked, but it’s still a minority. Though it is completely besides the point: CJK is a hell of a lot of work, and it is not what I want to spend the next 3 months doing. So please stop this ongoing whining!

Subversion and sftp support in the project tray! can’t wait!

will the ‘draw’ become more of a ‘pane’?, many OSX apps are leaning that way (or impliment both - cooctech’s pathfinder)…and since I rarely use textmate with the project draw shut that would make sence from my point of view.

chrisfarms: undecided ATM

Before freezing the 1.x code, perhaps a universal binary as an interim release?

22 March 2006

by Jeromie

I’m most looking forward to the project management system handling very large projects / slow filesystems more gracefully. I’m trying to use Textmate as my sole development environment (I like it a lot!), but it’s painfully slow to begin responding when dealing with the my largest project at work. Since this seems to be a primary feature of the new development path, I suppose we’ll have to wait until 2.0 to see this added, right?

Allan, the value/cost of TextMate is really good.

I love TextMate! After less than an hour I was hooked and bought it. I’m really looking forward to external file system support, since I often edit files remotely from an FTP server. That’s the only reason I still use the other editor that doesn’t suck (which I’ve been using since version 1.0).

25 April 2006

by Paul Harvey

Hi Alan,

Great work with TextMate, I stumbled across it while browsing some webbie website. I love the way it manages ‘projects’ of a website and the collapsable blocks of code is really great too!

There’s only one thing I find annoying and it’s the Undo feature, that undoes individual keypresses, not groups of actions. That’s the one feature I’d like to see ‘fixed’, then I’m 100% sold out to TextMate!

Thanks so much for a great product. Looking forward to 2.0!

CJK+++;

08 May 2006

by thewiseup

All I read is amazing ! I fell in love with Textmate, it’s so simple and so powerful. I use it all the time for Ruby, LaTeX, html, css, etc… and the news of split view, scm, sftp features is really great…

But there is one thing I’d love to see added in Textmate it’s the kind of functionnalities that Subethaedit do : real collaborative working… For some projects, that is a really cool feature..

17 May 2006

by Pierre Thibault

Here are my wish for Textmate:

  • Having more than one window for a same document
  • Be able to split windows like in Xcode
  • Ability to convert text to HTML or HTML to text, I mean adding or removing the tags needed for some characters
  • Ability to convert text from one Encoding to another and to reinterpret the encoding of a file
  • Ability to convert the line ending

27 May 2006

by niceview

CJK++++;

While TextMate probably really is mostly a hacker’s text editor, many hackers like to use text for everything, including for what most people use Word.

To that end, better right-to-left script support could be very helpful in making TextMate more useful to a Hebrew or Arabic writing hacker. Proper RTL support is almost non-existant on the Mac (NSTextView doesn’t handle it properly, and currently only Mellel, www.redlers.com/ provides near-perfect RTL), so this could make TextMate an obvious choice for text editing for a lot of people.

I will be happy to provide any helps you may need in RTLing TextMate, and I’m sure many fans of TextMate that write RTL feel the same.

Add to that a subversion front-end and some compare/merge functions, and you have the best text editor on any platform.

I think my only thing would be some sort of promise that should you cease development and nobody step up to buy it to continue it, you would consider open-sourcing it at that point. Abandonware is always horrible and it seems like it would be nice to have some assurance that the program might continue on.

Also, because of Leopard’s rumoured collaborative editing, I would skip any development that way, although I wonder if it will be restricted to apps that use NSTextView or if it will be a plug-in-library (which, obviously would be better).

I know you asked us not to enquire as to when these improvements might be available so I’ll resist that temptation, but is there any chance you might quickly blog an idea of your current status there? The FileManager improvements look really, really sexy, and would be very much appreciated for some of my projects that have several thousand files and tend to become very slow whenever I leave and return to TM.

Thanks for all the cool stuff!

Robin Berjon: There is still a long way to go. I can’t say anything more concrete than that.

22 June 2006

by waleed

please… please, pretty please… add better basic support to Right-to-Left scripts (Arabic). i need very badly in my projects that mostly revolves around arabic/english web-application. its like hell now when i open mix language file it make me crazy i have to use i have to go back to TextEdit.it will be a big diffrence. I’am in love with TextMate

TextMate is a great editor. I hadn’t looked at it for quite some time, and I’m impressed with how far it has come. Thanks for your continued work on it! I’m currently talking to my employer about buying a few licenses for the developers here that are interested in switching to it.

The only things I would request would be tab support in non-project mode, along with a way to create a new tab (blank document) in the current window (in project mode or not). I’m guessing this is not something that could be done via a Bundle, but please correct me if I am mistaken.

CJK(multibyte char) support!

I’m really looking foward to open remote projects!!!

is it possible to find a copy of instructions on the 2.0 Tomagocci? We have not had ours out in a while, and cannot locate our directions - can you help us out? thanks -

I use textmate every day to edit webPages. I was on PC and came onto Mac just for the use of CSSEdit and TextMate. I was using TopStyle from Nick Bradbury for developping both html an css files and i noticed 1 or 2 features that it would be great to add in textmate : • split view with the possibility to have web preview in one of the views • multi-split views would be great • Possibility to preview images in a pannel of the project window • Possibility to check broken links • Code auto-completion without having to tab something • support for php in web preview (tunnel to server) • possibility to switch text mode to html entities text: where what u type is auto-converted to special html chars. • Maybe a better help pannel…

Of course, this is only for web developpers, but it would be the killer-features for me and a lot of people that use textmate to design web pages.

thanks !!!!