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}