pub struct LspMonitor { /* private fields */ }Expand description
LSP server availability monitor
Implementations§
Source§impl LspMonitor
impl LspMonitor
Sourcepub fn new(servers: HashMap<String, LspServerConfig>) -> Self
pub fn new(servers: HashMap<String, LspServerConfig>) -> Self
Create a new LSP monitor
Sourcepub async fn on_availability_changed(
&self,
callback: Arc<dyn Fn(&str, bool) + Send + Sync>,
) -> IdeResult<()>
pub async fn on_availability_changed( &self, callback: Arc<dyn Fn(&str, bool) + Send + Sync>, ) -> IdeResult<()>
Register a callback for availability changes
Sourcepub async fn check_server_health(
&self,
language: &str,
) -> IdeResult<LspHealthStatus>
pub async fn check_server_health( &self, language: &str, ) -> IdeResult<LspHealthStatus>
Check health of a specific LSP server
Sourcepub async fn get_server_status(
&self,
language: &str,
) -> IdeResult<LspHealthStatus>
pub async fn get_server_status( &self, language: &str, ) -> IdeResult<LspHealthStatus>
Get current health status of a server
Sourcepub async fn check_all_servers(
&self,
) -> IdeResult<HashMap<String, LspHealthStatus>>
pub async fn check_all_servers( &self, ) -> IdeResult<HashMap<String, LspHealthStatus>>
Check health of all configured servers
Sourcepub async fn start_health_checks(&self, interval_ms: u64) -> IdeResult<()>
pub async fn start_health_checks(&self, interval_ms: u64) -> IdeResult<()>
Start periodic health checks
Sourcepub fn available_languages(&self) -> Vec<String>
pub fn available_languages(&self) -> Vec<String>
Get all available languages
Auto Trait Implementations§
impl Freeze for LspMonitor
impl !RefUnwindSafe for LspMonitor
impl Send for LspMonitor
impl Sync for LspMonitor
impl Unpin for LspMonitor
impl !UnwindSafe for LspMonitor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more