Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit b96796c

Browse files
committed
Minor changes. Add resolve_resource_op()
1 parent 96cebca commit b96796c

File tree

1 file changed

+20
-27
lines changed

1 file changed

+20
-27
lines changed

crates/rust-analyzer/src/handlers/request.rs

Lines changed: 20 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -549,7 +549,7 @@ pub(crate) fn handle_will_rename_files(
549549
) -> anyhow::Result<Option<lsp_types::WorkspaceEdit>> {
550550
let _p = profile::span("handle_will_rename_files");
551551

552-
if let Err(err) = resource_ops_supported(&snap.config, &ResourceOperationKind::Rename) {
552+
if let Err(err) = resource_ops_supported(&snap.config, ResourceOperationKind::Rename) {
553553
return Err(err);
554554
}
555555

@@ -1043,14 +1043,9 @@ pub(crate) fn handle_rename(
10431043
{
10441044
for op in ops {
10451045
if let lsp_types::DocumentChangeOperation::Op(doc_change_op) = op {
1046-
if let Err(err) = resource_ops_supported(
1047-
&snap.config,
1048-
match doc_change_op {
1049-
ResourceOp::Create(_) => &ResourceOperationKind::Create,
1050-
ResourceOp::Rename(_) => &ResourceOperationKind::Rename,
1051-
ResourceOp::Delete(_) => &ResourceOperationKind::Delete,
1052-
},
1053-
) {
1046+
if let Err(err) =
1047+
resource_ops_supported(&snap.config, resolve_resource_op(doc_change_op))
1048+
{
10541049
return Err(err);
10551050
}
10561051
}
@@ -1168,14 +1163,9 @@ pub(crate) fn handle_code_action(
11681163
if let Some(changes) = &code_action.edit.as_ref().unwrap().document_changes {
11691164
for change in changes {
11701165
if let lsp_ext::SnippetDocumentChangeOperation::Op(res_op) = change {
1171-
if let Err(err) = resource_ops_supported(
1172-
&snap.config,
1173-
match res_op {
1174-
ResourceOp::Create(_) => &ResourceOperationKind::Create,
1175-
ResourceOp::Rename(_) => &ResourceOperationKind::Rename,
1176-
ResourceOp::Delete(_) => &ResourceOperationKind::Delete,
1177-
},
1178-
) {
1166+
if let Err(err) =
1167+
resource_ops_supported(&snap.config, resolve_resource_op(res_op))
1168+
{
11791169
return Err(err);
11801170
}
11811171
}
@@ -1269,14 +1259,9 @@ pub(crate) fn handle_code_action_resolve(
12691259
if let Some(changes) = edit.document_changes.as_ref() {
12701260
for change in changes {
12711261
if let lsp_ext::SnippetDocumentChangeOperation::Op(res_op) = change {
1272-
if let Err(err) = resource_ops_supported(
1273-
&snap.config,
1274-
match res_op {
1275-
ResourceOp::Create(_) => &ResourceOperationKind::Create,
1276-
ResourceOp::Rename(_) => &ResourceOperationKind::Rename,
1277-
ResourceOp::Delete(_) => &ResourceOperationKind::Delete,
1278-
},
1279-
) {
1262+
if let Err(err) =
1263+
resource_ops_supported(&snap.config, resolve_resource_op(res_op))
1264+
{
12801265
return Err(err);
12811266
}
12821267
}
@@ -2056,7 +2041,7 @@ fn to_url(path: VfsPath) -> Option<Url> {
20562041
Url::from_file_path(str_path).ok()
20572042
}
20582043

2059-
fn resource_ops_supported(config: &Config, kind: &ResourceOperationKind) -> anyhow::Result<()> {
2044+
fn resource_ops_supported(config: &Config, kind: ResourceOperationKind) -> anyhow::Result<()> {
20602045
let ctn = config
20612046
.caps()
20622047
.workspace
@@ -2068,7 +2053,7 @@ fn resource_ops_supported(config: &Config, kind: &ResourceOperationKind) -> anyh
20682053
.resource_operations
20692054
.as_ref()
20702055
.unwrap()
2071-
.contains(kind);
2056+
.contains(&kind);
20722057

20732058
if !ctn {
20742059
return Err(LspError::new(
@@ -2087,3 +2072,11 @@ fn resource_ops_supported(config: &Config, kind: &ResourceOperationKind) -> anyh
20872072

20882073
Ok(())
20892074
}
2075+
2076+
fn resolve_resource_op(op: &ResourceOp) -> ResourceOperationKind {
2077+
match op {
2078+
ResourceOp::Create(_) => ResourceOperationKind::Create,
2079+
ResourceOp::Rename(_) => ResourceOperationKind::Rename,
2080+
ResourceOp::Delete(_) => ResourceOperationKind::Delete,
2081+
}
2082+
}

0 commit comments

Comments
 (0)