summaryrefslogtreecommitdiff
path: root/src/bin/jt2.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/jt2.rs')
-rw-r--r--src/bin/jt2.rs41
1 files changed, 23 insertions, 18 deletions
diff --git a/src/bin/jt2.rs b/src/bin/jt2.rs
index 3d85229..25a3a13 100644
--- a/src/bin/jt2.rs
+++ b/src/bin/jt2.rs
@@ -15,42 +15,47 @@ fn main() -> anyhow::Result<()> {
SubCommand::Init {
journalname,
description,
- } => init(&config.dirname, &journalname, &description)?,
- SubCommand::IsJournal => is_journal(&config.dirname)?,
- SubCommand::New { title } => new_draft(&title, &config.dirname, &config.editor)?,
- SubCommand::Edit { draft } => edit_draft(&config.dirname, &config.editor, &draft)?,
- SubCommand::Finish { draft, basename } => finish_draft(&config.dirname, &draft, &basename)?,
+ } => init(&config.dirname, &journalname, &description, &config)?,
+ SubCommand::IsJournal => is_journal(&config)?,
+ SubCommand::New { title } => new_draft(&title, &config)?,
+ SubCommand::Edit { draft } => edit_draft(&draft, &config)?,
+ SubCommand::Finish { draft, basename } => finish_draft(&draft, &basename, &config)?,
}
Ok(())
}
-fn init(dirname: &Path, _journalname: &str, _description: &str) -> anyhow::Result<()> {
- Journal::init(dirname)?;
+fn init(
+ dirname: &Path,
+ _journalname: &str,
+ _description: &str,
+ config: &Configuration,
+) -> anyhow::Result<()> {
+ Journal::init(dirname, &config.entries)?;
Ok(())
}
-fn is_journal(dirname: &Path) -> anyhow::Result<()> {
- if !Journal::is_journal(dirname) {
- return Err(JournalError::NotAJournal(dirname.display().to_string()).into());
+fn is_journal(config: &Configuration) -> anyhow::Result<()> {
+ if !Journal::is_journal(&config.dirname, &config.entries) {
+ return Err(JournalError::NotAJournal(config.dirname.display().to_string()).into());
}
Ok(())
}
-fn new_draft(title: &str, dirname: &Path, editor: &str) -> anyhow::Result<()> {
- let journal = Journal::new(dirname)?;
- journal.new_draft(title, editor)?;
+fn new_draft(title: &str, config: &Configuration) -> anyhow::Result<()> {
+ let journal = Journal::new(&config.dirname, &config.entries)?;
+ journal.new_draft(title, &config.editor)?;
Ok(())
}
-fn edit_draft(dirname: &Path, editor: &str, draft: &str) -> anyhow::Result<()> {
- let journal = Journal::new(dirname)?;
+fn edit_draft(draft: &str, config: &Configuration) -> anyhow::Result<()> {
+ let journal = Journal::new(&config.dirname, &config.entries)?;
let filename = journal.pick_draft(draft)?;
- journal.edit_draft(editor, &filename)?;
+ journal.edit_draft(&config.editor, &filename)?;
Ok(())
}
-fn finish_draft(dirname: &Path, draft: &str, basename: &str) -> anyhow::Result<()> {
- let journal = Journal::new(dirname)?;
+fn finish_draft(draft: &str, basename: &str, config: &Configuration) -> anyhow::Result<()> {
+ let journal = Journal::new(&config.dirname, &config.entries)?;
let filename = journal.pick_draft(draft)?;
journal.finish_draft(&filename, basename)?;
Ok(())