aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide_api/src/completion/complete_fn_param.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_ide_api/src/completion/complete_fn_param.rs')
-rw-r--r--crates/ra_ide_api/src/completion/complete_fn_param.rs16
1 files changed, 8 insertions, 8 deletions
diff --git a/crates/ra_ide_api/src/completion/complete_fn_param.rs b/crates/ra_ide_api/src/completion/complete_fn_param.rs
index 844a63f6c..3e936e3ec 100644
--- a/crates/ra_ide_api/src/completion/complete_fn_param.rs
+++ b/crates/ra_ide_api/src/completion/complete_fn_param.rs
@@ -1,9 +1,6 @@
1//! FIXME: write short doc here 1//! FIXME: write short doc here
2 2
3use ra_syntax::{ 3use ra_syntax::{ast, match_ast, AstNode};
4 algo::visit::{visitor_ctx, VisitorCtx},
5 ast, AstNode,
6};
7use rustc_hash::FxHashMap; 4use rustc_hash::FxHashMap;
8 5
9use crate::completion::{CompletionContext, CompletionItem, CompletionKind, Completions}; 6use crate::completion::{CompletionContext, CompletionItem, CompletionKind, Completions};
@@ -19,10 +16,13 @@ pub(super) fn complete_fn_param(acc: &mut Completions, ctx: &CompletionContext)
19 16
20 let mut params = FxHashMap::default(); 17 let mut params = FxHashMap::default();
21 for node in ctx.token.parent().ancestors() { 18 for node in ctx.token.parent().ancestors() {
22 let _ = visitor_ctx(&mut params) 19 match_ast! {
23 .visit::<ast::SourceFile, _>(process) 20 match node {
24 .visit::<ast::ItemList, _>(process) 21 ast::SourceFile(it) => { process(it, &mut params) },
25 .accept(&node); 22 ast::ItemList(it) => { process(it, &mut params) },
23 _ => (),
24 }
25 }
26 } 26 }
27 params 27 params
28 .into_iter() 28 .into_iter()