0.335 2020-04-16 Released-By: PERLANCAR; Urgency: low - No functional changes. - Add/tweak logging statements for debugging. - Minor tweak to documentation of join_wordbreak_words() example. 0.334 2020-01-28 Released-By: PERLANCAR; Urgency: medium - Also prevent shell's automatic addition of space when is_partial=1. 0.333 2020-01-28 Released-By: PERLANCAR; Urgency: high [Incompatible changes] - Adjust to Complete 0.202 specification. - format_completion: Move 'as' and 'esc_mode' to options (second argument) to avoid cluttering the completion answer structure. 'esc_mode' is no longer in the specification, to avoid abstraction leak. - Switch the meaning of the escape modes 'default' and 'shellvar', so now in 'default' the dollar sign is not escaped while in 'shellvar' it is. This is more convenient in general. [Documentation] - Remove explanation for 'path_sep' (moved to the Complete specification). 0.332 2019-12-22 Released-By: PERLANCAR; Urgency: medium - [experimental] Observe COMPLETE_BASH_DEFAULT_ESC_MODE. 0.331 2019-12-18 Released-By: PERLANCAR; Urgency: medium - format_completion(): add workaround_with_wordbreaks to allow turning off this behavior. 0.330 2019-08-20 Released-By: PERLANCAR; Urgency: medium - Avoid perl undef warning (Term::Size::chars() can return undef). 0.329 2019-08-17 Released-By: PERLANCAR; Urgency: medium - [ux] When fzf is not available, fallback to returning completion entries as usual instead of displaying a message. 0.328 2019-07-30 Released-By: PERLANCAR; Urgency: medium - [bugfix] Fix the use of Term::Size::chars(). 0.327 2019-07-02 Released-By: PERLANCAR; Urgency: medium - [removed] format_completion(): Remove drawing summary lines every N rows, because bash sorting will mess it up, and I think it looks ugly anyway. - format_completion(): No longer sort entries. - format_completion(): Close fzf process' input so fzf does not show rotating cursor. 0.326 2019-07-02 Released-By: PERLANCAR; Urgency: medium - Implement another feature stolen from Ingy's complete-shell: use fzf for filters. 0.325 2019-06-28 Released-By: PERLANCAR; Urgency: low - No functional changes. - [dist] Try out new release note style. 0.324 2019-06-28 Released-By: PERLANCAR - [ux] Tweak summary display to make it look nicer (use vertical bar | instead of space). 0.323 2019-06-27 Released-By: PERLANCAR - [ux] By default don't limit entries+summaries to a single-column display, but observe COMPLETE_BASH_MAX_COLUMNS. - Add option to show summaries right-aligned, like in fish. This is controlled via COMPLETE_BASH_SUMMARY_ALIGN (and also COMPLETE_BASH_SUMMARY_LINE_EVERY). 0.322 2019-06-26 Released-By: PERLANCAR - Support showing message (Complete 0.201). 0.321 2019-06-25 Released-By: PERLANCAR - format_completion() now by default shows item summaries if available (can be turned off by setting 'show_summaries' option or COMPLETE_BASH_SHOW_SUMMARIES to 0). 0.320 2018-10-10 Released-By: PERLANCAR - Observe COMPLETE_BASH_TRACE to produce more log statements for debugging. 0.31 2016-12-28 Released-By: PERLANCAR - No functional changes. - [dist] Fix expressing follow-spec prereq relationship with x_spec. 0.30 2016-12-27 Released-By: PERLANCAR - No functional changes. - [dist] Moving spec prereq from DevelopRecommends to DevelopSuggests with _SPEC:: prefix. 0.29 2016-12-25 Released-By: PERLANCAR - No functional changes. - [build] Rebuild to remove extraneous dependencies. 0.28 2016-09-27 Released-By: PERLANCAR - [Bugfix] Fix join_wordbreak_words() [GH#3]. Thanks Mary Ehlers. 0.27 2016-02-03 Released-By: PERLANCAR - Add join_wordbreak_words(). 0.26 2016-02-02 Released-By: PERLANCAR - [Incompatible change] Split the rest of the word-breaking characters like bash. - [Removed] Move parse_options() to Complete-Bash-History because it's not generic enough to be in Complete::Bash. 0.25 2016-01-21 Released-By: PERLANCAR - [Bugfix] Off-by-one error was still present when current word is not the last word. - Add utility routine: point(). 0.24 2015-12-30 Released-By: PERLANCAR - [Bugfix] Fix off-by-one error when truncate_current_word=1. 0.23 2015-12-30 Released-By: PERLANCAR - To prevent unnecessary breakages, make the previous change (truncating current word) into a non-default behavior, activated by passing truncate_current_word=>1 option to parse_cmdline(). 0.22 2015-12-30 Released-By: PERLANCAR - [ux][experimental] Truncate current word to the position of cursor, so completing something like (^ marks the position of cursor) --vers^oo is regarded as --vers instead of --versoo, thus more convenient. 0.21 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.20 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.19 2015-04-02 Released-By: PERLANCAR - No functional changes. - Skip tests on platforms that do not implement getpwuid [CT]. 0.18 2015-03-31 Released-By: PERLANCAR - [Internal] Reimplement parse_cmdline() using regex instead of C-like char-by-char parsing. - [Removed feature] Remove option/parameter 'preserve_quotes' and 'word_breaks' because they are never used in my applications/other libraries (and they complicate the new regex-based parsing implementation). Extra word-breaking character used is always '=' and that is now the behavior. - [ux] Variable syntaxes in word in parse_cmdline() (like '$HOME/foo.txt') are now substituted with variable values from environment variables, except for the current word. Similarly, tildes like '~/todo.txt' is now replaced with user home directory except for the current word. This makes completing a command like this works: 'list-org-todos ~/organizer/todo.org --has-tags <tab>' (the applications now see the tildes already expanded so they do not have to parse it themselves). 0.17 2015-03-04 Released-By: PERLANCAR - Change escmode to esc_mode (Complete 0.12), but old key is still supported (though undocumented). 0.16 2015-01-03 Released-By: PERLANCAR - No functional changes. - Rebuild (Generate TODO.md). 0.15 2014-12-29 Released-By: PERLANCAR - No functional changes. - Avoid PAUSE false positive misinterpreting 'package name' as statement (well, PAUSE is rather liberal with the regex, isn't it?). 0.14 2014-12-29 Released-By: PERLANCAR - Add workaround for annoyance when completing word that contains ':' (like Perl package/module names) in bash, due ':' being a word-breaking character in bash. 0.13 2014-11-30 Released-By: PERLANCAR - Add function: parse_options(). 0.12 2014-11-28 Released-By: PERLANCAR [INCOMPATIBLE CHANGES] - Comply to Complete 0.04, change 'completion' key in hash-form completion answer structure to 'words', and accept each word as hashref (to allow for things like fish shell which can have a 'description' instead of just 'word' for each entry). 0.11 2014-07-26 Released-By: SHARYANTO - [tweak] format_completion(): Don't escape '~'. 0.10 2014-07-25 Released-By: SHARYANTO - No functional changes. - Add documentation about new parse_cmdline() not stripping first word, and thus some client code will need to shift @$words + $cword--. 0.09 2014-07-25 Released-By: SHARYANTO [INCOMPATIBLE CHANGES] - Change algorithm to mimic bash more closely. Remove break_cmdline_into_words() and merge the code into parse_cmdline(). Now does not strip first word, because bash also does not in COMP_WORDS. Now 'cmd foo ^ bar' works (becomes ['cmd', 'foo', '', 'bar']. In short, parse_cmdline() should [be able to] produce the equivalent of bash's COMP_WORDS and COMP_CWORD. - parse_cmdline(): Add option to preserve quotes, like bash. For example, 'cmd "foo bar"' becomes ['cmd', '"foo bar"']. Although this is not enabled by default. 0.08 2014-07-23 Released-By: SHARYANTO [INCOMPATIBLE CHANGES] - break_cmdline_into_words() now injects word-breaking characters into the words array, to follow bash more closely. For example, break_cmdline_into_words('--foo 1 --bar=2', ':=') now results in [qw/--foo 1 --bar = 2/]. 0.07 2014-07-22 Released-By: SHARYANTO - No functional changes. - Rebuild to fix rendering examples. 0.06 2014-07-19 Released-By: SHARYANTO [REMOVED FEATURES] - Remove mimic_dir_completion(). Functionality is now moved into format_completion(). [INCOMPATIBLE CHANGES] - format_completion(): remove 'is_path' key (setting 'path_sep' automatically enables path mode), rename 'type' to 'escmode' (rename escape mode 'env' to 'shellvar', add 'default' and 'none' modes). [ENHANCEMENTS] - format_completion(): Recognize key 'as' to return completion as array. Useful for using under Term::ReadLine (e.g. in App::riap). [DOCUMENTATION] - Explain more about path mode. 0.05 2014-07-18 Released-By: SHARYANTO - No functional changes. - Update Rinci metadata, rebuild POD. 0.04 2014-07-18 Released-By: SHARYANTO - Add examples for parse_cmdline(). [INCOMPATIBLE CHANGES] - Return 2-element arrayref instead of 2-element list (in general, I want to avoid returning list for better interop with Rinci). 0.03 2014-07-18 Released-By: SHARYANTO - Forgot to add 'word_breaks' argument to parse_cmdline(). 0.02 2014-07-17 Released-By: SHARYANTO [ENHANCEMENTS] - Add error message if COMP_LINE is not set. - Add argument 'word_breaks' to allow breaking at other characters, like bash's COMP_WORDBREAKS. 0.01 2014-07-02 Released-By: SHARYANTO - First release, extracted from Complete-Util. format_completion() is from Complete::Util's format_shell_completion() but can also accept array instead of hash. parse_cmdline() is from Complete::Util's parse_shell_cmdline() but with a different return value.