Sort by class name in navigation bar (KT-10215)

#KT-10215 Fixed
This commit is contained in:
Toshiaki Kameyama
2019-05-08 18:42:44 +09:00
committed by Nikolay Krasko
parent 9052c5e529
commit 0a4d21c51f
2 changed files with 26 additions and 0 deletions
@@ -3425,5 +3425,7 @@
<postStartupActivity implementation="org.jetbrains.kotlin.idea.framework.TargetRetrieveActivity"/>
<stripTrailingSpacesFilterFactory implementation="org.jetbrains.kotlin.idea.editor.KotlinStripTrailingSpacesFilterFactory"/>
<navbar implementation="org.jetbrains.kotlin.idea.navigationToolbar.KotlinNavBarModelExtension"/>
</extensions>
</idea-plugin>
@@ -0,0 +1,24 @@
/*
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.idea.navigationToolbar
import com.intellij.ide.navigationToolbar.AbstractNavBarModelExtension
import com.intellij.psi.PsiElement
import org.jetbrains.kotlin.asJava.toLightClass
import org.jetbrains.kotlin.idea.KotlinIconProvider
import org.jetbrains.kotlin.psi.KtFile
class KotlinNavBarModelExtension : AbstractNavBarModelExtension() {
override fun getPresentableText(`object`: Any?): String? {
return null
}
override fun adjustElement(psiElement: PsiElement?): PsiElement? {
val containingFile = psiElement?.containingFile as? KtFile ?: return psiElement
if (containingFile.isScript()) return psiElement
return KotlinIconProvider.getSingleClass(containingFile)?.toLightClass() ?: psiElement
}
}