Module OutputProvider

Module OutputProvider 

Source
Expand description

§OutputProvider (Environment)

Implements the OutputChannelManager trait for MountainEnvironment.

This provider manages multiple output channels (e.g., ‘Extension Host’, ‘JavaScript’, ‘Git’), handling channel lifecycle, content management, and UI visibility. It maintains in-memory buffers with size limits and emits Tauri events to the Sky frontend for UI updates.

§Implementation Strategy

The trait implementation is split across multiple helper modules for maintainability:

  • ChannelLifecycle: RegisterChannel, Dispose
  • ChannelContent: Append, Replace, Clear
  • ChannelVisibility: Reveal, Close

The single impl OutputChannelManager for MountainEnvironment block in this file delegates to those helper functions. This satisfies Rust’s orphan rules while keeping code organized.

Modules§

ChannelContent 🔒
Output Channel Content Helpers
ChannelLifecycle 🔒
Output Channel Lifecycle Helpers
ChannelVisibility 🔒
Output Channel Visibility Helpers