Mountain/ApplicationState/State/ExtensionState/
mod.rs

1//! # ExtensionState Module (ApplicationState)
2//!
3//! ## RESPONSIBILITIES
4//! Manages extension-related state including extension registry, provider
5//! registration, and scanned extensions.
6//!
7//! ## ARCHITECTURAL ROLE
8//! ExtensionState is part of the **state organization layer**, representing
9//! all extension-related state in the application.
10//!
11//! ## KEY COMPONENTS
12//! - ExtensionRegistry: Command registry and provider handle management
13//! - ProviderRegistration: Language providers registration
14//! - ScannedExtensions: Discovered extensions metadata
15//! - State: Main struct combining all extension state
16//!
17//! ## ERROR HANDLING
18//! Uses `Arc<Mutex<...>>` for thread-safe access with proper error handling.
19//!
20//! ## LOGGING
21//! State changes are logged at appropriate levels.
22//!
23//! ## PERFORMANCE CONSIDERATIONS
24//! - Lock mutexes briefly
25//! - Avoid nested locks
26//! - Use Arc for shared ownership
27//!
28//! ## TODO
29//! - [ ] Add extension validation
30//! - [ ] Implement extension lifecycle events
31//! - [ ] Add extension metrics
32
33pub mod ExtensionRegistry;
34pub mod ProviderRegistration;
35pub mod ScannedExtensions;
36pub mod State;
37
38pub use ExtensionRegistry::*;
39pub use ProviderRegistration::*;
40pub use ScannedExtensions::*;