sharexin 0.6.7

ShareX for Linux and FreeBSD
use language;
use std::process;
use yaml_rust::YamlLoader;

// Ends the current process with an error code (useful in BASH scripting)
pub fn exit() -> ! {
    process::exit(1);
}

// Gets error message from appropriate localization file provided by language::loader()
// and returns it as a String
pub fn message(code: usize) -> String {
    let locators = YamlLoader::load_from_str(&language::loader()).unwrap();
    let locator = &locators[0]["Error"];

    let error = &locator["Error"].as_str().unwrap();

    match code {
        1...31 => {
            return format!(
                "{} {}: {}",
                error,
                code,
                &locator[code].as_str().expect("Error not found")
            )
        }
        _ => unreachable!("Internal Logic Error"),
    };
}