Main // Use switch to manage incoming commandline arguments.

This commit is contained in:
ShikiSuen 2022-06-25 08:43:43 +08:00
parent 53c72f4092
commit 62a41f4ea9
1 changed files with 24 additions and 9 deletions

View File

@ -29,15 +29,30 @@ import InputMethodKit
let kConnectionName = "vChewing_1_Connection" let kConnectionName = "vChewing_1_Connection"
if CommandLine.arguments.count > 1 { switch max(CommandLine.arguments.count - 1, 0) {
case 0: break
case 1, 2:
do {
switch CommandLine.arguments[1] {
case "install":
do {
if CommandLine.arguments[1] == "install" { if CommandLine.arguments[1] == "install" {
let exitCode = IME.registerInputMethod() let exitCode = IME.registerInputMethod()
exit(exitCode) exit(exitCode)
} }
}
case "uninstall":
do {
if CommandLine.arguments[1] == "uninstall" { if CommandLine.arguments[1] == "uninstall" {
let exitCode = IME.uninstall(isSudo: IME.isSudoMode) let exitCode = IME.uninstall(isSudo: IME.isSudoMode)
exit(exitCode) exit(exitCode)
} }
}
default: break
}
}
exit(0)
default: exit(0)
} }
guard let mainNibName = Bundle.main.infoDictionary?["NSMainNibFile"] as? String else { guard let mainNibName = Bundle.main.infoDictionary?["NSMainNibFile"] as? String else {