Pesquisa de site

Fish Shell 4.1 Lançado com Sintaxe de Chaves e Prompts Transitórios


O Fish shell 4.1 já está disponível com prompts transitórios, comandos baseados em chaves, sugestões automáticas mais inteligentes e atualizações significativas no argparse.

O Fish shell, um shell Unix moderno projetado para ser amigável e fácil de usar, anunciou a versão 4.1, um novo lançamento que se baseia na série 4.0, oferecendo novos recursos, melhorias em script, atualizações de compatibilidade com o terminal e algumas remoções de comportamentos mais antigos.

Uma das mudanças mais visíveis é que comandos compostos agora podem ser escritos usando chaves—{ echo 1; echo 2 }—de maneira semelhante a como outros shells lidam com eles. O Fish também introduz prompts transitórios. Se a variável fish_transient_prompt estiver definida, o prompt é renderizado novamente logo antes de um comando ser executado, o que pode ajudar a manter a tela mais limpa.

Além disso, o preenchimento automático com a tecla Tab recebeu uma correção importante. Em vez de quebrar em algum ponto no meio de um caminho, os preenchimentos agora são truncados no nível do diretório. Por exemplo, completar dentro de share/functions exibirá …/foo.fish e …/bar.fish, tornando a leitura mais fácil. Além disso, as sugestões automáticas se tornaram mais inteligentes, agora suportando linhas de comando multi-linha e incluindo sugestões de linhas individuais no histórico multi-linha.

No lado da programação de scripts, o builtin argparse, um módulo que facilita a criação de CLIs amigáveis ao usuário, recebeu uma longa lista de melhorias. Agora ele suporta um manuseio mais rigoroso de opções longas, melhor controle de argumentos desconhecidos, múltiplos valores opcionais e hooks de validação. Outros builtins também foram atualizados: string pad agora suporta centralização, psub pode combinar --suffix com --fifo, e read ganhou a opção --tokenize-raw.

Quanto ao uso interativo, os comandos colados agora removem automaticamente os prompts $ iniciais, o feedback da busca no histórico é mais direcionado, e ao excluir sugestões automáticas, apenas a sugestão piscando é removida, em vez de toda a linha.

As combinações de teclas também sofreram ajustes—em plataformas que não são macOS, Alt+teclas de seta e Alt+delete/backspace agora operam sobre argumentos inteiros em vez de palavras delimitadas por pontuação. O modo Vi também passou a ter suporte para incremento e decremento com Ctrl+A e Ctrl+X.

O suporte ao terminal também foi aprimorado, pois o Fish agora suporta múltiplos estilos de sublinhado — incluindo ondulado, pontilhado e tracejado — que podem ser estilizados separadamente da cor do texto. Além disso, o suporte ao mouse foi expandido com a opção click_events do Kitty, permitindo o movimento do cursor e a seleção no pager através de cliques.

Por último, há algumas descontinuações notáveis. Os nomes de teclas no estilo Terminfo desapareceram, e o Fish não lê mais diretamente do banco de dados terminfo. Em vez disso, ele usa seus próprios nomes de teclas. Alguns padrões de expansão de chaves, como {echo,echo}, também não são mais válidos. Além disso, set_color --background=COLOR não ativa mais o negrito por padrão, o que significa que temas que dependem desse comportamento podem precisar ser atualizados.

Para mais informações, consulte o registro de alterações.