examples/api-provider-sample/README.md
The @theia/api-provider-sample extension is a programming example showing how to define and provide a custom API object for plugins to use.
The purpose of the extension is to:
The extension is for reference and test purposes only and is not published on npm (private: true).
The sample defines a gotd API that plugins can import and use to obtain tailored messages with which to greet the world, for example in their activation function.
The source code is laid out in the src/ tree as follows:
gotd.d.ts — the TypeScript definition of the gotd API object that plugins import to interact with the "Greeting of the Day" serviceplugin/ — the API initialization script and the implementation of the API objects (GreetingExt and similar interfaces).
All code in this directory runs exclusively in the separate plugin-host Node process, isolated from the main Theia process, together with either headless plugins or the backend of VS Code plugins.
The GreetingExtImpl and similar classes communicate with the actual API implementation (GreetingMainImpl etc.) classes in the main Theia process via RPCnode/ — the API classes implementing GreetingMain and similar interfaces and the Inversify bindings that register the API provider.
All code in this directory runs in the main Theia Node processcommon/ — the RPC API Ext/Main interface definitions corresponding to the backend of the gotd plugin API"Theia" is a trademark of the Eclipse Foundation https://www.eclipse.org/theia