Taskmate ... the missing GTD tool for your editor: now out!

posted: November 24th, 2007 · by: Sven

in: Misc stuff · tagged as: , , , , ·  14 comments »

“Because home is where my editor is.” — ember

Taskmate is a small tool written in Ruby that enhances your text editor with some really simple yet powerful todolist’ish features.

You can read about my motivation to implement Taskmate here. And you can you can download and learn how it works here.

Taskmate is currently available as a TextMate bundle only. But as it’s a pure Ruby implementation it will as well be capable to pimp up any other scriptable editor. As I’m currently using (almost) only TextMate I don’t want to integrate Taskmate with other editors myself. But if you want to give it a try, I’ll happily help you with that.

I highly appreciate suggestions, feedback, criticism … and of course help and participation.

By the way the TextMate integration of this bundle is based on Henrik’s bundle which was inspired by Taskpaper by Jesse Grosjean. Therefor the same licensing applies to it, i.e. you are free to modify and redistribute it non-commercially, though I would appreciate due credit.

Go ahead and try it out! It’s cool :-)

Leave a comment


  1. Jeremy said November 26th, 2007 at 05:41 PM  

    Amazing stuff. Thanks, man!

  2. Tyson said January 25th, 2008 at 05:34 AM  

    Pretty cool, but it looks like forcing the files to be named .todo breaks the ability to quickly append text to them through quicksilver…

    and won’t that also stop you from being able to transfer and edit them on mobile devices?

    I like using text files, but this seems to cut down on the benefits of using text.

  3. Sven said January 25th, 2008 at 01:59 PM  

    Hi Tyson!

    Wow, you have some pretty awesome clips on your website! Blew my away.

    The reason why I’ve used .todo rather than .txt is that I personally have hundreds of .txt files with only some .todo list files and I definitely want to keep them in the same directory tree. So using .txt files by default wouldn’t work for me.

    You might be right regarding the mobile devices though and I’m considering to just allow to set the extensions through an ENV variable like TM_TASKMATE_FILE_EXT.

    Would that make sense?

    Regarding Quicksilver you should be able to work around this by creating a hard link for your inbox.txt like:

    ln ~/inbox.txt /path/to/inbox.todo

    Please tell me what you think. I’m definitely keen to make this thing more useful for other setups/usecases than just my own special case.


  4. Tyson said January 31st, 2008 at 01:09 AM  

    Thanks for checking out my site :)

    Ya even if it were just .todo.txt or something similar I think that would work better for me. I’m having a hard time finding a text editor on my phone that will open any type of file, and I’d like to be able to use Quicksilver to call up any project as well.

    I don’t know what setting an ENV would change, I’m new to this stuff.

  5. Sven said February 16th, 2008 at 02:32 PM  

    Hi Tyson,

    this stuff is now on my todo list for Taskmate, it will be in the next Taskmate version that I’m planning to work on in the next few weeks.

    As for the ENV vars: when you have a TextMate project open you can click on the (i) Icon on the project drawer in the bottom right corner. When you do that without having any folder or file selected you will get a window where you can set variables that will be specific to this project.

    I think there should be another way though to also configure stuff like file extensions for all TextMate projects at once.

  6. Boone said April 13th, 2008 at 10:06 PM  

    Hi Sven!

    Excellent bundle. As I was playing around with it, my newness with the bundle’s expectations caused me to pop a ruby error doing nil.strip while hitting option-enter to mark the task completed. Somewhere around item.rb:22 is a line:

    @text = $1.strip

    If you have a blank task anywhere in your file – the dash exists, but no text follows it – then there’s no match and therefore $1 is nil. As a quick hack I appended “if not $1.nil?” to the line, resulting in:

    @text = $1.strip if not $1.nil?

    This allows me to mark a task @completed, even if it (or any other task in the file) is nil.

    Again, thank you for a great bundle.

  7. Sven said May 11th, 2008 at 06:36 PM  

    Hi Boone!

    That looks like an obvious bug :) Thanks for the catch! I’ll change that line in the next version of the bundle.

  8. jack said January 23rd, 2011 at 10:58 AM  

    I mean I want to create a page to display my articles, so I create a new seeion named archives, and copy your code in my archive.liquid, but when I visit www.mysite.com/archives there is noting happens. cheap vps

  9. Chat said March 31st, 2011 at 06:52 PM  

    This is a good fix for the text editor:

    Dependencies.loadoncepaths -= Dependencies.loadoncepaths.select{|path| \ path =~ %r(^#{File.dirname(FILE)}) }

  10. Markus said April 18th, 2011 at 05:31 PM  

    Sehr schönes tool, wir sind gegenwärtig immer viel beim Fussball und haben uns auch schon ein paar fussballtickets und Karten geholt und kommen deswegen nicht so oft zu solchen Projekten. Wenn ich aber mehr Zeit habe, schaue ich es mir mal genauer an und werde auch mal den Editor testen.

  11. side sleeper pillow said April 22nd, 2011 at 07:03 AM  

    Nicely written article, Knowledgeable and informative post. I’m really glad I came my way along your site. Keep posting, I really like the whole topic. Thanks for sharing.

  12. Okey oyunu said May 12th, 2011 at 03:45 PM  

    Tüm dünya artik okey oyunu oynuyor. Yillardir bir çok oyun programi olmasina ragmen, içlerinden en güzeli olarak nitelendirebilecegimiz tek bir site göze çarpmaktadir. Diger tüm okey oyunu programlarinin aksine ücretsiz olmasi ve 3 boyutlu olarak hizmet vermesi mükemmel bir gelismedir. Sizlerde www.okey-oyunu.com adresinden bu essiz okey oyununu indirebilirsiniz. Kullanimi çok basit ve Türkçe dil seçenegi ile kolaylikla oyuna baslayabilirsiniz. Ister kendi ülkenizden, isterseniz dünyanin tüm farkli bölgelerinden dilediginiz oyun odalarini seçerek, oyuna hemen baslayabilirsiniz. Okey oyunu oynamak için artik arkadas bile aramaniza gerek kalmadan, bilgisayarinizdan 100 binlerce üye ile online olarak okey oyununu oynamanin zevkine varabilirsiniz.

  13. porno said May 22nd, 2011 at 01:32 PM  

    I do agree with all of the ideas you have presented in your post. They’re really convincing and will definitely work. Still, the posts are too short for newbies. Could you please extend them a bit from next time? Thanks for the post.

  14. porno said May 22nd, 2011 at 02:14 PM  

    good comment. thanks you friends.

    I’ve surfed the net more than three hours today, however, I haven’t found such useful information. Thanks a lot, it is really useful to me

Sorry, comments are closed for this article.

artweb design
Sven Fuchs
Grünberger Str. 65
10245 Berlin, Germany


Fon +49 (30) 47 98 69 96
Fax +49 (30) 47 98 69 97