Here is a screencast with a tutorial on creating your own bundles in e. It uses the todo.txt format as example, which is a simple plain text todo list format created by Gina Trapani, and shows how to add highlighting, commands, completions and snippets.

Creating your own bundles is quite easy in e. The documentation on this is still very limited, but the original documentation on the TextMate bundles format all apply (we just use JSON rather than the apple plist format to define Languages and Preferences).

The resulting bundle has been put on ebundles and can be installed from the bundle manager.

8 Responses to “e tutorial: Creating a “todo.txt” Bundle”

  1. rojaro Says:

    Nice screen cast ^^

  2. toque Says:

    Cool screencast, and very inspiring. I will definitely be trying out creating my own bundles. I especially love the use of the new snippet pipe feature at the end.

  3. carl Says:

    Excellent screencast!

    And todo.txt looks very interesting, although I am unable to make the due date expand. Is there a way to debug that? I installed chronic through gem but nothings happens when I write something like tomorrow or Wednesday.

  4. JRSylvester Says:

    Can anyone tell me the name of the music used? Thanks. :)

  5. Noel Cower Says:

    Neat to see how you do it. I mostly just hacked around for a while before finally figuring out how to do this properly, but it mostly required me to learn a little more about regular expressions. The only downside I’ve noticed to the way language grammars work in e, and probably TextMate as well if I were using it, is that you cannot define multiple folding start/stop markers (so that you don’t get /** closing with }, for example).

    And now that I got that bit of text out of the way, what music is playing in this video?

  6. Allen Says:

    The first song, at least, is “Sweet Lullaby” by Deep Forest.

  7. Alex Says:

    The music is Deep Forest. Not sure about the song names, but probably something from Wold Mix or Deep Forest albums…

  8. SeanW Says:

    Carl, I had the same problem and had to do a few things to make it work. I’m not real familiar with Cygwin and Ruby, so you may not have to do all these steps. The first thing I would try is to change your Due Date snippet to the following:

    due:${1:tommorow|ruby -e “require ‘rubygems’; require ‘chronic’; print Chronic.parse(STDIN.read, :guess => false).begin.strftime(’%F’)”}

    Note the addition of require ‘rubygems’; - this may be all you need to add. If that doesn’t work for you, then here are the other things I did.

    First, I launched the Cygwin installer and made sure ruby was installed.
    Second, I downloaded RubyGems (google for the download).
    Third, open a Cygwin bash prompt, navigate to the extracted RubyGems folder and run: ruby setup.rb
    Fourth, run: gem install chronic

    Again, I’m no expert - but those are the steps I performed that worked for me… hopefully not all that is required. :)