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}