TermKit - Swift 的终端 UI 工具包

这是一个简单的 Swift UI 工具包,是我 为 .NET 编写的 gui.cs 库 的移植版本。虽然最初是我编写了 gui.cs,但在 Charlie Kindel (@tig)、@BDisp 和其他各种贡献者的贡献下,它已经发生了显著的发展 - 这个移植版本带来了他们的工作成果。

此工具包包含各种控件,用于使用 Swift 构建文本用户界面。

您可以查看文档

Screen Shot 2021-03-13 at 12 44 05 PM

运行此项目

从命令行

$ swift build
$ swift run

从 Xcode 中,如果您想调试,最好确保您要调试的应用程序(在本项目中,“Example”目标是您需要的)的运行 Scheme 配置如下所示

 * Run/Info: Launch "Wait for Executable to be launched"

然后,当您运行时,切换到控制台,并运行可执行文件。我的 DerivedData 全局设置是相对于当前目录的,所以我可以像这样运行它

$ DerivedData/TermKit/Build/Products/Debug/Example

可执行文件的生成位置是在 Xcode/Preferences/Locations 中配置的,我恰好喜欢项目相关的输出,如上面的示例所示。

调试

虽然调试很有用,但有时单步执行或调试连续多次调用的代码可能会很烦人,因此类似 printf 的调试方式很方便。

除了打印输出到与应用程序运行的同一控制台,这使体验很痛苦。

在这种情况下,您可以调用 Application.log 并传入一条消息,此消息将使用 MacOS os_log,然后您可以从 Console.app 中查找它,或者您可以从终端窗口监控它,如下所示

$ log stream --style compact --predicate 'subsystem == "termkit"'