ignite 0.1.6

ignite serves the role as a "batteries included" addon to stdlib providing useful stuff and higher level functions along with abstractions.
Documentation
//! A simple argument parser. In it's current state. You probably want to use clap instead but this is quite a lot
//! simpler. [UNTESTED PORT]

use argument::Argument;
use std::collections::HashMap;

/// Parse a string of concentrated arguments against an array of possible arguments.
pub fn parseargs(argstring: String, valid_arg_array: Vec<Argument>) -> HashMap<String, bool> {
    // Make a new HashMap to store if an argument is given.
    let mut arg_bool_list = HashMap::new();

    // Set every argument to false as a base,
    for validarg in &valid_arg_array {
        arg_bool_list.insert(validarg.identifier().to_string(), false);
    }

    // Check every character in the provided argument string if it's valid. And if so, set it's entry to true.
    for arg in argstring.chars() {
        for validarg in &valid_arg_array {
            if arg == validarg.identifier() {
                arg_bool_list.remove(&validarg.identifier().to_string());
                arg_bool_list.insert(validarg.identifier().to_string(), true);
            }
        }
    }

    arg_bool_list
}