mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-10-26 23:35:17 -07:00
feat(plugins): add JavaScript plugin system with overlay panel
- Load plugins from <config dir>/plugins/<id>/ when enabled under `plugins` in config - Expose ctx with mpv events/commands, timers, subtitle context, actions, notify, exec, and panel - Bind plugin actions via `__plugin-action:<id>/<action>` keybindings (runPluginAction session action) - Add plugin-panel modal with markdown rendering; closing aborts the panel signal - Add ai-explain example plugin that queries `codex exec` for the current line - Add e2e harness `files` option and plugin e2e scenario; document plugins in docs-site and internal docs
This commit is contained in:
65 files changed
+2555
-39
No files matched your search
@@ -180,6 +180,11 @@ export type RendererDom = {
|
||||
changelogStatus: HTMLDivElement;
|
||||
changelogList: HTMLDivElement;
|
||||
|
||||
pluginPanelModal: HTMLDivElement;
|
||||
pluginPanelTitle: HTMLDivElement;
|
||||
pluginPanelClose: HTMLButtonElement;
|
||||
pluginPanelBody: HTMLDivElement;
|
||||
|
||||
sessionHelpModal: HTMLDivElement;
|
||||
sessionHelpClose: HTMLButtonElement;
|
||||
sessionHelpShortcut: HTMLDivElement;
|
||||
@@ -448,6 +453,10 @@ export function resolveRendererDom(): RendererDom {
|
||||
changelogWarning: getRequiredElement<HTMLDivElement>('changelogWarning'),
|
||||
changelogStatus: getRequiredElement<HTMLDivElement>('changelogStatus'),
|
||||
changelogList: getRequiredElement<HTMLDivElement>('changelogList'),
|
||||
pluginPanelModal: getRequiredElement<HTMLDivElement>('pluginPanelModal'),
|
||||
pluginPanelTitle: getRequiredElement<HTMLDivElement>('pluginPanelTitle'),
|
||||
pluginPanelClose: getRequiredElement<HTMLButtonElement>('pluginPanelClose'),
|
||||
pluginPanelBody: getRequiredElement<HTMLDivElement>('pluginPanelBody'),
|
||||
sessionHelpModal: getRequiredElement<HTMLDivElement>('sessionHelpModal'),
|
||||
sessionHelpClose: getRequiredElement<HTMLButtonElement>('sessionHelpClose'),
|
||||
sessionHelpShortcut: getRequiredElement<HTMLDivElement>('sessionHelpShortcut'),
|
||||
|
||||
Reference in new issue
Block a user