Help language development. Donate to The Perl Foundation

App::Rak zef:lizmat last updated on 2023-01-17

Changes
Revision history for App-Rak

0.2.17  2023-01-17T17:52:09+01:00
     - Allow postcircumfix [] on strings to index into the .words of
       the string.  This looks like it is the most useful functionality
       within the context of Raku code patterns
     - Default to *not* showing line numbers when reading from STDIN.
       Feels to me that is the most sane thing to do
     - Update copyright year
     - Default to --/is-text with --find, Márton Polgár++

0.2.16  2022-12-01T22:15:50+01:00
     - Turn the jp() specification inside a code pattern into a
       macro as it were, removing the need to specify quotes.  So
       { ~jp("auth") } should now be specified as { ~jp(auth) }
     - Allow more than one call to the jp() macro in a code pattern,
       allowing for things like {~jp(name) if jp(auth) eq "zef:lizmat"}
       as a pattern

0.2.15  2022-11-30T12:51:22+01:00
     - A pattern must be specified at least.  If a search without
       pattern is needed, one can use --pattern=
     - Make sure compilation on older Rakudos doesn't break because
       of lack of NYI subroutine

0.2.14  2022-11-24T22:31:37+01:00
     - Fix some verbosity when reading from STDIN
     - Merge consecutive regexes in multi-part needle into a
       single regex

0.2.13  2022-11-23T22:43:08+01:00
     - Introduce the $*_ dynamic variable inside { } patterns
     - Add --type=json-path for JSON path support
     - Add jp: in a pattern as shortcut for JSON path support

0.2.12  2022-11-23T13:07:47+01:00
     - Bump dependency on rak properly

0.2.11  2022-11-23T12:56:41+01:00
     - Make --unicode option about 2x as fast with hypering
     - Add .ipynb as additional extension in the #python group
     - Add * as a way to indicate all known --extensions
     - Remove --known-extensions in favour of --extensions=*
     - Bump dependency on rak to sync up path-utils/Git::Files

0.2.10  2022-11-19T20:01:25+01:00
     - Bump dependency on "rak" to get readability fixes

0.2.9  2022-11-18T17:34:39+01:00
     - Bump dependency on "rak" to get --files|paths-from=- fix
     - Can not use --paths=- to read paths from STDIN, please use
       --paths-from=- instead

0.2.8  2022-11-18T13:33:16+01:00
     - Bump dependency on "rak" to get IO hiding fix for data fetched
       from URLs.
     - Fix issue with --find --/human spotted by Márton Polgár
     - Make sure that --help=section will also run through any pager

0.2.7  2022-11-16T13:12:17+01:00
     - Add support for --headers argument, which is a sub-option of
       --csv-per-line, which now will assume a header line in the
       CSV file per default, and will produce hashes per line, keyed
       to the column name.
     - Added some basic --csv-per-line author tests
     - Fix issue with --type= information not being authoritative,
       spotted by Márton Polgár

0.2.6  2022-11-14T18:15:53+01:00
     - Bump dependency on rak to get "is-text" support
     - Add "is-text" option to indicate selecting files with text
       rather than with binary data.  Made that also the default
       rather than --known-extensions.  Can specify --/is-text to
       select files with binary data, but that only makes sense
       when --find is also specified for now.  Refuse to search
       binary files otherwise (at least for now).

0.2.5  2022-11-11T19:04:06+01:00
     - Fix issue with pager setting being ignored in some (obvious)
       cases
     - Ensure that "less" and "more" are called raw by default, to
       make sure highlighting is shown properly
     - Bump dependency on rak to get directory only search support
     - Allow --/file --find to just search paths of directories

0.2.4  2022-11-10T14:01:43+01:00
     - Fix issue with bare literal * being interpreted as a
       Whatever, rather than as a literal '*'
     - Fix issue with --backtrace without file containing backtrace
     - Bump dependency on rak to auto-skip binary files without
       extension
     - Add dependency on Backtrace::Files
     - Add support for --execute-raku
     - Add #js group of extensions, add .css to #html group

0.2.3  2022-11-05T11:56:14+01:00
     - Up dependency on String::Utils to get "has-marks" support
     - Add support for --smartmark
     - Fix issue with --edit --find

0.2.2  2022-11-02T13:11:04+01:00
     - Change default for --proximate to off always, instead of 1
       when --human is (implicitly) specified
     - Fix issue with regex patterns in --patterns-from, spotted by
       Zer0-Tolerance++
     - Documentation tweaks

0.2.1  2022-10-30T12:50:04+01:00
     - Add support for --type=equal
     - Add support for ^string as a shortcut for --type=starts-with
     - Add support for string$ as a shortcut for --type=ends-with
     - Add support for ^string$ as a shortcut for --type=equal
     - Add support for §string as a shortcut for --type=words
     - Bump dependency on highlighter to get support for "equal" and
       the Type role for annotating strings with a type of search
     - Rewrote the "pattern" section in the documentation, to give
       a better overview from the start

0.2  2022-10-28T13:38:31+02:00
     - Add support for --patterns-from
     - Add support for --type=auto|regex|code, make --type leading
     - Fixed a (implicit) --smartcase blocking use of --unicode
     - Bumped dependency on highlighter to get multiple needle support
     - Fix issue with handling unknown extension groups, Mustafa Aydın++

0.1.12  2022-10-22T13:04:37+02:00
     - Add dependency on IO::Path::AutoDecompress to make
       --auto-decompress option an option that is always available
     - Bump dependency on String::Utils to get "non-word"
     - Make regexes that consist of a literal string of word characters
       only, use the much faster .contains logic on the literal string,
       rather than going the full regex way

0.1.11  2022-10-20T16:01:39+02:00
     - Add support for --auto-decompress
     - Bump dependency on rak to get :ioify functionality

0.1.10  2022-10-19T13:10:02+02:00
     - Introduce $*N dynamic variable to the pattern of --rename-files
       and --modify-files.
     - Make --modify-files repeatable by sorting the paths
     - (Implicitely) specifying --smartcase in situations where it does
       not make sense, is now silently ignored, just like --ignorecase
       and --ignoremark
     - Fix issue in loading of "sourcery" check
     - Fix issue with divider in --help search results
     - Fix issue with searching as if --find-all was active by default

0.1.9  2022-10-16T14:40:53+02:00
     - Bump dependency on rak to get :sort functionality
     - Make --rename-files repeatable by sorting the paths
     - Fix spello in --dryrun in runtime documentation

0.1.8  2022-10-15T21:39:16+02:00
     - Bump dependency on rak to fix issue with testing that would
       inhibit installing App::Rak

0.1.7  2022-10-15T16:03:10+02:00
     - Refurbish the --help functionality by allowing it to search
       help subjects.
     - Remove dependency on CLI::Help, it is no longer convenient to
       use for rak

0.1.6  2022-10-14T22:40:31+02:00
     - Fixed various issues with saving custom options, specifically:
       - not saving some flags
       - not being able to indicate a required value (aka --foo=!)
       - not being able to indicate a default value (aka --foo=[bar])
     - Allow ∞, * and Inf with --only-first to indicate all possible
       results
     - Fix issue with showing description on non-flag options
     - Use RAK_CONFIG= to not load any custom options (including defaults)

0.1.5  2022-10-13T17:12:00+02:00
     - Bump dependency on as-cli-arguments for better quoting rules
     - Fix issue with message when removing a custom option
     - Show single letter custom options with a single dash
     - Allow for saving default options to be activated on each run
     - Introduce RAK_CONFIG environment variable for location of custom
       options
     - Added documentation section "On the interpretation of options"
     - Expanded documentation section "Creating your own options"

0.1.4  2022-10-12T14:55:51+02:00
     - Add support for --output-dir
     - Bump dependency on rak get some fixes
     - Fix two cases of unexpected leftovers

0.1.3  2022-10-11T15:46:55+02:00
     - Bump dependency on String::Utils to get support for ngram
     - Bump dependency on rak to get :classify and :categorize support
     - Add support for --classify and --categorize

0.1.2  2022-10-08T23:57:41+02:00
     - Bump dependency on rak to get URL support as file specification,
       and support for --accept and --deny
     - Allow for multiple ecosystem specs with --ecosystem
     - Add support for --description

0.1.1  2022-10-06T14:35:22+02:00
     - Add support for --sourcery
     - Add support for --ecosystem
     - Fix issue with --list-custom-options
     - Fix issue with some custom options being saved incorrectly
     - Allow for negation of custom options that were saved as False
     - Bump dependency on rak to have --find not be eagerized.
       Unfortunately, this still doesn't solve the issue of the
       iterator being held up somewhere / somehow until all values
       have been produced

0.1  2022-10-02T20:04:39+02:00
     - The first official beta-version of App::Rak.  With fleshed
       out documentation for all arguments from the command line
     - Bump dependency on rak to get default for :dir/:file fix
       and non-eagerizing when reading from STDIN
     - Make sure --find-all is actually handled
     - Support --per-line also with a Callable producer
     - Properly stringify any Buf returned by a matcher as a list
       of integers
     - Rename --show-line-number to --show-item-number to make it
       more in line with the concept of producers producing items
     - Make dependency on Edit::Files optional
     - Fix issue with --modify-files losing line-endings
     - --edit and --find can now be used together again
     - Allow a Callable to be specified with --degree
     - Bump dependency on highlighter to fix --matches-only behaviour

0.0.99  2022-09-27T22:12:15+02:00
     - Add support for --unicode
     - Workaround Raku issue with coercion to Str with highlighting
     - Fix issue with non-matching incomplete flags, such as --tri
     - Make non-empty Slip return values from Callables DTRT
     - Add documentation on possible return values of Callable patterns
     - Bump dependency on rak for deadlock issues caused by Git::Files
     - Fix issue with --blame-per-file not honoring e.g. --unique
     - Fix issue with --blame-per-line not honoring e.g. --unique
     - Fix issue with --json-per-file not honoring e.g. --unique
     - Fix issue with --json-per-line not honoring e.g. --unique
     - Fix issue with --json-per-elem not honoring e.g. --unique

0.0.98  2022-09-26T19:49:26+02:00
     - Bump dependency on rak to get :old-new support
     - Bump dependency on CLI::Help for unknown category fix
     - Add support for --rename-files
     - Add support for --absolute

0.0.97  2022-09-24T20:30:23+02:00
     - Add extensions groups for #cro and #html
     - Bump dependency on rak for various fixes
     - Bump dependency on String::Utils to get selective importing
     - Bump dependency on as-cli-arguments to get Pair support
     - Complete rewrite of argument handling.  Instead of feeding the
       command line arguments into Capture to call MAIN with, process
       all command line arguments in order and group them into areas
       of interest / appropriate actions.  This reduces the number of
       checks that need to be made to figure out what to do, and makes
       it possible to produce better error reports with regards to the
       options specified on the command line.
     - Add support for --proximate
     - Add support for --human back in
     - Add support for --json-per-elem
     - Add support for --dont-catch
     - Change dependency from JSON::Fast to JSON::Fast::Hyper to allow
       for hypering --json-per-elem
     - Fix issue with using a regex and --edit
     - Bump dependency on META::constants for more resiliency
     - Bump dependency on CLI::Version for more resiliency
     - Document the --exec and --shell options
     - Document --only-first properly (instead of as --first-only)

0.0.96  2022-09-12T12:07:41+02:00
     - Fix snafu with argument parsing rework bleeding into the
       distribution

0.0.95  2022-09-11T22:47:42+02:00
     - Fix issue with specifying --extensions, finanalyst++ for spotting
     - Bump dependency on rak for :eager support

0.0.94  2022-09-04T23:26:02+02:00
     - Fix issue with error reporting of unknown options
     - Fix issue with reading from STDIN
     - Fix issue with codification of extensions to allow
     - Fix issue with --show-blame
     - Bump dependency on rak for various fixes

0.0.93  2022-09-04T13:45:08+02:00
     - Improve usability of the --accessed, --created, --modified
       and --meta-modified options so that comparisons are done using
       epoch values, and there's an easy way to indicate a moment in
       the past to compare against.  Included extensive documentation
       for these features
     - Bump dependency on rak for :exec and :shell functionality
     - Add support for --exec and --shell functionality
     - Fix issue with --checkout having leftovers
     - Fix issue with multiple alternatives but with an exact match

0.0.92  2022-09-02T14:44:38+02:00
     - Add --max-matches-per-file option
     - Add --accessed, --created, --meta-modified, --modified options
     - Add better error handling, including "Did you mean"

0.0.91  2022-08-31T12:14:16+02:00
     - Make --find / --edit combination work
     - Document / Refine the --rak debugging option
     - Add --paths option, for specifying paths as named argument
     - Bump dependency on "rak" to get uvc fix
     - Hopefully workaround spesh issue causing execution errors

0.0.90  2022-08-30T23:53:04+02:00
    - A complete rework of the internals.  Instead of having its own
      internal engine, now depends on the new "rak" module for the
      plumbing.
    - All of the options of earlier versions should still work, albeit
      with maybe a changed name, or slightly different (better) semantics.
    - Many, many new options available, most notably:
      - many options for selecting files from path properties
      - support for CSV files, based on Text::CSV
      - can now look into whole file if necessary, rather than by line
      - integrated statistics and frequencies options
      - git checkout on partial names
      - made some external dependencies optional
    - This now starts the path to version 0.1, the first official beta
      release.

0.0.47  2022-08-09T12:59:56+02:00
    - Make sure you can specify a ~/file with --files-from and
      --paths-from

0.0.46  2022-08-09T12:04:24+02:00
    - Allow for ~ to indicate home directory with specifications in
      --paths-from and --files-from.  SmokeMachine++ for the suggestion

0.0.45  2022-08-07T23:09:01+02:00
    - Make "jsonl" default extension with --json-per-line
    - Bump dependency on Git::Blame::File to get shortened sha support
    - Add --unique option to only show unique produced lines
    - Add --list-known-extensions option as an informational aid
    - Fleshed out the help/input section a bit
    - Bumped dependency on CLI::Version to be more lenient with error
      checking

0.0.44  2022-08-07T13:50:07+02:00
    - Fix issue with just --quietly
    - Make "json" default extension with --json-per-file
    - Fix "useless use" warning with some cases of WhateverCode as pattern
    - Make legit warnings from processing Callable needles lose their
      location in code, as it serves no purpose and is only noise
    - Bumped dependency on CLI::Help to get better handling of --help foo
    - Mention --help when complaining about unexpected options
    - Make extension checks always lowercase

0.0.43  2022-08-06T23:59:18+02:00
    - Make --ignorecase, --ignoremark, --smartcase also work on regular
      expressions (by inserting :i / :m into the regex before EVALling)

0.0.42  2022-08-06T16:36:52+02:00
    - Fix issue with --count-only
    - Use --verbose instead of --files-with-matches with --count-only
    - Direct filename specification bypasses extension checks
    - Fix some pod issues, Anton Antonov++

0.0.41  2022-08-06T14:22:07+02:00
    - Add --quietly to stop warnings in Callable needle execution.
      For now only in those options that require code needles
    - Add dependency on Trap for --silently support
    - Add --silently to stop any output in Callable needle execution.
      For now only in those options that require code needles

0.0.40  2022-08-05T17:12:19+02:00
    - Add dependency on String::Utils, for "is-sha1" and "before"
    - Skip filenames that are SHA1's (aka precompiled source) by default
    - Make sure you can call "rak" with a Callable as a needle

0.0.39  2022-08-05T10:54:49+02:00
    - Bump dependency on Git::Blame::File because then it will install
    - Unexpected Boolean options that are False are now acceptable
    - Die instead of exit if called as "rak"

0.0.38  2022-08-04T15:28:49+02:00
    - Bump dependency on CLI::Version to get more leniency
    - Export "rak" subroutine by default, adapt bin/rak accordingly

0.0.37  2022-08-04T00:18:12+02:00
    - Bump dependency on Git::Blame::File to get Failure fix

0.0.36  2022-08-03T22:54:58+02:00
    - Bump dependency on CLI::Version
    - Bump dependency on Files::Containing to fix searching with Callable
    - Add .ini extension in the #config group
    - Make --known-extensions default for human users

0.0.35  2022-07-31T22:21:23+02:00
    - Bump dependency on Files::Containing to get $*IO support and
      support for running FIRST / NEXT / LAST phasers
    - Add support for $*IO in Callable needles
    - Fix various small bugs

0.0.34  2022-07-30T12:35:53+02:00
    - Split off documentation into separate .rakudoc file
    - Added .rakudoc and .pod6 to the raku extensions list
    - Added support for FIRST, NEXT and LAST phasers if the needle
      is a Callable
    - Changed description to be more descriptive
    - Some more pod cleanup

0.0.33  2022-07-29T21:33:26+02:00
    - Fix issue with multiple matches inside the same paragraph with
      --paragraph-context
    - Fix issue with #raku, #text and #perl extension groups

0.0.32  2022-07-29T17:23:05+02:00
    - Add "paragraph-context" option to show paragraph around match,
      Eric de Hont++ for the suggestion

0.0.31  2022-07-28T23:46:56+02:00
    - Bump dependency on Git::Blame::File to get latest fixes
    - Add -blame-per-line option to filter on `git blame` objects

0.0.30  2022-07-28T14:02:10+02:00
    - Add dependency on Git::Blame::File
    - Add --show-blame option to show `git blame` output if possible

0.0.29  2022-07-28T00:19:30+02:00
    - Fix off-by-one in line number in --vimgrep output, Damian++

0.0.28  2022-07-26T14:14:02+02:00
    - Add --smartcase option like --ignorecase without uppercase
    - Add --vimgrep option for integration into the :grep feature of vim
    - Made "Creating your own options" documentation more prominent

0.0.27  2022-07-25T22:12:00+02:00
    - Add --known-extensions to allow only known extensions
    - Add --passthru option to allow only highlighting
    - Add --pager option to page through output
    - Add support for #python, #ruby, #markdown, #text extensions

0.0.26  2022-07-24T23:53:03+02:00
    - Add --list-expanded-options option for debugging
    - Add --extensions option to specify extensions to look for

0.0.25  2022-07-24T17:53:12+02:00
    - Add --paths-from option to read paths from a file
    - Add --files-from option to read filenames from a file

0.0.24  2022-07-24T16:44:28+02:00
    - Add --find option to interprete selected paths as lines
    - Add -json-per-file option when reading from STDIN
    - Fix handling of "-" as a positional parameter
    - Fix handling of STDIN if a human is typing
    - Bump dependency of "as-cli-arguments" for fixes

0.0.23  2022-07-23T22:17:46+02:00
    - Bump dependency on Files::Containing to get "has-word"
    - First working version of reading lines from STDIN

0.0.22  2022-07-22T17:13:41+02:00
    - Make --json-per-line actually work
    - Add "count-only" support to json-per-line
    - Bump dependency on CLI::Help to inhibit -h from triggering
    - Bump dependency on CLI::Version to inhibit -v from triggering
    - Fix issue with options indicating False

0.0.21  2022-07-22T14:09:00+02:00
    - Rename --list-additional-options to --list-custom-options
    - Rename --json to --json-per-file
    - Add option --json-per-line to check each line for JSON
    - Allow specification of value with option replacement

0.0.20  2022-07-21T14:24:45+02:00
    - Add option --json to check JSON files only

0.0.19  2022-07-21T13:07:22+02:00
    - Add option --dry-run to *not* actually make any changes
    - Add option --backup to make backups of any modified files
    - Add initial version of all help sections

0.0.18  2022-07-20T23:14:37+02:00
    - Add option --file-separator-null to get \0 between filenames
    - Allow --no-foo as alternative to --/foo
    - Add option --modify-files to modify content of files with Callable

0.0.17  2022-07-20T12:52:44+02:00
    - Rename --I option to --repository to get away from Perlishness
    - Rename --M option to --module for better clarity
    - Rename option --no-filename to --show-filename for consistency
    - Rename option --line-number to --show-line-number for consistency
    - Add option --break to determine breaking between matches of files
    - Add option --group-matches to only mention filename once
    - Adapt documentation

0.0.16  2022-07-19T17:15:09+02:00
    - Bump dependency on "highlighter" to get ":type<ends-with> support
    - Bump dependency on "Files::Containing" to get ":type" support
    - Add support for --type functionality
    - Initial version of --help documentation

0.0.15  2022-07-19T12:03:57+02:00
    - Add support for -I functionality
    - Add support for -M functionality
    - Worked a bit on the pod

0.0.14  2022-07-18T20:47:50+02:00
    - Add dependency on META::constants
    - Add dependency on CLI::Help to get --help support
    - Make sure that option replacements occur recursively
    - Bump dependency on "Files::Containing" to get :count-only
      functionality
    - Add support for --count-only functionality
    - Cleaned up Changes

0.0.13  2022-07-17T10:17:34+02:00
    - Fix issue when there was no config file available
    - Remove mentions of now removed option names
    - Allow editor to be named with --edit

0.0.12  2022-07-16T22:17:25+02:00
    - Process option substitutions in the order they are specified
    - Remove all aliases for each option: each option can only be accessed
      by default using a single (long) name, for clarity.  Users can add
      their own shortcuts with --save, or add a set from someone adhering
      to either "grep", "ack" or "ag" options
    - Changed wording in documentation to refer to "options" if they are
      about optional named arguments on the command line
    - Change "list-tags" option to "list-additional-options", to be more
      in line with names used

0.0.11  2022-07-16T13:29:57+02:00
    - Remove "--with" option: you can now use any saved option directly,
      without having to use --with
    - Bump dependency on "highlighter" to get colum fix for regexes
      and fix for highlighting on regexes issue
    - Bump dependency on "Edit::Files" to not call editor if nothing to
      edit

0.0.10  2022-07-15T23:39:04+02:00
    - Up dependency on "Edit::Files" in code as well  :-(

0.0.9  2022-07-15T23:29:55+02:00
    - Up dependency on "Edit::Files" to get nvim support
    - Add support for --pattern, allowing pattern to be saved with --save

0.0.8  2022-07-15T15:59:26+02:00
    - Add dependency on "JSON::Fast"
    - Add support for --save=tag functionality
    - Add support for --with=tag1,tag2 functionality
    - Add support for --list-tags functionality

0.0.7  2022-07-15T12:55:35+02:00
    - Bump dependency on "highlighter" to get "columns" support
    - Add scaffolding and documentation for --replace-files argument
    - Add dependency on "Edit::Files"
    - Add support for "--edit" argument to edit the search result

0.0.6  2022-07-14T12:52:34+02:00
    - Allow for multiple paths to be specified
    - Bump dependency on Files::Containing to be up-to-date
    - Add -h / --no-filenames argument to *not* show filenames
    - Add -n / --line-number argument to show line numbers
    - Add dependency on "as-cli-arguments" for better error reporting
    - Remove some premature optimizations

0.0.5  2022-07-10T15:26:55+02:00
    - No longer follow symlinked directories by default
    - Bump dependency on Files::Containing to get :follow-symlinks
      capability
    - Add -S / --follow-symlinks arguments to follow symlinked directories

0.0.4  2022-07-09T14:22:33+02:00
    - Fix actual dependency on CLI::Version, spotted by CI

0.0.3  2022-07-09T13:59:14+02:00
    - Bump dependency on Files::Containing to get new semantics if
      a Callable is specified as the pattern
    - Bump dependency on highlighter to be able to use the
      :summary-if-larger-than feature
    - Bump dependency on CLI::Version just for the sake of it
    - Improved internal documentation

0.0.2  2022-06-26T15:12:36+02:00
    - Added a lot of functionality and a lot of pod.  Still a lot
      of work to do.  Suggestions welcome!

0.0.1  2022-06-21T13:41:02+02:00
    - Initial version