#
# ShellExecutables.rb
#
# $Author: hiroya $
# $Date: 2000/11/23 01:53:10 $
# Copyright (C) 2000 Hiroya KUBO
#
module ShellExecutables
def getShellExecutables
if(@shell_executables == nil)
@shell_executables = {
'ls' => ls,
'cd' => cd,
'pwd' => pwd,
}
end
return @shell_executables
end
def cd
return Proc.new{|argv|
begin
if(argv.size == 0)
@dir.setPath(@dir.getHomeDirectory)
elsif(argv.size == 1)
@dir.setPath(argv[0])
else
print("cd: Too many arguments.\n")
end
rescue NamingException
print($!.getValue+"\n")
end
}
end
def pwd
return Proc.new{|argv|
print(@dir.getPath+"\n")
}
end
def ls
return Proc.new{|argv|
if(argv.size == 0)
argv.push("")
end
begin
i = 0
for arg in argv
if(argv.size > 1)
i += 1
if(i > 1)
print "\n"
end
print(arg+":\n")
end
ret = []
@dir.foreach(@dir.getContextualName(arg)) do |filename|
if(@dir.directory?(filename))
ret.push(filename+@dir.getSeparator)
else
ret.push(filename)
end
end
ret.sort.each do |n|
print n,"\n"
end
end
rescue NamingException
print($!.getValue+"\n")
end
}
end
end
syntax highlighted by Code2HTML, v. 0.9.1