feat(lsp): show "Loading LSP servers..." with start/stop hints

- Startup now shows "Loading LSP servers..." then ✓/✗ per server
- When auto-start is on: shows disable hint (toggle or settings.json)
- When auto-start is off: shows available servers with how to start

💘 Generated with Crush

Assisted-by: GLM 5.1 FP8 via Crush <crush@charm.land>
This commit is contained in:
TheArchitectit 2026-04-28 10:29:38 -05:00
parent b00628f5ff
commit 72f50b840e
1 changed files with 8 additions and 7 deletions

View File

@ -7089,11 +7089,7 @@ fn run_repl(
// Discover and register LSP servers
let lsp_servers = runtime::lsp_discovery::discover_available_servers();
if !lsp_servers.is_empty() {
let names: Vec<String> = lsp_servers
.iter()
.map(|s| format!("{} ({})", s.language, s.command))
.collect();
eprintln!("LSP: {}", names.join(", "));
eprintln!("Loading LSP servers...");
for server in &lsp_servers {
tools::global_lsp_registry().register_with_descriptor(
&server.language,
@ -7112,10 +7108,15 @@ fn run_repl(
let registry = tools::global_lsp_registry();
for server in &lsp_servers {
match registry.start_server(&server.language) {
Ok(()) => eprintln!(" {} started", server.language),
Err(e) => eprintln!(" {} failed to start: {e}", server.language),
Ok(()) => eprintln!(" {} ({})", server.language, server.command),
Err(e) => eprintln!(" {} {e}", server.language),
}
}
eprintln!(" Disable with: /lsp toggle or set lspAutoStart=false in settings.json");
} else {
let names: Vec<&str> = lsp_servers.iter().map(|s| s.language.as_str()).collect();
eprintln!(" Available but not started: {}", names.join(", "));
eprintln!(" Start with: /lsp start <language> or set lspAutoStart=true in settings.json");
}
<<<<<<< HEAD
=======