1
0
mirror of https://github.com/chylex/IntelliJ-Rainbow-Brackets.git synced 2025-05-02 13:34:03 +02:00

Prefer val by lazy & remove var

This commit is contained in:
张志豪 2018-02-20 12:05:42 +08:00
parent 0d6e99820b
commit c95c7549ae

View File

@ -18,19 +18,23 @@ object BracePairs {
@Suppress("MemberVisibilityCanBePrivate") @Suppress("MemberVisibilityCanBePrivate")
val providers = LanguageExtension<PairedBraceProvider>("izhangzhihao.rainbow.brackets.pairedBraceProvider") val providers = LanguageExtension<PairedBraceProvider>("izhangzhihao.rainbow.brackets.pairedBraceProvider")
private val bracePairs: Lazy<Map<Language, List<BracePair>?>> = lazy { private val bracePairs by lazy {
Language.getRegisteredLanguages() Language.getRegisteredLanguages()
.map { language -> .map { language ->
if (language is CompositeLanguage) { if (language is CompositeLanguage) {
return@map language to null return@map language to null
} }
var pairs = LanguageBraceMatching.INSTANCE.forLanguage(language)?.pairs val pairs =
if (pairs == null || pairs.isEmpty()) { LanguageBraceMatching.INSTANCE.forLanguage(language)?.pairs.let {
pairs = language.associatedFileType if (it == null || it.isEmpty()) {
?.let { BraceMatchingUtil.getBraceMatcher(it, language) as? PairedBraceMatcher } language.associatedFileType
?.pairs ?.let { BraceMatchingUtil.getBraceMatcher(it, language) as? PairedBraceMatcher }
} ?.pairs
} else {
it
}
}
val pairsList = providers.forLanguage(language)?.pairs?.let { val pairsList = providers.forLanguage(language)?.pairs?.let {
if (pairs != null && pairs.isNotEmpty()) { if (pairs != null && pairs.isNotEmpty()) {
@ -45,7 +49,7 @@ object BracePairs {
.toMap() .toMap()
} }
fun getBracePairs(language: Language) = bracePairs.value[language] fun getBracePairs(language: Language) = bracePairs[language]
} }