Skip to main content

Mountain/ProcessManagement/NodeResolver/
TryOverride.rs

1
2//! `Pick` env-var override. Returns `Some` when the path exists, logs a
3//! warning when it doesn't, and returns `None` otherwise.
4
5use crate::{
6	ProcessManagement::NodeResolver::{ExpandHome, NodeSource, ResolvedNode},
7	dev_log,
8};
9
10pub fn Fn() -> Option<ResolvedNode::Struct> {
11	let Raw = std::env::var("Pick").ok()?;
12
13	let Expanded = ExpandHome::Fn(&Raw);
14
15	if Expanded.exists() {
16		Some(ResolvedNode::Struct { Path:Expanded, Source:NodeSource::Enum::Override })
17	} else {
18		dev_log!("cocoon", "warn: [NodeResolver] Pick={} does not exist; ignoring", Raw);
19
20		None
21	}
22}