Padrões para códigos de escape ANSI
Olá! Hoje quero falar sobre códigos de escape ANSI.
Por muito tempo eu estava vagamente ciente dos códigos de escape ANSI (“é assim que você deixa o texto vermelho no terminal e outras coisas”), mas não tinha uma compreensão real de onde eles deveriam ser definidos ou se havia ou não padrões para eles. Eu apenas tive uma sensação vaga de “há dragões” ao redor deles. Ao aprender sobre o terminal este ano, aprendi que:
- Os códigos de escape ANSI são responsáveis por muitas melhorias de usabilidade no terminal (você sabia que existe uma maneira de copiar para a área de transferência do sistema quando conectado por SSH em uma máquina remota?? É um código de escape chamado OSC 52!)
- Eles não são completamente padronizados e, por isso, nem sempre funcionam de maneira confiável. E como eles também são invisíveis, é extremamente frustrante solucionar problemas de código de escape.
Então, eu queria montar uma lista de alguns padrões que existem em torno dos códigos de escape, porque quero saber se eles ter sentir-se pouco confiável e frustrante, ou se houver um futuro em que todos possamos confiar neles com mais confiança.
o que é um código de escape?
Você já pressionou a tecla de seta para a esquerda em seu terminal e viu ^((D? Esse é um código de escape! É chamado de “código de escape” porque o primeiro caractere é o caractere de “escape”, que geralmente é escrito como ESC, x1b, E,