PragmataPro es un tipo de letra que viene con una serie de ligaduras de programación . Tengo entendido que estas son ligaduras de cara OpenType (OTF).
Soy consciente de que Emacs soporta el reemplazo programática de combinaciones de caracteres (por ejemplo, ->
a ⟶
o lambda
a λ
). Sin embargo, estas son ligaduras falsas unicode, ya que tienen sus propios puntos de código, que las ligaduras reales no tienen.
¿Estoy en lo cierto de que Emacs (a partir de 25) no admite ligaduras OTF automáticamente? En un nivel inferior, ¿hay opciones disponibles para especificar manualmente las asignaciones de glifos?
Si las ligaduras no son compatibles, ¿qué se debe hacer para que Emacs admita ligaduras?
haskell-mode
se detalla en esta esencia .prettify-symbols-mode
, y funciona bastante bien con PragmataPro 0.822.Respuestas:
Por ahora, emacs no admite ligaduras (en OSX hay algún soporte, pero no en otras plataformas). Sin embargo, emacs 24.4+ admite,
prettify-symbols-mode
que en algunos aspectos es mejor que el soporte de ligaduras normales.Ese modo permite sustituir para mostrar cualquier expresión regular con cualquier glifo.
Personalmente estoy usando este fragmento para hacer que las ligaduras de Fira Code funcionen en emacs en Linux.(EDITAR: desafortunadamente el enlace ahora está muerto, la política de stackoverflow para copiar siempre en línea es obviamente la buena ...)El enlace que coloqué originalmente está muerto y no estoy seguro de qué contiene exactamente, pero creo que estos enlaces deberían ser buenos: https://github.com/tonsky/FiraCode/wiki/Emacs-instructions#using-prettify-symbols and https://github.com/tonsky/FiraCode/issues/312#issuecomment-262878734
Dado el problema del enlace muerto, esta vez pongo el código en línea:
Dije que de alguna manera esto es mejor que las ligaduras normales. Eso es porque es "a la carta". Puede mezclar y combinar, tome solo los símbolos que desee. Puedes decir, quiero el ";;" ligadura, EXCEPTO si el siguiente carácter es nuevamente ";" en ese caso no lo quiero ... Y sobre mezclar y combinar ... Estoy usando la fuente 'Fira Mono', junto con las ligaduras 'Fira Code'. No tiene que comprar toda la fuente.
Es peor que las ligaduras puras porque no funciona de fábrica y requiere que la fuente se sintonice de cierta manera para que sea posible.
fuente
Si está en OS X, creo que el puerto Carbon Mac Emacs admite ligaduras.
fuente