È possibile utilizzare il packate a faccia in su per creare una rappresentazione umana testo leggibile di un testo, con informazioni sul volto. Per esempio:
(defun foo (arg)
(if arg 1 2))
Esegui M-x faceup-vire-buffer RET
e viene visualizzato quanto segue:
(«k:defun» «f:foo» («v:arg»)
(«k:if» arg 1 2))
Le facce standard di blocco dei caratteri sono rappresentate usando nomi brevi, come k
per font-lock-keyword-face
, mentre le facce non standard sono presentate usando il loro nome completo.
(Faceup è un sistema di test di regressione per evidenziare i pacchetti, ad esempio parole chiave con blocco dei caratteri, la rappresentazione del testo viene memorizzata come file di riferimento.)
MODIFICARE:
Per rispondere alla domanda nel commento: "Se sto cercando di eseguire il debug dei volti utilizzati in un display di un minibuffer, questo mi darà ancora le informazioni?"
Sì, lo fa. Tuttavia, è necessario associare la funzione a un tasto poiché eseguirla utilizzando M-x
non funzionerà quando il minibuffer è in uso. Per esempio:
(global-set-key (kbd "<f6>") 'faceup-view-buffer)
Se per "minibuffer" intendevi davvero l'area dell'eco, che ti piacerebbe ispezionare il messaggio corrente, avrai bisogno di qualcosa in più. La seguente funzione lo farà:
(defun my-faceup-view-current-message ()
(interactive)
(let ((msg (current-message)))
(unless msg
(error "Echo area is empty"))
(with-temp-buffer
(insert msg)
(faceup-view-buffer))))
Ad esempio, quanto segue:
(let ((s "My Message"))
(add-text-properties 3 (length s) '(face font-lock-warning-face) s)
(message s)
(my-faceup-view-current-message))
Ti mostrerà:
My «w:Message»