Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was wondering if it was possible to run a custom script on save based on certain file names in textmate. For example I'd like to auto compile a C program sometime on save.

share|improve this question

It's actually fairly easy to do this using a custom command in a bundle.

Here's how to make a simple command:

  • Open up the bundle editor, and find the bundle you want to add to.
  • Create a "New Command" using the button on the bottom left of the editor. Name it appropriately, and set its scope to source.c.
  • Set the action dropdown to "Key Equivalent", and set the shortcut Cmd + S.
  • Change the "Save" dropdown to "Current File".
  • Enter your command, and set the input and output dropdowns appropriately. Input will be piped to STDIN if I remember correctly.
  • Reload TextMate's bundles.

That's it. You should now have a command which saves the file, and runs a command.

You can probably do something with TextMate commands by using a macro in a similar way.

share|improve this answer

As far as I know, there's no way to do this as you described, for all save situations (i.e., using Command-S, selecting File->Save, etc.).

You might be able to create a custom bundle item that saves the document and executes your script, and assign it Command-S, so that it runs when you use that keyboard shortcut.

share|improve this answer

You must log in to answer this question.