Skip to main content

OutputChannelManager

Trait OutputChannelManager 

Source
pub trait OutputChannelManager:
    Environment
    + Send
    + Sync {
    // Required methods
    fn RegisterChannel<'life0, 'async_trait>(
        &'life0 self,
        Name: String,
        LanguageIdentifier: Option<String>,
    ) -> Pin<Box<dyn Future<Output = Result<String, CommonError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn Append<'life0, 'async_trait>(
        &'life0 self,
        ChannelIdentifier: String,
        Value: String,
    ) -> Pin<Box<dyn Future<Output = Result<(), CommonError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn Replace<'life0, 'async_trait>(
        &'life0 self,
        ChannelIdentifier: String,
        Value: String,
    ) -> Pin<Box<dyn Future<Output = Result<(), CommonError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn Clear<'life0, 'async_trait>(
        &'life0 self,
        ChannelIdentifier: String,
    ) -> Pin<Box<dyn Future<Output = Result<(), CommonError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn Reveal<'life0, 'async_trait>(
        &'life0 self,
        ChannelIdentifier: String,
        PreserveFocus: bool,
    ) -> Pin<Box<dyn Future<Output = Result<(), CommonError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn Close<'life0, 'async_trait>(
        &'life0 self,
        ChannelIdentifier: String,
    ) -> Pin<Box<dyn Future<Output = Result<(), CommonError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn Dispose<'life0, 'async_trait>(
        &'life0 self,
        ChannelIdentifier: String,
    ) -> Pin<Box<dyn Future<Output = Result<(), CommonError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

An abstract service contract for an environment component that can manage output channels.

Output channels are a common feature in IDEs, used for displaying logs, build outputs, or other textual information from extensions or system processes.

Required Methods§

Source

fn RegisterChannel<'life0, 'async_trait>( &'life0 self, Name: String, LanguageIdentifier: Option<String>, ) -> Pin<Box<dyn Future<Output = Result<String, CommonError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Registers a new output channel with the host.

§Parameters
  • Name: The human-readable name of the channel to be displayed in the UI.
  • LanguageIdentifier: An optional language ID to enable syntax highlighting for the channel’s content.
§Returns

A Result containing a unique identifier (string) for the new channel.

Source

fn Append<'life0, 'async_trait>( &'life0 self, ChannelIdentifier: String, Value: String, ) -> Pin<Box<dyn Future<Output = Result<(), CommonError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Appends a string value to the specified output channel.

§Parameters
  • ChannelIdentifier: The unique ID of the target channel.
  • Value: The string content to append.
Source

fn Replace<'life0, 'async_trait>( &'life0 self, ChannelIdentifier: String, Value: String, ) -> Pin<Box<dyn Future<Output = Result<(), CommonError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Replaces the entire content of the specified output channel with a new value.

§Parameters
  • ChannelIdentifier: The unique ID of the target channel.
  • Value: The new string content for the channel.
Source

fn Clear<'life0, 'async_trait>( &'life0 self, ChannelIdentifier: String, ) -> Pin<Box<dyn Future<Output = Result<(), CommonError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Clears all content from the specified output channel.

Source

fn Reveal<'life0, 'async_trait>( &'life0 self, ChannelIdentifier: String, PreserveFocus: bool, ) -> Pin<Box<dyn Future<Output = Result<(), CommonError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Reveals (opens and focuses) the specified output channel in the UI.

§Parameters
  • ChannelIdentifier: The ID of the channel to reveal.
  • PreserveFocus: If true, the focus will remain in its current location instead of moving to the output channel.
Source

fn Close<'life0, 'async_trait>( &'life0 self, ChannelIdentifier: String, ) -> Pin<Box<dyn Future<Output = Result<(), CommonError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Closes the view of the specified output channel in the UI, but does not dispose of it. The channel can be revealed again later.

Source

fn Dispose<'life0, 'async_trait>( &'life0 self, ChannelIdentifier: String, ) -> Pin<Box<dyn Future<Output = Result<(), CommonError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Disposes of the specified output channel, removing it and its content permanently.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§