emacs fonts emacs-faces

Obtener la fuente de la fuente debajo del cursor en Emacs



fonts emacs-faces (5)

Hay un error en el código `what-face '': la función toma" pos "como argumento pero luego no la usa cuando obtiene el rostro, sino que usa" (punto) ", aunque el mensaje posterior afirma pos en el caso "Sin cara en% d".

He estado desarrollando mi propio tema de color personalizado, y sería realmente útil si pudiera obtener una lista de caras de fuente que afectan el texto debajo del cursor.

Algo así como el comando de alcance actual del show de Textmate.

Eso me ahorraría el problema de hacer Mx customize-face y mirar a través de las opciones disponibles, adivinando cuál afecta la palabra actual en la que estoy.

¿Algunas ideas?


Mx describe-cara


Puede definir what-face con este código:

(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))))

Después de esto,

M-x what-face

imprimirá la cara encontrada en el punto actual.

(Gracias a por señalar que what-face no estaba integrado).


Trey es la cara que está en el camino correcto. Me llevó a un correo electrónico en una lista de correo que tenía esto:

(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))))


what-cursor-position con un argumento de prefijo muestra la cara debajo del punto, entre otra información.

El atajo de teclado es Cu Cx =

Ejemplo de salida (la propiedad de la cara se muestra en el último párrafo):

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]