pub struct Entry {
pub entry_type: SmolStr,
pub key: SmolStr,
pub title: Option<SmolStr>,
pub authors: Option<SmolStr>,
pub key_range: TextRange,
pub range: TextRange,
pub duplicate: bool,
}Expand description
A regular bibliographic entry (@article{key, …}). Entry type and key are
lowercased and as-authored respectively — entry_type is normalized (BibTeX is
case-insensitive), key keeps its source casing (cite keys are case-sensitive in
practice, though BibTeX folds them; we preserve and compare case-insensitively in
the resolver).
Fields§
§entry_type: SmolStrThe entry type, lowercased ("article", "inproceedings").
key: SmolStrThe cite key as authored.
title: Option<SmolStr>The cleaned title field value, if present. Cached here so citation
completion can build a filterText (key + title + authors) without a CST walk.
The cleaned author field value, falling back to editor (matching the
citation card’s author-or-editor rule). Cached for the same reason as title.
key_range: TextRangeThe byte range of the KEY node.
range: TextRangeThe byte range of the whole entry.
duplicate: booltrue when an earlier entry already defined this key (case-insensitive); set
by the resolve pass. The first occurrence stays false.