cloudaxe-opencode/packages/opencode/src/cli/cmd/tui/plugin/internal.ts

40 lines
1.4 KiB
TypeScript
Raw Normal View History

2026-03-30 12:33:01 +00:00
import HomeFooter from "../feature-plugins/home/footer"
2026-03-27 14:00:26 +00:00
import HomeTips from "../feature-plugins/home/tips"
import SidebarContext from "../feature-plugins/sidebar/context"
import SidebarMcp from "../feature-plugins/sidebar/mcp"
import SidebarLsp from "../feature-plugins/sidebar/lsp"
import SidebarTodo from "../feature-plugins/sidebar/todo"
import SidebarFiles from "../feature-plugins/sidebar/files"
import SidebarFooter from "../feature-plugins/sidebar/footer"
import PluginManager from "../feature-plugins/system/plugins"
import Notifications from "../feature-plugins/system/notifications"
import SessionV2Debug from "../feature-plugins/system/session-v2"
import WhichKey from "../feature-plugins/system/which-key"
2026-05-20 14:18:45 +00:00
import DiffViewer from "../feature-plugins/system/diff-viewer"
2026-03-27 14:00:26 +00:00
import type { TuiPlugin, TuiPluginModule } from "@opencode-ai/plugin/tui"
import type { RuntimeFlags } from "@/effect/runtime-flags"
2026-03-27 14:00:26 +00:00
export type InternalTuiPlugin = Omit<TuiPluginModule, "id"> & {
2026-03-27 14:00:26 +00:00
id: string
tui: TuiPlugin
enabled?: boolean
2026-03-27 14:00:26 +00:00
}
2026-05-20 14:18:45 +00:00
export function internalTuiPlugins(flags: Pick<RuntimeFlags.Info, "diffViewer" | "experimentalEventSystem">): InternalTuiPlugin[] {
return [
HomeFooter,
HomeTips,
SidebarContext,
SidebarMcp,
SidebarLsp,
SidebarTodo,
SidebarFiles,
SidebarFooter,
Notifications,
PluginManager,
WhichKey,
2026-05-20 14:18:45 +00:00
...(flags.diffViewer ? [DiffViewer] : []),
...(flags.experimentalEventSystem ? [SessionV2Debug] : []),
]
}