mq_edit/renderer/
plain_text.rs1use ratatui::{style::Style, text::Span};
2
3use super::Renderer;
4use crate::document::DocumentBuffer;
5
6pub struct PlainTextRenderer;
12
13impl PlainTextRenderer {
14 pub fn new() -> Self {
15 Self
16 }
17}
18
19impl Default for PlainTextRenderer {
20 fn default() -> Self {
21 Self::new()
22 }
23}
24
25impl Renderer for PlainTextRenderer {
26 fn render_line(
27 &self,
28 buffer: &DocumentBuffer,
29 line_idx: usize,
30 _is_current_line: bool,
31 ) -> Vec<Span<'_>> {
32 let content = buffer.line(line_idx).unwrap_or("");
33 vec![Span::styled(content.to_string(), Style::default())]
34 }
35
36 fn supports_wysiwyg(&self) -> bool {
37 false }
39}
40
41#[cfg(test)]
42mod tests {
43 use super::*;
44
45 #[test]
46 fn test_plain_text_renderer() {
47 let renderer = PlainTextRenderer::new();
48 assert!(!renderer.supports_wysiwyg());
49 }
50}