diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/CommunityLibraryLicenses.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/CommunityLibraryLicenses.kt index 8d6217fd94d6..d0f45a43f537 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/CommunityLibraryLicenses.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/CommunityLibraryLicenses.kt @@ -1222,6 +1222,7 @@ object CommunityLibraryLicenses { jetbrainsLibrary("completion-ranking-ruby-exp"), jetbrainsLibrary("completion-ranking-rust-exp"), jetbrainsLibrary("completion-ranking-scala-exp"), + jetbrainsLibrary("completion-ranking-sh-exp"), jetbrainsLibrary("completion-ranking-swift-exp"), jetbrainsLibrary("completion-ranking-typescript-exp"), jetbrainsLibrary("debugger-agent"), diff --git a/plugins/completion-ml-ranking-models/intellij.completionMlRankingModels.iml b/plugins/completion-ml-ranking-models/intellij.completionMlRankingModels.iml index a7ebe8bcd4bd..adcd6ebdf1ff 100644 --- a/plugins/completion-ml-ranking-models/intellij.completionMlRankingModels.iml +++ b/plugins/completion-ml-ranking-models/intellij.completionMlRankingModels.iml @@ -299,5 +299,23 @@ + + + + + + 2ab8007555b8fdedb7efce607cc77c03da85fcf4ea2e8376b9a352bed5f04f4a + + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/completion-ml-ranking-models/resources/META-INF/plugin.xml b/plugins/completion-ml-ranking-models/resources/META-INF/plugin.xml index 4465ce7c14de..c0e7d3414989 100644 --- a/plugins/completion-ml-ranking-models/resources/META-INF/plugin.xml +++ b/plugins/completion-ml-ranking-models/resources/META-INF/plugin.xml @@ -30,5 +30,6 @@ + \ No newline at end of file diff --git a/plugins/completion-ml-ranking-models/resources/messages/CompletionRankingModelsBundle.properties b/plugins/completion-ml-ranking-models/resources/messages/CompletionRankingModelsBundle.properties index ed082a0ba047..23509d2515e2 100644 --- a/plugins/completion-ml-ranking-models/resources/messages/CompletionRankingModelsBundle.properties +++ b/plugins/completion-ml-ranking-models/resources/messages/CompletionRankingModelsBundle.properties @@ -13,3 +13,4 @@ ml.completion.experiment.model.swift=Swift ml.completion.experiment.model.cidr=C/C++ ml.completion.experiment.model.html=HTML ml.completion.experiment.model.css=CSS +ml.completion.experiment.model.sh=Shell Script diff --git a/plugins/completion-ml-ranking-models/src/com/jetbrains/completion/ml/ranker/ExperimentalShMLRankingProvider.kt b/plugins/completion-ml-ranking-models/src/com/jetbrains/completion/ml/ranker/ExperimentalShMLRankingProvider.kt new file mode 100644 index 000000000000..779f56006e1f --- /dev/null +++ b/plugins/completion-ml-ranking-models/src/com/jetbrains/completion/ml/ranker/ExperimentalShMLRankingProvider.kt @@ -0,0 +1,14 @@ +// Copyright 2000-2024 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package com.jetbrains.completion.ml.ranker + +import com.intellij.completion.ml.ranker.ExperimentModelProvider +import com.intellij.internal.ml.catboost.CatBoostJarCompletionModelProvider +import com.intellij.lang.Language + +class ExperimentalShMLRankingProvider : CatBoostJarCompletionModelProvider( + CompletionRankingModelsBundle.message("ml.completion.experiment.model.sh"), "sh_features_exp", "sh_model_exp"), ExperimentModelProvider { + + override fun isLanguageSupported(language: Language): Boolean = language.id.compareTo("shell script", ignoreCase = true) == 0 + + override fun experimentGroupNumber(): Int = 13 +} diff --git a/plugins/completion-ml-ranking-models/test/com/jetbrains/completion/ml/ranker/MetadataConsistencyTest.kt b/plugins/completion-ml-ranking-models/test/com/jetbrains/completion/ml/ranker/MetadataConsistencyTest.kt index 5d38e05ea13b..5115570d4f63 100644 --- a/plugins/completion-ml-ranking-models/test/com/jetbrains/completion/ml/ranker/MetadataConsistencyTest.kt +++ b/plugins/completion-ml-ranking-models/test/com/jetbrains/completion/ml/ranker/MetadataConsistencyTest.kt @@ -1,4 +1,4 @@ -// Copyright 2000-2022 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +// Copyright 2000-2024 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.jetbrains.completion.ml.ranker import org.junit.Test @@ -51,4 +51,7 @@ class MetadataConsistencyTest { @Test fun testCSSMetadata() = ExperimentalCSSMLRankingProvider().assertModelMetadataConsistent() + + @Test + fun testShMetadata() = ExperimentalShMLRankingProvider().assertModelMetadataConsistent() } diff --git a/plugins/completion-ml-ranking/resources/experiment.json b/plugins/completion-ml-ranking/resources/experiment.json index f668b6d62a51..b430977521e7 100644 --- a/plugins/completion-ml-ranking/resources/experiment.json +++ b/plugins/completion-ml-ranking/resources/experiment.json @@ -219,6 +219,12 @@ "experimentBucketsCount": 4, "includeGroups": [ 7, 22, 28, 24 ], "shouldLogElementFeatures": true + }, + { + "id": "shell script", + "experimentBucketsCount": 4, + "includeGroups": [ 7, 12, 13 ], + "shouldLogElementFeatures": true } ] } \ No newline at end of file