mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-26 13:03:31 +00:00
Use SelectionRange from LSP 3.15
This commit is contained in:
parent
6eab968c60
commit
429199d481
4 changed files with 13 additions and 33 deletions
6
Cargo.lock
generated
6
Cargo.lock
generated
|
@ -620,7 +620,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "lsp-types"
|
name = "lsp-types"
|
||||||
version = "0.63.1"
|
version = "0.65.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
@ -1049,7 +1049,7 @@ dependencies = [
|
||||||
"jod-thread 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"jod-thread 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"lsp-server 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lsp-server 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"lsp-types 0.63.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lsp-types 0.65.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"parking_lot 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parking_lot 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ra_ide 0.1.0",
|
"ra_ide 0.1.0",
|
||||||
"ra_prof 0.1.0",
|
"ra_prof 0.1.0",
|
||||||
|
@ -1841,7 +1841,7 @@ dependencies = [
|
||||||
"checksum lock_api 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e57b3997725d2b60dbec1297f6c2e2957cc383db1cebd6be812163f969c7d586"
|
"checksum lock_api 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e57b3997725d2b60dbec1297f6c2e2957cc383db1cebd6be812163f969c7d586"
|
||||||
"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
|
"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
|
||||||
"checksum lsp-server 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0ba36405bd742139ab79c246ca5adb7fde2fe1a0f495e2c8e2f607b607dedb12"
|
"checksum lsp-server 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0ba36405bd742139ab79c246ca5adb7fde2fe1a0f495e2c8e2f607b607dedb12"
|
||||||
"checksum lsp-types 0.63.1 (registry+https://github.com/rust-lang/crates.io-index)" = "70090cea3cd5db0aa923575e03874b33da90c4d0fe1eaf63fa51b8925a78ef03"
|
"checksum lsp-types 0.65.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1fe9e427e63e6172699737b47f1044bcade7046e2404d59ebd90c459da47cd2b"
|
||||||
"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
|
"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
|
||||||
"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
|
"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
|
||||||
"checksum memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9"
|
"checksum memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9"
|
||||||
|
|
|
@ -14,7 +14,7 @@ serde_json = "1.0.34"
|
||||||
serde = { version = "1.0.83", features = ["derive"] }
|
serde = { version = "1.0.83", features = ["derive"] }
|
||||||
crossbeam-channel = "0.4"
|
crossbeam-channel = "0.4"
|
||||||
log = "0.4.3"
|
log = "0.4.3"
|
||||||
lsp-types = { version = "0.63.1", features = ["proposed"] }
|
lsp-types = { version = "0.65.0", features = ["proposed"] }
|
||||||
rustc-hash = "1.0"
|
rustc-hash = "1.0"
|
||||||
parking_lot = "0.10.0"
|
parking_lot = "0.10.0"
|
||||||
jod-thread = "0.1.0"
|
jod-thread = "0.1.0"
|
||||||
|
|
|
@ -2,10 +2,11 @@
|
||||||
|
|
||||||
use lsp_types::{
|
use lsp_types::{
|
||||||
CodeActionProviderCapability, CodeLensOptions, CompletionOptions,
|
CodeActionProviderCapability, CodeLensOptions, CompletionOptions,
|
||||||
DocumentOnTypeFormattingOptions, FoldingRangeProviderCapability, GenericCapability,
|
DocumentOnTypeFormattingOptions, FoldingRangeProviderCapability,
|
||||||
ImplementationProviderCapability, RenameOptions, RenameProviderCapability, ServerCapabilities,
|
ImplementationProviderCapability, RenameOptions, RenameProviderCapability,
|
||||||
SignatureHelpOptions, TextDocumentSyncCapability, TextDocumentSyncKind,
|
SelectionRangeProviderCapability, ServerCapabilities, SignatureHelpOptions,
|
||||||
TextDocumentSyncOptions, TypeDefinitionProviderCapability, WorkDoneProgressOptions,
|
TextDocumentSyncCapability, TextDocumentSyncKind, TextDocumentSyncOptions,
|
||||||
|
TypeDefinitionProviderCapability, WorkDoneProgressOptions,
|
||||||
};
|
};
|
||||||
|
|
||||||
pub fn server_capabilities() -> ServerCapabilities {
|
pub fn server_capabilities() -> ServerCapabilities {
|
||||||
|
@ -44,7 +45,7 @@ pub fn server_capabilities() -> ServerCapabilities {
|
||||||
first_trigger_character: "=".to_string(),
|
first_trigger_character: "=".to_string(),
|
||||||
more_trigger_character: Some(vec![".".to_string(), ">".to_string()]),
|
more_trigger_character: Some(vec![".".to_string(), ">".to_string()]),
|
||||||
}),
|
}),
|
||||||
selection_range_provider: Some(GenericCapability::default()),
|
selection_range_provider: Some(SelectionRangeProviderCapability::Simple(true)),
|
||||||
folding_range_provider: Some(FoldingRangeProviderCapability::Simple(true)),
|
folding_range_provider: Some(FoldingRangeProviderCapability::Simple(true)),
|
||||||
rename_provider: Some(RenameProviderCapability::Options(RenameOptions {
|
rename_provider: Some(RenameProviderCapability::Options(RenameOptions {
|
||||||
prepare_provider: Some(true),
|
prepare_provider: Some(true),
|
||||||
|
|
|
@ -10,8 +10,9 @@ pub use lsp_types::{
|
||||||
DidChangeWatchedFilesParams, DidChangeWatchedFilesRegistrationOptions,
|
DidChangeWatchedFilesParams, DidChangeWatchedFilesRegistrationOptions,
|
||||||
DocumentOnTypeFormattingParams, DocumentSymbolParams, DocumentSymbolResponse,
|
DocumentOnTypeFormattingParams, DocumentSymbolParams, DocumentSymbolResponse,
|
||||||
FileSystemWatcher, Hover, InitializeResult, MessageType, PublishDiagnosticsParams,
|
FileSystemWatcher, Hover, InitializeResult, MessageType, PublishDiagnosticsParams,
|
||||||
ReferenceParams, Registration, RegistrationParams, ShowMessageParams, SignatureHelp,
|
ReferenceParams, Registration, RegistrationParams, SelectionRange, SelectionRangeParams,
|
||||||
TextDocumentEdit, TextDocumentPositionParams, TextEdit, WorkspaceEdit, WorkspaceSymbolParams,
|
ShowMessageParams, SignatureHelp, TextDocumentEdit, TextDocumentPositionParams, TextEdit,
|
||||||
|
WorkspaceEdit, WorkspaceSymbolParams,
|
||||||
};
|
};
|
||||||
|
|
||||||
pub enum AnalyzerStatus {}
|
pub enum AnalyzerStatus {}
|
||||||
|
@ -67,28 +68,6 @@ pub struct ExpandMacroParams {
|
||||||
pub position: Option<Position>,
|
pub position: Option<Position>,
|
||||||
}
|
}
|
||||||
|
|
||||||
pub enum SelectionRangeRequest {}
|
|
||||||
|
|
||||||
impl Request for SelectionRangeRequest {
|
|
||||||
type Params = SelectionRangeParams;
|
|
||||||
type Result = Vec<SelectionRange>;
|
|
||||||
const METHOD: &'static str = "textDocument/selectionRange";
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Deserialize, Debug)]
|
|
||||||
#[serde(rename_all = "camelCase")]
|
|
||||||
pub struct SelectionRangeParams {
|
|
||||||
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 enum FindMatchingBrace {}
|
pub enum FindMatchingBrace {}
|
||||||
|
|
||||||
impl Request for FindMatchingBrace {
|
impl Request for FindMatchingBrace {
|
||||||
|
|
Loading…
Reference in a new issue