core: parallelise bootstrap (#22514)
This commit is contained in:
@@ -15,14 +15,18 @@ import * as Effect from "effect/Effect"
|
|||||||
|
|
||||||
export const InstanceBootstrap = Effect.gen(function* () {
|
export const InstanceBootstrap = Effect.gen(function* () {
|
||||||
Log.Default.info("bootstrapping", { directory: Instance.directory })
|
Log.Default.info("bootstrapping", { directory: Instance.directory })
|
||||||
yield* Plugin.Service.use((svc) => svc.init())
|
yield* Effect.all(
|
||||||
yield* ShareNext.Service.use((svc) => svc.init()).pipe(Effect.forkDetach)
|
[
|
||||||
yield* Format.Service.use((svc) => svc.init()).pipe(Effect.forkDetach)
|
Plugin.Service,
|
||||||
yield* LSP.Service.use((svc) => svc.init())
|
LSP.Service,
|
||||||
yield* File.Service.use((svc) => svc.init()).pipe(Effect.forkDetach)
|
ShareNext.Service,
|
||||||
yield* FileWatcher.Service.use((svc) => svc.init()).pipe(Effect.forkDetach)
|
Format.Service,
|
||||||
yield* Vcs.Service.use((svc) => svc.init()).pipe(Effect.forkDetach)
|
File.Service,
|
||||||
yield* Snapshot.Service.use((svc) => svc.init()).pipe(Effect.forkDetach)
|
FileWatcher.Service,
|
||||||
|
Vcs.Service,
|
||||||
|
Snapshot.Service,
|
||||||
|
].map((s) => Effect.forkDetach(s.use((i) => i.init()))),
|
||||||
|
)
|
||||||
|
|
||||||
yield* Bus.Service.use((svc) =>
|
yield* Bus.Service.use((svc) =>
|
||||||
svc.subscribeCallback(Command.Event.Executed, async (payload) => {
|
svc.subscribeCallback(Command.Event.Executed, async (payload) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user