use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ScopedLspServerConfig {
pub server_name: String,
pub scope: String,
pub config: serde_json::Value,
}
#[derive(Debug, Clone, Default)]
pub struct LspServersResult {
pub servers: std::collections::HashMap<String, ScopedLspServerConfig>,
}
fn log_for_debugging(message: &str) {
log::debug!("[LSP] {}", message);
}
pub async fn get_all_lsp_servers() -> LspServersResult {
let mut all_servers = std::collections::HashMap::new();
log_for_debugging(&format!("Total LSP servers loaded: {}", all_servers.len()));
LspServersResult {
servers: all_servers,
}
}
pub async fn getAllLspServers() -> Result<LspServersResult, String> {
Ok(get_all_lsp_servers().await)
}