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 {}
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 {}