Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/lib.rs')
-rw-r--r--crates/ide-completion/src/lib.rs14
1 files changed, 12 insertions, 2 deletions
diff --git a/crates/ide-completion/src/lib.rs b/crates/ide-completion/src/lib.rs
index 8a0aaf3f0c..69ca2af772 100644
--- a/crates/ide-completion/src/lib.rs
+++ b/crates/ide-completion/src/lib.rs
@@ -1,5 +1,12 @@
//! `completions` crate provides utilities for generating completions of user input.
+// It's useful to refer to code that is private in doc comments.
+#![allow(rustdoc::private_intra_doc_links)]
+#![cfg_attr(feature = "in-rust-tree", feature(rustc_private))]
+
+#[cfg(feature = "in-rust-tree")]
+extern crate rustc_driver as _;
+
mod completions;
mod config;
mod context;
@@ -256,6 +263,9 @@ pub fn completions(
extern_crate.as_ref(),
);
}
+ CompletionAnalysis::MacroSegment => {
+ completions::macro_def::complete_macro_segment(acc, ctx);
+ }
CompletionAnalysis::UnexpandedAttrTT { .. } | CompletionAnalysis::String { .. } => (),
}
}
@@ -274,7 +284,7 @@ pub fn resolve_completion_edits(
let _p = tracing::info_span!("resolve_completion_edits").entered();
let sema = hir::Semantics::new(db);
- let editioned_file_id = sema.attach_first_edition(file_id)?;
+ let editioned_file_id = sema.attach_first_edition(file_id);
let original_file = sema.parse(editioned_file_id);
let original_token =
@@ -283,7 +293,7 @@ pub fn resolve_completion_edits(
let scope = ImportScope::find_insert_use_container(position_for_import, &sema)?;
let current_module = sema.scope(position_for_import)?.module();
- let current_crate = current_module.krate();
+ let current_crate = current_module.krate(db);
let current_edition = current_crate.edition(db);
let new_ast = scope.clone_for_update();
let mut import_insert = TextEdit::builder();