Separate macros completion from other

This commit is contained in:
Kirill Bulatov 2020-05-02 22:33:23 +03:00
parent fee74851b0
commit 9f0ed7ed92

View file

@ -65,7 +65,9 @@ pub(crate) fn completions(
let ctx = CompletionContext::new(db, position, config)?; let ctx = CompletionContext::new(db, position, config)?;
let mut acc = Completions::default(); let mut acc = Completions::default();
if ctx.attribute_under_caret.is_some() {
complete_attribute::complete_attribute(&mut acc, &ctx);
} else {
complete_fn_param::complete_fn_param(&mut acc, &ctx); complete_fn_param::complete_fn_param(&mut acc, &ctx);
complete_keyword::complete_expr_keyword(&mut acc, &ctx); complete_keyword::complete_expr_keyword(&mut acc, &ctx);
complete_keyword::complete_use_tree_keyword(&mut acc, &ctx); complete_keyword::complete_use_tree_keyword(&mut acc, &ctx);
@ -79,7 +81,7 @@ pub(crate) fn completions(
complete_postfix::complete_postfix(&mut acc, &ctx); complete_postfix::complete_postfix(&mut acc, &ctx);
complete_macro_in_item_position::complete_macro_in_item_position(&mut acc, &ctx); complete_macro_in_item_position::complete_macro_in_item_position(&mut acc, &ctx);
complete_trait_impl::complete_trait_impl(&mut acc, &ctx); complete_trait_impl::complete_trait_impl(&mut acc, &ctx);
complete_attribute::complete_attribute(&mut acc, &ctx); }
Some(acc) Some(acc)
} }