trybuild_internals_api/
env.rs

1use crate::error::{Error, Result};
2use std::env;
3
4#[derive(PartialEq, Default, Debug)]
5pub enum Update {
6    #[default]
7    Wip,
8    Overwrite,
9}
10
11impl Update {
12    pub fn env() -> Result<Self> {
13        let Some(var) = env::var_os("TRYBUILD") else {
14            return Ok(Update::default());
15        };
16
17        match var.as_os_str().to_str() {
18            Some("wip") => Ok(Update::Wip),
19            Some("overwrite") => Ok(Update::Overwrite),
20            _ => Err(Error::UpdateVar(var)),
21        }
22    }
23}