new object $user: $has_commands;

var $root inited = 1;
var $has_commands shortcuts = #[["\"", 'say_cmd], [":", 'emote_cmd]];
var $has_commands commands = #[["say", 'say_cmd], ["emote", 'emote_cmd]];

public method .parse_line() {
  arg line;
  var cmd, ret;

  if ((cmd = .match_command(line))) {
    ret = (| .(cmd[1])(line, cmd[2], @(cmd[3])) |);
    switch (ret) {
      case ~numargs:
	return "Wrong number of arguments.";
      default:
	return ret;
    }
  }
};