From 029dad4d9ee76121cd9473e0f5d303364f68945a Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Tue, 14 Jan 2020 15:31:04 +0300 Subject: [PATCH] Wizard: allow dashes for module names #KT-35584 fixed --- .../tools/projectWizard/core/entity/SettingValidator.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/core/entity/SettingValidator.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/core/entity/SettingValidator.kt index f56a4fe4e3e..ff103d4198c 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/core/entity/SettingValidator.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/core/entity/SettingValidator.kt @@ -32,12 +32,14 @@ object StringValidators { } fun shouldBeValidIdentifier(name: String) = settingValidator { value: String -> - if (value.any { !it.isLetterOrDigit() && it != '_' }) + if (value.any { char -> !char.isLetterOrDigit() && char !in ALLOWED_SPECIAL_CHARS_FOR_IDENTIFIERS }) ValidationResult.ValidationError( - "${name.capitalize()} should consist only of letters, digits, and underscores" + "${name.capitalize()} should consist only of letters, digits, '_', or '-'" ) else ValidationResult.OK } + + private val ALLOWED_SPECIAL_CHARS_FOR_IDENTIFIERS = setOf('_', '-') } fun List.fold() = fold(ValidationResult.OK, ValidationResult::and)