devalang_core/config/
ops.rs1use crate::config::driver::ProjectConfig;
2use std::fs;
3use std::path::Path;
4
5pub fn load_config(path: Option<&Path>) -> Option<ProjectConfig> {
6 let config_path_buf;
7 let config_path = match path {
8 Some(p) => p,
9 None => {
10 config_path_buf = match devalang_utils::path::get_devalang_config_path() {
11 Ok(p) => p,
12 Err(_) => {
13 return None;
14 }
15 };
16 &config_path_buf
17 }
18 };
19
20 if config_path.exists() {
21 let content = fs::read_to_string(config_path).ok()?;
22 toml::from_str(&content).ok()
23 } else {
24 None
25 }
26}