Skip to main content

DevelopmentNodeEnvironment_MicrosoftVSCodeDependency_22NodeVersion_Bundle_Clean_Debug_ElectronProfile_EsbuildCompiler_Mountain/ProcessManagement/NodeResolver/
TryOverride.rs

1//! `Pick` env-var override. Returns `Some` when the path exists, logs a
2//! warning when it doesn't, and returns `None` otherwise.
3
4use crate::{
5	ProcessManagement::NodeResolver::{ExpandHome, NodeSource, ResolvedNode},
6	dev_log,
7};
8
9pub fn Fn() -> Option<ResolvedNode::Struct> {
10	let Raw = std::env::var("Pick").ok()?;
11
12	let Expanded = ExpandHome::Fn(&Raw);
13
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
19		None
20	}
21}