logiguard fork v3: full patch set on verified 8c74db0 tree
Includes prior-session patches (carry forward so the app compiles): - crates/gpui/build.rs: cross-compile manifest fix - crates/gpui/src/platform.rs: PlatformWindow::activate_with_token trait method - crates/gpui/src/window.rs: Window::activate_with_token public API - crates/gpui_linux/src/linux/wayland/window.rs: WaylandWindow::activate_with_token + activate() keyboard-serial fix Plus the focus-serial fix: - serial.rs: SerialKind::KeyboardEnter - client.rs: store wl_keyboard.enter serial; latest_serial_of() Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
44
crates/language_core/src/lsp_adapter.rs
Normal file
44
crates/language_core/src/lsp_adapter.rs
Normal file
@@ -0,0 +1,44 @@
|
||||
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 },
|
||||
}
|
||||
Reference in New Issue
Block a user