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

Method format_default

atomic-cli/src/commands/change/command.rs:325–484  ·  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

323
324 /// Format the change for default output.
325 fn format_default(
326 &self,
327 change: &Change,
328 hash: &Hash,
329 sequence: Option<u64>,
330 repo: &Repository,
331 ) -> String {
332 let mut output = String::new();
333 let hash_len = self.get_hash_length();
334
335 // Change header
336 let hash_str = format_hash_with_length(hash, hash_len);
337 output.push_str(&format!(
338 "{} {}",
339 style_hash("change"),
340 style_hash(&hash_str)
341 ));
342 if let Some(seq) = sequence {
343 output.push_str(&format!(" {}", hint(&format!("(#{})", seq))));
344 }
345 output.push('\n');
346
347 // Authors
348 for author in &change.hashed.header.authors {
349 let author_line = format_author(author);
350 output.push_str(&format!("Author: {}\n", style_author(&author_line)));
351 }
352
353 // Timestamp
354 let time_str = format_timestamp(&change.hashed.header.timestamp);
355 output.push_str(&format!("Date: {}\n", style_timestamp(&time_str)));
356
357 // Message
358 output.push('\n');
359 for line in change.hashed.header.message.lines() {
360 output.push_str(&format!(" {}\n", line));
361 }
362
363 // Description
364 if let Some(ref desc) = change.hashed.header.description {
365 output.push('\n');
366 for line in desc.lines() {
367 output.push_str(&format!(" {}\n", line));
368 }
369 }
370
371 // Dependencies
372 if !change.hashed.dependencies.is_empty() {
373 output.push('\n');
374 output.push_str(&format!(
375 "Dependencies: {}\n",
376 change.hashed.dependencies.len()
377 ));
378
379 for dep_hash in &change.hashed.dependencies {
380 let dep_hash_str = format_hash_with_length(dep_hash, 12);
381 let dep_msg = if self.show_deps {
382 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_provenanceMethod · 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