diff options
| -rw-r--r-- | crates/ide-completion/src/completions/.mod_.rs.swp | bin | 0 -> 24576 bytes | |||
| -rw-r--r-- | crates/ide-completion/src/completions/mod_.rs | 20 |
2 files changed, 20 insertions, 0 deletions
diff --git a/crates/ide-completion/src/completions/.mod_.rs.swp b/crates/ide-completion/src/completions/.mod_.rs.swp new file mode 100644 index 00000000000..52d5cea48b2 --- /dev/null +++ b/crates/ide-completion/src/completions/.mod_.rs.swp Binary files differdiff --git a/crates/ide-completion/src/completions/mod_.rs b/crates/ide-completion/src/completions/mod_.rs index 9c975b92953..950731eb4ca 100644 --- a/crates/ide-completion/src/completions/mod_.rs +++ b/crates/ide-completion/src/completions/mod_.rs @@ -53,6 +53,7 @@ pub(crate) fn complete_mod( let existing_mod_declarations = current_module .children(ctx.db) .filter_map(|module| Some(module.name(ctx.db)?.to_string())) + .filter(|module| module != ctx.original_token.text()) .collect::<FxHashSet<_>>(); let module_declaration_file = @@ -351,4 +352,23 @@ fn ignored_bar() {} "#]], ); } + + #[test] + fn semi_colon_completion() { + check( + r#" +//- /lib.rs +mod foo; +//- /foo.rs +mod bar { + mod baz$0 +} +//- /foo/bar/baz.rs +fn baz() {} +"#, + expect![[r#" + md baz; + "#]], + ); + } } |
