Code Compatibility

GCC (the GNU compiler collection) has a compiler for objective c. While you are working on Textmate 2.0 please consider either making the code compatible with the GCC release of objective c (therefore allowing for [relatively simple] ports to linux/windows), or consider releasing the source code for Textmate 1 once you release 2, so that the community of coders on linux and windows can do the porting for you. I think it's safe to say that you would get a boom in sales if you released either version of textmate for linux and/or windows, you would get a mob more of loyal fans/customers.

Payment Method

Please allow using an alternative to paypal to purchase textmate. Paypal can be a real pain. I spent an hour trying to authenticate my account to purchase textmate before giving up.

Local file history

This is a handy feature found in Eclipse, for example - keep a local file revision history so that if you accidentally clobber your changes before you get a chance to check in you still have local save history. This can be done unobtrusively by keeping a copy of a file every time its saved (or even use autosave - but unnecessary). And provide a right click menu on the file to revert to previous versions.

Auto completion like Topstyle, please!

Merge with SubEthaEdit Please merge with SubEthaEdit, to produce the ultimate text editor.

Merge with Notetab++,editplus,emeditor,coda

Dynamic Keyboard Shortcuts I'd like to be able to print out a picture of the keyboard, with the actions performed by each key (and combination).

Warning when opening/searching in big files

It would be great if TextMate asked me for confirmation if I really wanted to open files bigger than ... say 500k (configureable somewhere?)

I regularly open Rails log files by accident and then the program hangs and the CPU bursts to 100% for some time. Oh, well Multithreading file opening would help to improve on this, too.

Threaded Saving When working from home I try enjoy connecting over a VPN and editing right over AFP/SMB. Saving in TextMate, however, tends to freeze the entire application for 2-3 seconds. It would be great if the save functionality could be done in a separate thread so I can still move to my other tabs while the previous file was saving

Search / Replace within Selection from Find dialog Currently the 'find/replace in select' is an option, but it doesn't bring up a dialog. What BBEdit had, and worked really well, was a drop down for the scope within the find/replace dialog itself. Having a drop down in the normal find/replace dialog for "Current Select (default if text is selected) / Current Document / All open documents / Entire Project" would be a lot more efficient and easier than having it all split up.

Screencasts are great. But *screenshots* would also be nice.

Keyboard to match TextMate?

Having made the ultimate IDE, if you had the chance to completely overhaul the keyboard for programmers and latex-ers, what would you do? I don't work at a keyboard company or anything, I'm just curious. I type in Dvorak and it helps a lot when I'm just writing words, but when I program it doesn't help much because things like braces are so hard to get to.


The Kinesis Advantage keyboards are close to the ultimate coding tool, combine this with a new keyboard layout optimised for english and coding like Arensito (google it and you find the layout). The only problem with Arensito is that Mac OS does not allow you to remap shift, caps lock, ctrl or alt, though with the Kinesis keyboard, you can remap these keys by programming the keyboard.

Closing window with multiple tabs warning preference

I've accidentally closed my tm window a few times and had some tabbed documents with important history I needed access to which of course I lost when I inadvertantly closed the window. It would be nice to have a warning dialogue, but with a preference for people who do not want it to appear.


I think you need a better indicator when using the 'Search Project' tool. It currently does not provide any indication that it is doing anything other than the spinning rainbow wheel and only if you hover over the window.

New Usage Suggestion

There are many uses for textmate other than just writing code, I find the clean environment great for writing copy for websites with minimal distractions and fuss. What I would LOVE is the ability to FULL screen textmate and have the article I am writing be centered in the middle. Basically a lot of blank space all around the central article so you can focus and write without distraction.

Right now I can maximize textmate but the copy is always flush left.

May sound crazy but for people who need a nice big clean screen, this would be awesome.



What about a new 'Activation' in the bundle editor/commands: 'before save'. I'd like to edit a time stamp, such as 'Last Change: <some date>' and I would like to get this updated just before the file has been saved. Redefining the cmd-s does not seem to work, because the edits happen just after the save. --pg (pg at levana_de)

Thoughts on shared bundle development

[Allan, feel free to delete this overly long post, if you like. It's really mostly to you, but I didn't send an email because others might find the ideas useful, or silly. DK]

Are there any plans for organizing bundle development, beyond WhoDoesWhat on the wiki?

I think more organization would help now, and that more organization may become essential as time goes on and as individual bundles leave their initial-growth stage and move on to slower evolution.

At the moment, it is really not clear how to help in the bundle process.

Suppose Sally, an expert on language X has been using the X bundle for a while and sees a flaw in it, or sees an opportunity for an improvement that would help other TM users. And suppose Sally is good enough with TM to modify the bundle locally and test it. Further suppose that Sally has passed some sort of test of reliability, of both intent and skill. Well, then, how can Sally contribute this to the wider community? At present, she looks at WhoDoesWhat on the wiki, and perhaps at the SVN commit log, to try to find out who has been working on the bundle. If a single person started the bundle, has done most of the commits, and has done a commit recently, then the procedure seems clear: Sally contacts the author and they make decisions offline. But suppose the original author has not done a commit in a long time. Should Sally conclude that the torch has been passed, and then start going through the commit list to find someone who has worked on the bundle recently and done major things?

If Sally adds her bit, and proves disruptive, who should undo it? And does the doing and undoing have the effect of discouraging others from contributing, whether as a Sally who feels she has stepped on toes, or as an original author whose longer term plans are disrupted by Sally's misdirected kindness.

I don't think I need to explain this further, since similar things can be said about any open-source project. But in other projects there are typically clear authorship indicators, schemes for patch submission, etc. Maybe the TM bundle-development process could benefit from copying things that have worked in the wider open-source community.

The sourceforge scheme might provide elements of a model. Key features include named authors, discussion groups, patch tracking, bug tracking, new-feature tracking, developer diaries, revision displays, etc. Taken together, such things permit a core team to work on a project at a pace that makes sense to them, and it lets the team consider changes to the project based on a wide-scope view.

It would be great for TM to consider such things now, before bundles fragment. Relying on Allan to handle everything is a mistake, because as bundles grow, his time to do core development will shrink.

Timing is everything. I suspect that many bundles are now in a state in which small but helpful additions could be made by the community. I suspect that some original bundle authors would like to pass the torch. After all, being an original developer doesn't indicate any grand plan. It may just mean that a user filled a vacuum to get a task done at the moment.

The TM community has the will to act together effectively. But we may need some help to do so, as TM grows and as the community widens.

Dan Kelley

Similar to being able to drag a graphic into TM and it autofill data relative to the image, it would be great to be able to do this to an audio file (specifically) IN AN XML FILE for podcasting purposes: filename / size / length / type, etc.

if invoked with 'mate', the OPEN dialog should point at the mate-specified place. I often open TM using the Mate command on a local file. In such instances, it would be nice if the TM Open dialog would be pointing at the directory containing that local file. Maybe it's the unix blood in my veins, but I find it unhelpful for the Open dialog to be pointing to, well, wherever it happens to point. (I'm half inclined to delete this before posting, because it may be that other mac users actually like this Open behaviour; certainly, a lot of the GUI apps use this scheme. Well, I can't influence MS on its Office suite, but maybe I can influence the noble and talented Allan...) -- Dan Kelley

June 8 Note Compiled preference-type items to a new section Suggestions.Preferences --logic_at_newmethods_org

Being able to have a terminal session from TextMate would be ace. I understand it might be a difficult thing to develop without access to the Terminal.app code, but it would be sooo neat.

An situation in which this would be cool (of course there are many others): If you are in rails script/console, it would be very practical if you had access to TextMate goodness. Whenever I am in console, I am like a duck out of water cos I don't have snippets or any of the cool and nifty things I am used to from spending most of my working life in TextMate.

-- Keith of rubygreenblue.com

Speed up drawing of very long lines:

Horizontal scrolling across unwrapped lines that are > ~100 chars long can be painfully slow even on fast macs.

Automatically open tmproj in directories that have them when opened

If I'm in Terminal and do 'mate .' I end up with a new project, even though I have an existing tmproj in the directory. Xcode handles this by finding any xcodeproj in the directory (not sure what it does for multiples, but you could prefer one with the same name as the directory in this case, maybe)

  • I have a small wrapper script http://gist.github.com/348897 that I use, partially because I've called it 'm' and I'm lazy, partially because it automatically calls "mate ." rather than just "mate" in a folder if you don't specify arguments and if there is a .tmproj file in there it opens that instead (using Mac OS X's "open" command rather than mate). Andy Jeffries
  • I think this should go in Project Management. I would move it, but I don't want to seem impertinent. -- Jim Bagrow

Jump between PDF preview and TeX code in LaTeX documents

The lastest TeXShop has an _extremely_ useful feature where you can ⌘-click on an area in the pdf preview and it will jump to the corresponding text in the tex window and vice versa. I believe this requires spotlight to search the generated pdf, so this becomes a tiger-only feature. It is essentially the only reason I continue using TeXshop over textmate for my LaTeX work.

I don't know how difficult this would be to implement, I hope it would only require adding to the LaTeX bundle, but it's definitely worth it!

-- Jim Bagrow

Show includes in Web Preview

This would make textmate the hottest html editor on the planet :)

Ravi Khalsa

View (binary) files through a filter

Oftentimes, a project containing source files will also have some binary files lurking around, eg. near Java files on might have Jar files. While editing binary files would require in-depth knowledge of each file type and is thus beyond the scope of a text editor, what would be nice is a read handler to display such files. For example, a Jar file might have its contents piped through jar -tf to display the list of files it contains. For other types, it may make sense to also have a write handler, ie, a filter through which to pipe the contents before they get written to disk. This would allow to edit the textual representation of a binary file and keep it on disk in its binary representation.

But maybe this is overkill so Allan, please feel free to delete this suggestion.

Thanks! Andre Thenot.

Search within specific folder in project

It would be great if in the find in project dialog, one could specify only a subfolder to search.



yes, please!! --David Lowenfels

yes, please!!! -- Joshaven Potter

Foreign Language Support

Currently there is no method to input CJK (Chinese Japanese Korean) languages inline. Changing the input method to CJK causes the input to freeze.

On the long-term to-do.
-- Allan Odgaard

How can you call "markup brought to 21st century" even the CJK input and display are not supported? Sorry, I go back to BB...

PHP/HTML Syntax Hilighting

I program in PHP more than not and have plenty of .php files that have embedded HTML. It seems that I have a choice of using PHP syntax hilighting or HTML but not a merging of the two which would be ideal. I'm not a Rails programmer but I'm guessing that the HTML (Rails) Language rules are kinda what I'm looking for but using PHP/HTML as opposed to Rails/HTML. Is anyone working on this? Can it be done (it seems like it can, just a matter of figuring it out)...

Really nice program otherwise...thanks!

  • I would like to second this suggestion! We need an html (php) language -- Jim Bagrow
  • Here Here! If a php/html coloring is not in the cards, a hot key for toggling the php mode would be nice.

HTML mode does this already!

I used to be happy with the way the HTML bundle handled this, but it seems that after updating to 1.5.3, I have to choose between either having the HTML colored or the PHP colored.

Support Directories and .tmproj Files in txmt:// URLS

If TextMate supported directories and/or .tmproj files in the txmt://open? URL, then I could bookmark projects in Safari, and I could hyperlink to them from within presentations.

Can there be a key binding, like Command-S saves a file, but say Command-(some modifier combo)-S will not only save the file, but also execute a command that passes the filename to another app? What I'm thinking is having a keystroke in TextMate notify Transmit to upload a file via SFTP, similar to what is done when I drag the filename from TextMate's project drawer to the Transmit dock icon. It would save a lot of time when editing remote files.

I don't know if this is currently possible through the bundle interface, but would be really useful if it could be done. Thanks for listening!

If you make a command you can set the before action to save current file, and you can give that command whatever key equivalent you wish.
-- Allan Odgaard

Textmate pinwheels with SMB shares

I have a project full of directories from a mounted SMB share. The Textmate UI is snappy as long as I stay in the program. However, whenever I switch to another application and back again, Textmate pinwheels for a good 5-10 seconds, sometimes longer (I'm on a Dual 2.7GHz G5 with plenty of ram and gigE).

My guess is that Textmate, sometime during application reactivation, is re-scanning the files in the project, allowing it to accurately note any changes. The problem is, it's blocking while it does this. Could this possibly be done in the background, getting rid of the wait? It'd be fine to lock down some of the UI while the background thread chugs along...

Anyways, the bottom line is that pinwheeling totally sucks. File-system calls sometimes block, and Textmate should probably work around that.

Keep up the good work,


This pinwheel sticks around for a couple of minutes if your samba mount dies due to wireless network hickups.


See the FAQ entry for workarounds. It'll be improved in 1.2.
-- Allan Odgaard

I'm running 1.5 now and this is still a problem. Maybe not as much of one but there is still a multi-second delay for even just moderately large projects. Can the filesystem scanning just stay in the background like it does during normal operation? Why does it need to do a special blocking scan of the while project folder just because TextMate came back into focus?

-- Hi Allan - another little interesting thing I've discovered regaring this issue of the SMB shares. I connect to an SMB share at work - at home through VPN it is quite slow to view the files in the OSX Finder. If I browse the same file structure in the Terminal, it is quite fast. Something to do with the way the Finder works I imagine; I'm guessing that his has something to do with the slowness of TextMate in refreshing the project drawer... -- ryan todd

Hello. I too have this problem as my project is accessed via sshfs (MacFUSE). This is what's keeping me from TextMate (and in Emacs :)) -- André Cruz

Suffering from the very same pinwheel here when working from home over a VPN and files at a samba share.


This is a really annoying issue when you have to switch from the terminal to compile and back to TextMate... is there any work arounds... because i don't think i can take much more of my spinning wheel... This is happening on my Core i7 2.66Ghz 8gb of ram.... and my connection is though ethernet... so this shouldn't be happening. I'm running Version 1.5.9 (1510). Thanks,


"Open from FTP Server"

Are you planning on adding support to open a file on a ftp server like bbedit/textwrangler have? It's a time saver when you want to edit a file on your server without downloading it firt and then uploading it. Also, easier for people who travel a lot or use multiple computers. Thanks

There should be a plugin system in 1.2 to allow arbitrary sources, that's really all I dare say.
-- Allan Odgaard

I would like to echo the other people who suggested SFTP/FTP support, especially SFTP. This is a critical feature for me, and I can't effectively use Textmate in many cases without it.


I also really need this feature before I can switch to TextMate full time.

-- mike c.

The same goes for me. This feature is of great importance.

-- oskar

Backups on save

I just had a email conversation with Rich Siegel from BareBones about BBEdit and its competitors, and he addressed many points on features I suggested were missing from BBEdit (they weren't) but one feature that BBEdit has is making backups of files each time they are saved. For those of use who don't use CVS or SVN, this has saved our skins a few times and has often saved a PC-using buddy who has often asked me for an older copy of a file he's borked. Very important this feature :)

-- Vish Vishvanath

Check the HowTo section for a command for this http://macromates.com/wiki/Main/Howtos#BackupOnSave.

I see this is the default behavior now. I do use subversion and don't really want this feature on but haven't figured out how to turn it off. Is there a way? -- Rick Gigger

Editing Commands: You know when you're playing something like Quake how if you try to use a key that's already taken you either get a warning, or the new command is set to the key, whilst the old command is freed of the key? Something like this, but perhaps more graceful, would be appreciated when assigning keyboard shortcuts to commands.

   James H.

Bring the text-editing goodness over to Windows! I've heard many good things about TM, and am wholly unsatisfied with the dozens of different win32 editors I've used.

If the mountain won't come to Mohammed, buy a Mac :)
-- Allan Odgaard

If the mole won't come to the mountain, it will never see the view from the summit

Hey boss, can I have a raise? You see, there is this text editor ... yes, I said text editor ... for Mac OSX. But they won't port it to win32, so I need some more dough. What's that? You don't think a single text-editor that I've never tried before is enough reason for switching? Hmm, I guess you're right. Though, I bet if they ported it to win32 and let us try it out, we would be able to see the tip of the glacier for all that is good in Tiger.

  • Please add an advanced option to do delayed-writes. I work over a VPN and performance is good except for loading and saving files. I only need to load once, but I save quite often. Delayed-writes would allow me to hit the save button and keep right on going. I'm willing to take the risk that I might lose a bit of work if the save fails. The gain in productivity is more than worth that risk.

    Would the proxy icon etc. update as if the file got saved immediately, or delay? And if it was delayed till the file was actually saved, how should the user get feedback that his action was carried out?
    Have you considered instead placing the “cache” between the program and the filesystem (OS X supports layered filesystems, although I'm not sure how simple it'd be using that approach)? this would mean you'd get the requested behavior in all your apps -- having TM implement workarounds for slow VPN seems a bit wrong to me.
    -- Allan Odgaard

    Can you tell me more about this "cache"? I think you are right that it would be better to have a system wide solution that one built into TM.

    Unfortunately I don't know what would be involved in the cache-solution. I just read about the filesystem thing here.
  • How about collaboration? I'm thinking along the lines of Subethaedit http://www.codingmonkeys.de/subethaedit/ ; S.E.E is cool, but I'd love the sharing/collaboration feature similar to S.E.E in TextMate.
  • Before I can use TextMate fulltime, it needs to have FTP support built in. Look at EditPlus on the PC and BBEdit on the Mac (although BBEdit's FTP support is way too slow), for examples. TextMate should be able to open a remote file and work with it. Open many, open one, etc. This is a must for a text editor for me (and most people I know). -- Garrett Murray

    This is on Allan's (post-1.1) to-do list. Fear not.

    Glad to hear that this functionality is coming. I'd like to also suggest that it support SFTP and not just FTP. In response to the comment below, this is just another way to open/save a file, it's just a remote file. I don't think anyone wants a full ftp client, just a convenient way to work on files that are on servers, such as configuration files, code, etc. -- NC

Also, I FTP functionality, like Coda's side bar would be pretty sick. I would really like to see this coming. -- Keehun

While I had to do a few steps of setup in order for it to work correctly, I was able to set my TextMate up with the Automation menu to Save & Upload when I click command-enter on my PowerBook. The default key combo is control-shift-F which I found ackward. You also have to set it to save before uploading. This is, of course, using Trasmit which is another great program.
-- Sandro

so is webdav. so is http. so is nfs. so is smb. should TextMate support all these protocols as well? if it's coming it's coming; allan's gonna do what allan's gonna do. i just don't understand why people keep asking for this in every text editor made, instead of bugging apple to add proper ftp support to finder.
Why?!? This is (IMO) a completely retarded thing to have in a text editor. TextMate already integrates with any dedicated ftp client that cares to integrate with it. One of the main reasons I use TextMate is that it's not bloated with extraneous 'features' like BBEdit or most Windows editors.
Look into Cyberduck and Transmit. I hear from a friend who uses them that you can download a file, edit it, and when it's saved the new version will be automagically uploaded. Works great with TextMate, he reports. --Joe Auricchio

The problem with using most third-party means of ftp with TextMate is you'll loose the project integration. The exception is if the OS properly supported FTP ... but we do NEED sftp as well. So where I agree the best solution would be really good FTP/SFTP support at the OS level - you really can't count on this happening anytime soon. Apple haven't done anything to improve their FTP support in any of the OS X updates and I'm sure they're well aware it needs improving.

I'm in the don't-add-*FTP-features camp. There's just no doing it well. In BBEdit it always felt incredibly hacky, and I never used it because it was much more elegant to pull files in via my FTP client. Continute to use the ODBEditor method, and pester Apple to add real read/write *FTP support to the Finder. If you run your own server, look into Netatalk. -- pbx

  • Further use of HTML previewer, PDF plugin, and support for image formats to view a variety of file types within TextMate: Currently one can view HTML and PDF files within TextMate. Often my TM projects contain a mixture of file types. Instead of double clicking on a non-supported type to launch another app, I would like TM to display these types in a tab in the main project window; this keeps a project more consolidated.
  • TextMate FTP: In Transmit 3, they've now got the ability to allow drag/drop files from the Finder into the Transmit icon and then have them upload to the proper location. Would be *wonderful* if you could drag/drop files from the TextMate file drawer to the Transmit 3 dock icon. That would make uploading files a snap. Right now, however, this doesn't work from the application.

    It doesn't work? It really should (given that Transmit knows where to upload the file)!
    I don't have Transmit, but if e.g. I drag an image file from the project drawer to Preview's dock icon, that file then opens in Preview.app -- so if this doesn't work for Transmit, I don't think the problem is with TextMate.

    -- Allan Odgaard

    It does work. But you have to enable it in the favorite's options and this work from a predefined path only.
    Check Transmit help. IMO, it's not really useful anyway.
    But you still should take a look at Transmit 3, Allan. Great soft.

    -- FredB
  • Maybe someone's already figured this one out, but how about a simple Contextual Menu Item [CMI] for "Open in TextMate..."? Ok, nevermind, found it http://lists.macromates.com/pipermail/textmate/2005-February/002964.html

    You can find this Contextual Menu, and others, in the svn repository
    -- FredB
  • How about a Script menu where you can place random Applescripts? For rails, you could then write scripts (like generation of models, etc) in the menu and not have to switch to a terminal. I suppose it'd make TextMate a bit more IDE-like.

    I think the command menu serves this purpose.
    -- Allan Odgaard
  • How about the ability to keep your keystroke/hotkey associated with the highlight mode of the app. For example, when I'm in ruby mode, hitting F5 will run the current file and display the result in a popup window. When I'm in another mode, I could setup F5 to run the current script as well. The difference would be the command that is run. Under the current way of doing things, The hotkey sequence you pick for a command does the same thing for all files. Make sense?

    Yes, that makes sense and was briefly introduced in 1.1b1 as mode-dependent-lookup, but will re-appear in 1.1b6 as a much more flexible scope system :)
    -- Allan Odgaard
  • It'd be really helpful to be able to manipulate the cursor location from commands/scripts. It would instantly make a whole class of useful commands possible that currently aren't. Some examples:
    -- commands that automatically select blocks of code in various languages
    -- using pdfsync (syncing between a document and source) in LaTeX
    -- commands that do things like move the cursor to the next error or the next file difference
    -- a set of commands that could reproduce Emacs kill-yank (better than is possible now)
    -- anything that involves backward regexp search (which in turn would make possible e.g. a 'move to previous brace or paren' key, or a 'select previous comment' key)

    Something like this will probably have to wait for when I add real AppleScript support.
    -- Allan Odgaard
  • Show file encoding, utf-8, utf-16 etc, in the status bar. And perhaps add an encoding list to the Save As... dialog
    -- MarkPatterson

    The encoding list should be in the Save As… dialog. It will eventually make it to the status bar also! :)
    -- Allan Odgaard
  • With Automation>Run Command>Edit Commands I like to select what to do with standard error. Like you can with standard output
    -- Remco Greve

    Can you give an example of what you want to use it for (generally I prefer to keep things simple, so I need a bit of convincing, or at least know that it's not already possible to do what you want with normal output redirection)
    -- Allan Odgaard

    Thanks I am just starting to try textmate and i really like it a lot. I think that would be easy to use when for example i run tidy and i want to replace the document I can see the warnings in a seperate window. If i am correct now textmate mixes them. With normal output redirection like in the shell you see the errors even when you redirect the output. Maybe more simple would be to always do the same thing with the standard error (a sheet ?)

    Okay, I see the problem (and will fix it in an upcoming version)
  • SubEthaEdit has a nice feature when I use the find function. It'll show all matches in a list with a part of the code around. It would be greate to see this in a following version of textemate too
    -- Karl-Heinz Wild

    Merging Find and Find in Project should probably give you this: http://lists.macromates.com/pipermail/textmate/2004-December/002087.html
  • I'd like to have files saved automatically (configurably) and/or have a way to recover files (a la Emacs, of course) when the editor or OS crashes. -- Brian Lalor
  • I'll second the autosave/crash recovery request. I just "fired" BBEdit for a lack of the same feature. Crash recovery is KEY. (Chet Farmer)
  • I will third the autosave / crash recovery request! (Anonymous Coward)
  • A function menu is sorely needed. It should parse functions for languages such as C, C++, Java, PHP, CSS, etc.

    Yes, the syntax system is undergoing some changes which should allow function names and more to be extracted using that system.
    -- Allan Odgaard
  • If you're already changing the syntax system, it would be very cool to have a "Show Declaration" option from a context menu, that will show you where a function that you are calling is declared. This might not be as hard as it sounds if you are already extracting function and object names for a function pulldown menu mentioned above.
  • License options: It would be great to have the option of buying a noncommercial or student license for TextMate. I am a student who codes as only as hobby, and am super poor. Though I would like to support the development of this wonderful program, there is no way I can afford the aprx $55 U.S.D. :( Many other programs in this space have licensing levels like this . . .
    -- David
  • Embed a Python, Perl, Ruby, F-Script... interpreter inside TextMate for writing commands. Anything except shell! I can't stand shell! (Sorry. I've just spent a half hour trying to figure out how to get the length of a string.)

    ehm... you can call Python, Perl, Ruby, PHP, etc. from the Shell! That's one of the key advantages of TextMate's approach, you can write the command in whatever language you feel the most comfortable with!
    -- Allan Odgaard

    but you still have to go through a shell and deal with herefiles and the like. it'd be nice to be able to just code in whatever language right in the bundle editor window, and have TextMate figure out what to use from the #! line

    You can put #!/bin/ruby or whatever you like as the first line of a new command, and TextMate will figure out.
    -- Allan Odgaard
  • Some sort of 'include' ability inside commands .plist files (I don't know if this is possible.) So I can keep commands in individual text files and edit them in TextMate (or *gasp* another editor) as any other file.

    Yes, that's possible. In the actual command you have $TM_BUNDLE_PATH available, which is the path of your bundle, so you can e.g. execute your real script using that variable. There are several default commands which does this (and which are btw not written as a pure bash script).
    -- Allan Odgaard
  • Please make sure to test with files on a network share. Textmate beta 14 reliably crashes the system (multi-lingual screen of death) when saving for the second time (using meta-S), when the file in question is located on an apple network share (not samba). Mac OS 10.4.1 on the client side, 10.3.latest on the server side. The file IS actually saved; the crash happens immediately afterwords. beta 12 works fine.

    This is unfortunately a Tiger bug that has to do with extended filesystem attributes. Latest build has this disabled for AFP shares.
    -- Allan Odgaard
  • When piping text in, a request to save that document should prompt the user for a path, rather than saving to the temporary file in /tmp
  • Vi command mode. Hit escape and hjkl move around, / searches, ^$ move to beginning and end of line, oO pop open a new line below/above the current, and so on and so forth.
    I'm used to vi and I'm fast with it. I can't be bothered to move my hand to the mouse, with the associated mental context switch, just to delete the current line. Give me a decent subset of vi functionality. Motion commands, insert/replace/delete, searching with /? and n, dot to repeat command, yank and put as aliases for copy and paste, anything else that strikes your fancy. You'd probably have the honor of being the first GUI text editor in history to implement a vi mode (not counting of course vi-based editors like gvim)
    If you can implement decent vi functionality, I'll give you a US$50 donation over and above purchase price (it's worth that much to me)
    --Joe Auricchio, jauricchio @t ucsd.edu
  • About Vi command mode. I found info here on how to remap home and end. I also found a file somewhere that let me remap a lot of cool functions onto any key sequence that I wanted. I can't find the links right now but I did map the z. vi command to ctl-z to center the view around the current line.
    --Rick Gigger, rgigger @ leadership - solutions. net
  • Please add support for editing over SAMBA shares. Whenever I load a SMB share (from WinXP box) via the Finder, and then drag a directory from that share onto TextMate, within a few minutes TextMate crashes, forcing me to use BBEdit instead...yuk.

    Maybe you could send the crash report, if it's something you want me to look into.
    -- Allan Odgaard

Auto-detection when files are renamed in Finder

I really like the "standard" behaviour SubEthaEdit shows when a file gets renamed in the Finder while it is still open in the editor. When I save the file that has it's name changed, SubEthaEdit displays a dialog asking if the new name should be taken or if the file should be saved under a different name.

TextMate currently shows a different behaviour which I think should be changed to SubEthaEdit's behaviour.

-- Tim Pritlove

Already Implemented

  • Sorting by language for macros, snippets and commands. In the editor for each of these, include a method of selecting which languages it can apply to. It should be possible to apply to multiple languages, and there should be a 'global' checkbox to apply it to all languages. This way, there can be redundant command keys or triggers, so long as they don't apply to the same language. For instance, you could have the same "ifelse" trigger work for a PHP ifelse block as an ASP ifelse block. Also, the menus could be cleaned up substantially by moving macros, snippets and commands not relevant to the current language to a different submenu.
    -- Mike Powell

    There will be mode dependent lookup in 1.1b1: http://lists.macromates.com/pipermail/textmate/2004-December/001998.html
    • Added in 1.1b1
  • bundle page structure suggestion:
    the current state is that the name should be "The name of the bundle w/o the &#8220;.tmbundle&#8221; extension.".
    i think it would be nice if the name could be something differnt, for example if the bundle is called "MIPS.tmbundle" the name can be "MIPS Assembler" or whatever, just like in the syntax highlight files, because they can have different highlight-names too. imo this would make more fancy names possible. :)
    -- TorstenBecker
    • Redundant request now that we have the repository :)

Would be nice to add a compare function. So it is possible to compare two documents!

There's some crude support for that in the Diff bundle. Select two files in the project drawer and one of the diff actions.
-- Allan Odgaard

The Diff bundle doesn't do it. It would be great to have something like CodeWarriors "Compare Files..." or even BBEdit's version. I think this is the feature most lacking in TextMate.

I'd like some way of returning to the same line I was at before running a command to replace the document contents.

I'd like to be able to edit binary plist files in TextMate by having 'plutil convert' run on them as they are opened. Perhaps a generic open/close hook based on file type could be made available?

Down the road there should be open and close hooks. For now, I added a bundle command (in the plist bundle) which converts the current (plist) buffer to Old-Style ASCII format (works with binaries as well), it's set to have output in new document, but if you change that to Replace Entire Document, you have a quick way to convert it in-place.
-- Allan Odgaard

Great to hear that open and close hooks are in the pipeline. When you're adding them, could you please also add a hook for file dirtying, i.e. when the first keystroke that modifies a file occurs? That hook would come in very handy for version control systems that require an explicit modify command. Doing it at save time means that the list of modified files isn't accurate until all open files have been saved. This would also let people add a read-only file warning that occurs on first file change like TextWrangler's does. -- Sam Vaughan

Now that I noticed the subversion support using ssh keys. Would it be possible to add a sort of "open file from ssh..." function that would gives us the hability to open a file or a group of files typing something like:
"open file from ssh..." ceo@macromates.com:/home/ceo/Documents/*.txt "Ok"
-- Iznogoud_

That's not really possible, no. Though it might be possible to make as a wrapper, using the mate shell command (or the ODB editor interface).
-- Allan Odgaard

Support for regular-expression based bookmarks instead of just line-number based bookmarks.. I often use a command which replaces the entire contents of the buffer (cleanup whitespace) and it stinks to lose my bookmarks. If bookmarks could be stored based on matching the content of a line instead of just line number, you wouldn't have to forget the bookmarks. When adding a regex-based bookmark by default TextMate would use ^...contents of line...$ but the user could then right-click on the bookmark symbol to edit the regex. -- Jay Soffian

A bridge of some sort for setting/getting FS metadata. I use subversion to keep files I'm editing in-sync between my laptop/desktop. I'd like for the metadata to be kept with the subversion files (e.g, via svn keywords). Obviously not everyone wants metadata going into the subversion repository or may be using something other than subversion how metadata is stored/retrieved would have to be customizable. -- Jay Soffian

Keep history when moving between areas in a file via either bookmarks or go to symbo, or go to line numberl. I often switch to a symbol (function definition), look at it, then want to back to where I was. Right now I resort to. Set bookmark, go to symbol, return to bookmark, clear bookmark. Seems like you could keep history as a user jumps around a document (go to line, go to symbol, go to bookmark) and then let the user go forward/back like similar to a web browser history. The user could pull this history up like how the cut/paste history can be pulled up. -- Jay Soffian

If bookmarks have an order of creation associated with them, then you could just "push" a bookmark on the stack when you want to investigate a symbol definition, then "pop" the bookmark off when you are done. -- John Fieber 2006-01-24

Have the ability to drag text to TextMate's Icon and have TM open a new document with the text in it (or some other behaviour that makes sense). This seems to be supported by Apple applications. See http://www.macworld.com/weblogs/macosxhints/2005/11/textdrag/index.php?lsrc=mwrss

Code folding on complex - non-obvious conditions

For those of us who wear a bunch of different hats, i'm trying to implement a bundle which will handle some basic PIX firewall/IOS config files. It would be great to be able to fold non-obvious stanzas of config data. For example:

object-group network web-hosts

  network-object host
  network-object host
  network-object host
  network-object host
  network-object host

object-group network mail-hosts

  network-object host ...

the boundary is based on the indentation-- i'm not sure how to do this with the current regex assumption of line boundaries. Am i missing something? -- Linwood Ma

Sort bundle contributions as they appear in their status pop-up menu

I was just coding some Ruby and found myself typing 'requires' a lot.

I thought to look for an existing snippet, and used the snazzy status bar 'gear' menu to quickly review the list of goodies for the Ruby scope.

While the list of languages is sorted, the list of goodies that appears for any given scope is not sorted (at aleast not alphabetically) and I believe it would have made it easier to locate things I might be searching for.

-- Stephen Henderson

Some form of student license (or even a good discount) would be very much appreciated. I code using Ruby, and around $60 for an editor (even one that is as sweet as TextMate) is just something I can't afford. Please reconsider :D


I've been trying to use TextMate for work with my files mounted via NFS. I usually drop just a 'mate .' in my project directory. A typical project I work with holds, let me see, 1024 files and 32 directories (heh, another nice binary number). TextMate takes a significant amount of time when I switch it to the foreground (maybe 1 to 3 seconds.) It hurts my flow. It would be great if there were a way to speed this up.

Also, there are some README files that I cannot forceably have TextMate open. This probably because they contain an accent character, and it's a protection against TextMate opening binary files, but there should be someway to force TextMate to open the file.


Show Full Pathnames I'd love to see the full pathname displayed in small text under titlebar. I tend to edit several files with the same filenames, but in different directory trees (e.g., vhost.conf files for each virtual host on our web server). It's really confusing to try to decipher which one I'm editing at any given time.

To make matters worse, when these files have been remotely opened through an FTP client, the pathname available via Cmd-click on the proxy icon shows the file in a local temporary directory. BBEdit somehow reads the remote path of the file and displays that in a tooltip. While having the remote path shown is extremely useful, I'd prefer to see the path right at the top of the window so it's available at-a-glance instead of having to wait for a tooltip to popup.

This and built-in diff (like BBEdit's Find Differences command, not simply showing the diff output) are the two features that have been keeping me from fully embracing TextMate as my daily editor.

I would also like to see the full path name, which is one of the only things keeping me from switching from BBEdit. What would be great along these lines is a doc-pallet that somehow color codes/separates files according to their path, as I'm often working on 5 different 'index.php' or conf files at the same time. _StopTime

Interactive console commands It would be extremely useful to be able to interact with running console commands started from TextMate. (running either in Terminal.app/iTerm.app or even better inside a split panel). Enabling TextMate commands to send arbitrary strings as input to the stdin of the running shell command would be incredibly useful. I use this frequently with Emacs and Tuareg mode for OCaml to send the current line or function to the interactive OCaml interpreter. This is great for interactive development -- JanR

Command line language option When I open TextMate from a pipe on stdin it seems to pick whatever language was used last. Many of my shell aliases know they are dealing with a specific language though, e.g. filtering through xmllint before opening up in TextMate. It would be nice to be able to specify on the command line what language should be used instead of defaulting to the last used language. -- Aaron Lees

Make Undo/Redo Persistent It would be handy to have the Undo/Redo history available across editing sessions (and crashes). -- Nik W.

Save custom regexes in Find/Replace editor Recently I lost a couple of valuable complex regular expressions,because: 1) I didn't save a scratch document where I placed them for later use 2) I didn't have any possibility to store or administer those straight from the find and replace Editor. I'd love to see this feature to have your custom libraries that you could then reuse straight from the find and replace editor.It would save me valuable time.


I agree with Shane (above), TextMate and NFS / WebDav / SMB is a nightmare! There needs to be some way to stop whatever update checking TextMate is doing on the project directory. On large projects I'm watching the pinwheel for 5 to 10 seconds each time TextMate loses and regains focus.

For this reason alone I've had to--sadly--switch back to VIM / BBEdit for almost all my work.

Networked file systems are very common place in large organizations guys/gals. I sincerely hope you deal with this issue as soon as possible.

--James Andres (www.projectopus.com)

It would be nice if the Object-C plugin would present you with a selectable list of Help locations when you press control+H to get help on a topic and the topic is found in many locations.

--- Scott Andrew

Support for parameter-bundles I was experimenting with an bundle for 'nuweb' literete programming source, mainly an notation for interleaving code and documentation. it would be nice to have modes that could be per file customized. so that the noweb.bundle could for examplle use the LaTeX.bundle for documentation and the objc++.bundle for code for one file and Markdown/Java for another file.

-- Arne Ehrlich

Support file patching

I love the diff bundle as it makes everything super easy. How about something similar with patch? Say a command to "patch current file with clipboard" etc...

-- Rick Vugteveen

Snippets (and code) usable inside bundle editor

I've recently figured out (at least the basics of) how to edit bundles and create new snippets, and it's fabulous to be able to do this. The only thing missing is that I can't use snippets when editing snippets. It would be nice to be able to paste some code, select a bit, and then type $ and TAB, and get ${1:selected_text}. That may be a pretty trivial example, but I'm sure we could find more powerful uses for it if we had the capability.

-- Brandon Zylstra


I would like to second the various suggestions above for a more interactive 'diff' a la BBEdit/TextWrangler or FileMerge (or emacs' ediff)

Is there a feeling that this is possible with TextMate's various customizations and modes? Or would this require some work from Alan? (If the former, if anyone wanted to point me in the right direction I might be willing to give it a go (I've not done any development inside TextMate, however).

-- Andrew Jaffe

Mouse clicks as key equivalents

I'd like to create key equivalents like Cmd+Click for my Snippets/Commands.

-- Konstantin Käfer

Documentation / Help lookup

It would be absolutely huge if you could write a pluggable system to handle documentation for APIs, etc.

I dont think this would be that hard (in comparison to your other efforts). You could make a system which just scans a directory of files, then just preindex each word. Pressing some hotkey on an API function would bring up all the possile hits, and the the user would just select some. Some simple statistics and/or Bayensian analysis, and the lookups would get very accurate.

This is my biggest hassle in development, especially with all opensource products. API references are all over, and I am constanly on Google. I dont praise M$ much, but this is one thing Visual Studio does well - and always has.

Do this and users just need to wget (or some how suckdown) the documentation they need and then just store it in a directory...

(Also, the Wiki doesnt work quite right in Firefox 1.5)

-Ed Hemphill

Here's a tool I would love to see, an extension of several things TextMate already does:

Say I'm somewhere in any app's text box. I hit a global keystroke, and I get small, modal text box in the center of my screen. In this text book, I have full access to all of the snippets in my library. There would be global snippets, or I use a keystroke to switch to a particular language. I could even associate applications with languages, so that if I invoked this tool from the MySql Query Browser, the language would be SQL.

Anyway, so I quick-enter my text using the snippets engine, and when I hit Cmd-Return, the text box goes away and its contents are pasted at whatever point my cursor was when I invoked it.

This would be far better for me than any general "clippings" mechanism, as it would allow me to use a tiny TextMate box (with all the power that implies) very quickly, from any application.

-John Wiegley

Just a small suggestion, it would great if custom bundles could sync using .mac. So that if a developer has both a laptop and a desktop your not moving the bundles back and forth over the network...it just happens as part of the normal syncing process. Just a thought.

I'd love to have a "Send selection to TM" service item. I select text from Entourage (or other non-cocoa app), then "Send to TM".


Implementation Wordfast_org Translating engine with TM

It'd be great to have the find/replace text areas use the same theme from my editor window, inlcuding syntax coloring... any thoughts?

- mc

Currently when I open a big file and perform a find and replace the whole application blocks until the find/replace completes. It would be ideal for the find replace (replace specifically) to preform replacing in a separate thread, and be interruptable.

If I perform a replace on a document it may take forever, and I may decide to cancel.

Same petpeeve with running data trough external commands. If I ran the above example through sed the app would still block until the operation completed. The application waits until the task completes. Let the waiting be done in a separate thread, which monitors the task and its completion? So, if I decide that this is taking too long my other open documents do not suffer the fate of a forced quit.

- Nick Hristov

Spotlight doesn't search .markdown files; What can I about that?


I'd like if the Markdown bundle would show Setext-style headers (underlining the text with = or -) in the symbol list.


--- Tooltips don't seem to support showing newlines; Can this be changed?

BA --- The seach project funtion is totally flaky, it hangs up my entire system for searching a simple railsproject. Unusable. Hook into spotlight?

It would be great to be able to print from multiple files in a project at once.


I regularly need to run Find in Project on directories that contain a fair number of files, and this tends to hang the TM GUI for >10 seconds (on a Mac Pro 2.66 with 4GB RAM). I suggest running this kind of thing in a background thread (even better: multiple background threads).


I'd also love to see the full pathname displayed in small text under titlebar. It's really annoying when you are editing multiple source file, say from different branches, that have the same filename. I need to know which corresponds to which...

Better OS Crash Support

Here's another vote for better OS crash handling. I was taking 2 hours of meeting notes in TM when another app (VMware running Windows...argh) took the whole machine down. Since I created a new document but hadn't saved it yet, TM left me nothing. Persistent undo / redo or an automatically created file to back up the newly created doc window (with "save when when TM looses focus") would have done the trick. You gotta trust that your editor's got your back, right?

-Jeff Kennedy

--- +1 for Better OS crash support. I just had data loss when the OS crashed (not related to text mate), but I had hoped there were autosave files of open text documents. It will be a long night. Autosaves would be really helpful right now.+


+1 for better switch-to-foreground when files loaded over SMB/NFS. (see Shane's and James Andres' comment above).


Faster search in project

Indexed search. I have used MacSword which is a bible tool. I can search the entire bible much faster then I can search from within my project. The bible has more content then my project does. I have not looked into the indexing in TextMate nor in MacSword.

- Joshaven Potter July-2-2009

Quicklook support for supported file types

Since Mac OS X does not natively support quicklook for source files, shell scripts, and other common programmer text files, perhaps TextMate could?

- Harvey Sep-7-2009

Option to open all files in the same window

I like to have all my text files as tabs in 1 TextMate window. The files can be anywhere on my HD. Creating a project that contains my entire HD seems to kill textMate. Possibly there is way to do this already but I can't find it.

- Felix Turner Nov-21-2009

Option to remove BOM from UTF-8 encoded files

I had some trouble sending headers from PHP files because of the BOM marker. TextMate doesn't set the BOM marker but it does keep the marker around if it was added by another editor.

The only way to fix my files was to make a new file, or to remove the BOM using a HEX editor.

It would be nice if TextMate would show the BOM presence and if it would allow you to remove it.

- Wouter (nov 2010)

Let 'Includes' feature handle urls

I'm really starting to rely on the 'Includes' feature of the HTML bundle. But it would be even more useful to me if it had the ability to recognize urls and fetch them to include as part of the update. Right now, you can only specify files.

- Bryce Anderson (May 2011)