Skip to content

Commit ab99eff

Browse files
bors[bot]matklad
andauthored
Merge #7940
7940: Cleanup r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2 parents 21913d0 + abc0ed3 commit ab99eff

File tree

3 files changed

+37
-38
lines changed

3 files changed

+37
-38
lines changed

crates/ide_completion/src/item.rs

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ impl CompletionItem {
208208
lookup: None,
209209
kind: None,
210210
text_edit: None,
211-
deprecated: None,
211+
deprecated: false,
212212
trigger_call_info: None,
213213
score: None,
214214
ref_match: None,
@@ -308,7 +308,7 @@ pub(crate) struct Builder {
308308
lookup: Option<String>,
309309
kind: Option<CompletionItemKind>,
310310
text_edit: Option<TextEdit>,
311-
deprecated: Option<bool>,
311+
deprecated: bool,
312312
trigger_call_info: Option<bool>,
313313
score: Option<CompletionScore>,
314314
ref_match: Option<(Mutability, CompletionScore)>,
@@ -355,7 +355,7 @@ impl Builder {
355355
lookup,
356356
kind: self.kind,
357357
completion_kind: self.completion_kind,
358-
deprecated: self.deprecated.unwrap_or(false),
358+
deprecated: self.deprecated,
359359
trigger_call_info: self.trigger_call_info.unwrap_or(false),
360360
score: self.score,
361361
ref_match: self.ref_match,
@@ -415,7 +415,7 @@ impl Builder {
415415
self
416416
}
417417
pub(crate) fn set_deprecated(mut self, deprecated: bool) -> Builder {
418-
self.deprecated = Some(deprecated);
418+
self.deprecated = deprecated;
419419
self
420420
}
421421
pub(crate) fn set_score(mut self, score: CompletionScore) -> Builder {
@@ -430,11 +430,8 @@ impl Builder {
430430
self.import_to_add = import_to_add;
431431
self
432432
}
433-
pub(crate) fn set_ref_match(
434-
mut self,
435-
ref_match: Option<(Mutability, CompletionScore)>,
436-
) -> Builder {
437-
self.ref_match = ref_match;
433+
pub(crate) fn ref_match(mut self, ref_match: (Mutability, CompletionScore)) -> Builder {
434+
self.ref_match = Some(ref_match);
438435
self
439436
}
440437
}

crates/ide_completion/src/render.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,6 @@ impl<'a> Render<'a> {
246246
}
247247
};
248248

249-
let mut ref_match = None;
250249
if let ScopeDef::Local(local) = resolution {
251250
if let Some((active_name, active_type)) = self.ctx.active_name_and_type() {
252251
let ty = local.ty(self.ctx.db());
@@ -255,7 +254,11 @@ impl<'a> Render<'a> {
255254
{
256255
item = item.set_score(score);
257256
}
258-
ref_match = refed_type_matches(&active_type, &active_name, &ty, &local_name);
257+
if let Some(ref_match) =
258+
refed_type_matches(&active_type, &active_name, &ty, &local_name)
259+
{
260+
item = item.ref_match(ref_match);
261+
}
259262
}
260263
}
261264

@@ -285,7 +288,6 @@ impl<'a> Render<'a> {
285288
Some(
286289
item.kind(kind)
287290
.add_import(import_to_add)
288-
.set_ref_match(ref_match)
289291
.set_documentation(self.docs(resolution))
290292
.set_deprecated(self.is_deprecated(resolution))
291293
.build(),

crates/rust-analyzer/src/to_proto.rs

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -173,20 +173,20 @@ pub(crate) fn snippet_text_edit_vec(
173173

174174
pub(crate) fn completion_item(
175175
line_index: &LineIndex,
176-
completion_item: CompletionItem,
176+
item: CompletionItem,
177177
) -> Vec<lsp_types::CompletionItem> {
178-
fn set_score(res: &mut lsp_types::CompletionItem, label: &str) {
179-
res.preselect = Some(true);
178+
fn set_score(lsp_item: &mut lsp_types::CompletionItem, label: &str) {
179+
lsp_item.preselect = Some(true);
180180
// HACK: sort preselect items first
181-
res.sort_text = Some(format!(" {}", label));
181+
lsp_item.sort_text = Some(format!(" {}", label));
182182
}
183183

184184
let mut additional_text_edits = Vec::new();
185185
let mut text_edit = None;
186186
// LSP does not allow arbitrary edits in completion, so we have to do a
187187
// non-trivial mapping here.
188-
let source_range = completion_item.source_range();
189-
for indel in completion_item.text_edit().iter() {
188+
let source_range = item.source_range();
189+
for indel in item.text_edit().iter() {
190190
if indel.delete.contains_range(source_range) {
191191
text_edit = Some(if indel.delete == source_range {
192192
self::text_edit(line_index, indel.clone())
@@ -207,46 +207,46 @@ pub(crate) fn completion_item(
207207
}
208208
let text_edit = text_edit.unwrap();
209209

210-
let mut res = lsp_types::CompletionItem {
211-
label: completion_item.label().to_string(),
212-
detail: completion_item.detail().map(|it| it.to_string()),
213-
filter_text: Some(completion_item.lookup().to_string()),
214-
kind: completion_item.kind().map(completion_item_kind),
210+
let mut lsp_item = lsp_types::CompletionItem {
211+
label: item.label().to_string(),
212+
detail: item.detail().map(|it| it.to_string()),
213+
filter_text: Some(item.lookup().to_string()),
214+
kind: item.kind().map(completion_item_kind),
215215
text_edit: Some(text_edit.into()),
216216
additional_text_edits: Some(additional_text_edits),
217-
documentation: completion_item.documentation().map(documentation),
218-
deprecated: Some(completion_item.deprecated()),
217+
documentation: item.documentation().map(documentation),
218+
deprecated: Some(item.deprecated()),
219219
..Default::default()
220220
};
221221

222-
if completion_item.score().is_some() {
223-
set_score(&mut res, completion_item.label());
222+
if item.score().is_some() {
223+
set_score(&mut lsp_item, item.label());
224224
}
225225

226-
if completion_item.deprecated() {
227-
res.tags = Some(vec![lsp_types::CompletionItemTag::Deprecated])
226+
if item.deprecated() {
227+
lsp_item.tags = Some(vec![lsp_types::CompletionItemTag::Deprecated])
228228
}
229229

230-
if completion_item.trigger_call_info() {
231-
res.command = Some(command::trigger_parameter_hints());
230+
if item.trigger_call_info() {
231+
lsp_item.command = Some(command::trigger_parameter_hints());
232232
}
233233

234-
let mut all_results = match completion_item.ref_match() {
234+
let mut res = match item.ref_match() {
235235
Some(ref_match) => {
236-
let mut refed = res.clone();
236+
let mut refed = lsp_item.clone();
237237
let (mutability, _score) = ref_match;
238238
let label = format!("&{}{}", mutability.as_keyword_for_ref(), refed.label);
239239
set_score(&mut refed, &label);
240240
refed.label = label;
241-
vec![res, refed]
241+
vec![lsp_item, refed]
242242
}
243-
None => vec![res],
243+
None => vec![lsp_item],
244244
};
245245

246-
for mut r in all_results.iter_mut() {
247-
r.insert_text_format = Some(insert_text_format(completion_item.insert_text_format()));
246+
for mut r in res.iter_mut() {
247+
r.insert_text_format = Some(insert_text_format(item.insert_text_format()));
248248
}
249-
all_results
249+
res
250250
}
251251

252252
pub(crate) fn signature_help(

0 commit comments

Comments
 (0)