pub struct CommentReply {
pub uid: String,
pub author: String,
pub author_initials: String,
pub date: String,
pub body: String,
}Expand description
One reply in a comment’s thread.
A reply carries no range of its own: in every writer this crate feeds, a reply anchors to the exact same span as the comment it answers — precisely how Word and LibreOffice both render a reply thread (one highlighted range in the body, several bubbles stacked in the margin), and precisely what lets a writer treat “open this thread’s range” and “open each reply’s own range” as the same operation repeated once per reply.
Fields§
§uid: StringDurable identifier, stable across a save/reload round trip the way BinderItem::uid
is in the app this crate was built for — never a store id or a document position,
both of which are free to be re-minted the moment the host reloads.
date: StringISO-8601 (e.g. "2026-08-09T12:00:00Z").
body: StringDjot source. A writer that cannot embed rich text (a plain-text export, say) is free to reduce it to its plain reading; every rich writer this crate ships today renders at least bold, italic and paragraph/line breaks — see each writer’s own body renderer.
Trait Implementations§
Source§impl Clone for CommentReply
impl Clone for CommentReply
Source§fn clone(&self) -> CommentReply
fn clone(&self) -> CommentReply
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CommentReply
impl Debug for CommentReply
Source§impl Default for CommentReply
impl Default for CommentReply
Source§fn default() -> CommentReply
fn default() -> CommentReply
Source§impl<'de> Deserialize<'de> for CommentReply
impl<'de> Deserialize<'de> for CommentReply
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<CommentReply, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CommentReply, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for CommentReply
Source§impl PartialEq for CommentReply
impl PartialEq for CommentReply
Source§impl Serialize for CommentReply
impl Serialize for CommentReply
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for CommentReply
Auto Trait Implementations§
impl Freeze for CommentReply
impl RefUnwindSafe for CommentReply
impl Send for CommentReply
impl Sync for CommentReply
impl Unpin for CommentReply
impl UnsafeUnpin for CommentReply
impl UnwindSafe for CommentReply
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.