J'ai développé mon propre thème de couleur personnalisé, et ce serait vraiment utile si je pouvais obtenir une liste des polices de caractères affectant le texte sous le curseur.
Quelque chose comme la commande show current scope de Textmate.
Cela me sauverait la peine de faire M-x personnaliser le visage et de regarder à travers les options disponibles, deviner lequel affecte le Word actuel sur lequel je suis.
Des idées?
Vous pouvez définir what-face
avec ce code:
(defun what-face (pos)
(interactive "d")
(let ((face (or (get-char-property (pos) 'read-face-name)
(get-char-property (pos) 'face))))
(if face (message "Face: %s" face) (message "No face at %d" pos))))
Après ça,
M-x what-face
imprimera le visage trouvé au point actuel.
(Merci à thedz d'avoir souligné que what-face
n'a pas été intégré.)
what-cursor-position
avec un argument préfixe montre le visage sous le point, entre autres informations.
Le raccourci clavier est C-u C-x =
Exemple de sortie (la propriété face est indiquée dans le dernier paragraphe):
position: 5356 of 25376 (21%), column: 4
character: r (displayed as r) (codepoint 114, #o162, #x72)
preferred charset: ascii (ASCII (ISO646 IRV))
code point in charset: 0x72
syntax: w which means: Word
category: .:Base, L:Left-to-right (strong), a:ASCII, l:Latin, r:Roman
buffer code: #x72
file code: #x72 (encoded by coding system undecided-unix)
display: by this font (glyph code)
nil:-Apple-Monaco-medium-normal-normal-*-12-*-*-*-m-0-iso10646-1 (#x55)
Character code properties: customize what to show
name: LATIN SMALL LETTER R
general-category: Ll (Letter, Lowercase)
decomposition: (114) ('r')
There are text properties here:
face org-level-2
fontified t
[back]
M-x décrire-face
Le visage de Trey est sur la bonne voie. Cela m'a conduit à un e-mail sur une liste de diffusion qui avait ceci:
(defun what-face (pos)
(interactive "d")
(let ((face (or (get-char-property (point) 'read-face-name)
(get-char-property (point) 'face))))
(if face (message "Face: %s" face) (message "No face at %d" pos))))
Il y a un bug dans le code `what-face ': la fonction prend" pos "comme argument mais ne l'utilise pas lors de l'obtention du visage - à la place elle utilise" (point) ", même si le message plus tard - revendications pos dans le cas "No face at% d".