use lsp_mcp::server::LspMcpServer;
use rmcp::ServiceExt;
use tracing::info;
use tracing_subscriber::{fmt, prelude::*, EnvFilter};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
tracing_subscriber::registry()
.with(fmt::layer().with_writer(std::io::stderr))
.with(EnvFilter::from_default_env().add_directive("lsp_mcp=info".parse()?))
.init();
info!("Starting LSP MCP Server v{}", env!("CARGO_PKG_VERSION"));
let server = LspMcpServer::new();
let service = server
.serve(rmcp::transport::stdio())
.await?;
info!("LSP MCP Server ready");
service.waiting().await?;
info!("LSP MCP Server shutting down");
Ok(())
}