Rushmate
Rushmate attempts to make Textmate (macromates.com) custom command writing in ruby cleaner and smaller. It does this by leveraging rush (rush.heroku.com/).
Dependencies
-
Rush
Install
gem sources -a gems.github.com
sudo gem install schlueter-rushmate
Sample
After installing rushmate. You would make a command in Textmate with the following text.
#!/usr/bin/env ruby require ‘rubygems’ require ‘rushmate’ Rushmate::Command.new
# find ruby files with the current word in textmate
found_files = project_directory["**/#{current_word.downcase.rb"]
if found_files.empty?
# if you can't find any files show a tool tip
exit.show_tool_tip("can't find #current_wordcurrent_word.downcase.rb in project")
else
if found_files.size == 1
# if there is only 1 file go ahead and switch to that file
found_files.mate
else
# if there are multiple files prompt the user for which file they want to switch to
# then switch to their selection
menu_files = found_files.collect { |f| f.full_path.gsub(project_directory.full_path, "") }
project_directory[user_input.quick_menu_from_array(menu_files)].mate
end
end
}
For more information on creating Textmate commands read manual.macromates.com/en/commands#commands.