我正在用Swift编写命令行工具,但无法在外壳中显示颜色。我正在使用以下代码:
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")
希望能帮助到你。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句