我試圖製作一個基於控制檯的程序,它使用ANSI轉義碼0123'。我似乎無法弄清楚如何去打印用ANSI轉義碼格式化的字符串對象。我試過以下。ANSI轉義代碼在GNU Smalltalk中
'\x1b[31mHi' displayNl
這打印整個字符串,包括轉義代碼,沒有任何格式。我希望這會打印出紅色的「Hi」(然後是控制檯中的其他所有內容,因爲我沒有重置顏色)。
Google搜索了一下之後,我找到了幾個問題在郵件列表中,人們試圖使用「\ n」生成換行符等內容。大多數答案都使用了Transcript對象的cr方法,但我在textCollector類中找不到有關顏色的任何內容。
它看起來應該不是很難在C中創建我自己的模塊來實現此功能,但我想知道是否有更好的方法。
我知道ncurses的綁定,但我不確定這隻會讓程序中的某些文本變成有顏色的實用。那麼,在使用ANSI轉義序列的GNU Smalltalk中,是否有一種標準方式將彩色文本輸出到終端?
它看起來像'expandMacrosWith'和用'asString'強制字符到字符串的組合可能有效。 – phs