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 bindings
11//! after merging defaults + extension contributions + user.
12//! - `GetUserKeybindings::GetUserKeybindings` - user overrides (stub).
13//! - `RegisterExtensionKeybindings::RegisterExtensionKeybindings` (stub).
14//! - `UnregisterExtensionKeybindings::UnregisterExtensionKeybindings` (stub).
15//! - `CheckKeybindingConflicts::CheckKeybindingConflicts` - chord overlap
16//! detection (stub).
17//!
18//! Errors propagate as `Result<Value, String>` for direct frontend
19//! display.
20//!
21//! VS Code reference:
22//! `vs/workbench/services/keybinding/browser/keybindingService.ts`,
23//! `vs/platform/keybinding/common/keybindingResolver.ts`.
24//!
25//! ## Planned Work
26//!
27//! - Weighted resolution (user > extension > default)
28//! - Persistence to ApplicationState
29//! - When-clause context evaluation
30//! - Chord (multi-stroke) sequences
31//! - Platform-specific bindings
32//! - Conflict-resolution UI
33
34pub mod CheckKeybindingConflicts;
35
36pub mod GetResolvedKeybinding;
37
38pub mod GetUserKeybindings;
39
40pub mod RegisterExtensionKeybindings;
41
42pub mod UnregisterExtensionKeybindings;