Something went wrong. Try again.
Something went wrong. Try again.
1.5 kB · 41 lines
Swift
at main
123456789101112131415161718192021222324252627282930313233343536373839404142import AppKit
/// Handler for the `input text` AppleScript command defined in `Ghostty.sdef`.////// Cocoa scripting instantiates this class because the command's `<cocoa>` element/// specifies `class="GhosttyScriptInputTextCommand"`. The runtime calls/// `performDefaultImplementation()` to execute the command.@MainActor@objc(GhosttyScriptInputTextCommand)final class ScriptInputTextCommand: NSScriptCommand { override func performDefaultImplementation() -> Any? { guard NSApp.validateScript(command: self) else { return nil }
guard let text = directParameter as? String else { scriptErrorNumber = errAEParamMissed scriptErrorString = "Missing text to input." return nil }
guard let terminal = evaluatedArguments?["terminal"] as? ScriptTerminal else { scriptErrorNumber = errAEParamMissed scriptErrorString = "Missing terminal target." return nil }
guard let surfaceView = terminal.surfaceView else { scriptErrorNumber = errAEEventFailed scriptErrorString = "Terminal surface is no longer available." return nil }
guard let surface = surfaceView.surfaceModel else { scriptErrorNumber = errAEEventFailed scriptErrorString = "Terminal surface model is not available." return nil }
surface.sendText(text) return nil }}