summaryrefslogtreecommitdiffstats
path: root/src/dirs.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/dirs.rs')
-rw-r--r--src/dirs.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/dirs.rs b/src/dirs.rs
new file mode 100644
index 0000000..2ffbb33
--- /dev/null
+++ b/src/dirs.rs
@@ -0,0 +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 {
+ PROJECT_DIRS.config_dir().to_path_buf()
+}
+
+fn data_dir() -> std::path::PathBuf {
+ PROJECT_DIRS.data_dir().to_path_buf()
+}