diff options
| author | 魏曹先生 <1992414357@qq.com> | 2025-10-29 15:28:50 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-29 15:28:50 +0800 |
| commit | 4f35da85641549c3e08c4e1b73fccfc7ec9779a2 (patch) | |
| tree | 360a7c95183bc9800f95fdb34e162383f66daffa /crates/vcs_data/src/data/vault.rs | |
| parent | 23784691ed4668e4e308fb5af70c2574f5936346 (diff) | |
| parent | 50945b098e3f6ff16f3f4cf25c2835ddf1e7b3a8 (diff) | |
Merge pull request #29 from JustEnoughVCS/jvcs_dev_actions
Jvcs dev actions
Diffstat (limited to 'crates/vcs_data/src/data/vault.rs')
| -rw-r--r-- | crates/vcs_data/src/data/vault.rs | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/crates/vcs_data/src/data/vault.rs b/crates/vcs_data/src/data/vault.rs index 80ebe1d..efb4eec 100644 --- a/crates/vcs_data/src/data/vault.rs +++ b/crates/vcs_data/src/data/vault.rs @@ -2,6 +2,7 @@ use std::{ env::current_dir, fs::{self, create_dir_all}, path::PathBuf, + sync::Arc, }; use cfg_file::config::ConfigFile; @@ -22,7 +23,7 @@ pub mod sheets; pub mod virtual_file; pub struct Vault { - config: VaultConfig, + config: Arc<VaultConfig>, vault_path: PathBuf, } @@ -35,13 +36,19 @@ impl Vault { /// Initialize vault pub fn init(config: VaultConfig, vault_path: impl Into<PathBuf>) -> Option<Self> { let vault_path = find_vault_path(vault_path)?; - Some(Self { config, vault_path }) + Some(Self { + config: Arc::new(config), + vault_path, + }) } /// Initialize vault pub fn init_current_dir(config: VaultConfig) -> Option<Self> { let vault_path = current_vault_path()?; - Some(Self { config, vault_path }) + Some(Self { + config: Arc::new(config), + vault_path, + }) } /// Setup vault @@ -144,4 +151,9 @@ Thank you for using `JustEnoughVCS!` Self::setup_vault(current_dir()?).await?; Ok(()) } + + /// Get vault configuration + pub fn config(&self) -> &Arc<VaultConfig> { + &self.config + } } |
