bootstrap.ts 909 B

12345678910111213141516171819202122232425262728293031
  1. import { Plugin } from "../plugin"
  2. import { Share } from "../share/share"
  3. import { Format } from "../format"
  4. import { LSP } from "../lsp"
  5. import { FileWatcher } from "../file/watcher"
  6. import { File } from "../file"
  7. import { Project } from "./project"
  8. import { Bus } from "../bus"
  9. import { Command } from "../command"
  10. import { Instance } from "./instance"
  11. import { Vcs } from "./vcs"
  12. import { Log } from "@/util/log"
  13. import { ShareNext } from "@/share/share-next"
  14. export async function InstanceBootstrap() {
  15. Log.Default.info("bootstrapping", { directory: Instance.directory })
  16. await Plugin.init()
  17. Share.init()
  18. ShareNext.init()
  19. Format.init()
  20. await LSP.init()
  21. FileWatcher.init()
  22. File.init()
  23. Vcs.init()
  24. Bus.subscribe(Command.Event.Executed, async (payload) => {
  25. if (payload.properties.name === Command.Default.INIT) {
  26. await Project.setInitialized(Instance.project.id)
  27. }
  28. })
  29. }