Table of Contents

Interface IExtensionsProvider

Namespace
RDCore.LanguageServer.Extensibility
Assembly
RDCore.SDK.dll

A service that can discover and manage platform extensions.

public interface IExtensionsProvider

Methods

Allow(ExtensionInfo)

Enables the specified ExtensionInfo if the manifest and associated executable pass validation.

bool Allow(ExtensionInfo extension)

Parameters

extension ExtensionInfo

The deserialized manifest of the extension to enable.

Returns

bool

true if the specified extension passed validation and was enabled, false otherwise.

Block(ExtensionInfo)

Blocks loading the specified ExtensionInfo.

bool Block(ExtensionInfo extension)

Parameters

extension ExtensionInfo

The deserialized manifest of the extension to block.

Returns

bool

true if the specified extension could be blocked, false otherwise.

Describe(string, string)

Creates a serializable ExtensionInfo model for the specified extension executable name, with the specified description.

ExtensionInfo? Describe(string name, string description)

Parameters

name string

The name of the executable extension.

description string

A short description of the extension.

Returns

ExtensionInfo

null if the specified extension cannot be described.

Remarks

🧩 The implementation must validate that it is executing this method inside the target extension folder.

Discover()

Scans the extensions folder for subfolders containing an extension manifest.

IEnumerable<ExtensionInfo> Discover()

Returns

IEnumerable<ExtensionInfo>

StartAsync(ExtensionInfo)

Asynchronously starts and attempts to connect with the server process for the specified ExtensionInfo.

Task StartAsync(ExtensionInfo extension)

Parameters

extension ExtensionInfo

The deserialized manifest of the extension to start.

Returns

Task

An asynchronous Task that completes when the specified extension was successfully started and connected, or failed to do so.