Question

J'ai développé mon propre thème de couleur personnalisée, et ce serait vraiment utile si je pouvais obtenir une liste des polices faces qui affectent le texte sous le curseur.

Quelque chose comme la commande show portée actuelle de TextMate.

Cela me sauver la peine de faire M-x-customize visage et en regardant à travers les options disponibles, deviner que l'on affecte le mot courant que je suis.

Toutes les idées?

Était-ce utile?

La solution

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 cela,

M-x what-face

imprimera le visage découvert au point courant.

(Merci à thedz de remarquer que what-face n'a pas été construit en.)

Autres conseils

what-cursor-position avec un argument préfixe montre le visage au point, entre autres informations.

raccourci clavier est C-C-u x =

Exemple de sortie (la propriété de surface est présenté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-face décrire

Trey est ce que le visage est sur la bonne voie. Il 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 `ce face » code: la fonction prend « pos » comme argument, mais ne puis utilisez pas lors de l'obtention du visage - à la place, il utilise « (point) », même si le message plus tard réclamations pos dans le "Aucun visage à% d" cas.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top