Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/annotations.rs')
-rw-r--r--crates/ide/src/annotations.rs45
1 files changed, 42 insertions, 3 deletions
diff --git a/crates/ide/src/annotations.rs b/crates/ide/src/annotations.rs
index f716f94d71..884bc111ca 100644
--- a/crates/ide/src/annotations.rs
+++ b/crates/ide/src/annotations.rs
@@ -43,6 +43,8 @@ pub struct AnnotationConfig<'a> {
pub annotate_references: bool,
pub annotate_method_references: bool,
pub annotate_enum_variant_references: bool,
+ pub references_exclude_imports: bool,
+ pub references_exclude_tests: bool,
pub location: AnnotationLocation,
pub filter_adjacent_derive_implementations: bool,
pub ra_fixture: RaFixtureConfig<'a>,
@@ -219,8 +221,8 @@ pub(crate) fn resolve_annotation(
&FindAllRefsConfig {
search_scope: None,
ra_fixture: config.ra_fixture,
- exclude_imports: false,
- exclude_tests: false,
+ exclude_imports: config.references_exclude_imports,
+ exclude_tests: config.references_exclude_tests,
},
)
.map(|result| {
@@ -262,6 +264,8 @@ mod tests {
annotate_references: true,
annotate_method_references: true,
annotate_enum_variant_references: true,
+ references_exclude_imports: false,
+ references_exclude_tests: false,
location: AnnotationLocation::AboveName,
ra_fixture: RaFixtureConfig::default(),
filter_adjacent_derive_implementations: false,
@@ -278,7 +282,7 @@ mod tests {
.annotations(config, file_id)
.unwrap()
.into_iter()
- .map(|annotation| analysis.resolve_annotation(&DEFAULT_CONFIG, annotation).unwrap())
+ .map(|annotation| analysis.resolve_annotation(config, annotation).unwrap())
.collect();
expect.assert_debug_eq(&annotations);
@@ -1045,4 +1049,39 @@ struct Foo;
&AnnotationConfig { location: AnnotationLocation::AboveWholeItem, ..DEFAULT_CONFIG },
);
}
+
+ #[test]
+ fn refs_exclude_tests() {
+ check_with_config(
+ r#"
+fn foo() {}
+
+#[test]
+fn bar() { foo() }
+ "#,
+ expect![[r#"
+ [
+ Annotation {
+ range: 3..6,
+ kind: HasReferences {
+ pos: FilePositionWrapper {
+ file_id: FileId(
+ 0,
+ ),
+ offset: 3,
+ },
+ data: Some(
+ [],
+ ),
+ },
+ },
+ ]
+ "#]],
+ &AnnotationConfig {
+ references_exclude_tests: true,
+ annotate_runnables: false,
+ ..DEFAULT_CONFIG
+ },
+ );
+ }
}