@@ -3,7 +3,8 @@ import Terminal
33
44public struct CodeiumInstallationManager {
55 private static var isInstalling = false
6- static let latestSupportedVersion = " 1.8.83 "
6+ static let latestSupportedVersion = " 1.20.9 "
7+ static let minimumSupportedVersion = " 1.20.0 "
78
89 public init ( ) { }
910
@@ -60,7 +61,7 @@ public struct CodeiumInstallationManager {
6061 public enum InstallationStatus {
6162 case notInstalled
6263 case installed( String )
63- case outdated( current: String , latest: String )
64+ case outdated( current: String , latest: String , mandatory : Bool )
6465 case unsupported( current: String , latest: String )
6566 }
6667
@@ -87,14 +88,21 @@ public struct CodeiumInstallationManager {
8788 {
8889 switch version. compare ( targetVersion, options: . numeric) {
8990 case . orderedAscending:
90- return . outdated( current: version, latest: targetVersion)
91+ switch version. compare ( Self . minimumSupportedVersion) {
92+ case . orderedAscending:
93+ return . outdated( current: version, latest: Self . latestSupportedVersion, mandatory: true )
94+ case . orderedSame:
95+ return . outdated( current: version, latest: Self . latestSupportedVersion, mandatory: false )
96+ case . orderedDescending:
97+ return . outdated( current: version, latest: Self . latestSupportedVersion, mandatory: false )
98+ }
9199 case . orderedSame:
92100 return . installed( version)
93101 case . orderedDescending:
94102 return . unsupported( current: version, latest: targetVersion)
95103 }
96104 }
97- return . outdated( current: " Unknown " , latest: Self . latestSupportedVersion)
105+ return . outdated( current: " Unknown " , latest: Self . latestSupportedVersion, mandatory : false )
98106 }
99107
100108 public enum InstallationStep {
0 commit comments