Skip to main content

Module navigation

Module navigation 

Source
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§

PluginFocusable
A plugin-registered focusable region
PluginNavCapabilities
Security capabilities for plugin navigation APIs

Enums§

PluginFocusableAction
Action to perform when a plugin focusable is activated
ValidationError
Errors that can occur during navigation API validation

Traits§

NavigationExt
Navigation extension trait for plugin contexts

Functions§

validate_focusable