feat: Integrates precedence with command-line options, needs documentation.
All checks were successful
CI / Ubuntu (push) Successful in 2m31s

This commit is contained in:
2024-12-28 23:43:56 -05:00
parent f1eb883b93
commit 9dd30a1745
6 changed files with 44 additions and 4 deletions

View File

@@ -145,6 +145,7 @@ public extension Configuration {
case semvar(
allowPreRelease: Bool? = nil,
precedence: SemVar.Precedence? = nil,
preRelease: PreRelease? = nil,
requireExistingFile: Bool? = nil,
requireExistingSemVar: Bool? = nil,
@@ -159,10 +160,16 @@ public extension Configuration {
}
public var semvar: SemVar? {
guard case let .semvar(allowPreRelease, preRelease, requireExistingFile, requireExistingSemVar, strategy) = self
guard case let .semvar(
allowPreRelease,
precedence,
preRelease,
requireExistingFile, requireExistingSemVar, strategy
) = self
else { return nil }
return .init(
allowPreRelease: allowPreRelease,
precedence: precedence,
preRelease: preRelease,
requireExistingFile: requireExistingFile ?? false,
requireExistingSemVar: requireExistingSemVar ?? false,
@@ -177,6 +184,7 @@ public extension Configuration {
public static func semvar(_ value: SemVar) -> Self {
.semvar(
allowPreRelease: value.allowPreRelease,
precedence: value.precedence,
preRelease: value.preRelease,
requireExistingFile: value.requireExistingFile,
requireExistingSemVar: value.requireExistingSemVar,
@@ -285,7 +293,7 @@ public extension Configuration {
case gitTag(exactMatch: Bool? = false)
}
public enum Precedence: String, Codable, Equatable, Sendable {
public enum Precedence: String, CaseIterable, Codable, Equatable, Sendable {
case file
case strategy