use serde::{Deserialize, Serialize};
use std::path::PathBuf;
#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)]
pub struct RockLayoutConfig {
pub(crate) etc_root: Option<PathBuf>,
pub(crate) etc: PathBuf,
pub(crate) opt_etc: PathBuf,
pub(crate) conf: PathBuf,
pub(crate) doc: PathBuf,
}
impl RockLayoutConfig {
pub fn new_nvim_layout() -> Self {
Self {
etc_root: Some("site/pack/lux".into()),
etc: "start".into(),
opt_etc: "opt".into(),
conf: "conf".into(),
doc: "doc".into(),
}
}
pub(crate) fn is_default(&self) -> bool {
&Self::default() == self
}
}
impl Default for RockLayoutConfig {
fn default() -> Self {
Self {
etc_root: None,
etc: "etc".into(),
opt_etc: "etc".into(),
conf: "conf".into(),
doc: "doc".into(),
}
}
}