Skip to content

Instantly share code, notes, and snippets.

@GeorgeLyon
Last active June 1, 2024 05:13
Show Gist options
  • Save GeorgeLyon/bbd443dcabef5ca5ae71ae83db6524ef to your computer and use it in GitHub Desktop.
Save GeorgeLyon/bbd443dcabef5ca5ae71ae83db6524ef to your computer and use it in GitHub Desktop.
#!/usr/bin/env xcrun -sdk macosx swift
// Displays UI in an NSWindow which can interact with the commandline
// Usage: `echo "Bar" | ./swift-ui-commandline-tool.swift`
import Foundation
import SwiftUI
extension CommandLine {
static let input: String = { AnyIterator { readLine() }.joined() }()
}
struct App: SwiftUI.App {
var body: some Scene {
WindowGroup {
VStack {
Text("Hello, George!")
Button("Print \"Foo\"") { print("Foo") }
Button("Echo Input") { print(CommandLine.input) }
Button("Done") { exit(0) }
}
.padding(100)
}
.windowStyle(HiddenTitleBarWindowStyle())
}
}
App.main()
@GeorgeLyon
Copy link
Author

Thanks! Yeah I haven't re-ran this in some time so it probably is a bit out of date.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment