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