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

Method format_default

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

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