summaryrefslogtreecommitdiff
path: root/data/src/env.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-02-05 22:35:05 +0800
committer魏曹先生 <1992414357@qq.com>2026-02-05 22:35:05 +0800
commit27f6414ad1ff451feb0044af62f37dc2a6255ffa (patch)
treecb5693bc014cc8579dcf02a730fd4d2a5dfcf1a5 /data/src/env.rs
parentade2fcb9302a4ab759795820dbde3b2b269490ee (diff)
Remove examples and legacy code, update .gitignore
- Delete examples directory and its example action system - Rename actions/ to legacy_actions/ and data/ to legacy_data/ - Update Cargo.toml license file reference - Move setup scripts to scripts/dev/ directory - Add todo.txt patterns to .gitignore
Diffstat (limited to 'data/src/env.rs')
-rw-r--r--data/src/env.rs84
1 files changed, 0 insertions, 84 deletions
diff --git a/data/src/env.rs b/data/src/env.rs
deleted file mode 100644
index 209c0cc..0000000
--- a/data/src/env.rs
+++ /dev/null
@@ -1,84 +0,0 @@
-use crate::constants::*;
-use std::io::{self, Error};
-use std::{env::set_current_dir, path::PathBuf};
-
-/// Find the nearest vault or local workspace and correct the `current_dir` to it
-pub fn correct_current_dir() -> Result<(), io::Error> {
- if let Some(local_workspace) = current_local_path() {
- set_current_dir(local_workspace)?;
- return Ok(());
- }
- if let Some(vault) = current_vault_path() {
- set_current_dir(vault)?;
- return Ok(());
- }
- Err(Error::new(
- io::ErrorKind::NotFound,
- "Could not find any vault or local workspace!",
- ))
-}
-
-/// Get the nearest Vault directory from `current_dir`
-pub fn current_vault_path() -> Option<PathBuf> {
- let current_dir = std::env::current_dir().ok()?;
- find_vault_path(current_dir)
-}
-
-/// Get the nearest local workspace from `current_dir`
-pub fn current_local_path() -> Option<PathBuf> {
- let current_dir = std::env::current_dir().ok()?;
- find_local_path(current_dir)
-}
-
-/// Get the nearest Vault directory from the specified path
-pub fn find_vault_path(path: impl Into<PathBuf>) -> Option<PathBuf> {
- let mut current_path = path.into();
- let vault_file = SERVER_FILE_VAULT;
-
- loop {
- let vault_toml_path = current_path.join(vault_file);
- if vault_toml_path.exists() {
- return Some(current_path);
- }
-
- if let Some(parent) = current_path.parent() {
- current_path = parent.to_path_buf();
- } else {
- break;
- }
- }
-
- None
-}
-
-/// Get the nearest local workspace from the specified path
-pub fn find_local_path(path: impl Into<PathBuf>) -> Option<PathBuf> {
- let mut current_path = path.into();
- let workspace_dir = CLIENT_PATH_WORKSPACE_ROOT;
-
- loop {
- let jvc_path = current_path.join(workspace_dir);
- if jvc_path.exists() {
- return Some(current_path);
- }
-
- if let Some(parent) = current_path.parent() {
- current_path = parent.to_path_buf();
- } else {
- break;
- }
- }
-
- None
-}
-
-/// Get the system's document directory and join with the appropriate application name
-pub fn current_cfg_dir() -> Option<PathBuf> {
- dirs::config_local_dir().map(|path| {
- if cfg!(target_os = "linux") {
- path.join("jvcs")
- } else {
- path.join("JustEnoughVCS")
- }
- })
-}