Foi publicado o lançamento do shell interativo fish 3.2.0 (friendly interactive shell), que se desenvolve como uma alternativa mais amigável ao usuário em relação ao bash e zsh. O Fish oferece recursos como realce de sintaxe com detecção automática de erros de entrada, sugestões de opções de entrada com base no histórico de operações anteriores, autocompletar opções e comandos usando suas descrições nos manuais, funcionamento confortável desde o início sem necessidade de configuração adicional, uma linguagem simplificada para scripts, suporte para o buffer de transferência X11 e boas ferramentas de pesquisa no histórico de operações realizadas. O código do projeto é distribuído sob a licença GPLv2. Pacotes prontos foram formados para Ubuntu, Debian, Fedora, openSUSE e RHEL.
Entre as novidades adicionadas:
- Foi adicionada a suportação para desfazer mudanças (Undo e Redo) ao editar a linha de comando. O Undo é acionado pela combinação Ctrl+Z e o Redo pelo Alt+/.
- Os comandos embutidos agora realizam o processamento conforme os dados são recebidos, por exemplo, a operação de substituição de string começa a exibir imediatamente, sem esperar a chegada de todos os dados de entrada. Além disso, os comandos embutidos agora podem ser usados em cadeias de comandos que transmitem dados através de canais não nomeados, como 'dmesg -w | string match '*usb*'.
- Se o caminho no prompt de comando não couber na largura da linha do terminal, agora ele será cortado parcialmente, em vez de ser substituído por '>'.
- A funcionalidade de autocompletar entrada ao pressionar Tab foi aprimorada (para complementos ambíguos, uma lista de substituições é exibida imediatamente sem necessidade de pressionar Tab novamente).
- Foi adicionada uma nova função auxiliar 'fish_add_path' para adicionar um caminho à variável de ambiente $PATH, automaticamente filtrando duplicatas.
- Foi fornecida uma diagramação mais clara de diagnósticos de erros ao executar o comando test.
- Na construção '$x[$start..$end]', agora é permitido omitir os valores $start ou $end, que por padrão são definidos como 1 e -1. Por exemplo, echo $var[..] é equivalente a $var[1..-1] e resultará na saída do primeiro ao último elemento.
- A performance de muitas funções foi significativamente melhorada. As capacidades de funções de manipulação de strings foram expandidas.
Fonte: opennet.ru
