Expand description
Navigation API for plugins
This module provides the navigation extension API that allows plugins to:
- Enter and exit navigation modes (hint mode)
- Register custom focusable regions in terminal content
- Trigger navigation actions
§Example
ⓘ
use scarab_plugin_api::navigation::{NavigationExt, PluginFocusable, PluginFocusableAction};
fn my_plugin_hook(ctx: &PluginContext) -> Result<()> {
// Register a focusable URL in terminal content
ctx.register_focusable(PluginFocusable {
x: 10,
y: 5,
width: 20,
height: 1,
label: "GitHub".to_string(),
action: PluginFocusableAction::OpenUrl("https://github.com".to_string()),
})?;
// Enter hint mode programmatically
ctx.enter_hint_mode()?;
Ok(())
}Structs§
- Plugin
Focusable - A plugin-registered focusable region
- Plugin
NavCapabilities - Security capabilities for plugin navigation APIs
Enums§
- Plugin
Focusable Action - Action to perform when a plugin focusable is activated
- Validation
Error - Errors that can occur during navigation API validation
Traits§
- Navigation
Ext - Navigation extension trait for plugin contexts