Skip to content

Commit 65fe1e5

Browse files
bors[bot]dima74
andauthored
Merge #9152
9152: COMP: Fix redundant macro completion in mod item name r=vlad20012 a=dima74 Fixes #7780 changelog: Fix redundant macro completion in mod item name Co-authored-by: Dmitry Murzin <diralik@yandex.ru>
2 parents 6a3e161 + 9c1cc00 commit 65fe1e5

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

src/main/kotlin/org/rust/lang/core/completion/RsMacroCompletionProvider.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import org.rust.lang.core.RsPsiPattern
1919
import org.rust.lang.core.psi.RsElementTypes.COLONCOLON
2020
import org.rust.lang.core.psi.RsElementTypes.IDENTIFIER
2121
import org.rust.lang.core.psi.RsMacro
22+
import org.rust.lang.core.psi.RsModItem
2223
import org.rust.lang.core.psi.ext.*
2324
import org.rust.lang.core.psi.unescapedText
2425
import org.rust.lang.core.psiElement
@@ -45,6 +46,7 @@ object RsMacroCompletionProvider : RsCompletionProvider() {
4546
val position = parameters.position
4647
val rsElement = position.ancestorStrict<RsElement>() ?: return
4748
val mod = rsElement.ancestorOrSelf<RsMod>()
49+
if (mod is RsModItem && mod.identifier == position) return
4850

4951
val leftSiblings = position.leftSiblings
5052
.filter { it !is PsiWhiteSpace && it !is PsiComment && it !is PsiErrorElement }

src/test/kotlin/org/rust/lang/core/completion/RsCompletionTest.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -642,6 +642,11 @@ class RsCompletionTest : RsCompletionTestBase() {
642642
}
643643
""")
644644

645+
fun `test macro don't suggests as mod name`() = checkNoCompletion("""
646+
macro_rules! foo_bar { () => () }
647+
mod foo/*caret*/ {}
648+
""")
649+
645650
fun `test complete macro2`() = doSingleCompletion("""
646651
macro foo() {}
647652
fn main() {

0 commit comments

Comments
 (0)