Fish 4.5.0 lançado: veja as novidades e correções

Fish 4.5.0 lançado: veja as novidades e correções

O Fish (Friendly Interactive Shell) é uma shell de linha de comandos para sistemas baseados em Unix (como Linux e macOS) conhecida pelo seu foco na interactividade e facilidade de utilização imediata. Ao contrário do Bash ou Zsh, que normalmente exigem configurações complexas, a Fish oferece nativamente autocompletar inteligente baseado no histórico, realce de sintaxe em tempo real e uma linguagem de scripting simplificada. A sua função é otimizar o fluxo de trabalho de quem passa muito tempo no terminal.

Principais novidades

  • Independência do terminfo e ncurses: a Fish deixou definitivamente de ler a base de dados terminfo para alterar o seu comportamento com base na variável TERM. A flag ignore-terminfo, introduzida na versão 4.1, é agora permanente. Isto moderniza a base de código e remove dependências de software antigas. A shell continuará a funcionar perfeitamente em qualquer emulador de terminal moderno do século XXI, sacrificando de forma consciente a compatibilidade com hardware extinto (como os terminais Data General Dasher D220 ou Wyse WY-350).
  • Melhorias na pesquisa interativa: o atalho ctrl-l, habitualmente utilizado para limpar o ecrã, já não cancela a pesquisa no histórico de comandos. Além disso, o posicionamento do cursor durante essa pesquisa foi corrigido para lidar corretamente com caracteres de larguras arbitrárias, como alfabetos asiáticos e emojis.

Impacto e repercussão

Embora seja classificada como uma versão menor de correção de falhas (patch release), a atualização 4.5.0 tem um impacto muito forte no fluxo de trabalho dos power users que utilizam o modo Vim da shell (fish_vi_key_bindings). A versão anterior (4.4.0) havia introduzido regressões bastante frustrantes, resultando na eliminação incorreta de espaços e em encerramentos inesperados (crashes) da shell ao aceitar autossugestões em momentos específicos. A comunidade celebrou a correção destas falhas, uma vez que elas bloqueavam o uso diário de quem dependia dos atalhos do Vi. Adicionalmente, o abandono completo da biblioteca ncurses tem sido elogiado por facilitar a compilação do projeto a partir do código-fonte.

Resumo técnico

  • Correção de regressão no modo Vi: a combinação de teclas d,f voltou a funcionar.
  • Correção de regressão no modo Vi: a combinação c,w já não apaga incorretamente os espaços finais.
  • Resolvido um crash no modo Vi ao utilizar c,i,w logo após a aceitação de uma autossugestão.
  • A chamada da função fish_vi_key_bindings com um argumento de modo já não produz erros.
  • Fim do suporte e dependência do ncurses e do banco de dados terminfo.
  • Implementação de correções específicas para garantir a compilação no sistema operativo Illumos.

Disponibilidade

O código-fonte da versão 4.5.0 encontra-se disponível no GitHub em formato .tar.xz, existindo também binários pré-compilados e autónomos para distribuições Linux nas arquiteturas aarch64 e x86_64. Para utilizadores de macOS, o repositório oficial já fornece os pacotes nativos .pkg e ficheiros .app. Em distribuições Linux do tipo rolling release (como o Arch Linux ou openSUSE Tumbleweed), a nova versão deverá chegar aos repositórios oficiais nas próximas horas. Nos sistemas Ubuntu e derivados, os utilizadores podem recorrer ao repositório PPA oficial (ppa:fish-shell/release-4) para instalar a atualização imediatamente.