screenomat/README.md

1.7 KiB

screenomat

You like screen, I like screen. Make getting those big multi-command line-running projects even easier to get started up with screenomat.

How?

Make a .screenomat file in your app and write:

session do
  screen "bundle exec autotest", :title => "autotest"
  screen "rails c", :title => "dev console"
  screen "rails s", :title => "dev server"
  screen "less +F -fr log/test.log", :title => "test log tail"
  screen! :title => "bash"
end

Then run:

screenomat

whoa

More?

session :backend do
  screen "bundle exec autotest", :title => "autotest"
  screen "less +F -fr log/test.log", :title => "test log tail"
  screen! :title => "bash"
end

session :frontend do
  screen "bundle exec autotest", :title => "autotest"
  screen "rails c", :title => "console"
  screen "rails s", :title => "server"
  screen "rake jasmine", :title => "jasmine"
  screen! :title => "bash"
end

Then run:

screenomat backend

or even:

screenomat frontend

Defaults?

Like magic screenomat bits anywhere? ~/.screenomat is what you want! Same syntax!

Ruby? DRY?

Just like Gemfile, *.gemspec, and other modern Ruby things, .screenomat is Ruby code. Like DRYing things? You can do it!

class Screenomat::DSL::Session
  def whoa(&block)
    screen :title => "first"
    instance_eval(&block)
    screen :title => "last"
  end
end

session :first do
  whoa do
    screen "bundle exec autotest", :title => 'autotest'
  end
end

session :second do
  whoa do
    screen %{echo "cats"}
  end
end

What's left?

A bunch. I write what I need. Feel like adding fun things and/or tests? Fork, hack, pull request. You know the drill.