feat(plugin): ModuleEvent::PluginFileDialog for native file import
Add-ons had no way to request a file picker — only the host's own Open dialog. PluginFileDialog lets a plugin tool ask the host to open a native picker; on selection the host dispatches "<command> <path>" back to the plugin with original case preserved (bypassing the command-line upper-casing that mangles case-sensitive paths on Linux/macOS). The demo plugin gains an Import tool exercising it. Part of the #100 extensibility epic (surfaced in #106). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
844069b4ef
commit
50825b6346
8 changed files with 107 additions and 7 deletions
|
|
@ -722,6 +722,13 @@ pub enum Message {
|
|||
tool_id: String,
|
||||
event: ModuleEvent,
|
||||
},
|
||||
/// Result of a plugin-requested file picker (`ModuleEvent::PluginFileDialog`).
|
||||
/// `path` is `None` when the user cancels. On `Some`, the host dispatches
|
||||
/// `"<command> <path>"` to the plugins with original case preserved.
|
||||
PluginFileDialogResult {
|
||||
command: String,
|
||||
path: Option<std::path::PathBuf>,
|
||||
},
|
||||
// ── Application menu ──────────────────────────────────────────────────
|
||||
ToggleAppMenu,
|
||||
CloseAppMenu,
|
||||
|
|
|
|||
Loading…
Reference in a new issue