Skip to main content

link_cli/
lib.rs

1//! Link CLI Library - Core functionality for links manipulation
2//!
3//! This library provides the core data structures and functionality
4//! for the link-cli tool, implementing a doublet storage system
5//! with LiNo notation support.
6//!
7//! # Modules
8//!
9//! - `link` - The core Link data structure
10//! - `error` - Error types for link operations
11//! - `lino_link` - LiNo link representation
12//! - `parser` - LiNo notation parser
13//! - `link_storage` - Persistent link storage
14//! - `changes_simplifier` - Changes simplification
15//! - `query_processor` - LiNo query processing
16
17mod changes_simplifier;
18pub mod cli;
19mod error;
20mod hybrid_reference;
21mod link;
22mod link_reference_validator;
23mod link_storage;
24mod lino_database_input;
25mod lino_link;
26mod named_links;
27mod named_type_links;
28mod named_types;
29mod parser;
30mod pinned_types;
31mod query_options;
32mod query_processor;
33mod query_processor_substitution;
34mod query_types;
35pub mod sequences;
36pub mod transactions;
37mod unicode_string_storage;
38pub mod version_control;
39
40// Re-export main types for easy access
41pub use changes_simplifier::simplify_changes;
42pub use error::LinkError;
43pub use hybrid_reference::{external_reference, external_reference_value, HybridReference};
44pub use link::{DoubletsLink, Link};
45pub use link_storage::LinkStorage;
46pub use lino_database_input::{import_lino_file, import_lino_text};
47pub use lino_link::LinoLink;
48pub use named_links::NamedLinks;
49pub use named_type_links::NamedTypeLinks;
50pub use named_types::{NamedTypes, NamedTypesDecorator};
51pub use parser::Parser;
52pub use pinned_types::{PinnedTypes, PinnedTypesAccess, PinnedTypesDecorator};
53pub use query_options::QueryOptions;
54pub use query_processor::QueryProcessor;
55pub use transactions::{
56    CommitMode, DoubletLink, LogRetentionPolicy, TransactionHandle, TransactionsDecorator,
57    Transition, TransitionKind,
58};
59pub use unicode_string_storage::UnicodeStringStorage;
60pub use version_control::{BranchInfo, VersionControlDecorator, DEFAULT_BRANCH_NAME};