Mountain/Command/Keybinding.rs
1
2//! # Keybinding (Tauri command surface)
3//!
4//! Bridges keyboard-shortcut UI requests from Sky into the
5//! `KeybindingProvider` registry. Five wire-bound commands, each in its
6//! own file (file name = Tauri command identifier per the
7//! Naming-Convention exception):
8//!
9//! - `GetResolvedKeybinding::GetResolvedKeybinding` - final resolved bindings
10//! after merging defaults + extension contributions + user.
11//! - `GetUserKeybindings::GetUserKeybindings` - user overrides (stub).
12//! - `RegisterExtensionKeybindings::RegisterExtensionKeybindings` (stub).
13//! - `UnregisterExtensionKeybindings::UnregisterExtensionKeybindings` (stub).
14//! - `CheckKeybindingConflicts::CheckKeybindingConflicts` - chord overlap
15//! detection (stub).
16//!
17//! Errors propagate as `Result<Value, String>` for direct frontend
18//! display.
19//!
20//! VS Code reference:
21//! `vs/workbench/services/keybinding/browser/keybindingService.ts`,
22//! `vs/platform/keybinding/common/keybindingResolver.ts`.
23//!
24//! ## Planned Work
25//!
26//! - Weighted resolution (user > extension > default)
27//! - Persistence to ApplicationState
28//! - When-clause context evaluation
29//! - Chord (multi-stroke) sequences
30//! - Platform-specific bindings
31//! - Conflict-resolution UI
32
33pub mod CheckKeybindingConflicts;
34
35pub mod GetResolvedKeybinding;
36
37pub mod GetUserKeybindings;
38
39pub mod RegisterExtensionKeybindings;
40
41pub mod UnregisterExtensionKeybindings;