0.481 2022-08-28 Released-By: PERLANCAR; Urgency: medium - Don't require 'cmdline' in 'extras' argument to get summary; also search for summaries for common options in 'r' (in key 'common_opts'). 0.480 2020-09-09 Released-By: PERLANCAR; Urgency: medium - Use alias summary provided in func.specmeta (produced by Perinci::Sub::GetArgs::Argv 0.845+). 0.479 2020-04-16 Released-By: PERLANCAR; Urgency: medium - When completing option value for --opt=^ and option name is ambiguous, return an array of all possible option names in 'opt' argument instead of undef; so the completion routine can decide to provide all completion values. 0.478 2020-04-16 Released-By: PERLANCAR; Urgency: medium - [bugfix] For an optional with optional value (optname:s), when user specify --optname=^ (and not --optname ^) then we should force only completing value. 0.477 2020-04-10 Released-By: PERLANCAR; Urgency: medium - Better compliance with Getopt::Long: Recognize (and ignore) hash storage in first argument of Getopt::Long specification. 0.476 2020-04-10 Released-By: PERLANCAR; Urgency: high - Better compliance with Getopt::Long: options specification is now an array instead of a hash. Not every option spec needs to be followed by a destination, e.g. ['foo=s' => $ary, 'bar'] is okay instead of {'foo=s' => $ary, 'bar'=>sub {}}. The hash form is still accepted but converted into array internally. 0.475 2020-02-05 Released-By: PERLANCAR; Urgency: medium - Observe COMPLETE_GETOPT_LONG_DEFAULT_{ENV,FILE}. 0.474 2019-12-20 Released-By: PERLANCAR; Urgency: low - (Re-)enable tracing log statements, now only enabled on COMPLETE_GETOPT_LONG_TRACE=1. 0.473 2019-12-19 Released-By: PERLANCAR; Urgency: medium - Adjust to Complete::File 0.440 which now returns hash answer with path_sep already set to /. 0.472 2019-09-10 Released-By: PERLANCAR; Urgency: low - No functional changes. - [test] Adjust tests against Complete::Util 0.603 which no longer re-sorts entries [RT#130349]. 0.471 2019-06-26 Released-By: PERLANCAR - Remove argument 'summaries' to complete_cli_arg(). For now, use Perinci::CmdLine-related information only. Instead of the naive 'summaries' hash (with optspec as key), which does not suffice at all, complete_cli_arg() for now only uses information which is Perinci::CmdLine-specific (in 'extras' -> 'cmdline', 'r', 'ggls_res'). Basically, complete_cli_arg() wants to know whether it is a "negative option" and picks an appropriate summary from the DefHash/Rinci, and so on. 0.470 2019-06-25 Released-By: PERLANCAR - Add argument 'summaries' to complete_cli_arg(). 0.46 2017-01-13 Released-By: PERLANCAR - No functional changes. - Remove dependency on Log::Any::IfLOG. 0.45 2016-11-04 Released-By: PERLANCAR - [Bugfix] More bug fixes for completing short option bundle: -S^ (where -S requires value) was completed directly with the values, it should be consistent with -fS^ which completes to [-fS] to give space. So S^ completes to [-S]. 0.44 2016-11-04 Released-By: PERLANCAR - [Bugfix] Fix bugs completing short option bundles: -abcd^ was regarded as completing -a^ (bcd was removed), -sVAL^ was not completable, -abcs^ was not completed as [-abcs] to give automatic space. 0.43 2016-10-28 Released-By: PERLANCAR - [Bugfix] Properly fill 'parsed_opts' with all the option values, not just the first one. 0.42 2016-09-27 Released-By: PERLANCAR - [Bugfix] Avoid perl error "Can't use an undefined value as a subroutine reference" when there is no 'completion' argument passed to complete_cli_arg() (thanks Mary Ehlers). 0.41 2016-02-03 Released-By: PERLANCAR - No functional changes. - Adjust to Complete::Bash 0.27. 0.40 2016-01-23 Released-By: PERLANCAR - Adjust to Complete::Bash 0.25. - Handle (ignore) special option spec '<>' [RT#110991]. 0.39 2016-01-07 Released-By: PERLANCAR - Don't bother providing completion of option names if word doesn't start with -, this starts causing problem after Complete::Util::complete_array_elem() has char_mode matching which means in Perinci::CmdLine completing for subcommand names can still get option names. 0.38 2015-12-30 Released-By: PERLANCAR - Adjust to Complete::Bash 0.23. - Bump prereq version Log::Any::IfLOG to 0.07. 0.37 2015-09-22 Released-By: PERLANCAR - [Bugfix] Forgot to update one function call. 0.36 2015-09-17 Released-By: PERLANCAR - Adjust to Complete::Util 0.36 (complete_file() & complete_env() split to Complete-File & Complete-Env). 0.35 2015-09-17 Released-By: PERLANCAR - No functional changes. - Adjust to Complete::Util 0.37 (rename complete_array() to complete_array_elem()). 0.34 2015-09-09 Released-By: PERLANCAR - No functional changes. - [dist] Move spec prereqs from RuntimeRequires to DevelopRecommends to reduce deps but still allow indicating spec requirement. 0.33 2015-09-03 Released-By: PERLANCAR - No functional changes. - [dist] Move spec prereqs from RuntimeRequires to DevelopRecommends to reduce deps but still allow indicating spec requirement. 0.32 2015-04-25 Released-By: PERLANCAR - Use combine_answers() from Complete::Util 0.28+ to allow custom completion routine to provide final answer without additional completion answers. An application of this is in Games::CompHangman. 0.31 2015-04-09 Released-By: PERLANCAR - Replace Log::Any with Log::Any::IfLOG. 0.30 2015-03-04 Released-By: PERLANCAR - Follow Complete 0.12 (escmode renamed to esc_mode). 0.29 2015-02-15 Released-By: PERLANCAR - Add option 'bundling' and support completing single-dash multiletter options '-foo'. 0.28 2015-01-03 Released-By: PERLANCAR - No functional changes. - Rebuild (Generate TODO.md). 0.27 2014-12-29 Released-By: PERLANCAR - [Bugfixes] A couple more fixes for providing arguments for completion routine (correct 'words', 'cword'). 0.26 2014-12-29 Released-By: PERLANCAR - Split --foo=val, some fixes in producing 'parsed_opts' for completion routine. 0.25 2014-12-28 Released-By: PERLANCAR - Provide 'parsed_opts' for completion routine. 0.24 2014-12-27 Released-By: PERLANCAR - No functional changes. - More tweaking of log messages. 0.23 2014-12-26 Released-By: PERLANCAR - No functional changes. - Tweak logging message, exclude extras (too long, in Perinci::CmdLine it contains 'cmdline' object). 0.22 2014-12-26 Released-By: PERLANCAR - No functional changes. - Tweak logging messages to make it easier to debug (preparing peri-test-comp). 0.21 2014-12-25 Released-By: PERLANCAR - No functional changes. - Fix sorting in tests [CT]. 0.20 2014-12-24 Released-By: PERLANCAR - Add note that we deliberately do not provide 'ci' option in this module. - Follow convention of Complete 0.06. 0.19 2014-12-20 Released-By: PERLANCAR [REMOVED FEATURES] - Before 0.06, 'completion' argument can also be a hashref. This is no longer supported. 'completion' must be a coderef. We have deprecated this, removed this from the doc, and supported this for a while but it's now time to remove the feature, to simplify stuffs. [INCOMPATIBLE CHANGES] - In order to simplify writing completion routines, the keys from 'extras' are now merged into the final %args for the completion routine. Before it was put into a single key 'extras' in the %args. 0.18 2014-12-05 Released-By: PERLANCAR - Delegate '~user/' completion handling to Complete::Util 0.14's complete_file(). - Do case-insensitive complete_file(), for convenience. 0.17 2014-11-28 Released-By: PERLANCAR - Adjust to Complete::Bash 0.12 (words are now put in 'words' key instead of 'completion' key). 0.16 2014-11-18 Released-By: PERLANCAR - Make file completion work more like bash: ~foo/blah works, fallback to file if ~user or $var doesn't match anything, [AB] works like [AB]*. 0.15 2014-11-10 Released-By: PERLANCAR - Don't produce --nox and --no-x for single letter spec 'x!'. 0.14 2014-09-04 Released-By: PERLANCAR - No functional changes. - Make dependency to 'Complete::Getopt::Long' optional to shorten the prerequisite list. 0.13 2014-08-06 Released-By: SHARYANTO - Provide 'words' and 'cword' to completion routine. 0.12 2014-07-29 Released-By: SHARYANTO - [ux] When only completing option names, give proper option name escaping. 0.11 2014-07-28 Released-By: SHARYANTO [ENHANCEMENTS] - Support completion of bundled short options. - Provide 'nth' argument for completion routine, so it can know that an option has been given n times (e.g. in '--foo 1 --foo ^' the first foo has nth=0, the second nth=1). 0.10 2014-07-27 Released-By: SHARYANTO - Some fixes. [INCOMPATIBLE CHANGES] - To avoid cascading parent_args within parent_args (and so on), replace it with 'extras'. Now you can chuck all the extra stuffs you want to pass to completion routine here. 0.09 2014-07-27 Released-By: SHARYANTO - Support the deprecated 'completion' argument as hash. Undocumented and will be removed in the future though. 0.08 2014-07-27 Released-By: SHARYANTO - [ux] Proper escaping mode when completing environment variables. 0.07 2014-07-27 Released-By: SHARYANTO - [ux] Completion routine can now return undef so that complete_cli_arg() calls default/fallback completion routine that complets from environment vars ('$foo'), usernames ('~foo'), or files. 0.06 2014-07-27 Released-By: SHARYANTO - Completion routine now gets extra information/arguments. In addition to 'word', it now also gets: type, opt, ospec, argpos, parent_args, seen_opts. [INCOMPATIBLE CHANGES] - 'completion' argument is now a single coderef instead of hash of coderefs/arrays. I think this is conceptually simpler and does not force the user to specify for every opt spec if she doesn't need to. 0.05 2014-07-26 Released-By: SHARYANTO - Add option: fallback_completion. - Provide default fallback_completion that can complete environment variables ($foo), Unix usernames (~foo), wildcards (foo*), or filenames. - Other fixes. 0.04 2014-07-26 Released-By: SHARYANTO - Change algorithm so things become simpler. - Now does not repeat mentioned non-repeatable option names (including aliases and abbreviated), e.g. when you have getopt_spec => {'help|h'=>sub{}, 'hour=i'=>sub{}, 'foo=s'=>\@ary}, then if cmdline is (^ marks the point of completion) '--he --h^' or '-h --h^' then it will complete to ['--hour'] only because '--help' has been mentioned. But repeatable option can be repeated, e.g. '--foo --^' will complete to ['--foo', '--help', '--hour']. 0.03 2014-07-24 Released-By: SHARYANTO - Handle equal sign (--foo=). 0.02 2014-07-22 Released-By: SHARYANTO - [Bugfix] Fix endless loop after flag option. 0.01 2014-07-22 Released-By: SHARYANTO - First release.