diff --git a/src/eval/command.rs b/src/eval/command.rs index 01364f8..893bbaf 100644 --- a/src/eval/command.rs +++ b/src/eval/command.rs @@ -43,11 +43,16 @@ impl<'a> CommandState<'a> { Ok(self) } - pub fn entries(self) -> Vec { - self.dated - .into_values() - .chain(self.undated.into_iter()) - .collect() + pub fn entries(mut self) -> Vec { + let mut keys = self.dated.keys().copied().collect::>(); + keys.sort(); + + let mut entries = self.undated; + for key in keys { + entries.push(self.dated.remove(&key).unwrap()); + } + + entries } // Helper functions