ratatui_toolkit/widgets/markdown_widget/foundation/source/methods/set_content.rs
1//! Method to set content directly on a `MarkdownSource`.
2
3use super::super::MarkdownSource;
4
5impl MarkdownSource {
6 /// Set the content directly (for string sources).
7 ///
8 /// This is useful for updating string-based sources programmatically.
9 /// For file sources, this updates the cached content but does not write to disk.
10 ///
11 /// Returns `true` if the content was changed.
12 pub fn set_content(&mut self, new_content: impl Into<String>) -> bool {
13 let new_content = new_content.into();
14 match self {
15 Self::String(content) => {
16 if *content != new_content {
17 *content = new_content;
18 true
19 } else {
20 false
21 }
22 }
23 Self::File { content, .. } => {
24 if *content != new_content {
25 *content = new_content;
26 true
27 } else {
28 false
29 }
30 }
31 }
32 }
33}