]> git.lizzy.rs Git - rust.git/commitdiff
fix: add semicolon completion to mod
authorPeh <20146907+randomicon00@users.noreply.github.com>
Thu, 8 Sep 2022 21:37:31 +0000 (22:37 +0100)
committerPeh <20146907+randomicon00@users.noreply.github.com>
Thu, 8 Sep 2022 21:37:31 +0000 (22:37 +0100)
crates/ide-completion/src/completions/.mod_.rs.swp [new file with mode: 0644]
crates/ide-completion/src/completions/mod_.rs

diff --git a/crates/ide-completion/src/completions/.mod_.rs.swp b/crates/ide-completion/src/completions/.mod_.rs.swp
new file mode 100644 (file)
index 0000000..52d5cea
Binary files /dev/null and b/crates/ide-completion/src/completions/.mod_.rs.swp differ
index 9c975b92953377b2e476edb8065a77a35652f57f..950731eb4ca8c880dc1c211d8da76aef60b80383 100644 (file)
@@ -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;
+            "#]],
+        );
+    }
 }