]> git.lizzy.rs Git - rust.git/blobdiff - crates/ra_lsp_server/src/req.rs
Use SelectionRange from LSP 3.15
[rust.git] / crates / ra_lsp_server / src / req.rs
index d25fc572693bed79a45f2e76f749ff958af0ca36..2a22b655ce1b10ad223b1c4e338ceb40f1da3e73 100644 (file)
@@ -10,8 +10,9 @@
     DidChangeWatchedFilesParams, DidChangeWatchedFilesRegistrationOptions,
     DocumentOnTypeFormattingParams, DocumentSymbolParams, DocumentSymbolResponse,
     FileSystemWatcher, Hover, InitializeResult, MessageType, PublishDiagnosticsParams,
-    ReferenceParams, Registration, RegistrationParams, ShowMessageParams, SignatureHelp,
-    TextDocumentEdit, TextDocumentPositionParams, TextEdit, WorkspaceEdit, WorkspaceSymbolParams,
+    ReferenceParams, Registration, RegistrationParams, SelectionRange, SelectionRangeParams,
+    ShowMessageParams, SignatureHelp, TextDocumentEdit, TextDocumentPositionParams, TextEdit,
+    WorkspaceEdit, WorkspaceSymbolParams,
 };
 
 pub enum AnalyzerStatus {}
@@ -45,26 +46,26 @@ pub struct SyntaxTreeParams {
     pub range: Option<Range>,
 }
 
-pub enum SelectionRangeRequest {}
+#[derive(Serialize, Debug)]
+#[serde(rename_all = "camelCase")]
+pub struct ExpandedMacro {
+    pub name: String,
+    pub expansion: String,
+}
 
-impl Request for SelectionRangeRequest {
-    type Params = SelectionRangeParams;
-    type Result = Vec<SelectionRange>;
-    const METHOD: &'static str = "textDocument/selectionRange";
+pub enum ExpandMacro {}
+
+impl Request for ExpandMacro {
+    type Params = ExpandMacroParams;
+    type Result = Option<ExpandedMacro>;
+    const METHOD: &'static str = "rust-analyzer/expandMacro";
 }
 
 #[derive(Deserialize, Debug)]
 #[serde(rename_all = "camelCase")]
-pub struct SelectionRangeParams {
+pub struct ExpandMacroParams {
     pub text_document: TextDocumentIdentifier,
-    pub positions: Vec<Position>,
-}
-
-#[derive(Serialize, Debug)]
-#[serde(rename_all = "camelCase")]
-pub struct SelectionRange {
-    pub range: Range,
-    pub parent: Option<Box<SelectionRange>>,
+    pub position: Option<Position>,
 }
 
 pub enum FindMatchingBrace {}