• Lançado Ack 2.0

    Os desenvolvedores do ack acaba de liberar a versão 2.0 de sua ferramenta no estilo grep, otimizada para busca dentro de código fonte. Descrita como "projetada para programadores", o ack está disponível desde 2005 e é baseado no motor de expressões regulares da linguagem de programação Perl. Ela minimiza falso-positivos ao ignorar por padrão os diretórios de controle de versão, além de possuir um destaque (highlight) flexível para casamento de expressões. A nova versão 2.0 do ack também introduz uma identificação de sistema mais flexível, suporte melhorado para os arquivos de configuração ackrc, além da habilidade de ler a lista de arquivos na busca diretamente do stdin (entrada padrão).


    Seus desenvolvedores afirmam que o ack é projetado para executar de forma semelhante ao comando GNU grep, mas melhorado no que se refere a buscas efetuadas em repositórios de códigos fontes. O web site do programa em beyondgrep.com lista um considerável número de razões do porquê os programadores poderiam querer utilizar o ack ao invés do grep na busca dentro de códigos fontes. O maior destaque se refere a sua rapidez, sendo consideravelmente mais rápido que o grep. No entanto, o ack vem embarcado com muito mais na manga, sendo especificamente projetado para trabalhar com código fonte e entender um grande número de linguagens de programação e ferramentas coo sistemas de construção e software de controle de versão (Git, subversion, e demais similares).

    Na versão 2.0 do ack os usuários agora já podem efetuar buscas por todos os tipos de arquivos texto, e não apenas pelos arquivos que a ferramenta conhece (como era padrão na versão anterior). Claro que, para os usuários que preferem a maneira antiga de funcionamento do ack existe uma linha de comando que permite ao ack trabalhar como na série 1.x. Porém, uma identificação de sistema mais flexível permite aos usuários outras formas de especificar como o ack identifica as diferentes linguagens de programação. A última versão do ack também pode ler uma lista de arquivos diretamente do stdin, o que lhe permite ser utilizado na concatenação via pipe como no exemplo:

    git ls | ack -x foo

    permitindo assim procurar apenas arquivos que aparecem em um determinado repositório do Git. O suporte melhorado para os arquivos ackrc permitem aos usuários terem um arquivo de configuração de sistema mais abrangente em /etc/ackrc, além de criar arquivos ackrc específicos para projetos em seus diretórios de código fonte.

    Os desenvolvedores afirmam que nas versões futuras do ack, eles desejam criar um framework na forma de um plugin para essa ferramenta que permitirá aos usuários escrever componentes em Perl que possam ser utilizados no próprio ack. Maiores informações sobre as funcionalidades correntes dessa versão 2.0 você encontra na página web "what's new" (em Português do Brasil, "o que há de novo") do projeto. A ferramenta está sob a licença Artistic License 2.0 e está disponível para instalação como um módulo Perl via CPAN. A mesma também foi devidamente empacotada para várias distribuições Linux, além de Mac OS e FreeBSD.

    Saiba Mais:

    - Heise Online: Ack 2.0 enhances the "grep for source code" (em Inglês)