From 3620db71ff4f290b1115923d09a3ae94282ce1ec Mon Sep 17 00:00:00 2001 From: Sam Rawlins Date: Sun, 15 Sep 2024 08:13:31 -0700 Subject: [PATCH] Strip the enclosing package's lower-case name from a library's dir name --- lib/src/model/library.dart | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/src/model/library.dart b/lib/src/model/library.dart index 0cb9045858..4ffad8da57 100644 --- a/lib/src/model/library.dart +++ b/lib/src/model/library.dart @@ -167,15 +167,17 @@ class Library extends ModelElement '"$_restoredUri" must not start with "file:"'); // Strip the package prefix if the library is part of the default package // or if it is being documented remotely. - var packageToHide = package.documentedWhere == DocumentLocation.remote + var defaultPackage = package.documentedWhere == DocumentLocation.remote ? package.packageMeta : package.packageGraph.packageMeta; - var schemaToHide = 'package:$packageToHide/'; + var packageNameToHide = defaultPackage.toString().toLowerCase(); + var schemaToHide = 'package:$packageNameToHide/'; nameFromPath = _restoredUri; if (nameFromPath.startsWith(schemaToHide)) { nameFromPath = nameFromPath.substring(schemaToHide.length); } + // Remove the trailing `.dart`. if (nameFromPath.endsWith('.dart')) { const dartExtensionLength = '.dart'.length; nameFromPath = nameFromPath.substring( @@ -184,6 +186,7 @@ class Library extends ModelElement } else { nameFromPath = name; } + // Turn `package:foo/bar/baz` into `package-foo_bar_baz`. return nameFromPath.replaceAll(':', '-').replaceAll('/', '_'); }();