Aqui está um pouco divertido com carinhas Unicode. O traço visualmente se torna uma carinha sorridente. O traço visualmente se torna um rosto sorridente branco. Observe que algumas versões do Emacs podem não suportar os caracteres Unicode de rosto sorridente - é apenas uma demonstração - outros caracteres Unicode podem, é claro, ser escolhidos. Outros rostos podem ser usados, e o usuário é livre para compor seus próprios rostos.
(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]))
Aqui está um exemplo atualizado que concatena efetivamente o hífen-menos e adiciona cor - ou seja, o 8211
visual fica --
com a font-lock-keyword-face
coloração as; e, o 8212
visual se torna ---
com a font-lock-function-name-face
coloração.
(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]))
--
e---
.