diff options
Diffstat (limited to 'crates/ide_completion/src/completions/postfix.rs')
-rw-r--r-- | crates/ide_completion/src/completions/postfix.rs | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/crates/ide_completion/src/completions/postfix.rs b/crates/ide_completion/src/completions/postfix.rs index 9c34ed0b6..ac69b720a 100644 --- a/crates/ide_completion/src/completions/postfix.rs +++ b/crates/ide_completion/src/completions/postfix.rs | |||
@@ -187,6 +187,16 @@ pub(crate) fn complete_postfix(acc: &mut Completions, ctx: &CompletionContext) { | |||
187 | ctx, | 187 | ctx, |
188 | cap, | 188 | cap, |
189 | &dot_receiver, | 189 | &dot_receiver, |
190 | "err", | ||
191 | "Err(expr)", | ||
192 | &format!("Err({})", receiver_text), | ||
193 | ) | ||
194 | .add_to(acc); | ||
195 | |||
196 | postfix_snippet( | ||
197 | ctx, | ||
198 | cap, | ||
199 | &dot_receiver, | ||
190 | "some", | 200 | "some", |
191 | "Some(expr)", | 201 | "Some(expr)", |
192 | &format!("Some({})", receiver_text), | 202 | &format!("Some({})", receiver_text), |
@@ -287,10 +297,9 @@ fn postfix_snippet( | |||
287 | let delete_range = TextRange::new(receiver_range.start(), ctx.source_range().end()); | 297 | let delete_range = TextRange::new(receiver_range.start(), ctx.source_range().end()); |
288 | TextEdit::replace(delete_range, snippet.to_string()) | 298 | TextEdit::replace(delete_range, snippet.to_string()) |
289 | }; | 299 | }; |
290 | CompletionItem::new(CompletionKind::Postfix, ctx.source_range(), label) | 300 | let mut item = CompletionItem::new(CompletionKind::Postfix, ctx.source_range(), label); |
291 | .detail(detail) | 301 | item.detail(detail).kind(CompletionItemKind::Snippet).snippet_edit(cap, edit); |
292 | .kind(CompletionItemKind::Snippet) | 302 | item |
293 | .snippet_edit(cap, edit) | ||
294 | } | 303 | } |
295 | 304 | ||
296 | #[cfg(test)] | 305 | #[cfg(test)] |
@@ -325,6 +334,7 @@ fn main() { | |||
325 | sn match match expr {} | 334 | sn match match expr {} |
326 | sn box Box::new(expr) | 335 | sn box Box::new(expr) |
327 | sn ok Ok(expr) | 336 | sn ok Ok(expr) |
337 | sn err Err(expr) | ||
328 | sn some Some(expr) | 338 | sn some Some(expr) |
329 | sn dbg dbg!(expr) | 339 | sn dbg dbg!(expr) |
330 | sn dbgr dbg!(&expr) | 340 | sn dbgr dbg!(&expr) |
@@ -357,6 +367,7 @@ fn main() { | |||
357 | sn match match expr {} | 367 | sn match match expr {} |
358 | sn box Box::new(expr) | 368 | sn box Box::new(expr) |
359 | sn ok Ok(expr) | 369 | sn ok Ok(expr) |
370 | sn err Err(expr) | ||
360 | sn some Some(expr) | 371 | sn some Some(expr) |
361 | sn dbg dbg!(expr) | 372 | sn dbg dbg!(expr) |
362 | sn dbgr dbg!(&expr) | 373 | sn dbgr dbg!(&expr) |
@@ -380,6 +391,7 @@ fn main() { | |||
380 | sn match match expr {} | 391 | sn match match expr {} |
381 | sn box Box::new(expr) | 392 | sn box Box::new(expr) |
382 | sn ok Ok(expr) | 393 | sn ok Ok(expr) |
394 | sn err Err(expr) | ||
383 | sn some Some(expr) | 395 | sn some Some(expr) |
384 | sn dbg dbg!(expr) | 396 | sn dbg dbg!(expr) |
385 | sn dbgr dbg!(&expr) | 397 | sn dbgr dbg!(&expr) |
@@ -408,6 +420,7 @@ fn main() { | |||
408 | sn match match expr {} | 420 | sn match match expr {} |
409 | sn box Box::new(expr) | 421 | sn box Box::new(expr) |
410 | sn ok Ok(expr) | 422 | sn ok Ok(expr) |
423 | sn err Err(expr) | ||
411 | sn some Some(expr) | 424 | sn some Some(expr) |
412 | sn dbg dbg!(expr) | 425 | sn dbg dbg!(expr) |
413 | sn dbgr dbg!(&expr) | 426 | sn dbgr dbg!(&expr) |