pub struct DocumentComment {
pub start: u32,
pub end: u32,
pub uid: String,
pub author: String,
pub author_initials: String,
pub date: String,
pub resolved: bool,
pub body: String,
pub replies: Vec<CommentReply>,
}Expand description
One comment thread: an opening note anchored to a character range, plus its flat list of replies.
Flat, not a tree: neither DOCX nor ODT’s comment model nests a reply under another reply (Word’s own UI does not offer it either), so a second level of nesting would have nowhere to go in the output format — the model does not pretend to support what no consumer of it can render.
Fields§
§start: u32[start, end) in the document’s addressable character space. start == end anchors
the comment to a single insertion point rather than a highlighted run — both DOCX and
ODT accept an empty range there.
end: u32§uid: StringDurable identifier — see CommentReply::uid.
date: StringISO-8601 (e.g. "2026-08-09T12:00:00Z").
resolved: boolWhether the thread is marked resolved (DOCX w15:done; ODT’s own resolved marker on
the annotation). Resolving a thread does not delete it: the opening note and its full
reply history are still written out either way, just flagged.
body: StringDjot source — see CommentReply::body.
replies: Vec<CommentReply>Trait Implementations§
Source§impl Clone for DocumentComment
impl Clone for DocumentComment
Source§fn clone(&self) -> DocumentComment
fn clone(&self) -> DocumentComment
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 DocumentComment
impl Debug for DocumentComment
Source§impl Default for DocumentComment
impl Default for DocumentComment
Source§fn default() -> DocumentComment
fn default() -> DocumentComment
Source§impl<'de> Deserialize<'de> for DocumentComment
impl<'de> Deserialize<'de> for DocumentComment
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<DocumentComment, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<DocumentComment, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for DocumentComment
Source§impl FromIterator<DocumentComment> for DocumentComments
impl FromIterator<DocumentComment> for DocumentComments
Source§fn from_iter<I>(iter: I) -> DocumentCommentswhere
I: IntoIterator<Item = DocumentComment>,
fn from_iter<I>(iter: I) -> DocumentCommentswhere
I: IntoIterator<Item = DocumentComment>,
Source§impl PartialEq for DocumentComment
impl PartialEq for DocumentComment
Source§impl Serialize for DocumentComment
impl Serialize for DocumentComment
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 DocumentComment
Auto Trait Implementations§
impl Freeze for DocumentComment
impl RefUnwindSafe for DocumentComment
impl Send for DocumentComment
impl Sync for DocumentComment
impl Unpin for DocumentComment
impl UnsafeUnpin for DocumentComment
impl UnwindSafe for DocumentComment
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.