O PragmataPro é um tipo de letra que vem com várias ligaduras de programação . Meu entendimento é que essas são ligaduras de rosto OpenType (OTF).
Estou ciente de que o Emacs suporta a substituição programática de combinações de caracteres (por exemplo, ->
para ⟶
ou lambda
para λ
). No entanto, essas são ligaduras falsas unicode, pois possuem seus próprios pontos de código, as quais não são verdadeiras ligaduras.
Estou correto que o Emacs (a partir de 25) não suporta ligaduras OTF automaticamente? Em um nível inferior, existem opções disponíveis para especificar manualmente os mapeamentos de glifos?
Se as ligaduras não são suportadas, o que precisa ser feito para o Emacs suportar as ligaduras?
haskell-mode
é detalhada nesta essência .prettify-symbols-mode
, e funciona muito bem com o PragmataPro 0.822.Respostas:
O emacs, por enquanto, não suporta ligaduras (no OSX há suporte, mas não em outras plataformas). No entanto, o emacs 24.4+ suporta,
prettify-symbols-mode
que de certa forma é melhor do que o suporte normal de ligaduras.Esse modo permite substituir para exibir qualquer regex com qualquer glifo.
Pessoalmente, estou usando esse trecho para obter as ligaduras do código Fira para trabalhar no emacs no linux.(EDIT: infelizmente o link agora está inoperante, a política do stackoverflow para sempre copiar inline é obviamente a boa ...)O link que eu coloquei originalmente está morto e não tenho certeza exatamente o que ele continha, mas acho que esses links devem ser bons: https://github.com/tonsky/FiraCode/wiki/Emacs-instructions#using-prettify-symbols e https://github.com/tonsky/FiraCode/issues/312#issuecomment-262878734
Dado o problema do link morto, estou colocando o código em linha desta vez:
Eu disse que, de certa forma, isso é melhor do que as ligaduras normais. Isso é porque é "a la carte". Você pode misturar e combinar, pegue apenas os símbolos que desejar. Você pode dizer, eu quero o ";;" ligadura, EXCETO se o próximo caractere for novamente ";" nesse caso, eu não quero ... E sobre misturar e combinar ... Estou usando a fonte 'Fira Mono', junto com as ligaduras 'Fira Code'. Você não precisa comprar a fonte inteira.
É pior do que as ligaduras puras, porque não funciona imediatamente e exige que a fonte seja ajustada de uma certa maneira para torná-la possível.
fonte
Se você estiver no OS XI, acredite que a porta do Carbon Mac Emacs suporta ligaduras.
fonte