Revision history for rak
0.0.63 2024-08-21T21:01:43+02:00
- Remove hypering of large files for now: they appear to tickle
some issue in MoarVM, causing crashes
- Bump dependency on ParaSeq for safer queueing of blocks
0.0.62 2024-08-19T21:32:46+02:00
- Bump dependency on ParaSeq for exception handling fix
0.0.61 2024-08-19T12:13:16+02:00
- Add ":also-first" and ":always-first" options
0.0.60 2024-08-18T12:09:20+02:00
- Add ":produce-many-pairs" option
- Up dependency on path-utils to keep in sync
0.0.59 2024-07-29T12:41:21+02:00
- Up dependencies on Git::Files, path-utils and Trap to keep
in sync
0.0.58 2024-07-29T11:50:20+02:00
- Add ".changed" method to PairContext, returning False
- Add PairChanged subclass of PairMatched, with a ".changed"
method returning True
- Add separate CI badges for each OS
- Add sponsor button
0.0.57 2024-07-28T18:21:59+02:00
- Disable ":max-matches-per-source" if ":unique", ":frequencies",
":classify" or ":categorize" have been specified
- Replace dependency on "hyperize" by "ParaSeq", and re-design
some internals so that large files (with more than 2K lines)
will be hyperized
- No longer eagerly create result Slips, as these will probably
do too much, but rely on the result sequences lazily if possible
0.0.56 2024-05-14T14:18:49+02:00
- Only hyperize large files if we don't have a maximum number
of matches. This is really a stopgap measure until we can
actually terminate something hypered immediately
0.0.55 2024-05-14T12:46:38+02:00
- Fix issue with ":unicode" option
0.0.54 2024-05-14T12:13:55+02:00
- If an IO::Path as source is more than 2MB, then the producer
of that file will be hyperized for better performance when
e.g. searching a single (large) file
0.0.53 2024-05-13T15:24:36+02:00
- Rename option ":sort" to ":sort-sources" to be more clear
about its function
- Remove the "stats" attribute from the Rak object, replace
them by "nr-sources", "nr-items", "nr-matches", "nr-passthrus"
and "nr-changes" methods and a "stats" method that will return
a Map with these counters (for compatibility with previous
versions)
- Add ":progress" option, for displaying search progress and
export associated Progress object
- Add ":sort" option, to sort result (currently only if ":unique"
has also been specified
- Fix race conditions with ":unique", ":classify", ":categorize"
0.0.52 2024-05-09T13:49:19+02:00
- Bump dependency on path-utils to fix issue with unreadable
files and the :is-text filesystem test
0.0.51 2024-05-08T21:56:49+02:00
- Bump dependency on path-utils to fix issue with ":is-moarvm"
on module precomp files with many dependencies
0.0.50 2024-05-08T15:04:54+02:00
- Bump dependency on path-utils to fix issue with ":is-pdf"
on files that are too small
0.0.49 2024-05-08T11:59:39+02:00
- Bump dependency on path-utils
- Add support for ":is-pdf" argument
0.0.48 2024-04-29T20:38:00+02:00
- Bump dependency on path-utils
- Add support for ":is-moarvm" argument
- Update copyright year
0.0.47 2022-11-23T13:05:35+01:00
- Bump dependency on Git::Files properly
0.0.46 2022-11-23T12:54:09+01:00
- Bump dependency on Git::Files to sync up path-utils version
0.0.45 2022-11-19T19:53:24+01:00
- Fix issue with :is-text test on unreadable files, again
spotted by Márton Polgár.
- Bumped dependency on paths to get more comprehensive and
better readability checks
0.0.44 2022-11-18T17:31:34+01:00
- Fix issue with :files-from<-> and :paths-from<->, spotted by
Márton Polgár
0.0.43 2022-11-17T18:54:54+01:00
- Make sure that data fetched from URLs produce strings for the
file filter property checks to be performed without issues.
0.0.42 2022-11-14T18:06:01+01:00
- Bump dependency on "path-utils" to get "path-is-text" support
- Add support for ":is-text" argument
- Remove dependency on Data::TextOrBinary
- No longer look whether files without extension are binary:
this should now explicitely be specified with :is-text
0.0.41 2022-11-12T12:52:16+01:00
- Make ":dont-catch" actually work
0.0.40 2022-11-11T19:01:50+01:00
- Bump dependency on paths to get support for ":!file" as a way to
fetch directory paths, rather than file paths
- Document specification of ":!file" to get directory paths only
0.0.39 2022-11-08T11:04:01+01:00
- Add dependency on Data::TextOrBinary
- Files without extension that look like they're binary, will
not be searched (at least for now)
0.0.38 2022-10-20T15:46:42+02:00
- Add support for ":ioify" argument, indicating the code that
should be used convert a path into an object on which
.lines and .slurp can be called
0.0.37 2022-10-16T14:16:36+02:00
- Add support for ":sort" argument, to sort sources
0.0.36 2022-10-15T21:37:20+02:00
- Bump dependency on path-utils to fix issues with testing
- Bump dependency on Git::Files to fix issues with testing
0.0.35 2022-10-12T14:23:38+02:00
- Fix issue with :unique|classify|categorize when being given
a Seq rather than something Listy
- Make default stringification of PairContext/PairMatched objects
a bit more intuitive
0.0.34 2022-10-11T15:36:32+02:00
- Add support for ":classify" and ":categorize"
0.0.33 2022-10-07T23:16:07+02:00
- Add support for ":accept" and ":deny"
0.0.32 2022-10-07T12:44:51+02:00
- Support URLs as path/file specifications, needs 'curl'
0.0.31 2022-10-06T14:33:17+02:00
- Make sure that ":find" doesn't eagerize either
0.0.30 2022-10-02T17:49:27+02:00
- Make sure reading from STDIN does not eagerize to allow
tail -f sources to work
0.0.29 2022-09-29T01:20:05+02:00
- Make sure that not specifying ":dir" or ":file" will actually use
the defaults that "paths" assume for ":dir" and ":file"
0.0.28 2022-09-27T21:41:23+02:00
- Fix version dependency snafu
0.0.27 2022-09-27T21:04:28+02:00
- Bump dependency of Git::Files to fix deadlock on large repos
- Bump dependency of path-utils for Windows fixes
0.0.26 2022-09-25T21:51:39+02:00
- Add support for :old-new
0.0.25 2022-09-24T16:46:02+02:00
- Fix issue with path "-" and reading from STDIN if $*IN.t
- Fix issue with checking for readability when reading from STDIN
0.0.24 2022-09-23T18:08:09+02:00
- Add support for ":mapper" if ":sources-only" or
":sources-without-only" has been specified
- Fix issue when using both :before-context and :after-context
- Fix issue when trying to read lines from files that do not exist,
or which are not readable.
- Make ":produce-on"e expect Nil for failure to produce
- ":produce-one" now implies ":omit-item-number"
0.0.23 2022-09-20T13:38:57+02:00
- Fix issue with ":under-version-control", to handle files that have
been removed (or 'git mv'ed), but which haven't been committed yet.
- Bump dependency on path-utils, because we can
- Add dependency on Git::Files: it handles ":under-version-control"
semantics more correctly than the local code did
0.0.22 2022-09-11T22:45:09+02:00
- Add ":eager" option for eager evalution
0.0.21 2022-09-04T23:23:07+02:00
- Git submodules are also followed with ":under-version-control"
- No longer assume ":under-version-control" if no path specified
and the current directory is top dir in git repo: it was too
magic and confusing
- Fix issue with ":quietly"
- Properly hyperize the sources sequence
0.0.20 2022-09-04T13:20:22+02:00
- Add support for ":exec" and ":shell"
0.0.19 2022-08-31T12:10:51+02:00
- Remove ":file" / ":dir" specification if defaulti
":under-version-control" is active
- Remove unused dependency on "has-word", that lives in App::Rak now
- Ignore git submodules for now when ":under-version-control" is active
0.0.18 2022-08-30T00:08:33+02:00
- Fix synopsis in pod
- Assume ":under-version-control" if only searching current
directory *and* the directory looks like it is the top
directory of a git repository.
0.0.17 2022-08-29T11:08:06+02:00
- Add support for ":sources-without-only"
0.0.16 2022-08-27T15:44:46+02:00
- Make sure $*SOURCE is set to indicate the current source of
items to check
- Bump dependency on "path-utils"
- Add support for ":has-setgid"
- Add support for ":has-setuid"
- Add support for ":is-sticky"
0.0.15 2022-08-27T12:21:06+02:00
- Clarification about the relation between PairContext and
PairMatched
- Attempt to upload to fez again, as it appeared to have eaten the
previous release
0.0.14 2022-08-27T00:15:28+02:00
- Make PairMatched a subclass of PairContext, so that we can check
on the PairContext type to see if it is a "normal" line number /
line | produced value case
- Changed name of ":omit-item-numbers" to ":omit-item-number" for
consistency
- Changed name of ":passthru-context" to ":passthru", as it will
*always* pass through all lines, even if there is no match.
So there's not really a concept of context at work here
- Add support for ":passthru-context", which will only produce
all items *if* there is at least one match
- Bump dependency on "path-utils"
- Add support for ":is-owner-readable"
- Add support for ":is-owner-writable"
- Add support for ":is-owner-executable"
0.0.13 2022-08-23T22:58:57+02:00
- Add support for ":under-version-control"
- Change semantics of matcher returning Empty: now means no match
- Fix ":invert-match" logic
0.0.12 2022-08-23T13:00:04+02:00
- Make matcher returning Nil act the same as False. This can
typically happen in a pattern with a try and an execution error
- Add support for ":frequencies"
0.0.11 2022-08-22T21:08:35+02:00
- Fix issue with ":paragraph-context"
0.0.10 2022-08-20T14:51:48+02:00
- Make sure we stop trying to match if we reached number of required
matches (rather than trying once more)
- Add support for :sources-only
0.0.9 2022-08-19T14:17:48+02:00
- Remove ":is-git-repo" and ":is-github-repo" arguments: they would
never fire as the checks are only applied to files, and those
are directory level checks.
- Recognize &defined to be used as a "noop" producer of matches,
to allow e.g. a bare :find without pattern to produce all files.
- The return result is now always a Rak object
0.0.8 2022-08-17T23:52:03+02:00
- Changed return value of rak to always be a Pair, with
either an Exception / Map with stats as key, and a potentially
empty Iterable as value
- Change ":count-only" to ":stats-only"
- Make sure explicit producer get an IO::Path instead of a string
- Add ":omit-item-numbers" to get faster/leaner data-structures
if item numbers are not needed
- Made sure that source is always an IO::Path object, unless the
sources were specified with :sources, or reading from STDIN
0.0.7 2022-08-17T13:25:56+02:00
- Split ":producer" into ":produce-one" and ":produce-many"
- Add support for ":max-matches-per-source"
- Fixed thread-safety issue with generation of context items
- Only use "lines" in docs if really about lines of text, else
use the more generic "items" mnemonic.
0.0.6 2022-08-16T22:14:26+02:00
- Rename ":recurse-symlink" to ":recurse-symlinked-dir" for clarity
- Rename ":with-line-endings" to ":with-line-ending" for consistency
- Add support for ":recurse-unmatched-dir"
- Add warning when reading from STDIN and there's a human attached
- Prefixed all boolean path filters with "is-" for clarity
- Removed :per-file and :per-line, we only need a :producer semantics
0.0.5 2022-08-16T11:03:40+02:00
- Add support for ":with-line-endings"
0.0.4 2022-08-15T22:30:44+02:00
- Add support for ":count-only"
- Fix issue with laziness of match list of a source
0.0.3 2022-08-15T10:55:39+02:00
- Add support for ":git-repo" and ":github-repo" path selection options
- Actually make ":group-readable" work correctly
0.0.2 2022-08-14T16:53:38+02:00
- Change undocumented ":follow-symlinks" flag into documented
":recurse-symlink" flag.
- Add support for ":unique" flag
0.0.1 2022-08-14T14:23:56+02:00
- Re-implementation of core of App::Rak 0.47 as plumbing
- Added features:
- many file property filters
- support for mapping functionality
- abstract sources
- generic "per-file" logic