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

Method render_with_ansi

atomic-core/src/diff/inline.rs:497–518  ·  view source on GitHub ↗

Internal helper to render content with ANSI codes.

(&self, content: &[u8], hunks: &[ChangeHunk], is_old: bool)

Source from the content-addressed store, hash-verified

495
496 /// Internal helper to render content with ANSI codes.
497 fn render_with_ansi(&self, content: &[u8], hunks: &[ChangeHunk], is_old: bool) -> String {
498 let mut result = String::new();
499
500 for hunk in hunks {
501 let text = String::from_utf8_lossy(hunk.extract(content));
502
503 if hunk.is_change() {
504 let color = if is_old {
505 "\x1b[91m" // Bright red for deletions
506 } else {
507 "\x1b[92m" // Bright green for insertions
508 };
509 result.push_str(color);
510 result.push_str(&text);
511 result.push_str(HunkKind::ansi_reset());
512 } else {
513 result.push_str(&text);
514 }
515 }
516
517 result
518 }
519
520 /// Render the old line with HTML highlighting.
521 ///

Callers 2

render_old_ansiMethod · 0.80
render_new_ansiMethod · 0.80

Calls 2

extractMethod · 0.45
is_changeMethod · 0.45

Tested by

no test coverage detected