Expand description
Macro_env: An environment variable seeking crate
Macro_env is a crate to find environment variables.
Originally designed to easily fetch environment variables from different places without having to change a lot of different code.
By simply changing the SearchType in the macro or in the function, it fetches the variable from a different location.
Usage
First add:
[dependencies]
macro_env = "0.1.*"
Macro
// Import the crate, importing the whole crate is the easiest
// You can also manually import the function you need, for .env search for example:
// `use macro_env::{dotenvreader, macro_env};`
use macro_env::*;
// Fetch the environment variable "OS" from the .env file at the cargo.toml level
macro_env!(File, "OS");
// Fetch the environment variable "OS" from the system environment variables
macro_env!(System, "OS");
// Asks the user for enter the input through the terminal
macro_env!(Input);
// All, without specifying the searchtype, will try to find the variable through all 3 methods:
// First it checks for a .env file
// Then by searching for a system variable
// And if both fail, it will ask the user for input
macro_env!(All, "OS");
macro_env!("OS");
EnvSeeker()
use macro_env::*;
use macro_env::SearchType::*;
// You can use envseeker() when you prefer using a function over a macro
envseeker(Envfile, "OS")
Macros
macro_env!()
is used to fetch environment variables.
Enums
- Searchtype for the
fn envseeker()
, this will define what type of search it performs
Functions
- Reads the .env file and tries to find the .env variable.
- A function instead of a macro to find the environment variable
- Request user input
input()
fetches stdin.read_lines() and then trims them. - Fetch the environment variable from the system environment variable