From 5e6667bcee4c847fda7a9c31c34ea5b24273a144 Mon Sep 17 00:00:00 2001 From: Sophie Atkins Date: Tue, 9 Jul 2024 12:41:41 +0200 Subject: [PATCH 1/2] bump lsp-types --- Cargo.lock | 16 ++++++++++++---- prisma-fmt/Cargo.toml | 2 +- prisma-fmt/src/code_actions.rs | 8 ++++---- prisma-fmt/src/code_actions/block.rs | 4 ++-- prisma-fmt/src/references.rs | 6 ++++-- psl/psl-core/Cargo.toml | 2 +- 6 files changed, 24 insertions(+), 14 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5ca5fe497c4f..bc5a52eb336f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1358,6 +1358,15 @@ dependencies = [ "miniz_oxide", ] +[[package]] +name = "fluent-uri" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17c704e9dbe1ddd863da1e6ff3567795087b1eb201ce80d8fa81162e1516500d" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "fnv" version = "1.0.7" @@ -2234,15 +2243,15 @@ dependencies = [ [[package]] name = "lsp-types" -version = "0.91.1" +version = "0.97.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2368312c59425dd133cb9a327afee65be0a633a8ce471d248e2202a48f8f68ae" +checksum = "53353550a17c04ac46c585feb189c2db82154fc84b79c7a66c96c2c644f66071" dependencies = [ "bitflags 1.3.2", + "fluent-uri", "serde", "serde_json", "serde_repr", - "url", ] [[package]] @@ -6040,7 +6049,6 @@ dependencies = [ "form_urlencoded", "idna 0.5.0", "percent-encoding", - "serde", ] [[package]] diff --git a/prisma-fmt/Cargo.toml b/prisma-fmt/Cargo.toml index 4825b566d22e..ae84cf08ea31 100644 --- a/prisma-fmt/Cargo.toml +++ b/prisma-fmt/Cargo.toml @@ -10,7 +10,7 @@ psl = { workspace = true, features = ["all"] } serde_json.workspace = true serde.workspace = true indoc.workspace = true -lsp-types = "0.91.1" +lsp-types = "0.97.0" log = "0.4.14" enumflags2.workspace = true diff --git a/prisma-fmt/src/code_actions.rs b/prisma-fmt/src/code_actions.rs index 350afa5292a5..713acdaa6059 100644 --- a/prisma-fmt/src/code_actions.rs +++ b/prisma-fmt/src/code_actions.rs @@ -6,7 +6,7 @@ mod relations; use crate::offsets::{position_after_span, range_to_span, span_to_range}; use log::warn; -use lsp_types::{CodeActionOrCommand, CodeActionParams, Diagnostic, Range, TextEdit, Url, WorkspaceEdit}; +use lsp_types::{CodeActionOrCommand, CodeActionParams, Diagnostic, Range, TextEdit, Uri, WorkspaceEdit}; use psl::{ diagnostics::Span, parser_database::{ @@ -16,7 +16,7 @@ use psl::{ schema_ast::ast::{self, Attribute, IndentationType, NewlineType, WithSpan}, PreviewFeature, }; -use std::collections::HashMap; +use std::{collections::HashMap, str::FromStr}; use crate::LSPContext; @@ -246,8 +246,8 @@ fn create_text_edit( }) } -pub(crate) fn parse_url(url: &str) -> Result> { - let result = Url::parse(url); +pub(crate) fn parse_url(url: &str) -> Result> { + let result = Uri::from_str(url); if result.is_err() { warn!("Could not parse url {url}") } diff --git a/prisma-fmt/src/code_actions/block.rs b/prisma-fmt/src/code_actions/block.rs index f82f6bd96e5e..5b79f82b367e 100644 --- a/prisma-fmt/src/code_actions/block.rs +++ b/prisma-fmt/src/code_actions/block.rs @@ -1,6 +1,6 @@ use std::collections::HashMap; -use lsp_types::{CodeAction, CodeActionKind, CodeActionOrCommand, Diagnostic, Range, TextEdit, Url, WorkspaceEdit}; +use lsp_types::{CodeAction, CodeActionKind, CodeActionOrCommand, Diagnostic, Range, TextEdit, Uri, WorkspaceEdit}; use psl::{ diagnostics::Span, parser_database::walkers::{CompositeTypeWalker, ModelWalker}, @@ -106,7 +106,7 @@ pub(super) fn create_missing_block_for_type( fn push_missing_block( diag: &Diagnostic, - uri: Url, + uri: Uri, range: Range, block_type: &str, actions: &mut Vec, diff --git a/prisma-fmt/src/references.rs b/prisma-fmt/src/references.rs index 00da04548893..a52605fe9ee2 100644 --- a/prisma-fmt/src/references.rs +++ b/prisma-fmt/src/references.rs @@ -1,5 +1,7 @@ +use std::str::FromStr; + use log::*; -use lsp_types::{Location, ReferenceParams, Url}; +use lsp_types::{Location, ReferenceParams, Uri}; use psl::{ diagnostics::FileId, error_tolerant_parse_configuration, @@ -235,7 +237,7 @@ fn ident_to_location<'ast>(id: &'ast Identifier, ctx: &'ast ReferencesContext<'_ let range = span_to_range(id.span, source); let file_name = ctx.db.file_name(file_id); - let uri = if let Ok(uri) = Url::parse(file_name) { + let uri = if let Ok(uri) = Uri::from_str(file_name) { uri } else { return None; diff --git a/psl/psl-core/Cargo.toml b/psl/psl-core/Cargo.toml index eb2e59f3d489..c04411c9ef12 100644 --- a/psl/psl-core/Cargo.toml +++ b/psl/psl-core/Cargo.toml @@ -31,6 +31,6 @@ either = "1.8.1" hex = "0.4" # For the connector API. -lsp-types = "0.91.1" +lsp-types = "0.97.0" url.workspace = true cfg-if = "1.0.0" From ddaac19b783949d1845e415afcd72ee37ceeca35 Mon Sep 17 00:00:00 2001 From: Sophie Atkins Date: Tue, 9 Jul 2024 13:14:32 +0200 Subject: [PATCH 2/2] Upgrade to `0.95.1` isntead of current latest `0.97.0` as `0.96.0` introduces breaking changes --- Cargo.lock | 16 ++++------------ prisma-fmt/Cargo.toml | 2 +- prisma-fmt/src/code_actions.rs | 8 ++++---- prisma-fmt/src/code_actions/block.rs | 4 ++-- prisma-fmt/src/references.rs | 6 ++---- psl/psl-core/Cargo.toml | 2 +- 6 files changed, 14 insertions(+), 24 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bc5a52eb336f..b105990d3742 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1358,15 +1358,6 @@ dependencies = [ "miniz_oxide", ] -[[package]] -name = "fluent-uri" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17c704e9dbe1ddd863da1e6ff3567795087b1eb201ce80d8fa81162e1516500d" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "fnv" version = "1.0.7" @@ -2243,15 +2234,15 @@ dependencies = [ [[package]] name = "lsp-types" -version = "0.97.0" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53353550a17c04ac46c585feb189c2db82154fc84b79c7a66c96c2c644f66071" +checksum = "8e34d33a8e9b006cd3fc4fe69a921affa097bae4bb65f76271f4644f9a334365" dependencies = [ "bitflags 1.3.2", - "fluent-uri", "serde", "serde_json", "serde_repr", + "url", ] [[package]] @@ -6049,6 +6040,7 @@ dependencies = [ "form_urlencoded", "idna 0.5.0", "percent-encoding", + "serde", ] [[package]] diff --git a/prisma-fmt/Cargo.toml b/prisma-fmt/Cargo.toml index ae84cf08ea31..6778573f3a68 100644 --- a/prisma-fmt/Cargo.toml +++ b/prisma-fmt/Cargo.toml @@ -10,7 +10,7 @@ psl = { workspace = true, features = ["all"] } serde_json.workspace = true serde.workspace = true indoc.workspace = true -lsp-types = "0.97.0" +lsp-types = "0.95.1" log = "0.4.14" enumflags2.workspace = true diff --git a/prisma-fmt/src/code_actions.rs b/prisma-fmt/src/code_actions.rs index 713acdaa6059..350afa5292a5 100644 --- a/prisma-fmt/src/code_actions.rs +++ b/prisma-fmt/src/code_actions.rs @@ -6,7 +6,7 @@ mod relations; use crate::offsets::{position_after_span, range_to_span, span_to_range}; use log::warn; -use lsp_types::{CodeActionOrCommand, CodeActionParams, Diagnostic, Range, TextEdit, Uri, WorkspaceEdit}; +use lsp_types::{CodeActionOrCommand, CodeActionParams, Diagnostic, Range, TextEdit, Url, WorkspaceEdit}; use psl::{ diagnostics::Span, parser_database::{ @@ -16,7 +16,7 @@ use psl::{ schema_ast::ast::{self, Attribute, IndentationType, NewlineType, WithSpan}, PreviewFeature, }; -use std::{collections::HashMap, str::FromStr}; +use std::collections::HashMap; use crate::LSPContext; @@ -246,8 +246,8 @@ fn create_text_edit( }) } -pub(crate) fn parse_url(url: &str) -> Result> { - let result = Uri::from_str(url); +pub(crate) fn parse_url(url: &str) -> Result> { + let result = Url::parse(url); if result.is_err() { warn!("Could not parse url {url}") } diff --git a/prisma-fmt/src/code_actions/block.rs b/prisma-fmt/src/code_actions/block.rs index 5b79f82b367e..f82f6bd96e5e 100644 --- a/prisma-fmt/src/code_actions/block.rs +++ b/prisma-fmt/src/code_actions/block.rs @@ -1,6 +1,6 @@ use std::collections::HashMap; -use lsp_types::{CodeAction, CodeActionKind, CodeActionOrCommand, Diagnostic, Range, TextEdit, Uri, WorkspaceEdit}; +use lsp_types::{CodeAction, CodeActionKind, CodeActionOrCommand, Diagnostic, Range, TextEdit, Url, WorkspaceEdit}; use psl::{ diagnostics::Span, parser_database::walkers::{CompositeTypeWalker, ModelWalker}, @@ -106,7 +106,7 @@ pub(super) fn create_missing_block_for_type( fn push_missing_block( diag: &Diagnostic, - uri: Uri, + uri: Url, range: Range, block_type: &str, actions: &mut Vec, diff --git a/prisma-fmt/src/references.rs b/prisma-fmt/src/references.rs index a52605fe9ee2..00da04548893 100644 --- a/prisma-fmt/src/references.rs +++ b/prisma-fmt/src/references.rs @@ -1,7 +1,5 @@ -use std::str::FromStr; - use log::*; -use lsp_types::{Location, ReferenceParams, Uri}; +use lsp_types::{Location, ReferenceParams, Url}; use psl::{ diagnostics::FileId, error_tolerant_parse_configuration, @@ -237,7 +235,7 @@ fn ident_to_location<'ast>(id: &'ast Identifier, ctx: &'ast ReferencesContext<'_ let range = span_to_range(id.span, source); let file_name = ctx.db.file_name(file_id); - let uri = if let Ok(uri) = Uri::from_str(file_name) { + let uri = if let Ok(uri) = Url::parse(file_name) { uri } else { return None; diff --git a/psl/psl-core/Cargo.toml b/psl/psl-core/Cargo.toml index c04411c9ef12..ca1087939681 100644 --- a/psl/psl-core/Cargo.toml +++ b/psl/psl-core/Cargo.toml @@ -31,6 +31,6 @@ either = "1.8.1" hex = "0.4" # For the connector API. -lsp-types = "0.97.0" +lsp-types = "0.95.1" url.workspace = true cfg-if = "1.0.0"