def help(args)
if args[1]
s = args[1]
subcmd = Subcommands.find do |try_subcmd|
(s.size >= try_subcmd.min) and
(try_subcmd.name[0..s.size-1] == s)
end
if subcmd
str = subcmd.short_help + '.'
if 'file' == subcmd.name and args[2]
s = args[2]
subsubcmd = InfoFileSubcommands.find do |try_subcmd|
(s.size >= try_subcmd.min) and
(try_subcmd.name[0..s.size-1] == s)
end
if subsubcmd
str += "\n" + subsubcmd.short_help + '.'
else
str += "\nInvalid file attribute #{args[2]}."
end
else
str += "\n" + subcmd.long_help if subcmd.long_help
end
return str
else
return "Invalid 'info' subcommand '#{args[1]}'."
end
end
s = %{
Generic command for showing things about the program being debugged.
--
List of info subcommands:
--
}
for subcmd in Subcommands do
s += "info #{subcmd.name} -- #{subcmd.short_help}\n"
end
return s
end