Using Theia components for an embedded editor

I am looking to use only several components of Theia (editor, python language server, terminal, and related ones) for an application. From what I understood Theia is designed to be able to build new editors. Is there any documentation that can point me out which dependencies are core/runtime, how to remove/isolate components and run them etc.

[original thread by Eiso Kant]

You can start by composing an app and picking only extensions which you need. After that if you have some unnecessary functionality you will need to provide a custom extension and unbind some services using DI.

how to compose your app: https://www.theia-ide.org/doc/Composing_Applications.html

[Eiso Kant]

Thank you Anton, any examples of unbinding using DI?

Do you have an idea what you want to remove?

Generally each container module receive functions like bind, unbind, rebind, so you can rebind some services to your implementation or unbind them comletely.

For example here bunyan is rebinding logger implementation: https://github.com/theia-ide/theia/blob/808d07015559ee4326257c0b5b1a34f27629fd7a/packages/bunyan/src/node/bunyan-backend-module.ts#L21-L23