Define journal settings in journal crate

This commit is contained in:
Max Brunsfeld 2023-05-10 12:48:09 -07:00
parent aa6ea920e2
commit 68867fe2e1
4 changed files with 61 additions and 53 deletions

View file

@ -50,8 +50,6 @@ pub struct Settings {
pub git: GitSettings,
pub git_overrides: GitSettings,
pub copilot: CopilotSettings,
pub journal_defaults: JournalSettings,
pub journal_overrides: JournalSettings,
pub terminal_defaults: TerminalSettings,
pub terminal_overrides: TerminalSettings,
pub language_defaults: HashMap<Arc<str>, EditorSettings>,
@ -123,8 +121,6 @@ impl Setting for Settings {
},
git: defaults.git.unwrap(),
git_overrides: Default::default(),
journal_defaults: defaults.journal.clone(),
journal_overrides: Default::default(),
terminal_defaults: defaults.terminal.clone(),
terminal_overrides: Default::default(),
language_defaults: defaults.languages.clone(),
@ -336,34 +332,6 @@ pub enum Autosave {
OnWindowChange,
}
#[derive(Clone, Debug, Serialize, Deserialize, JsonSchema)]
pub struct JournalSettings {
pub path: Option<String>,
pub hour_format: Option<HourFormat>,
}
impl Default for JournalSettings {
fn default() -> Self {
Self {
path: Some("~".into()),
hour_format: Some(Default::default()),
}
}
}
#[derive(Clone, Debug, Serialize, Deserialize, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum HourFormat {
Hour12,
Hour24,
}
impl Default for HourFormat {
fn default() -> Self {
Self::Hour12
}
}
#[derive(Clone, Debug, Default, Serialize, Deserialize, JsonSchema)]
pub struct TerminalSettings {
pub shell: Option<Shell>,
@ -528,8 +496,6 @@ pub struct SettingsFileContent {
#[serde(flatten)]
pub editor: EditorSettings,
#[serde(default)]
pub journal: JournalSettings,
#[serde(default)]
pub terminal: TerminalSettings,
#[serde(default)]
pub git: Option<GitSettings>,
@ -647,8 +613,6 @@ impl Settings {
},
git: defaults.git.unwrap(),
git_overrides: Default::default(),
journal_defaults: defaults.journal,
journal_overrides: Default::default(),
terminal_defaults: defaults.terminal,
terminal_overrides: Default::default(),
language_defaults: defaults.languages,
@ -721,7 +685,6 @@ impl Settings {
}
self.editor_overrides = data.editor;
self.git_overrides = data.git.unwrap_or_default();
self.journal_overrides = data.journal;
self.terminal_defaults.font_size = data.terminal.font_size;
self.terminal_overrides.copy_on_select = data.terminal.copy_on_select;
self.terminal_overrides = data.terminal;
@ -899,8 +862,6 @@ impl Settings {
},
editor_overrides: Default::default(),
copilot: Default::default(),
journal_defaults: Default::default(),
journal_overrides: Default::default(),
terminal_defaults: Default::default(),
terminal_overrides: Default::default(),
git: Default::default(),