Add function to get ordered list of entries

Signed-off-by: trivernis <trivernis@protonmail.com>
main
trivernis 4 years ago
parent 341737fad7
commit 22ed20f30e
Signed by: Trivernis
GPG Key ID: DFFFCC2C7A02DB45

@ -1,7 +1,7 @@
[package]
name = "bibliographix"
description = "A bibliography management crate."
version = "0.2.0"
version = "0.3.0"
authors = ["trivernis <trivernis@protonmail.com>"]
edition = "2018"
license = "Apache-2.0"

@ -1,4 +1,5 @@
use crate::bibliography::bibliography_dict::BibliographyDictionary;
use crate::bibliography::bibliography_entry::BibliographyEntryReference;
use crate::references::anchor::BibListAnchor;
use std::sync::{Arc, Mutex};
@ -52,4 +53,18 @@ impl BibManager {
}
})
}
/// Returns the list of bibliography entries ordered by first referenced
pub fn get_entry_list_by_occurrence(&self) -> Vec<BibliographyEntryReference> {
let mut entries = Vec::new();
let entry_dict = self.entry_dictionary.lock().unwrap();
for bib_ref in self.root_ref_anchor.lock().unwrap().references() {
if let Some(bib_entry) = entry_dict.get(bib_ref.key()) {
entries.push(bib_entry);
}
}
entries
}
}

Loading…
Cancel
Save