1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// For God so loved the world that he gave his only begotten Son,
// that whoever believes in him should not perish but have eternal life.
// John 3:16
//! Key types for navigating SWORD modules.
//!
//! Keys are used to identify and navigate to specific entries in modules.
//! Different module types use different key implementations:
//!
//! | Key Type | Module Types | Example |
//! |----------|--------------|---------|
//! | [`VerseKeyChirho`] | Bibles, Commentaries | "John 3:16" |
//! | [`TreeKeyChirho`] | General Books | "/Chapter1/Section2" |
//! | [`StrKeyChirho`] | Lexicons, Dictionaries | "G26" (Strong's number) |
//! | [`DateKeyChirho`] | Daily Devotionals | "01.25" (Jan 25) |
//! | [`ListKeyChirho`] | Search Results | Collection of keys |
//!
//! ## Verse Navigation
//!
//! ```rust,ignore
//! use rsword_chirho::VerseKeyChirho;
//!
//! // Parse a verse reference
//! let mut key_chirho = VerseKeyChirho::from_str_chirho("Genesis 1:1").unwrap();
//!
//! // Navigate through verses
//! key_chirho.increment_chirho(1); // Move to Genesis 1:2
//! key_chirho.increment_chirho(30); // Move to Genesis 2:1 (crosses chapter boundary)
//!
//! // Get components
//! println!("Book: {}", key_chirho.get_book_name_chirho());
//! ```
//!
//! ## Verse Ranges
//!
//! ```rust,ignore
//! use rsword_chirho::VerseKeyChirho;
//!
//! // Set bounds for iteration
//! let mut key_chirho = VerseKeyChirho::from_str_chirho("Genesis 1:1").unwrap();
//! key_chirho.set_lower_bound_chirho(&VerseKeyChirho::from_str_chirho("Genesis 1:1").unwrap());
//! key_chirho.set_upper_bound_chirho(&VerseKeyChirho::from_str_chirho("Genesis 1:31").unwrap());
//!
//! // Iterate through the range
//! while !key_chirho.pop_error_chirho() {
//! println!("{}", key_chirho);
//! key_chirho.increment_chirho(1);
//! }
//! ```
//!
//! ## Search Results
//!
//! ```rust,ignore
//! use rsword_chirho::ListKeyChirho;
//! use rsword_chirho::keys_chirho::StrKeyChirho;
//!
//! // ListKey holds search results
//! let mut results_chirho = ListKeyChirho::new_chirho();
//! results_chirho.add_chirho(Box::new(StrKeyChirho::from_str_chirho("Gen 1:1")));
//! results_chirho.add_chirho(Box::new(StrKeyChirho::from_str_chirho("John 1:1")));
//!
//! println!("Results: {}", results_chirho.count_chirho());
//! ```
pub use SwKeyChirho;
pub use VerseKeyChirho;
pub use ListKeyChirho;
pub use TreeKeyChirho;
pub use StrKeyChirho;
pub use DateKeyChirho;