fn handle_string<'a>(command: &'a str, conf: &mut WeldConf) -> Option<String> {
    let mut tokens = command.splitn(2, ' ');
    let repl_command = tokens.next().unwrap();
    let arg = tokens.next().unwrap_or("");
    if RESERVED_WORDS.contains_key(repl_command) {
        let command = RESERVED_WORDS.get(repl_command).unwrap();
        match *command {
            ReplCommands::LoadFile => match process_loadfile(arg) {
                Err(s) => {
                    println!("{}", s);
                    None
                }
                Ok(code) => Some(code),
            },
            ReplCommands::SetConf => {
                let mut setconf_args = arg.splitn(2, ' ');
                let key = setconf_args.next().unwrap_or("");
                let value = setconf_args.next().unwrap_or("");
                process_setconf(conf, key, value);
                None
            }
            ReplCommands::GetConf => {
                let mut setconf_args = arg.splitn(2, ' ');
                let key = setconf_args.next().unwrap_or("");
                let value = process_getconf(conf, key);
                if let Some(s) = value {
                    println!("{}={}", key, s);
                } else {
                    println!("{}=<unset>", key);
                }
                None
            }
        }
    } else {
        Some(command.to_string())
    }
}
Handles a single string command. Returns a string if the command
contains code or `None` if the command is fully processed.
weld-repl/src/main.rs