Pregunta:
Un guión (-), un en-guión (-) y un emdash (-) son diferentes pero difíciles de distinguir. Esto causa problemas, por ejemplo, al escribir programas. ¿Hay alguna forma de diferenciarlos más fácilmente en emacs? Gracias.
Respuesta:
Aquí hay un poco de diversión con caras sonrientes Unicode. El en-dash se convierte visualmente en una cara sonriente negra. El em-dash se convierte visualmente en una carita sonriente blanca. Tenga en cuenta que es posible que algunas versiones de Emacs no admitan los caracteres Unicode de caritas sonrientes; solo está destinado a ser una demostración; por supuesto, se pueden elegir otros caracteres Unicode. Se pueden usar otros rostros y el usuario es libre de componer sus propios rostros.
(let ((glyph-en-dash (make-glyph-code ?\u263A 'font-lock-keyword-face))
(glyph-em-dash (make-glyph-code ?\u263B 'font-lock-function-name-face)) )
(when (not buffer-display-table)
(setq buffer-display-table (make-display-table)))
(aset buffer-display-table 8211 `[,glyph-en-dash])
(aset buffer-display-table 8212 `[,glyph-em-dash]))
Aquí hay un ejemplo actualizado que concatena efectivamente el guión-menos y agrega color – es decir, el 8211
convierte visualmente --
con la font-lock-keyword-face
como coloración; y, el 8212
visualmente se convierte en ---
con la font-lock-function-name-face
como coloración.
(let ((glyph-en-dash (make-glyph-code ?\u002D 'font-lock-keyword-face))
(glyph-em-dash (make-glyph-code ?\u002D 'font-lock-function-name-face)) )
(when (not buffer-display-table)
(setq buffer-display-table (make-display-table)))
(aset buffer-display-table 8211 `[,glyph-en-dash ,glyph-en-dash])
(aset buffer-display-table 8212 `[,glyph-em-dash ,glyph-em-dash ,glyph-em-dash]))