Печать цветных символов в Lisp / Emacs

Я пишу простому подключению 4 программы в Lisp, и идеально у каждого плеера (красный, черный) был бы их собственный цвет, когда игровое состояние отображено. Кто-либо знает, как распечатать цветные символы ASCII? Как это сделано в целом? Я использую emacs 23, таким образом, решение могло бы быть характерно для самого emacs.

Так или иначе я проверил гиперспецификацию, чтобы видеть, может ли ФОРМАТ сделать это, но никакая удача до сих пор.Заранее спасибо.

5
задан Limpoch 10 March 2010 в 17:50
поделиться

2 ответа

Бесстыдный саморазъем: вы можете попробовать этот , графический терминал для Common Lisp, работающий в веб-браузере. Он использует html для печати, поэтому вы можете сделать что-то вроде:

(gtfl-out (:p :style "color:red;" "some characters"))
2
ответ дан 13 December 2019 в 22:06
поделиться

Внешний вид текста в 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")))))
6
ответ дан 13 December 2019 в 22:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: