context_creator/formatters/
paths.rs1use super::{DigestData, DigestFormatter};
4use crate::core::walker::FileInfo;
5use anyhow::Result;
6
7pub struct PathsFormatter {
9 buffer: String,
10}
11
12impl PathsFormatter {
13 pub fn new() -> Self {
15 Self {
16 buffer: String::new(),
17 }
18 }
19}
20
21impl Default for PathsFormatter {
22 fn default() -> Self {
23 Self::new()
24 }
25}
26
27impl DigestFormatter for PathsFormatter {
28 fn render_header(&mut self, _data: &DigestData) -> Result<()> {
29 Ok(())
31 }
32
33 fn render_statistics(&mut self, _data: &DigestData) -> Result<()> {
34 Ok(())
36 }
37
38 fn render_file_tree(&mut self, _data: &DigestData) -> Result<()> {
39 Ok(())
41 }
42
43 fn render_toc(&mut self, _data: &DigestData) -> Result<()> {
44 Ok(())
46 }
47
48 fn render_file_details(&mut self, file: &FileInfo, _data: &DigestData) -> Result<()> {
49 self.buffer
51 .push_str(&file.relative_path.display().to_string());
52 self.buffer.push('\n');
53 Ok(())
54 }
55
56 fn finalize(self: Box<Self>) -> String {
57 self.buffer
58 }
59
60 fn format_name(&self) -> &'static str {
61 "paths"
62 }
63}