From a8cf3b2757dee028e86f7cc6848b741c46dd933a Mon Sep 17 00:00:00 2001 From: Rosyid Haryadi Date: Tue, 18 Mar 2025 15:32:50 +0700 Subject: upd: implementing cat-file & add readme --- src/object.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/object.rs') diff --git a/src/object.rs b/src/object.rs index 12f83ae..8877641 100644 --- a/src/object.rs +++ b/src/object.rs @@ -1,3 +1,4 @@ +use std::fmt::{Display, Formatter}; use crate::utilities::{deserialize_kv_with_message, serialize_kv_with_message}; use crate::{create_path_or_die, die}; use derive_is_enum_variant::is_enum_variant; @@ -143,4 +144,15 @@ impl GitCommit { pub fn serialize(&self) -> Vec { serialize_kv_with_message(&self.header, self.message.as_str()) } +} + +impl Display for GitCommit { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + for (k, v) in self.header { + write!(f, "{} {}\n", k, v)?; + } + write!(f, "\n")?; + write!(f, "{}", self.message)?; + Ok(()) + } } \ No newline at end of file -- cgit v1.2.3-70-g09d2