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§
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn 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 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: Iftrue, the focus will remain in its current location instead of moving to the output channel.
Sourcefn 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 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.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".