Я пишу простому подключению 4 программы в Lisp, и идеально у каждого плеера (красный, черный) был бы их собственный цвет, когда игровое состояние отображено. Кто-либо знает, как распечатать цветные символы ASCII? Как это сделано в целом? Я использую emacs 23, таким образом, решение могло бы быть характерно для самого emacs.
Так или иначе я проверил гиперспецификацию, чтобы видеть, может ли ФОРМАТ сделать это, но никакая удача до сих пор.Заранее спасибо.
Бесстыдный саморазъем: вы можете попробовать этот , графический терминал для Common Lisp, работающий в веб-браузере. Он использует html для печати, поэтому вы можете сделать что-то вроде:
(gtfl-out (:p :style "color:red;" "some characters"))
Внешний вид текста в Emacs контролируется лицами . Лицо можно изменить либо с помощью оверлея , либо свойств текста . Вот пример использования последнего:
;; Emacs-Lisp (insert (propertize "foo" 'font-lock-face '(:foreground "red")))
Однако, если игра реализована в SBCL, вам понадобится способ связи с Emacs из вашей программы SBCL. Похоже, что вы используете Slime, использование Swank, которое является частью Slime, может быть наиболее удобным:
;; Common-Lisp (swank::eval-in-emacs '(with-current-buffer (slime-repl-buffer) (insert (propertize "foo" 'font-lock-face '(:foreground "red")))))