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

Method format_default

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

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