swift - 使用 Swift 命令行工具进行颜色输出

标签 swift colors command command-line-interface xterm

我正在使用 Swift 编写命令行工具,但在我的 shell 中显示颜色时遇到了问题。我正在使用以下代码:

println("\033[31;32mhey\033[39;39m")

甚至

NSFileHandle.fileHandleWithStandardOutput().writeData("\033[31;32mhey\033[39;39m".dataUsingEncoding(NSASCIIStringEncoding, allowLossyConversion: true)!)

当我在 php 中使用一个简单的 echo 时它可以工作(文本显示为绿色)但是它在 Swift 命令行工具中不起作用有什么原因吗?

谢谢!

最佳答案

Swift 内置了 unicode 支持。这会使反斜杠的使用无效。所以我使用带有“\u{}”语法的颜色代码。这是一个在终端上完美运行的 println 代码。

// \u{001B}[\(attribute code like bold, dim, normal);\(color code)m

// Color codes
// black   30
// red     31
// green   32
// yellow  33
// blue    34
// magenta 35
// cyan    36
// white   37

println("\u{001B}[0;33myellow")

希望对您有所帮助。

关于swift - 使用 Swift 命令行工具进行颜色输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27807925/

相关文章:

linux - 如何将此 ssh 命令转换为 ssh_config 文件?

c++ - 使用哪个命令来执行 C++ 代码中的程序 [Linux]?

swift - Flutter:Cocoapods 'Pods-Runner' 目标具有传递依赖项,包括静态二进制文件:Flutter.framework

c++ - 从 make 中突出显示 C/C++ 错误?

c# - 来自命令行的 Windows 服务自定义命令

python - Seaborn/Python/Matplotlib 的重复自定义调色板

c# - 使用 OpenXML 更改段落中的颜色文本

ios - 如何将类型化数组转换为其中一种类型协议(protocol)?

ios - 在 UITableViewController 上设置背景

ios - Swift ARC 和 block