Skip to main content

Mountain/Command/Keybinding/
RegisterExtensionKeybindings.rs

1#![allow(non_snake_case)]
2
3//! Tauri command - register keybindings contributed by an extension.
4//! Stub returns success; pending real implementation that validates,
5//! checks permissions, persists to ApplicationState, and updates the
6//! resolution cache.
7
8use std::sync::Arc;
9
10use CommonLibrary::{Environment::Requires::Requires, Keybinding::KeybindingProvider::KeybindingProvider};
11use serde_json::{Value, json};
12use tauri::{AppHandle, Manager, Wry, command};
13
14use crate::{RunTime::ApplicationRunTime::ApplicationRunTime as Runtime, dev_log};
15
16#[command]
17pub async fn RegisterExtensionKeybindings(
18	ApplicationHandle:AppHandle<Wry>,
19
20	ExtensionIdentifier:String,
21
22	_Keybindings:Value,
23) -> Result<Value, String> {
24	dev_log!("keybinding", "registering keybindings for extension: {}", ExtensionIdentifier);
25
26	let RunTime = ApplicationHandle.state::<Arc<Runtime>>().inner().clone();
27
28	let _Provider:Arc<dyn KeybindingProvider> = RunTime.Environment.Require();
29
30	Ok(json!({ "success": true }))
31}