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) {
if CommandLine.arguments[1] == "install" { case 0: break
let exitCode = IME.registerInputMethod() case 1, 2:
exit(exitCode) do {
} switch CommandLine.arguments[1] {
if CommandLine.arguments[1] == "uninstall" { case "install":
let exitCode = IME.uninstall(isSudo: IME.isSudoMode) do {
exit(exitCode) if CommandLine.arguments[1] == "install" {
} let exitCode = IME.registerInputMethod()
exit(exitCode)
}
}
case "uninstall":
do {
if CommandLine.arguments[1] == "uninstall" {
let exitCode = IME.uninstall(isSudo: IME.isSudoMode)
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 {