From 4be28f1be0ea29b115a6b572b538772849d9341d Mon Sep 17 00:00:00 2001 From: Maksim Kurnikov Date: Mon, 30 Sep 2024 18:00:32 +0200 Subject: [PATCH 1/4] update gradle plugin --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 417828df..a1b46c91 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -76,7 +76,7 @@ version = pluginVersion plugins { id("java") kotlin("jvm") version "2.0.20" - id("org.jetbrains.intellij.platform") version "2.0.1" + id("org.jetbrains.intellij.platform") version "2.1.0" id("org.jetbrains.grammarkit") version "2022.3.2.2" id("net.saliman.properties") version "1.5.2" id("org.gradle.idea") From 0471c3dab3c6420d90f992db88c240773103cd04 Mon Sep 17 00:00:00 2001 From: Maksim Kurnikov Date: Mon, 30 Sep 2024 18:16:39 +0200 Subject: [PATCH 2/4] add current module to fq completiom --- .../providers/MvPathCompletionProvider2.kt | 6 ++-- .../completion/names/ModulesCompletionTest.kt | 32 +++++++++++++------ .../completion/names/StructsCompletionTest.kt | 32 +++++++++++++++++++ 3 files changed, 58 insertions(+), 12 deletions(-) diff --git a/src/main/kotlin/org/move/lang/core/completion/providers/MvPathCompletionProvider2.kt b/src/main/kotlin/org/move/lang/core/completion/providers/MvPathCompletionProvider2.kt index 50f7c488..1ab59d28 100644 --- a/src/main/kotlin/org/move/lang/core/completion/providers/MvPathCompletionProvider2.kt +++ b/src/main/kotlin/org/move/lang/core/completion/providers/MvPathCompletionProvider2.kt @@ -161,9 +161,9 @@ fun applySharedCompletionFilters( ): RsResolveProcessor { var processor = processor0 processor = filterPathVariantsByUseGroupContext(resolutionCtx, processor) - if (MODULE in ns) { - processor = removeCurrentModuleItem(resolutionCtx, processor) - } +// if (MODULE in ns) { +// processor = removeCurrentModuleItem(resolutionCtx, processor) +// } return processor } diff --git a/src/test/kotlin/org/move/lang/completion/names/ModulesCompletionTest.kt b/src/test/kotlin/org/move/lang/completion/names/ModulesCompletionTest.kt index a7e0736b..5ee3bc3d 100644 --- a/src/test/kotlin/org/move/lang/completion/names/ModulesCompletionTest.kt +++ b/src/test/kotlin/org/move/lang/completion/names/ModulesCompletionTest.kt @@ -196,15 +196,15 @@ class ModulesCompletionTest: CompletionTestCase() { """ ) - fun `test module name itself should not be present in completion`() = checkNoCompletion( - """ - module 0x1::Main { - fun call() { - Ma/*caret*/ - } - } - """ - ) +// fun `test module name itself should not be present in completion`() = checkNoCompletion( +// """ +// module 0x1::Main { +// fun call() { +// Ma/*caret*/ +// } +// } +// """ +// ) fun `test test_only modules not present in non test_only scopes`() = checkNoCompletion( """ @@ -272,4 +272,18 @@ class ModulesCompletionTest: CompletionTestCase() { } } """) + + fun `test current module completion for the fq address`() = doSingleCompletion(""" + module 0x1::main { + fun main() { + 0x1::m/*caret*/ + } + } + """, """ + module 0x1::main { + fun main() { + 0x1::main/*caret*/ + } + } + """) } diff --git a/src/test/kotlin/org/move/lang/completion/names/StructsCompletionTest.kt b/src/test/kotlin/org/move/lang/completion/names/StructsCompletionTest.kt index 36adcb5b..aabd1d55 100644 --- a/src/test/kotlin/org/move/lang/completion/names/StructsCompletionTest.kt +++ b/src/test/kotlin/org/move/lang/completion/names/StructsCompletionTest.kt @@ -335,4 +335,36 @@ class StructsCompletionTest: CompletionTestCase() { } } """) + + fun `test fq enum completion`() = doSingleCompletion(""" + module 0x1::m { + enum Color { Red, Blue } + fun main() { + 0x1::m::Col/*caret*/ + } + } + """, """ + module 0x1::m { + enum Color { Red, Blue } + fun main() { + 0x1::m::Color/*caret*/ + } + } + """) + + fun `test fq enum item completion`() = doSingleCompletion(""" + module 0x1::m { + enum Color { Red, Blue } + fun main() { + 0x1::m::Color::R/*caret*/ + } + } + """, """ + module 0x1::m { + enum Color { Red, Blue } + fun main() { + 0x1::m::Color::Red/*caret*/ + } + } + """) } From d1d95b7af11ddf8c46a725c4d194852ec7493c6a Mon Sep 17 00:00:00 2001 From: Maksim Kurnikov Date: Mon, 30 Sep 2024 18:28:11 +0200 Subject: [PATCH 3/4] fq enum completion --- .../completion/names/StructsCompletionTest.kt | 20 ++----------------- 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/src/test/kotlin/org/move/lang/completion/names/StructsCompletionTest.kt b/src/test/kotlin/org/move/lang/completion/names/StructsCompletionTest.kt index aabd1d55..24a13874 100644 --- a/src/test/kotlin/org/move/lang/completion/names/StructsCompletionTest.kt +++ b/src/test/kotlin/org/move/lang/completion/names/StructsCompletionTest.kt @@ -340,30 +340,14 @@ class StructsCompletionTest: CompletionTestCase() { module 0x1::m { enum Color { Red, Blue } fun main() { - 0x1::m::Col/*caret*/ + let s: 0x1::m::Col/*caret*/ } } """, """ module 0x1::m { enum Color { Red, Blue } fun main() { - 0x1::m::Color/*caret*/ - } - } - """) - - fun `test fq enum item completion`() = doSingleCompletion(""" - module 0x1::m { - enum Color { Red, Blue } - fun main() { - 0x1::m::Color::R/*caret*/ - } - } - """, """ - module 0x1::m { - enum Color { Red, Blue } - fun main() { - 0x1::m::Color::Red/*caret*/ + let s: 0x1::m::Color/*caret*/ } } """) From c8061bf14f4429ddc5667e0cded449d5503d76d9 Mon Sep 17 00:00:00 2001 From: Maksim Kurnikov Date: Mon, 30 Sep 2024 18:30:36 +0200 Subject: [PATCH 4/4] enum syntax highlighting --- .../org/move/ide/annotator/HighlightingAnnotatorTest.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/test/kotlin/org/move/ide/annotator/HighlightingAnnotatorTest.kt b/src/test/kotlin/org/move/ide/annotator/HighlightingAnnotatorTest.kt index 65382e89..436053e1 100644 --- a/src/test/kotlin/org/move/ide/annotator/HighlightingAnnotatorTest.kt +++ b/src/test/kotlin/org/move/ide/annotator/HighlightingAnnotatorTest.kt @@ -349,6 +349,12 @@ class HighlightingAnnotatorTest: AnnotatorTestCase(HighlightingAnnotator::class) """ ) + fun `test enum highlighting`() = checkHighlighting(""" + module 0x1::m { + enum S { One, Two(u8) } + } + """) + // fun `test resource access control keywords highlighting`() = checkHighlighting( // """ // module 0x1::m {