./textproc/p5-ack, Grep-like text finder

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 3.4.0, Package name: p5-ack-3.4.0, Maintainer: pkgsrc-users

Ack is designed as a replacement for 99% of the uses of grep. Ack
is intelligent about the files it searches and the directories trees
it should not descend into.

Required to run:
[lang/perl5] [devel/p5-File-Next]

Required to build:

Master sites: (Expand)

SHA1: 8d486ac69336accf353916ef5a5962da984d3667
RMD160: 26fd9f478d8865d5844bb6892a1dd71d514ebb8e
Filesize: 245.221 KB

Version history: (Expand)

CVS history: (Expand)

   2020-09-07 19:31:44 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
p5-ack: update to 3.4.0.

v3.4.0      Mon Jun 29 23:04:18 CDT 2020
When calling "ack -c" to get a list of filenames and counts, the filename
would not be colored like when getting normal search results.  Now it will.
Thanks to Matthew Hughes for adding the feature, and Ophir Lifshitz for the
suggestion. (GH#282)

Added --toml for the TOML filetype. (GH#306)

The test t/ack-x.t would fail when run as root. Now it is skipped. Thanks,
Michael LaGrasta. (GH#217)
   2020-08-31 20:13:29 by Thomas Klausner | Files touched by this commit (3631) | Package updated
Log message:
*: bump PKGREVISION for perl-5.32.
   2020-02-03 02:57:20 by Amitai Schleier | Files touched by this commit (2) | Package updated
Log message:
Update to 3.3.1. From the changelog:

v3.3.1      Mon Jan 13 10:27:16 CST 2020
Some regexes would be shown as invalid when used with the -Q option.  Since
the -Q tells ack to treat the regex as a literal, this shouldn't be
possible.  (GH#294)

v3.3.0      Sat Dec 28 16:00:21 CST 2019
The error message ack displays when the regex passed is invalid has been
improved.  The message is more readable and includes a pointer to the
offending part of the regex.  For example:

    $ ack 'status: (open|closed|in progress'
    ack: Invalid regex 'status: (open|closed|in progress'
    Regex: status: (open|closed|in progress
                   ^---HERE Unmatched ( in regex

Added many new file and directory exclusions to speed up file selection.
* Python's *.pyc, *.pyd and *.pyo compiled files
* Python's __pycache__ and .pytest_cache directories
* Linux *.so shared object files
* Windows dynamic-link library *.dll files
* gettext compiled *.mo translation files
* macOS's __MACOSX directories and .DS_Store files

Reorganized the --help menu to put "action" options like -f, -g and -l at
the top of the listing.

The --show-types option only has an effect with -f or -g.  ack will now
tell you if you use --show-types without -f or -g when it will have no

Improved the error message when ack gets passed two options that can't be
used together.

Fixed the behavior of --break and --heading.  Using --break would
implicitly set --noheading, and --heading would implicitly set --nobreak.

The following pairs of options don't make sense to use together, and ack will \ 
now warn you if you try:

* -x and --files-from
* -v and -o
* -v and --output
* -v and --passthru

Fixed the minimum version of the Getopt::Long module required. (GH #287)

The line number and filename separators in --passthru mode now work the
same as in context (-A/-B/-C) mode.  (GH #291)

v3.2.0      Sun Nov  3 22:52:18 CST 2019
Added "-t X" as a short alias for --type=X.

Added "-T X" as a short alias for --type=noX.

The feature of using the name of the type as an option is deprecated.  For
example, ack currently lets you use "--perl" instead of \ 
"--type=perl" or
"-t perl",  This is now deprecated and will be removed in a future release.

Removed support for Parrot (--parrot).

v3.1.3      Sat Oct 19 19:23:48 CDT 2019
No changes to functionality.  Fixed a problem with version numbers.
Thanks to Dan Book for his help.
See \ 
https://github.com/beyondgrep/ack3/comm … a6b322f4ca

v3.1.2      Mon Oct 14 21:47:51 CDT 2019
Using -w with a pattern that ended with a metacharacter would be slower
than it should be because it would skip an optimization. Now it's fixed.
(GH #181, #251)

Fixed test failures that would sometimes happen on Windows machines because
of taint mode.  Thanks, Tomasz Konojacki. (GH #235)

Remove the use of the version.pm module.

v3.1.1      Sat Aug 31 22:56:10 CDT 2019
Improved the speed up the -l, -L and -c options by pre-scanning the file
in bulk before doing line-by-line scan. (GH #221)

ack now uses File::Next 1.18 which calls stat() only once per file or
directory, instead of sometimes calling it twice.  This should improve the
time spent traversing directories.

On Windows, patterns with $ to mark the end of the line would not match.
(GH #229)

Fixed docs that referred to --range-stop instead of --range-end. (GH #228)

v3.1.0      Thu Aug 22 22:43:15 CDT 2019
Added the --range-start and --range-end options to allow searching only
ranges of each file. (GH #165)

v3.0.3      Tue Aug 20 23:42:02 CDT 2019
Made smartcase's check for lowercase patterns smarter.

Updated many URLs, especially in the config. (GH #223)

v3.0.2      Thu Jul  4 21:42:43 CDT 2019
ack's smart-case feature would think that a pattern like "select \S+ from"
is looking for a uppercase letter, and so would not make a case-insensitive
search.  Now, ack knows that uppercase letters in metacharacters don't
count as looking for a uppercase letter. (GH #156, 187, 214)

v3.0.1      Tue Jun 25 20:47:58 CDT 2019
The -s option tells ack not to complain about missing or unreadable files
it tries to search.  The -s option would not always work in conjection with
the -x option.  Now it does.  Thanks, Anders Eriksson and M. Scott Ford.
(GH #175)

ack would die if you specified a --output option that didn't use one
of Perl's special match variables.  Now it won't.  Thanks, M. Scott
Ford. (GH #210)

Added a Dockerfile for use when working on ack development.  Thanks,
M. Scott Ford. (GH #208)

v3.0.0      Mon May 27 21:46:34 CDT 2019
First official release of ack verison 3.

See "Release notes for ack 3.0.0" at the bottom of this document for
details of what has changed between ack 2.x and ack 3.

Fixed a failing test if Pod::Perldoc::ToTextOverstrike was being
used. (GH#202)

2.999_08 Sun May 19 20:33:13 CDT 2019
Consolidated the manual and FAQ into one document, accessible with --man.
Cookbook.pm has been moved to dev for future use.

Added SVG filetype.

Invalid options used to cause an error message triplicate. Fixes GH #192.

2.999_07 Sun Mar 31 21:54:55 CDT 2019
Added --help-colors and --help-rgb-colors options to display colors
available for color options.

Many more mutex options have been added to help users know when they've
made a mistake.  For example, it doesn't make sense to have -C to show
context when using -f to get a file list.

Overhauled the handling of mutually exclusive options.  We now properly
handle mutex options even if they are abbreviated.  The actual argument
used is now shown.  Fixes GH #57.

2.999_06 Thu Jan 10 20:37:23 CST 2019
The --tt option for Template Toolkit is now --ttml.  The short version
still works.

The standalone version of ack no longer supports the --faq or --cookbook
options, which never worked right for it anyway.  Instead, --man includes
the FAQ and Cookbook.

The --man option no longer uses the `perldoc` program for rendering the
documentation.  This means you'll have to pipe it into your own pager if
you want scrolling, but it makes it much more portable.

ack would stop finding files if there was a file named "0" in the current
directory. Thanks, Rob Hoelz. (GH #162)

The --lines option has been removed. (GH #167)

The -u short alias for --underline has been removed. (GH #173)

2.999_05 Sun Oct 21 21:37:39 CDT 2018
Add -p as a shorter version of --proximate.

2.999_04 Thu Sep  6 17:45:07 CDT 2018
Added -P as a negation of --proximate.  It is the same as --proximate=0.
If you have --proximate in an .ackrc, -P can be used to cancel it.

Added --ts for Typescript.

2.999_03 Fri Jan 19 11:02:46 CST 2018
The check for whether we need to scan the entire file line-by-line now
reads 10M of file instead of just 100K.

Removed support for the ACK_OPTIONS environment variable.  Use an ackrc
file instead.  If you have ACK_OPTIONS set, ack will give a warning.

Lots of internal speedups.

2.999_02 Mon Jan  8 23:03:42 CST 2018
Added an optimization to make ack only do a line-by-line search of a
file if there's a match somewhere in the file.  This gives ack a 20-30%
in timings of common cases.

2.999_01 Mon Jan  1 22:11:17 CST 2018
Added --pod as a filetype, recognizing .pod as its extension.  This is
Perl's POD (Plain Old Documentation) format.

Added --markdown as a filetype, recognizing .md and .markdown as

--pager is no longer allowed in a project .ackrc file.  --match and
--output are not allowed in any .ackrc file.

ack 3's new features are listed below for now.

--lines had some mutex options that were not getting checked.  Now,
--lines is mutex with --passthru, --match and all context options.

# Release notes for ack 3.0.0

# New features

ack 3 is a greplike tool optimized for searching large code trees.

Improvements over ack 2 include:

* Improved `-w` option.

* `-w` option will warn if your pattern does not lend itself to
word matching.

* `-i`, `-I` and `--smart-case`

* `--proximate=N` option

* Added `--pod` and `--markdown`.

* Added `GNUmakefile` to the list of makefile specs.

* Added `-S` as a synonym for `--smart-case`.

# Bug fixes

* Column numbers were not getting colorized in the output.  Added
`--color-colno` option and `ACK_COLOR_COLNO` environment variable.

* A pattern that wanted whitespace at the end could match the
linefeed at the end of a line.  This is no longer possible.

# Incompatibilities with ack 2

## ack 3 requires Perl 5.10.1

ack 2 only needed Perl 5.8.8.  This shouldn't be a problem since 5.10.1
has been out since 2009.

## ack 3 no longer highlights capture groups.

ack 2 would highlight your capture groups.  For example,

    ack '(set|get)_foo_(name|id)'

would highlight the `set` or `get`, and the `name` or `id`, but not the
full `set_user_id` that was matched.

This feature was too confusing and has been removed.  Now, the entire
matching string is highlighted.

## ack 3's --output allows fewer special variables

In ack 2, you could put any kind of Perl code in the `--output`
option and it would get `eval`uated at run time, which would let
you do tricky stuff like this gem from Mark Fowler

    ack --output='$&: @{[ eval "use LWP::Simple; 1" && \ 
length LWP::Simple::get($&) ]} bytes' \
                    'https?://\S+' list.txt
    http://google.com/: 19529 bytes
    http://metacpan.org/: 7560 bytes
    http://www.perladvent.org/: 5562 bytes

This has been a security problem in the past, and so in ack 3 we
no longer `eval` the contents of `--output`.  You're now restricted
to the following variables: `$1` thru `$9`, `$_`, `$.`, `$&`, ``$` ``,
`$'` and `$+`.  You can also embed `\t`, `\n` and `\r` ,
and `$f` as stand-in for `$filename` in `ack2 --output` .
   2020-02-03 02:39:32 by Amitai Schleier | Files touched by this commit (2) | Package updated
Log message:
Update to 2.28, the last in the 2.x series. From the changelog:

2.28    Mon Mar 18 22:48:57 CDT 2019
The --help-rgb-colors option now displays the RGB codes organized by
HSL values for easier picking.  Thanks, Bill Ricker.

2.26    Sun Mar 17 22:00:00 CDT 2019
Added --help-colors and --help-rgb-colors options to display colors
available for color options.

Clarified the docs for --lines option. Thanks, Rob Hoelz.  (GH #673)

Use File::Temp for temp files during tests on Win32.  Thanks, Tim Gim Yee.
(GH #671)
   2019-08-11 15:25:21 by Thomas Klausner | Files touched by this commit (3557) | Package updated
Log message:
Bump PKGREVISIONs for perl 5.30.0
   2019-06-30 22:17:50 by Nia Alarie | Files touched by this commit (1816) | Package updated
Log message:
Update packages using a search.cpan.org HOMEPAGE to metacpan.org.

The former now redirects to the latter.

This covers the most simple cases where http://search.cpan.org/dist/name
can be changed to https://metacpan.org/release/name.

Reviewed by hand to hopefully make sure no unwanted changes sneak in.
   2018-08-22 11:48:07 by Thomas Klausner | Files touched by this commit (3558)
Log message:
Recursive bump for perl5-5.28.0
   2018-06-24 11:17:27 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
p5-ack: update to 2.24.

2.24    Thu Jun 21 22:41:49 CDT 2018
No changes since 2.23_03.

2.23_03 Fri Jun 15 23:18:42 CDT 2018
Added --ts for Typescript.

ack would stop searching if there was a file called "0" in the current
directory where ack was invoked. (GH #667)

2.23_02 Sat Jan  6 23:53:03 CST 2018
t/ack-n.t was not calling lists_match() correctly.

Added an optimization to make ack only do a line-by-line search of a
file if there's a match somewhere in the file.  This gives ack a 20-30%
in timings of common cases.

Broken. Deleted.