Added commands to cd into a castle and to open a shell and to open the

default editor in the root of a given castle.
This commit is contained in:
Jeremy Cook
2013-12-28 22:12:47 -05:00
parent 8f67188c19
commit 78271a9ed4
2 changed files with 62 additions and 0 deletions

View File

@@ -239,6 +239,31 @@ class Homesick < Thor
end
desc "cd CASTLE", "Open a new shell in the root of the given castle"
def cd(castle = DEFAULT_CASTLE_NAME)
check_castle_existance castle, "cd"
castle_dir = repos_dir.join(castle)
say_status "cd #{castle_dir.realpath}", "Opening a new shell in castle '#{castle}'. To return to the original one exit from the new shell.", :green
inside castle_dir do
system(ENV['SHELL'])
end
end
desc "open CASTLE", "Open your default editor in the root of the given castle"
def open(castle = DEFAULT_CASTLE_NAME)
if ! ENV['EDITOR']
say_status :error,"The $EDITOR environment variable must be set to use this command", :red
exit(1)
end
check_castle_existance castle, "open"
castle_dir = repos_dir.join(castle)
say_status "#{ENV['EDITOR']} #{castle_dir.realpath}", "Opening the root directory of castle '#{castle}' in editor '#{ENV['EDITOR']}'.", :green
inside castle_dir do
system(ENV['EDITOR'])
end
end
protected
def home_dir