envish
envish is a Rust library for discovering, iterating and grouping environment variables.

Installation
Examples
Group related environment variables
envish::group_by gets a grouped collection of related environment variables.
The group expression must contain two named groups:
<group>describes the substring that groups variables together.<key>describes the variable's key in the result.
set_var;
set_var;
set_var;
set_var;
let group_expr = r"FOO_(?<group>.+)_(?<key>.+)";
let mut groups = group_by.unwrap;
let ally = &groups;
assert_eq!;
assert_eq!;
let charlie = &groups;
assert_eq!;
assert_eq!;
Search by regular expression
envish::search() returns an iterator over all environment variables with names that match a given expression.
set_var;
set_var;
set_var;
set_var;
let expr = "(.*)_JESTER_(.*)";
let mut matches = search.unwrap;
let m = matches.next.unwrap;
assert_eq!;
assert_eq!;
let m = matches.next.unwrap;
assert_eq!;
assert_eq!;
let m = matches.next;
assert!;
Search by prefix
envish::with_prefix() returns an iterator over all environment variables with the given prefix.
set_var;
set_var;
set_var;
set_var;
let prefix = "IMP_JESTER_";
let mut matches = with_prefix.unwrap;
let m = matches.next.unwrap;
assert_eq!;
assert_eq!;
let m = matches.next.unwrap;
assert_eq!;
assert_eq!;
let m = matches.next;
assert!;
Support
Please submit all your questions, feature requests and bug reports at github.com/cariad/envish/issues. Thank you!
License
The library is open-source and published under the MIT License.
Author
Hello! 👋 I'm Cariad Eccleston. You can find me at cariad.earth, github.com/cariad, linkedin.com/in/cariad and @cariad.earth on Bluesky.