Crate macro_env

source ·
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