@@ -77,8 +77,7 @@ final class SquirrelApplicationDelegate: NSObject, NSApplicationDelegate, SPUSta
77
77
}
78
78
79
79
func openLogFolder( ) {
80
- let logDir = FileManager . default. temporaryDirectory
81
- NSWorkspace . shared. open ( logDir)
80
+ NSWorkspace . shared. open ( SquirrelApp . logDir)
82
81
}
83
82
84
83
func openRimeFolder( ) {
@@ -124,15 +123,8 @@ final class SquirrelApplicationDelegate: NSObject, NSApplicationDelegate, SPUSta
124
123
}
125
124
126
125
func setupRime( ) {
127
- let userDataDir = SquirrelApp . userDir
128
- let fileManager = FileManager . default
129
- if !fileManager. fileExists ( atPath: userDataDir. path ( ) ) {
130
- do {
131
- try fileManager. createDirectory ( at: userDataDir, withIntermediateDirectories: true )
132
- } catch {
133
- print ( " Error creating user data directory: \( userDataDir. path ( ) ) " )
134
- }
135
- }
126
+ createDirIfNotExist ( path: SquirrelApp . userDir)
127
+ createDirIfNotExist ( path: SquirrelApp . logDir)
136
128
// swiftlint:disable identifier_name
137
129
let notification_handler : @convention ( c) ( UnsafeMutableRawPointer ? , RimeSessionId , UnsafePointer < CChar > ? , UnsafePointer < CChar > ? ) -> Void = notificationHandler
138
130
let context_object = Unmanaged . passUnretained ( self ) . toOpaque ( )
@@ -141,7 +133,8 @@ final class SquirrelApplicationDelegate: NSObject, NSApplicationDelegate, SPUSta
141
133
142
134
var squirrelTraits = RimeTraits . rimeStructInit ( )
143
135
squirrelTraits. setCString ( Bundle . main. sharedSupportPath!, to: \. shared_data_dir)
144
- squirrelTraits. setCString ( userDataDir. path ( ) , to: \. user_data_dir)
136
+ squirrelTraits. setCString ( SquirrelApp . userDir. path ( ) , to: \. user_data_dir)
137
+ squirrelTraits. setCString ( SquirrelApp . logDir. path ( ) , to: \. log_dir)
145
138
squirrelTraits. setCString ( " Squirrel " , to: \. distribution_code_name)
146
139
squirrelTraits. setCString ( " 鼠鬚管 " , to: \. distribution_name)
147
140
squirrelTraits. setCString ( Bundle . main. object ( forInfoDictionaryKey: kCFBundleVersionKey as String ) as! String , to: \. distribution_version)
@@ -313,6 +306,17 @@ private extension SquirrelApplicationDelegate {
313
306
print ( " Sync rime on demand. " )
314
307
self . syncUserData ( )
315
308
}
309
+
310
+ func createDirIfNotExist( path: URL ) {
311
+ let fileManager = FileManager . default
312
+ if !fileManager. fileExists ( atPath: path. path ( ) ) {
313
+ do {
314
+ try fileManager. createDirectory ( at: path, withIntermediateDirectories: true )
315
+ } catch {
316
+ print ( " Error creating user data directory: \( path. path ( ) ) " )
317
+ }
318
+ }
319
+ }
316
320
}
317
321
318
322
extension NSApplication {
0 commit comments