Update to 2.00:

2.00    Wed Apr 17 22:49:41 CDT 2013
====================================

The first version of ack 2.0.


# Incompatibilities with ack 1.x

ack 2 makes some big changes in its behaviors that could trip up
users who are used to the idiosyncracies of ack 1.x.  These changes
could affect your searching happiness, so please read them.

* ack's default behavior is now to search all files that it identifies
as being text.  ack 1.x would only search files that were of a file
type that it recognized.

* Removed the `-a` and `-u` options since the default is to search
all text files.

* Removed the `--binary` option.  ack 2.0 will not find and search
through binary files.

* Removed the `--skipped` option.

* Removed the `--invert-file-match` option.  `-v` now works with
`-g`.  To list files that do not match `/foo/`

    ack -g foo -v

* `-g` now obeys all regex options: `-i`, `-w`, `-Q`, `-v`

* Removed the `-G` switch, because it was too confusing to have two
regexes specified on the command line.  Now you use the `-x` switch
to pipe filenames from one `ack` invocation into another.

To search files with filename matching "sales" for the string "foo":

    ack -g sales | ack -x foo

# New features in ack 2.0

ack 2.0 will:

* By default searches all text files, as identified by Perl's `-T` operator
    * We will no longer have a `-a` switch.

* improved flexibility in defining filetype selectors
    * name equality ($filename eq 'Makefile')
    * glob-style matching (`*.pl` identifies a Perl file)
    * regex-style matching (`/\.pl$/i` identifies a Perl file)
    * shebang-line matching (shebang line matching `/usr/bin/perl/`
    identifies a Perl file)

* support for multiple ackrc files
    * global ackrc (/etc/ackrc)
        * https://github.com/petdance/ack/issues/#issue/79
    * user-specific ackrc (~/.ackrc)
    * per-project ackrc files (~/myproject/.ackrc)

* you can use --dump to figure which options are set where

* all inclusion/exclusion rules will be in the ackrc files
    * ack 2.0 has a set of definitions for filetypes, directories to
      include or exclude, etc, *but* these are only included so you don't
      need to ship an ackrc file to a new machine.  You may tell ack to
      disregard these defaults if you like.

* In addition to the classic `--thpppt` option to draw Bill the
Cat, `ack --bar` will draw (of course) Admiral Ackbar.
This commit is contained in:
wiz 2013-04-20 14:38:50 +00:00
parent 376823d5ae
commit af13c55896
2 changed files with 6 additions and 7 deletions

View file

@ -1,8 +1,7 @@
# $NetBSD: Makefile,v 1.13 2012/10/25 06:56:43 asau Exp $
# $NetBSD: Makefile,v 1.14 2013/04/20 14:38:50 wiz Exp $
DISTNAME= ack-1.96
DISTNAME= ack-2.00
PKGNAME= p5-${DISTNAME}
PKGREVISION= 1
CATEGORIES= textproc perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=App/}

View file

@ -1,5 +1,5 @@
$NetBSD: distinfo,v 1.4 2011/10/09 12:52:23 schmonz Exp $
$NetBSD: distinfo,v 1.5 2013/04/20 14:38:50 wiz Exp $
SHA1 (ack-1.96.tar.gz) = 00f50aeffa38f0db73f03e69ce213d22f086bf4f
RMD160 (ack-1.96.tar.gz) = 36cb15996f2b0d0d3a27ab10281c589f693b05a9
Size (ack-1.96.tar.gz) = 111986 bytes
SHA1 (ack-2.00.tar.gz) = 46bc8b2d5ca32dd51b215b45543f58080898c06b
RMD160 (ack-2.00.tar.gz) = 9776b45775f2b550d8240e16916d7f0b05953694
Size (ack-2.00.tar.gz) = 185079 bytes