From e198995c003cc0e5745bb37fc6d069ef19727fba Mon Sep 17 00:00:00 2001 From: Phodal Huang Date: Thu, 24 Mar 2022 14:51:58 +0800 Subject: [PATCH] fix: fix json file with keywords issues --- .../archguard/git/scanner/LanguageService.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/scan_git/src/main/kotlin/com/thoughtworks/archguard/git/scanner/LanguageService.kt b/scan_git/src/main/kotlin/com/thoughtworks/archguard/git/scanner/LanguageService.kt index bc79ef24..acae0727 100644 --- a/scan_git/src/main/kotlin/com/thoughtworks/archguard/git/scanner/LanguageService.kt +++ b/scan_git/src/main/kotlin/com/thoughtworks/archguard/git/scanner/LanguageService.kt @@ -13,11 +13,13 @@ class LanguageService { private val SHE_BANG: String = "#!" private var extToLanguages: MutableMap> = mutableMapOf() private var filenameToLanguage: MutableMap = mutableMapOf() + private var languageMap: MutableMap = mutableMapOf() init { val fileContent = this.javaClass.classLoader.getResource("languages.json").readText() val languages = Json.decodeFromString>(fileContent) languages.forEach { entry -> + languageMap[entry.name] = entry entry.extensions.forEach { if (extToLanguages[it] == null) { extToLanguages[it] = listOf() @@ -37,7 +39,14 @@ class LanguageService { return langs[0] } - return langs[0] + var primaryLanguage = langs[0] + langs.forEach { + if (languageMap[it]!!.keywords.isNullOrEmpty()) { + primaryLanguage = it + } + } + + return primaryLanguage } fun detectLanguages(name: String): List {