ricecoder_keybinds/
lib.rs

1//! Keybind customization with conflict detection and profile management
2//!
3//! This crate provides a comprehensive keybind system for ricecoder with:
4//! - JSON and Markdown configuration parsing
5//! - Keybind registry with fast lookup
6//! - Conflict detection with resolution suggestions
7//! - Profile management for switching between configurations
8//! - Help system for displaying available keybinds
9//! - Persistence layer for saving profiles across sessions
10
11pub mod conflict;
12pub mod engine;
13pub mod error;
14pub mod help;
15pub mod models;
16pub mod parser;
17pub mod persistence;
18pub mod profile;
19pub mod registry;
20
21// Re-export public types
22pub use conflict::{Conflict, ConflictDetector, Resolution};
23pub use engine::{KeybindEngine, ValidationResult};
24pub use error::{EngineError, ParseError, PersistenceError, ProfileError, RegistryError};
25pub use help::{KeybindHelp, Page};
26pub use models::{Key, Keybind, KeyCombo, Modifier};
27pub use parser::{JsonKeybindParser, KeybindParser, MarkdownKeybindParser, ParserRegistry};
28pub use persistence::{FileSystemPersistence, KeybindPersistence};
29pub use profile::{Profile, ProfileManager};
30pub use registry::KeybindRegistry;