Skip to main content

Mountain/ProcessManagement/NodeResolver/
TryOverride.rs

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