Skip to main content

gitkraft_core/
lib.rs

1//! GitKraft Core
2//!
3//! Shared, framework-free logic reused by both the Iced GUI and Ratatui TUI.
4//!
5//! | Module | What lives here |
6//! |--------|-----------------|
7//! | [`features`] | Git operations and types grouped by feature — repo, branches, commits, diff, staging, remotes, stash, log |
8//! | [`utils`] | Helpers — relative time formatting, OID formatting, text truncation |
9//!
10//! This crate has NO GUI or TUI dependencies.
11
12pub mod features;
13pub mod utils;
14
15// Convenience re-exports
16pub use features::branches::{BranchInfo, BranchType};
17pub use features::commits::CommitInfo;
18pub use features::diff::{
19    DiffFileEntry, DiffHunk, DiffInfo, DiffLine, FileStatus, StatusColorCategory,
20};
21pub use features::graph::{GraphEdge, GraphRow};
22pub use features::persistence::{AppSettings, LayoutSettings, RepoHistoryEntry};
23pub use features::remotes::RemoteInfo;
24pub use features::repo::{RepoInfo, RepoState};
25pub use features::stash::StashEntry;
26pub use features::theme::{
27    theme_by_index, theme_index_by_name, AppTheme, Rgb, THEME_COUNT, THEME_NAMES,
28};
29pub use utils::short_oid_str;
30pub use utils::text::truncate_str;