【问题标题】:In Emacs, how do I display a message in the minibuffer with font face properties?在 Emacs 中,如何在 minibuffer 中显示带有字体属性的消息?
【发布时间】:2011-02-14 02:33:46
【问题描述】:

我想在 minibuffer 中显示一个彩色的文本字符串,但是当我使用 'message' 函数时,文本属性被剥离。

【问题讨论】:

    标签: emacs elisp font-lock emacs-faces minibuffer


    【解决方案1】:

    为我工作:

    (message "%s" (propertize "foo" 'face '(:foreground "red")))
    

    您可能有(message (propertize ...)),它将属性化字符串解释为格式控制字符串,因此剥离了它的属性。

    【讨论】:

    • (defun lawlist-message (input) (interactive) (message (propertize input 'face 'font-lock-warning-face)))
    • 有没有办法将颜色保存在*Messages* 缓冲区中?
    • 如果你看到#("foo" 0 3 (face (:foreground "red"))),而不是显示红色foo,看到这里an explanation,原因是显示了消息,但随后打印了表达式的结果,它隐藏了消息。将其放入 (interactive) 使其按预期工作。
    猜你喜欢
    • 1970-01-01
    • 2014-03-14
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    • 2011-12-08
    • 1970-01-01
    • 2019-08-08
    相关资源
    最近更新 更多