summaryrefslogtreecommitdiffstats
path: root/src/dirs.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/dirs.rs')
-rw-r--r--src/dirs.rs17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/dirs.rs b/src/dirs.rs
index 45674e3..2ffbb33 100644
--- a/src/dirs.rs
+++ b/src/dirs.rs
@@ -1,9 +1,20 @@
+static PROJECT_DIRS: once_cell::sync::Lazy<directories::ProjectDirs> =
+ once_cell::sync::Lazy::new(|| {
+ directories::ProjectDirs::from("", "", "nbsh").unwrap()
+ });
+
pub fn config_file() -> std::path::PathBuf {
config_dir().join("config.toml")
}
+pub fn history_file() -> std::path::PathBuf {
+ data_dir().join("history")
+}
+
fn config_dir() -> std::path::PathBuf {
- let project_dirs =
- directories::ProjectDirs::from("", "", "nbsh").unwrap();
- project_dirs.config_dir().to_path_buf()
+ PROJECT_DIRS.config_dir().to_path_buf()
+}
+
+fn data_dir() -> std::path::PathBuf {
+ PROJECT_DIRS.data_dir().to_path_buf()
}