1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
//! # env-lang
//!
//! [![Build Status](https://travis-ci.org/AlbanMinassian/env-lang.svg?branch=master)](https://travis-ci.org/AlbanMinassian/env-lang)
//! [![codecov](https://codecov.io/gh/AlbanMinassian/env-lang/branch/master/graph/badge.svg)](https://codecov.io/gh/AlbanMinassian/env-lang)
//! [![License:MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
//! [![env-lang Latest Version](https://img.shields.io/crates/v/env-lang.svg)](https://crates.io/crates/env-lang)
//!
//! return env LANG' struct with language, localisation, charset and variant
//!
//! ## Example
//!
//! ```rust
//! extern crate env_lang;
//! use env_lang::{to_struct, EnvLang};
//! fn main() {
//!     let lang_env = "fr_FR.UTF-8@euro"; // or std::env::var("LANG")
//!     let result: EnvLang = to_struct(&lang_env).unwrap();
//!     assert!(result == EnvLang{
//!         language: Some("fr"),
//!         localisation: Some("FR"),
//!         charset: Some("UTF-8"),
//!         variant: Some("euro")
//!     });
//! }
//! ```
//!
//! ## Links
//!
//! github: [https://github.com/AlbanMinassian/env-lang](https://github.com/AlbanMinassian/env-lang)
//!
//! ## license
//!
//! MIT

extern crate failure;
extern crate core;
use failure::Fail;

// struct
mod struct_envlang;
pub use self::struct_envlang::EnvLang;

// errors
mod struct_envlang_error;
pub use self::struct_envlang_error::EnvLangError;
pub use self::struct_envlang_error::EnvLangErrorKind;

// util to_struct
mod to_struct;
pub use self::to_struct::to_struct;