diff options
Diffstat (limited to 'plugins/base/src/main/kotlin/renderers')
-rw-r--r-- | plugins/base/src/main/kotlin/renderers/html/NavigationDataProvider.kt | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/plugins/base/src/main/kotlin/renderers/html/NavigationDataProvider.kt b/plugins/base/src/main/kotlin/renderers/html/NavigationDataProvider.kt index ecce70e8..4dae21c8 100644 --- a/plugins/base/src/main/kotlin/renderers/html/NavigationDataProvider.kt +++ b/plugins/base/src/main/kotlin/renderers/html/NavigationDataProvider.kt @@ -6,6 +6,7 @@ import org.jetbrains.dokka.base.transformers.documentables.isDeprecated import org.jetbrains.dokka.base.transformers.documentables.isException import org.jetbrains.dokka.base.translators.documentables.DocumentableLanguage import org.jetbrains.dokka.base.translators.documentables.documentableLanguage +import org.jetbrains.dokka.base.utils.canonicalAlphabeticalOrder import org.jetbrains.dokka.model.* import org.jetbrains.dokka.pages.* @@ -90,6 +91,9 @@ abstract class NavigationDataProvider { } } + private val navigationNodeOrder: Comparator<NavigationNode> = + compareBy(canonicalAlphabeticalOrder) { it.name } + private fun ContentPage.navigableChildren() = if (this is ClasslikePage) { this.navigableChildren() @@ -97,7 +101,7 @@ abstract class NavigationDataProvider { children .filterIsInstance<ContentPage>() .map { visit(it) } - .sortedBy { it.name.toLowerCase() } + .sortedWith(navigationNodeOrder) } private fun ClasslikePage.navigableChildren(): List<NavigationNode> { @@ -111,7 +115,7 @@ abstract class NavigationDataProvider { // no sorting for enum entries, should be the same order as in source code navigableChildren } else { - navigableChildren.sortedBy { it.name.toLowerCase() } + navigableChildren.sortedWith(navigationNodeOrder) } } } |