Skip to content

Migrate several services/areas of extension API to a new model described in RFC 155 (tentatively Settings, Workspaces e.t.c)

Created by: twop

RFC: https://docs.google.com/document/d/1ikrUNVe3YVbR-JpegxhjrFdmRkTGzTLcOMkKHnOyjuE/edit#

Steps:

  • introduce flat interfaces for API in both directions (ext -> main, main -> ext)
  • introduce single object that holds the entire worker state
  • migrate several simples services to the new model (tentatively Settings, Workspaces, Commands, Query transformer)
    • main thread calls the new api object directly (no notion of a "services")
    • rewrite/fix tests. That might be an interesting exercise to define our testing strategy for this rewrite
    • replace/inline ExtClassX. Ideally we don't need one more extra layer of indirection here

See this WIP PR https://github.com/sourcegraph/sourcegraph/pull/10651 to overview API complexity