protected override void RunJournalCommand() { if (!string.IsNullOrWhiteSpace(Header)) { HeaderValidator.ValidateOrThrow(Header); } if (!string.IsNullOrWhiteSpace(Header) && (Body == null || !Body.Any())) { throw new PSArgumentException("Header cannot be used without Body. Please specify a Body and try again."); } var entryDate = LocalDate.FromDateTime(Date).PlusDays(DateOffset); var hour = Now.Time().Hour; if (hour >= 0 && hour <= 4) { var dayPrior = entryDate.Minus(Period.FromDays(1)); var question = $"Edit entry for '{dayPrior}' or '{entryDate}'?"; var result = Choice("It's after midnight!", question, 0, dayPrior.DayOfWeek.ToChoiceString(), entryDate.DayOfWeek.ToChoiceString()); if (result == 0) { entryDate = dayPrior; } } Commit(GitCommitType.PreAppendJournalEntry); var journal = OpenJournal(); journal.AppendEntryContent(entryDate, Body, Header, Tags); Commit(GitCommitType.PostAppendJournalEntry); }