Skip to content

Commit 3bd5ff2

Browse files
committed
Add not found feedback to slug resolving
1 parent 502d1df commit 3bd5ff2

File tree

1 file changed

+11
-5
lines changed
  • pacmc-cli/src/commonMain/kotlin/net/axay/pacmc/cli/terminal

1 file changed

+11
-5
lines changed

pacmc-cli/src/commonMain/kotlin/net/axay/pacmc/cli/terminal/CliParser.kt

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ object CliParser {
3434
private sealed class SlugResolveResult {
3535
class Resolved(val id: ModId) : SlugResolveResult()
3636
class Ambiguous(val possibleSlugs: List<Pair<ModSlug, ModId>>) : SlugResolveResult()
37-
class Invalid(val slug: String) : SlugResolveResult()
37+
class Invalid(val slug: String, val notFound: Boolean = false) : SlugResolveResult()
3838
}
3939

4040
suspend fun resolveSlugs(rawSlugs: List<String>): Set<ModId>? {
@@ -54,7 +54,7 @@ object CliParser {
5454
if (singleResult != null) {
5555
SlugResolveResult.Resolved(singleResult.second)
5656
} else if (ids.isEmpty()) {
57-
SlugResolveResult.Invalid(rawSlug)
57+
SlugResolveResult.Invalid(rawSlug, notFound = true)
5858
} else {
5959
SlugResolveResult.Ambiguous(ids)
6060
}
@@ -71,10 +71,12 @@ object CliParser {
7171
val id = ModSlug(repo, slug).resolveId()
7272
if (id != null) {
7373
return@resolve SlugResolveResult.Resolved(id)
74+
} else {
75+
SlugResolveResult.Invalid(rawSlug, notFound = true)
7476
}
77+
} else {
78+
SlugResolveResult.Invalid(rawSlug)
7579
}
76-
77-
SlugResolveResult.Invalid(rawSlug)
7880
}
7981
else -> SlugResolveResult.Invalid(rawSlug)
8082
}
@@ -85,7 +87,11 @@ object CliParser {
8587
val invalidSlugs = slugResolveResults.filterIsInstance<SlugResolveResult.Invalid>()
8688
if (invalidSlugs.isNotEmpty()) {
8789
invalidSlugs.forEach {
88-
terminal.warning("The slug ${TextColors.brightRed(it.slug)} is invalid")
90+
if (it.notFound) {
91+
terminal.warning("The project ${TextColors.brightRed(it.slug)} could not be found")
92+
} else {
93+
terminal.warning("The slug ${TextColors.brightRed(it.slug)} is invalid")
94+
}
8995
}
9096
return null
9197
}

0 commit comments

Comments
 (0)