This is a simple tool for adding interactive selection to CLI applications, designed to use with ANSI-supported terminals. This is a pretty small and focused package, with no third-party dependencies. I'm not planning on extending its functionality significantly, so if you need further customization, feel free to copy the code into your project and modify it as necessary. Alternatively, look into using a more feature-full package like ConsoleKit.
swift-ansi-picker.mov
import Picker
try choose(["Apple", "Banana", "Orange", "Watermelon"])
➜ Apple
Banana
Orange
Watermelon
var picker = Picker()
picker.itemIndicator = " ○"
picker.itemColor = .darkGray
picker.selectionIndicator = " ●"
picker.selectionColor = .cyan
print("⏵ Choose your favorite fruit:")
print(try picker.choose(["Apple", "Banana", "Orange", "Watermelon"]))
⏵ Choose your favorite fruit:
● Apple
○ Banana
○ Orange
○ Watermelon
Add swift-ansi-picker to your Package.swift file:
.package(url: "https://github.com/rechsteiner/swift-ansi-picker.git", .exact(from: "0.0.1"))
While I'm not planning on extending its functionality significantly, contributions for bug fixes and minor improvements are very welcome. Please use GitHub Issues to report bugs or suggest enhancements.
Swift ANSI Picker is available under the MIT license. See the LICENSE file for more info.