Revision history for Perinci-Sub-Complete

0.57     2014-07-19 (SHARYANTO)

         - No functional changes.

         - Adjust to Complete::Bash 0.06.


0.56     2014-07-18 (SHARYANTO)

         - [Bugfix] Excluded the option we're trying to complete ('cmd --help^'
           or 'cmd -h^' didn't work because we excluded that option from the
           list!).


0.55     2014-07-18 (SHARYANTO)

         - Adjust to Perinci::Sub::GetArgs::Argv 0.44, which makes it more
           convenient for us to do completion (get_args_from_argv() returns the
           result from gen_getopt_long_spec_from_meta(), which contains all
           sorts of goodies ready for use, like func.opts_by_arg,
           func.opts_by_common, etc.

         [INCOMPATIBLE CHANGES]

         - To make it easy to work with the new get_args_from_argv(),
           'common_opts' has been changed to be in the same format that that
           function expects, which is a hash of Getopt::Long opt spec &
           handlers.


0.54     2014-07-18 (SHARYANTO)

         - No functional changes.

         - Adjust to Complete::Bash 0.04.


0.53     2014-07-02 (SHARYANTO)

         [INCOMPATIBLE CHANGES]

         - Rename function shell_complete_arg() to complete_cli_arg() for
           consistency (all completion routine now uses /^complete_/).


0.52     2014-07-02 (SHARYANTO)

         - No functional changes.

         - Adjust to Complete::Util 0.12.


0.51     2014-07-01 (SHARYANTO)

         - No functional changes.

         - [Bugfix] Avoid Perl autovivification which cause an arg that has no
           schema to have a schema of [].


0.50     2014-06-29 (SHARYANTO)

         - No functional changes.

         - Re-upload.


0.49     2014-06-29 (SHARYANTO)

         - shell_complete_args() allows completion routines to return hash
           (completion reply + metadata) instead of just array (completion
           reply) (Rinci 1.1.52).


0.48     2014-06-27 (SHARYANTO)

         [INCOMPATIBLE CHANGES]

         - shell_complete_args() now returns hashref instead of plain arrayref,
           to return extra metadata to give hints to formatter (like
           Complete::Util's format_shell_completion()) on how to properly
           display/escape special characters to the shell. For example, if we're
           completing environment variables (type=>'env') we don't need to
           escape the dollar sign.


0.47     2014-06-26 (SHARYANTO)

         - No functional changes.

         - [Bug fix] Remove perl undef warning when arg doesn't have schema.


0.46     2014-06-25 (SHARYANTO)

         - [Bug fix] Forgot to remove complete_array() in
           complete_arg_{val,elem}().


0.45     2014-06-25 (SHARYANTO)

         [INCOMPATIBLE CHANGES]

         - No longer filter completion routine with complete_array(), it's now
           up to the routine to filter it, this allows case-insensitive matching
           or spelling correction.


0.44     2014-06-25 (SHARYANTO)

         - No functional changes.

         - Use Complete::Util which replaces SHARYANTO::Complete::Util.


0.43     2014-06-19 (SHARYANTO)

         [ENHANCEMENTS]

         - [silly] complete_from_schema(): Do a digit-by-digit completion for
           float.


0.42     2014-06-19 (SHARYANTO)

         [ENHANCEMENTS]

         - [tweak] Don't switch to complete arg name when word starts with '-'
           but opt before word expects value. For example, '--bool -^' will
           switch to completing arg name, but '--str -^' will still try to
           complete str's value because it expects value.

         - [silly] complete_from_schema(): Do a digit-by-digit completion for
           int.


0.41     2014-06-19 (SHARYANTO)

         [BUG FIXES]

         - Fix completion of array argument's element ('--ary ^' not yet
           completed as element).


0.40     2014-06-19 (SHARYANTO)

         - Third attempt, only riap_server_url is needed, riap_uri is optional
           because the former can contain the latter.


0.39     2014-06-18 (SHARYANTO)

         - Second attempt, we also need riap_server_url.


0.38     2014-06-18 (SHARYANTO)

         [ENHANCEMENTS]

         - Add riap_client & riap_uri arguments to
           shell_complete_args,complete_arg_{val,elem} to allow requesting to
           server when completion/element_completion coderef has been cleansed
           into string (currently no tests yet).


0.37     2014-06-18 (SHARYANTO)

         [ENHANCEMENTS]

         - Don't die if arg spec's completion is not a coderef, decline instead.


0.36     2013-11-14 (SHARYANTO)

         [ENHANCEMENTS]

         - Implement argument element completion (Rinci 1.1.42).

         - Add functions: complete_arg_elem, complete_from_schema.

         [BUG FIXES]

         - complete_arg_val() now returns undef when it can't find completion
           from schema, so shell_complete_arg() can fallback to files.

         - Complete greedy argument names, always (allow us to complete e.g.
           --file F1 --file F2 etc).


0.35     2013-11-08 (SHARYANTO)

         [BUG FIXES]

         - No functional changes. Avoid CT failure reports by forcing
           Perinci::Sub::Wrapper version.


0.34     2013-11-05 (SHARYANTO)

         [ENHANCEMENTS]

         - shell_complete_arg(): Accept 'extra_completer_args' argument to pass
           to custom completion routines.

         - Pass 'parent_args' argument to all custom completion routines
           (previously only 'custom_completer' gets it, now
           'custom_arg_completer' and 'completion' arg spec also get it).

         - complete_arg_val(): observe 'is' clause.

         - complete_arg_val(): complete [0, 1] for bool type.

         [BUG FIXES]

         - A few bug fixes.


0.33     2013-11-04 (SHARYANTO)

         [ENHANCEMENTS]

         - Allow 'custom_arg_completer' to decline with undef, just like
           'custom_completer'.

         [INCOMPATIBLE CHANGES]

         - 'custom_arg_completer' is now expected to return arrayref instead of
           list, just like the other completion routines.


0.32     2013-11-04 (SHARYANTO)

         [REFACTORING]

         - Rename dist from Perinci-BashComplete to Perinci-Sub-Complete because
           I want to extract non-Perinci-related routines to another module and
           I want to support other shells (someday).

         - Split generic (non-Rinci/Riap-related) functions to
           SHARYANTO-Complete-Util.

         - Rename some functions.


0.31     2013-09-08 (SHARYANTO)

         - No functional changes. Remove references to Perinci::Access::InProcess.


0.30     2013-08-10 (SHARYANTO)

         [ENHANCEMENTS]

         - Allow other line parser to be used, e.g. one that doesn't call out to
           bash (currently undocumented).


0.30     2013-08-10 (SHARYANTO)

         [ENHANCEMENTS]

         - Allow other line parser to be used, e.g. one that doesn't call out to
           bash (currently undocumented).


0.29     2012-06-22 (SHARYANTO)

         [ENHANCEMENTS]

         - Support --dry-run for function which has dry_run feature


0.28     2012-03-22 (SHARYANTO)

         - Support with.dot function arguments

         - Normalize --foo_bar into --foo-bar


0.27     2012-03-16 (SHARYANTO)

         [FIXES]

         - file completion inserted "." on every file/dir on the current dir.

         - file completion cut intermediate dirs ("dir/a" completed into ["aa",
           "ab"] instead of ["dir/aa", "dir/ab"]

         [ENHANCEMENTS]

         - Add trick in dir completion so that a single "dir/" match won't cause
           bash to insert space after the "/".


0.26     2012-03-07 (SHARYANTO)

         - No functional changes. Deal with test failure reports from CT (change
           'replace $HOME with ~' test in t/_line_to_argv.t into a warning, as I
           don't know the workaround yet).


0.25     2012-03-04 (SHARYANTO)

         [BUG FIXES]

         - More fixes to complete_file() so it more closely resembles bash
           (symlink traversal is still different though).


0.24     2012-03-04 (SHARYANTO)

         [BUG FIXES]

         - complete_file() now behaves more like bash (though not nearly
           so, due to glob()'s quirks): First it works with files/dirs outside
           curdir. When word is '' or ends with '/', it uses readdir() to
           include dotfiles. Otherwise it treats word as wildcard and glob() it.


0.23     2012-03-03 (SHARYANTO)

         - No functional changes. Change implementation of _line_to_argv() from
           calling Perl binary and dumping @ARGV, to using bash's own "$@". On
           my Atom N570 netbook, this shaves time from about 0.1s to 0.03s.


0.22     2012-02-28 (SHARYANTO)

         - No functional changes. Fix to avoid numerous CT failure reports
           (calling perl binary using $^X instead of the hardcoded "perl"). I
           haven't quoted $^X, hope that won't cause much trouble though.


0.21     2012-02-28 (SHARYANTO)

         - Handle argument name completion of one-letter args and cmdline_aliases.


0.20     2012-02-27 (SHARYANTO)

         - No functional changes. Make _line_to_argv() report errors (lots of
           failure reports from CPAN Testers with apparently undef result from
           _line_to_argv()).


0.19     2012-02-23 (SHARYANTO)

         - Rename distribution from Sub-Spec-BashComplete to Perinci-BashComplete.
           Follow Rinci v1.1 specification.


0.18     2011-11-23 (SHARYANTO)

         - No functional changes. _parse_schema() moved from Data::Sah::Util to
           normalize_schema() in Data::Sah.


0.17     2011-10-31 (SHARYANTO)

         - No functional changes. _parse_schema() is moved from Sub::Spec::Utils
           to Data::Sah::Util.


0.16     2011-08-25 (SHARYANTO)

         - No functional changes. Adjust to Sub::Spec 0.15.


0.15     2011-07-26 (SHARYANTO)

         - No functional changes. Adjust to use the new Sub::Spec::GetArgs::Argv.


0.14     2011-05-31 (SHARYANTO)

         - No functional changes. Skip tests on systems which don't have bash.


0.13     2011-02-23 (SHARYANTO)

         - Add missing dependency: Log::Any [CT].


0.12     2011-02-23 (SHARYANTO)

         - Add missing dependency: Sub::Spec::CmdLine [CT].


0.11     2011-02-22 (SHARYANTO)

         - Use Sub::Spec::Utils.


0.10     2011-02-19 (SHARYANTO)

         - Incompatible change: arg_complete & custom_completer now expected to
           return arrayref instead of list.

         - More fixes for remaining_words for custom_completer.


0.09     2011-02-18 (SHARYANTO)

         - Handle backspaced whitespace.

         - Don't escape output (let completer program do it) to avoid double
           escaping.

         - Fix cword & remaining_words for custom_completer.


0.08     2011-02-18 (SHARYANTO)

         - Backslash-escape output.

         - Spec: cmdline_aliases renamed to arg_aliases.


0.07     2011-02-17 (SHARYANTO)

         - bash_complete_spec_arg(): Also add --nofoo completion for bool
           cmdline_aliases.


0.06     2011-02-17 (SHARYANTO)

         - bash_complete_spec_arg(): Add 'custom_completer' option, parse
           'cmdline_aliases' in arg spec.


0.05     2011-02-17 (SHARYANTO)

         - Fix cword counting.


0.04     2011-02-16 (SHARYANTO)

         - Small fix on detecting arg name/value.


0.03     2011-02-16 (SHARYANTO)

         - Complete arg name instead of value if user type '-' (indicates he/she
           wants arg name).


0.02     2011-02-16 (SHARYANTO)

         - Fix dependency version (requires Sub::Spec::CmdLine 0.10+).


0.01     2011-02-16 (SHARYANTO)

         - First release.