Releases: mikaelmello/inquire
Releases · mikaelmello/inquire
v0.7.5
v0.7.5
- Fix user-provided ANSI escape codes from being removed when rendering.
- Introduced on 0.7.0, this regression was making it impossible to have colorised text inside the prompt.
- Now ANSI escape codes are properly emitted when rendering the prompt in the terminal.
- Thanks @leoetlino!
v0.7.4
- Fix unexpected behaviors of
keep_filter
option in MultiSelect prompts:- Filter input is now correcly getting reset only when
keep_filter == false
. - When the filter input is reset, the list of options is now correctly reset as well. Thanks @Swivelgames for reporting #238.
- Filter input is now correcly getting reset only when
v0.7.3
- Fix cursor occasionally blinking in unexpected places.
v0.7.2
- Pressing Ctrl+D now cancels the prompt. Thanks @mikecvet for the PR!
- Add support for
h
andl
bindings when vim_mode is enabled on MultiSelect prompts, clearing or selecting all options respectively. Thanks @afh for the PR! - Fix render issue #233 where cursor positioning at the end of a prompt was incorrect. Thanks @msrd0 and @Sydonian for reporting!
v0.7.1
- Fix render issue #228 when using console crate as the terminal backend. Thanks @maospr for reporting.
v0.7.0
Breaking Changes
- The Select and Multiselect Filter now scores input and is now expected to return an
Option<i64>
, making it possible to order/rank the list of options. #176
None
: Will not be displayed in the list of options.
Some(score)
: score determines the order of options, higher score, higher on the list of options. - Improved user experience on Password prompts. When there is a validation error, the input is cleared if the password is rendered using the
Hidden
display mode, matching the user expectation of having to write the password from scratch again. Thanks to @CM-IV for the questions on #149! - Allow lifetime customization of RenderConfig. #101. Thanks to @arturfast for the suggestion #95.
- Implement fuzzy search as default on Select and MultiSelect prompts. Thanks @Baarsgaard! #176
- Revamped keybindings for DateSelect.
Features
- Add one-liner helpers for quick scripts. #144.
- Add new option on MultiSelect prompts to set all options to be selected by default. Thanks to @conikeec for the suggestion (#151)!
- Add new option on Select/MultiSelect prompts allowing to reset selection to the first item on filter-input changes. #176
- Emacs-like keybindings added where applicable (@jasonish, @EnigmaCurry):
- Ctrl-p/Ctrl-n for up/down
- Ctrl-b/Ctrl-f for left/right
- Ctrl-j/Ctrl-g for enter/cancel
- Vim keybindings are always supported in DateSelect prompts.
- Added 'with_starting_filter_input' to both Select and MultiSelect, which allows for setting an initial value to the filter section of the prompt.
- Added starting_input for CustomType. (@FroVolod #194)
- Added 'without_filtering' to both Select and MultiSelect, useful when you want to simplify the UX if the filter does not add any value, such as when the list is already short.
- Added 'with_answered_prompt_prefix' to RenderConfig to allow customization of answered prompt prefix.
- Improved rendering, with optimizations on incremental rendering and terminal resizing.
Fixes
- Fixed typos in the code's comments (@kianmeng, @bheylin).
- Fixed issue where inquire, using termion, would crash when receiving piped inputs.
Dependency changes (some breaking)
- Upgraded underlying
termion
crate from v1.5 to v2.0. - Upgraded underlying
bitflags
from v1 to v2, which affects theAttributes
andKeyModifiers
crates. If you use any of bitflag's methods directly, you might be affected, refer to the bitflags changelog for more information. - Removed
thiserror
dependency in favor of implementingInquireError
by hand. (@bheylin #146) - Raised MSRV to 1.66 due to requirements in downstream dependencies.
- MSRV is now explicitly set in the package definition.
- Replaced
lazy_static
withonce_cell
asonce_cell::sync::Lazy
is being standardized andlazy_static
is not actively maintained anymore. (@bheylin #158) - Added
fuzzy-matcher
as a dependency for fuzzy filtering in Select and MultiSelect prompts #176
v0.7.4
v0.7.4
- Fix unexpected behaviors of
keep_filter
option in MultiSelect prompts:- Filter input is now correcly getting reset only when
keep_filter == false
. - When the filter input is reset, the list of options is now correctly reset as well. Thanks @Swivelgames for reporting #238.
- Filter input is now correcly getting reset only when
v0.7.3
- Fix cursor occasionally blinking in unexpected places.
v0.7.2
- Pressing Ctrl+D now cancels the prompt. Thanks @mikecvet for the PR!
- Add support for
h
andl
bindings when vim_mode is enabled on MultiSelect prompts, clearing or selecting all options respectively. Thanks @afh for the PR! - Fix render issue #233 where cursor positioning at the end of a prompt was incorrect. Thanks @msrd0 and @Sydonian for reporting!
v0.7.1
- Fix render issue #228 when using console crate as the terminal backend. Thanks @maospr for reporting.
v0.7.0
Breaking Changes
- The Select and Multiselect Filter now scores input and is now expected to return an
Option<i64>
, making it possible to order/rank the list of options. #176
None
: Will not be displayed in the list of options.
Some(score)
: score determines the order of options, higher score, higher on the list of options. - Improved user experience on Password prompts. When there is a validation error, the input is cleared if the password is rendered using the
Hidden
display mode, matching the user expectation of having to write the password from scratch again. Thanks to @CM-IV for the questions on #149! - Allow lifetime customization of RenderConfig. #101. Thanks to @arturfast for the suggestion #95.
- Implement fuzzy search as default on Select and MultiSelect prompts. Thanks @Baarsgaard! #176
- Revamped keybindings for DateSelect.
Features
- Add one-liner helpers for quick scripts. #144.
- Add new option on MultiSelect prompts to set all options to be selected by default. Thanks to @conikeec for the suggestion (#151)!
- Add new option on Select/MultiSelect prompts allowing to reset selection to the first item on filter-input changes. #176
- Emacs-like keybindings added where applicable (@jasonish, @EnigmaCurry):
- Ctrl-p/Ctrl-n for up/down
- Ctrl-b/Ctrl-f for left/right
- Ctrl-j/Ctrl-g for enter/cancel
- Vim keybindings are always supported in DateSelect prompts.
- Added 'with_starting_filter_input' to both Select and MultiSelect, which allows for setting an initial value to the filter section of the prompt.
- Added starting_input for CustomType. (@FroVolod #194)
- Added 'without_filtering' to both Select and MultiSelect, useful when you want to simplify the UX if the filter does not add any value, such as when the list is already short.
- Added 'with_answered_prompt_prefix' to RenderConfig to allow customization of answered prompt prefix.
- Improved rendering, with optimizations on incremental rendering and terminal resizing.
Fixes
- Fixed typos in the code's comments (@kianmeng, @bheylin).
- Fixed issue where inquire, using termion, would crash when receiving piped inputs.
Dependency changes (some breaking)
- Upgraded underlying
termion
crate from v1.5 to v2.0. - Upgraded underlying
bitflags
from v1 to v2, which affects theAttributes
andKeyModifiers
crates. If you use any of bitflag's methods directly, you might be affected, refer to the bitflags changelog for more information. - Removed
thiserror
dependency in favor of implementingInquireError
by hand. (@bheylin #146) - Raised MSRV to 1.66 due to requirements in downstream dependencies.
- MSRV is now explicitly set in the package definition.
- Replaced
lazy_static
withonce_cell
asonce_cell::sync::Lazy
is being standardized andlazy_static
is not actively maintained anymore. (@bheylin #158) - Added
fuzzy-matcher
as a dependency for fuzzy filtering in Select and MultiSelect prompts #176
v0.7.3
v0.7.3
- Fix cursor occasionally blinking in unexpected places.
v0.7.2
- Pressing Ctrl+D now cancels the prompt. Thanks @mikecvet for the PR!
- Add support for
h
andl
bindings when vim_mode is enabled on MultiSelect prompts, clearing or selecting all options respectively. Thanks @afh for the PR! - Fix render issue #233 where cursor positioning at the end of a prompt was incorrect. Thanks @msrd0 and @Sydonian for reporting!
v0.7.1
- Fix render issue #228 when using console crate as the terminal backend. Thanks @maospr for reporting.
v0.7.0
Breaking Changes
- The Select and Multiselect Filter now scores input and is now expected to return an
Option<i64>
, making it possible to order/rank the list of options. #176
None
: Will not be displayed in the list of options.
Some(score)
: score determines the order of options, higher score, higher on the list of options. - Improved user experience on Password prompts. When there is a validation error, the input is cleared if the password is rendered using the
Hidden
display mode, matching the user expectation of having to write the password from scratch again. Thanks to @CM-IV for the questions on #149! - Allow lifetime customization of RenderConfig. #101. Thanks to @arturfast for the suggestion #95.
- Implement fuzzy search as default on Select and MultiSelect prompts. Thanks @Baarsgaard! #176
- Revamped keybindings for DateSelect.
Features
- Add one-liner helpers for quick scripts. #144.
- Add new option on MultiSelect prompts to set all options to be selected by default. Thanks to @conikeec for the suggestion (#151)!
- Add new option on Select/MultiSelect prompts allowing to reset selection to the first item on filter-input changes. #176
- Emacs-like keybindings added where applicable (@jasonish, @EnigmaCurry):
- Ctrl-p/Ctrl-n for up/down
- Ctrl-b/Ctrl-f for left/right
- Ctrl-j/Ctrl-g for enter/cancel
- Vim keybindings are always supported in DateSelect prompts.
- Added 'with_starting_filter_input' to both Select and MultiSelect, which allows for setting an initial value to the filter section of the prompt.
- Added starting_input for CustomType. (@FroVolod #194)
- Added 'without_filtering' to both Select and MultiSelect, useful when you want to simplify the UX if the filter does not add any value, such as when the list is already short.
- Added 'with_answered_prompt_prefix' to RenderConfig to allow customization of answered prompt prefix.
- Improved rendering, with optimizations on incremental rendering and terminal resizing.
Fixes
- Fixed typos in the code's comments (@kianmeng, @bheylin).
- Fixed issue where inquire, using termion, would crash when receiving piped inputs.
Dependency changes (some breaking)
- Upgraded underlying
termion
crate from v1.5 to v2.0. - Upgraded underlying
bitflags
from v1 to v2, which affects theAttributes
andKeyModifiers
crates. If you use any of bitflag's methods directly, you might be affected, refer to the bitflags changelog for more information. - Removed
thiserror
dependency in favor of implementingInquireError
by hand. (@bheylin #146) - Raised MSRV to 1.66 due to requirements in downstream dependencies.
- MSRV is now explicitly set in the package definition.
- Replaced
lazy_static
withonce_cell
asonce_cell::sync::Lazy
is being standardized andlazy_static
is not actively maintained anymore. (@bheylin #158) - Added
fuzzy-matcher
as a dependency for fuzzy filtering in Select and MultiSelect prompts #176
v0.7.2
v0.7.2
- Pressing Ctrl+D now cancels the prompt. Thanks @mikecvet for the PR!
- Add support for
h
andl
bindings when vim_mode is enabled on MultiSelect prompts, clearing or selecting all options respectively. Thanks @afh for the PR! - Fix render issue #233 where cursor positioning at the end of a prompt was incorrect. Thanks @msrd0 and @Sydonian for reporting!
v0.7.1
- Fix render issue #228 when using console crate as the terminal backend. Thanks @maospr for reporting.
v0.7.0
Breaking Changes
- The Select and Multiselect Filter now scores input and is now expected to return an
Option<i64>
, making it possible to order/rank the list of options. #176
None
: Will not be displayed in the list of options.
Some(score)
: score determines the order of options, higher score, higher on the list of options. - Improved user experience on Password prompts. When there is a validation error, the input is cleared if the password is rendered using the
Hidden
display mode, matching the user expectation of having to write the password from scratch again. Thanks to @CM-IV for the questions on #149! - Allow lifetime customization of RenderConfig. #101. Thanks to @arturfast for the suggestion #95.
- Implement fuzzy search as default on Select and MultiSelect prompts. Thanks @Baarsgaard! #176
- Revamped keybindings for DateSelect.
Features
- Add one-liner helpers for quick scripts. #144.
- Add new option on MultiSelect prompts to set all options to be selected by default. Thanks to @conikeec for the suggestion (#151)!
- Add new option on Select/MultiSelect prompts allowing to reset selection to the first item on filter-input changes. #176
- Emacs-like keybindings added where applicable (@jasonish, @EnigmaCurry):
- Ctrl-p/Ctrl-n for up/down
- Ctrl-b/Ctrl-f for left/right
- Ctrl-j/Ctrl-g for enter/cancel
- Vim keybindings are always supported in DateSelect prompts.
- Added 'with_starting_filter_input' to both Select and MultiSelect, which allows for setting an initial value to the filter section of the prompt.
- Added starting_input for CustomType. (@FroVolod #194)
- Added 'without_filtering' to both Select and MultiSelect, useful when you want to simplify the UX if the filter does not add any value, such as when the list is already short.
- Added 'with_answered_prompt_prefix' to RenderConfig to allow customization of answered prompt prefix.
- Improved rendering, with optimizations on incremental rendering and terminal resizing.
Fixes
- Fixed typos in the code's comments (@kianmeng, @bheylin).
- Fixed issue where inquire, using termion, would crash when receiving piped inputs.
Dependency changes (some breaking)
- Upgraded underlying
termion
crate from v1.5 to v2.0. - Upgraded underlying
bitflags
from v1 to v2, which affects theAttributes
andKeyModifiers
crates. If you use any of bitflag's methods directly, you might be affected, refer to the bitflags changelog for more information. - Removed
thiserror
dependency in favor of implementingInquireError
by hand. (@bheylin #146) - Raised MSRV to 1.66 due to requirements in downstream dependencies.
- MSRV is now explicitly set in the package definition.
- Replaced
lazy_static
withonce_cell
asonce_cell::sync::Lazy
is being standardized andlazy_static
is not actively maintained anymore. (@bheylin #158) - Added
fuzzy-matcher
as a dependency for fuzzy filtering in Select and MultiSelect prompts #176
v0.7.1
v0.7.0
Breaking Changes
- The Select and Multiselect Filter now scores input and is now expected to return an
Option<i64>
, making it possible to order/rank the list of options. #176
None
: Will not be displayed in the list of options.
Some(score)
: score determines the order of options, higher score, higher on the list of options. - Improved user experience on Password prompts. When there is a validation error, the input is cleared if the password is rendered using the
Hidden
display mode, matching the user expectation of having to write the password from scratch again. Thanks to @CM-IV for the questions on #149! - Allow lifetime customization of RenderConfig. #101. Thanks to @arturfast for the suggestion #95.
- Implement fuzzy search as default on Select and MultiSelect prompts. Thanks @Baarsgaard! #176
- Revamped keybindings for DateSelect.
Features
- Add one-liner helpers for quick scripts. #144.
- Add new option on MultiSelect prompts to set all options to be selected by default. Thanks to @conikeec for the suggestion (#151)!
- Add new option on Select/MultiSelect prompts allowing to reset selection to the first item on filter-input changes. #176
- Emacs-like keybindings added where applicable (@jasonish, @EnigmaCurry):
- Ctrl-p/Ctrl-n for up/down
- Ctrl-b/Ctrl-f for left/right
- Ctrl-j/Ctrl-g for enter/cancel
- Vim keybindings are always supported in DateSelect prompts.
- Added 'with_starting_filter_input' to both Select and MultiSelect, which allows for setting an initial value to the filter section of the prompt.
- Added starting_input for CustomType. (@FroVolod #194)
- Added 'without_filtering' to both Select and MultiSelect, useful when you want to simplify the UX if the filter does not add any value, such as when the list is already short.
- Added 'with_answered_prompt_prefix' to RenderConfig to allow customization of answered prompt prefix.
- Improved rendering, with optimizations on incremental rendering and terminal resizing.
Fixes
- Fixed typos in the code's comments (@kianmeng, @bheylin).
- Fixed issue where inquire, using termion, would crash when receiving piped inputs.
Dependency changes (some breaking)
- Upgraded underlying
termion
crate from v1.5 to v2.0. - Upgraded underlying
bitflags
from v1 to v2, which affects theAttributes
andKeyModifiers
crates. If you use any of bitflag's methods directly, you might be affected, refer to the bitflags changelog for more information. - Removed
thiserror
dependency in favor of implementingInquireError
by hand. (@bheylin #146) - Raised MSRV to 1.66 due to requirements in downstream dependencies.
- MSRV is now explicitly set in the package definition.
- Replaced
lazy_static
withonce_cell
asonce_cell::sync::Lazy
is being standardized andlazy_static
is not actively maintained anymore. (@bheylin #158) - Added
fuzzy-matcher
as a dependency for fuzzy filtering in Select and MultiSelect prompts #176
v0.6.2
- Allow usage of ANSI escape codes in prompts. Huge thanks to @LeoRiether for #136. Thanks to @JimLynchCodes for reporting the bug on #134.
v0.6.1
v0.6.0
Breaking Changes
- Selected options can now be styled independently of other options through
RenderConfig::with_selected_option()
. Thanks @JosipTrbuscic! - Now selected options are highlighted cyan by default.
- Output dialogs on
stderr
instead ofstdout
. Thanks @ysndr! - New Minimum Supported Rust Version: 1.58.1.