Skip to content

Commit 937a15e

Browse files
committed
Small refactor in completionItem/resolve code
1 parent bb49653 commit 937a15e

File tree

1 file changed

+18
-28
lines changed
  • crates/sith_server/src/server/api/requests/completion

1 file changed

+18
-28
lines changed

crates/sith_server/src/server/api/requests/completion/resolve.rs

+18-28
Original file line numberDiff line numberDiff line change
@@ -45,35 +45,26 @@ impl BackgroundDocumentRequestHandler for ResolveCompletionItem {
4545
_notifier: super::Notifier,
4646
mut original_completion: CompletionItem,
4747
) -> Result<CompletionItem> {
48-
let data = match original_completion.data.take() {
49-
Some(it) => it,
50-
None => return Ok(original_completion),
51-
};
52-
53-
let completion_item_data: CompletionItemData =
54-
serde_json::from_value(data).expect("no error when deserializing!");
55-
56-
original_completion.documentation = get_completion_item_documentation(
57-
&snapshot,
58-
completion_item_data,
59-
&original_completion,
60-
)
61-
.map(|doc| {
62-
Documentation::MarkupContent(MarkupContent {
63-
kind: lsp_types::MarkupKind::Markdown,
64-
value: doc,
65-
})
66-
});
48+
original_completion.documentation =
49+
get_completion_item_documentation(&snapshot, &mut original_completion).map(|doc| {
50+
Documentation::MarkupContent(MarkupContent {
51+
kind: lsp_types::MarkupKind::Markdown,
52+
value: doc,
53+
})
54+
});
6755

6856
Ok(original_completion)
6957
}
7058
}
7159

7260
fn get_completion_item_documentation(
7361
snapshot: &DocumentSnapshot,
74-
completion_item_data: CompletionItemData,
75-
original_completion: &CompletionItem,
62+
original_completion: &mut CompletionItem,
7663
) -> Option<String> {
64+
let data = original_completion.data.take()?;
65+
let completion_item_data: CompletionItemData =
66+
serde_json::from_value(data).expect("no error when deserializing!");
67+
7768
let db = snapshot.db();
7869
match completion_item_data.payload()? {
7970
CompletionItemDataPayload::Module(completion_item_module_data) => {
@@ -83,13 +74,12 @@ fn get_completion_item_documentation(
8374
match completion_item_symbol_data.origin() {
8475
CompletionItemOrigin::Builtin => {
8576
let interpreter = snapshot.client_settings().interpreter()?;
86-
match get_python_doc(interpreter, &original_completion.label) {
87-
Ok(doc) => doc,
88-
Err(err) => {
89-
tracing::error!("Failed to get documentation for builtin symbol with Python script: {err}");
90-
None
91-
}
92-
}
77+
get_python_doc(interpreter, &original_completion.label).unwrap_or_else(|err| {
78+
tracing::error!(
79+
"Failed to get builtin symbol documentation with Python script: {err}"
80+
);
81+
None
82+
})
9383
}
9484
_ => {
9585
let non_stub_path = db

0 commit comments

Comments
 (0)