opencode_offline/packages/opencode/src/cli/bootstrap.ts

21 lines
530 B
TypeScript
Raw Normal View History

2025-06-27 23:29:20 +08:00
import { App } from "../app/app"
import { ConfigHooks } from "../config/hooks"
import { Format } from "../format"
2025-07-01 04:45:13 +08:00
import { LSP } from "../lsp"
2025-08-03 06:50:19 +08:00
import { Plugin } from "../plugin"
2025-06-27 23:29:20 +08:00
import { Share } from "../share/share"
import { Snapshot } from "../snapshot"
2025-06-27 23:29:20 +08:00
export async function bootstrap<T>(input: App.Input, cb: (app: App.Info) => Promise<T>) {
2025-06-27 23:29:20 +08:00
return App.provide(input, async (app) => {
Share.init()
Format.init()
2025-08-03 06:50:19 +08:00
Plugin.init()
2025-06-27 23:29:20 +08:00
ConfigHooks.init()
2025-07-01 04:45:13 +08:00
LSP.init()
Snapshot.init()
2025-06-27 23:29:20 +08:00
return cb(app)
})
}