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

Method format_short

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

Format the change for short output.

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

Source from the content-addressed store, hash-verified

485
486 /// Format the change for short output.
487 pub(crate) fn format_short(
488 &self,
489 change: &Change,
490 hash: &Hash,
491 sequence: Option<u64>,
492 ) -> String {
493 let hash_len = self.get_hash_length();
494 let hash_str = format_hash_with_length(hash, hash_len);
495
496 let date_str = change
497 .hashed
498 .header
499 .timestamp
500 .format("%Y-%m-%d")
501 .to_string();
502
503 let author_name = change
504 .hashed
505 .header
506 .authors
507 .first()
508 .map(|a| truncate_string(&a.name, 15))
509 .unwrap_or_else(|| "(unknown)".to_string());
510
511 let message = change
512 .hashed
513 .header
514 .message
515 .lines()
516 .next()
517 .unwrap_or("(no message)");
518
519 // Provenance indicator for short format
520 let _prov_indicator = if change.has_provenance() { " 🤖" } else { "" };
521
522 let seq_str = sequence.map(|s| format!(" #{}", s)).unwrap_or_default();
523
524 format!(
525 "{}{} {} {:15} {}\n",
526 style_hash(&hash_str),
527 hint(&seq_str),
528 style_timestamp(&date_str),
529 style_author(&author_name),
530 message
531 )
532 }
533
534 /// Format AI provenance information for display.
535 fn format_provenance(&self, prov: &Provenance) -> String {

Callers 5

print_changeMethod · 0.45
test_format_short_basicFunction · 0.45

Calls 7

format_hash_with_lengthFunction · 0.85
truncate_stringFunction · 0.70
get_hash_lengthMethod · 0.45
formatMethod · 0.45
nextMethod · 0.45
linesMethod · 0.45
has_provenanceMethod · 0.45