用 Swift 编写的命令行工具进度条。
强烈建议安装 Nerd Fonts。它可能无法与普通字体一起使用。
不支持 Dumb 终端
import PackageDescription
let package = Package(
name: "Your Package",
dependencies: [
.package(url: "https://github.com/skunkrocker/SwiftBar.git", from: "1.0.2")
]
)
用于未知持续时间的任务,调用无限 (aeon) 功能块
print("Signal Type".bold)
let signalMsg = "🔥 Long Job".bold + " .signal ".blue + " type".bold
let signalCompleteMsg = "Long Job".bold + " .signal ".blue + "type done".bold
waitForAsync { stopWaiting in
aeon(.signal, signalMsg, signalCompleteMsg) { start, complete in
let wget = SwiftShell.run("which", "wget").stdout
runAsync(wget,"-P", "/tmp" , "http://ipv4.download.thinkbroadband.com/20MB.zip").onCompletion { command in
complete()
stopWaiting()
}
start()
}
}
使用 AeonType 中的一种来定义进度动画的外观。
enum AeonType {
case led
case led2
case moon
case signal
}
显示具有已知持续时间的任务的进度条
print("Pac Bar".bold)
print()
var index = 0
barz(type: .pac, total: files.count) { update, complete in
files.forEach { file in
let headerMessage = "Copying file ".blue.bold + TRAFIC_LIGHT + " " + file.green.bold
update(index + 1, headerMessage)
//Do the heavy lifting here
index += 1
}
complete()
}
使用 BarType 中的一种来定义进度动画的外观。
public enum BarType {
case pac
case pac2
case bars
}
您可以建议新功能。请通过 Pull Request 提交。