Rebuilt from the exact zed-industries/zed @ 8c74db00c4053d6c0a9037863d7bd048658da4ca tree (previous orphan was based on a stale/wrong fetch). Same 3-file patch: - serial.rs: add SerialKind::KeyboardEnter - client.rs: store wl_keyboard.enter serial; add latest_serial_of() - window.rs: activate() uses keyboard-enter serial (Mutter focus gate) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
45 lines
1.2 KiB
Rust
45 lines
1.2 KiB
Rust
use gpui_shared_string::SharedString;
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
/// Converts a value into an LSP position.
|
|
pub trait ToLspPosition {
|
|
/// Converts the value into an LSP position.
|
|
fn to_lsp_position(self) -> lsp::Position;
|
|
}
|
|
|
|
/// Context provided to LSP adapters when a user responds to a ShowMessageRequest prompt.
|
|
/// This allows adapters to intercept preference selections (like "Always" or "Never")
|
|
/// and potentially persist them to Zed's settings.
|
|
#[derive(Debug, Clone)]
|
|
pub struct PromptResponseContext {
|
|
/// The original message shown to the user
|
|
pub message: String,
|
|
/// The action (button) the user selected
|
|
pub selected_action: lsp::MessageActionItem,
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
|
pub enum LanguageServerStatusUpdate {
|
|
Binary(BinaryStatus),
|
|
Health(ServerHealth, Option<SharedString>),
|
|
}
|
|
|
|
#[derive(Debug, PartialEq, Eq, Deserialize, Serialize, Clone, Copy)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub enum ServerHealth {
|
|
Ok,
|
|
Warning,
|
|
Error,
|
|
}
|
|
|
|
#[derive(Clone, Debug, PartialEq, Eq)]
|
|
pub enum BinaryStatus {
|
|
None,
|
|
CheckingForUpdate,
|
|
Downloading,
|
|
Starting,
|
|
Stopping,
|
|
Stopped,
|
|
Failed { error: String },
|
|
}
|