@@ -9,10 +9,44 @@ import Foundation
99import Files
1010import SwiftShell
1111
12- public enum ScriptError : Error {
13- case fileExists
14- case fileNotFound
15- case moreInfoNeeded
12+ public enum ScriptError : Error , CustomStringConvertible {
13+ case fileExists( message: String )
14+ case fileNotFound( message: String )
15+ case folderExists( message: String )
16+ case folderNotFound( message: String )
17+ case argumentError( message: String )
18+ case moreInfoNeeded( message: String )
19+
20+ public var description : String {
21+ let prefix = " 💥 error: "
22+ var errorDescription = " "
23+
24+ switch self {
25+ case let . fileExists( message) :
26+ errorDescription = " file exists: \( message) "
27+
28+ case let . fileNotFound( message) :
29+ errorDescription = " file not found: \( message) "
30+
31+ case let . folderExists( message) :
32+ errorDescription = " folder exists: \( message) "
33+
34+ case let . folderNotFound( message) :
35+ errorDescription = " folder not found: \( message) "
36+
37+ case let . argumentError( message) :
38+ errorDescription = " invalid argument: \( message) "
39+
40+ case let . moreInfoNeeded( message) :
41+ errorDescription = " more info needed: \( message) "
42+
43+ default :
44+ errorDescription = " general failure "
45+
46+ }
47+
48+ return prefix + errorDescription
49+ }
1650}
1751
1852public struct ScriptToolkit {
0 commit comments