pub enum LspRequest {
Show 18 variants
Start {
server: LspServerId,
root: PathBuf,
command: Vec<String>,
language: String,
initialization_options: Option<String>,
},
DidOpen {
path: PathBuf,
language_id: String,
version: u64,
text: String,
},
DidChange {
path: PathBuf,
version: u64,
change: TextChange,
},
DidSave {
path: PathBuf,
},
DidClose {
path: PathBuf,
},
WatchedFilesChanged {
changes: Vec<WatchedFileChange>,
},
ReloadProject {
paths: Vec<PathBuf>,
},
Definition {
id: LspRequestId,
path: PathBuf,
position: TextPosition,
},
Hover {
id: LspRequestId,
path: PathBuf,
position: TextPosition,
},
Completion {
id: LspRequestId,
path: PathBuf,
position: TextPosition,
},
References {
id: LspRequestId,
path: PathBuf,
position: TextPosition,
},
DocumentSymbols {
id: LspRequestId,
path: PathBuf,
},
WorkspaceSymbols {
id: LspRequestId,
query: String,
},
Rename {
id: LspRequestId,
path: PathBuf,
position: TextPosition,
new_name: String,
},
CodeActions {
id: LspRequestId,
path: PathBuf,
range: TextRange,
},
Formatting {
id: LspRequestId,
path: PathBuf,
},
Cancel {
id: LspRequestId,
},
Shutdown,
}Expand description
Every response-bearing variant carries its correlation id first, so the model’s
active_* guard can drop a superseded reply.
Variants§
Start
Fields
§
server: LspServerId§
initialization_options: Option<String>Raw JSON for initializationOptions, parsed at the wire boundary.
A string rather than a serde_json::Value because core has zero
dependencies. Rust needs none of this; Eclipse JDT LS and pyright do not
start usefully without it, and carrying the field now keeps a later
language a recipe change instead of a protocol.rs change.
DidOpen
DidChange
DidSave
DidClose
WatchedFilesChanged
Fields
§
changes: Vec<WatchedFileChange>ReloadProject
Ask a server to refresh project metadata affected by configuration files. The protocol translator chooses the vendor method; core stays neutral.
Definition
Hover
Completion
References
DocumentSymbols
WorkspaceSymbols
Rename
CodeActions
Formatting
Cancel
Fields
§
id: LspRequestIdShutdown
Trait Implementations§
Source§impl Clone for LspRequest
impl Clone for LspRequest
Source§fn clone(&self) -> LspRequest
fn clone(&self) -> LspRequest
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for LspRequest
impl Debug for LspRequest
impl Eq for LspRequest
Source§impl PartialEq for LspRequest
impl PartialEq for LspRequest
impl StructuralPartialEq for LspRequest
Auto Trait Implementations§
impl Freeze for LspRequest
impl RefUnwindSafe for LspRequest
impl Send for LspRequest
impl Sync for LspRequest
impl Unpin for LspRequest
impl UnsafeUnpin for LspRequest
impl UnwindSafe for LspRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more