MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / format_default

Method format_default

atomic-cli/src/commands/change/command.rs:296–446  ·  view source on GitHub ↗

Format the change for default output.

(
        &self,
        change: &Change,
        hash: &Hash,
        sequence: Option<u64>,
        repo: &Repository,
    )

Source from the content-addressed store, hash-verified

294
295 /// Format the change for default output.
296 fn format_default(
297 &self,
298 change: &Change,
299 hash: &Hash,
300 sequence: Option<u64>,
301 repo: &Repository,
302 ) -> String {
303 let mut output = String::new();
304 let hash_len = self.get_hash_length();
305
306 // Change header
307 let hash_str = format_hash_with_length(hash, hash_len);
308 output.push_str(&format!(
309 "{} {}",
310 style_hash("change"),
311 style_hash(&hash_str)
312 ));
313 if let Some(seq) = sequence {
314 output.push_str(&format!(" {}", hint(&format!("(#{})", seq))));
315 }
316 output.push('\n');
317
318 // Authors
319 for author in &change.hashed.header.authors {
320 let author_line = format_author(author);
321 output.push_str(&format!("Author: {}\n", style_author(&author_line)));
322 }
323
324 // Timestamp
325 let time_str = format_timestamp(&change.hashed.header.timestamp);
326 output.push_str(&format!("Date: {}\n", style_timestamp(&time_str)));
327
328 // Message
329 output.push('\n');
330 for line in change.hashed.header.message.lines() {
331 output.push_str(&format!(" {}\n", line));
332 }
333
334 // Description
335 if let Some(ref desc) = change.hashed.header.description {
336 output.push('\n');
337 for line in desc.lines() {
338 output.push_str(&format!(" {}\n", line));
339 }
340 }
341
342 // Dependencies
343 if !change.hashed.dependencies.is_empty() {
344 output.push('\n');
345 output.push_str(&format!(
346 "Dependencies: {}\n",
347 change.hashed.dependencies.len()
348 ));
349
350 for dep_hash in &change.hashed.dependencies {
351 let dep_hash_str = format_hash_with_length(dep_hash, 12);
352 let dep_msg = if self.show_deps {
353 repo.load_change(dep_hash)

Callers 1

print_changeMethod · 0.45

Calls 15

format_hash_with_lengthFunction · 0.85
format_timestampFunction · 0.85
count_atomsFunction · 0.85
hunk_display_summariesFunction · 0.85
format_attestationMethod · 0.80
format_change_ledgerMethod · 0.80
format_authorFunction · 0.70
getMethod · 0.65
get_hash_lengthMethod · 0.45
pushMethod · 0.45
linesMethod · 0.45
is_emptyMethod · 0.45

Tested by

no test coverage detected