Lançada a Fish Shell 4.1 com Sintaxe de Chaves e Prompts Transitórios
A shell Fish 4.1 já está disponível com prompts transitórios, comandos baseados em chaves, sugestões automáticas mais inteligentes e melhorias significativas no argparse.
O Fish shell, um shell Unix moderno concebido para ser fácil de usar e amigável, anunciou a versão 4.1, uma nova versão que se baseia na série 4.0, oferecendo novas funcionalidades, melhorias de script, atualizações de compatibilidade com o terminal e algumas remoções de comportamentos mais antigos.
Uma das mudanças mais visíveis é que os comandos compostos podem agora ser escritos usando chaves — { echo 1; echo 2 } — de forma semelhante a como outros shells os tratam. O Fish também introduz prompts transitórios. Se a variável fish_transient_prompt estiver definida, o prompt é renderizado novamente imediatamente antes de um comando ser executado, o que pode ajudar a manter o ecrã mais limpo.
Além disso, as conclusões de tabulação receberam uma correção importante. Em vez de falhar em algum ponto no meio de um caminho, as conclusões agora são truncadas ao nível do diretório. Por exemplo, completar dentro de share/functions irá mostrar …/foo.fish e …/bar.fish, tornando mais fácil de ler. Adicionalmente, as sugestões automáticas tornaram-se mais inteligentes, agora suportando linhas de comando em múltiplas linhas e incluindo sugestões de linhas individuais no histórico de várias linhas.
No lado da programação de scripts, o módulo incorporado argparse, que facilita a criação de CLIs amigáveis para o utilizador, recebeu uma longa lista de melhorias. Agora suporta um tratamento mais rigoroso de opções longas, melhor controlo de argumentos desconhecidos, múltiplos valores opcionais e hooks de validação. Outros incorporados também foram atualizados: string pad agora suporta centralização, psub pode combinar --suffix com --fifo, e read ganhou a opção --tokenize-raw.
Relativamente ao uso interativo, os comandos colados agora removem automaticamente os prompts $ no início, o feedback da pesquisa no historial é mais direcionado, e ao apagar sugestões automáticas apenas a sugestão piscando é removida, em vez de toda a linha.
As ligaçõ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 suportar incremento e decremento com Ctrl+A e Ctrl+X.
O suporte ao terminal também foi melhorado, 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 rato foi ampliado 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, existem algumas descontinuações notáveis. Os nomes de teclas ao estilo Terminfo desapareceram, e o Fish já não lê diretamente da base de dados terminfo. Em vez disso, utiliza os seus próprios nomes de teclas. Alguns padrões de expansão de chaves, como {echo,echo}, também deixaram de ser válidos. Além disso, set_color --background=COLOR já não ativa o negrito por defeito, o que significa que os temas que dependiam desse comportamento podem precisar de ser atualizados.
Para mais informações, consulte o registo de alterações.
