(plugin: PluginEntry)
| 375 | } |
| 376 | |
| 377 | async function syncPluginThemes(plugin: PluginEntry) { |
| 378 | if (!plugin.load.theme_files.length) return |
| 379 | if (plugin.meta.state === "same") return |
| 380 | const install = createThemeInstaller(plugin.load.origin, plugin.load.plugin_root, plugin.load.spec, plugin) |
| 381 | for (const file of plugin.load.theme_files) { |
| 382 | await install(file).catch((error) => { |
| 383 | warn("failed to sync tui plugin oc-themes", { path: plugin.load.spec, id: plugin.id, theme: file, error }) |
| 384 | }) |
| 385 | } |
| 386 | } |
| 387 | |
| 388 | function createPluginScope(load: PluginLoad, id: string, disposeTimeoutMs: number) { |
| 389 | const ctrl = new AbortController() |
no test coverage detected