You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
on prompt, type "asdfasdf" or similar so that no results are shown for fuzzy match
Press Tab to trigger selection
Index error thrown
Press ENTER and prompt restarts nicely, but it is hard to hide the error text or inform user nicely as we are stuck in the prompt's loop
Code:
from InquirerPy import inquirer
result = inquirer.fuzzy(
message="Selcet one:",
choices=[1,2,3,4],
multiselect=True,
).execute()
Output:
Unhandled exception in event loop:
File "/depot/Python/Python-3.10/lib/python3.10/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "/u/avery/.local/lib/python3.10/site-packages/prompt_toolkit/input/vt100.py", line 173, in callback_wrapper
callback()
File "/u/avery/.local/lib/python3.10/site-packages/prompt_toolkit/application/application.py", line 711, in read_from_input
self.key_processor.process_keys()
File "/u/avery/.local/lib/python3.10/site-packages/prompt_toolkit/key_binding/key_processor.py", line 270, in process_keys
self._process_coroutine.send(key_press)
File "/u/avery/.local/lib/python3.10/site-packages/prompt_toolkit/key_binding/key_processor.py", line 185, in _process
self._call_handler(matches[-1], key_sequence=buffer[:])
File "/u/avery/.local/lib/python3.10/site-packages/prompt_toolkit/key_binding/key_processor.py", line 320, in _call_handler
handler.call(event)
File "/u/avery/.local/lib/python3.10/site-packages/prompt_toolkit/key_binding/key_bindings.py", line 124, in call
result = self.handler(event)
File "/depot/Python/Python-3.10/lib/python3.10/site-packages/InquirerPy/base/simple.py", line 240, in executable
func(event)
File "/depot/Python/Python-3.10/lib/python3.10/site-packages/InquirerPy/base/complex.py", line 132, in executable
func(event)
File "/depot/Python/Python-3.10/lib/python3.10/site-packages/InquirerPy/base/simple.py", line 142, in _
method["func"](event, *method.get("args", []))
File "/depot/Python/Python-3.10/lib/python3.10/site-packages/InquirerPy/prompts/fuzzy.py", line 629, in _handle_toggle_choice
current_selected_index = self.content_control.selection["index"]
File "/depot/Python/Python-3.10/lib/python3.10/site-packages/InquirerPy/prompts/fuzzy.py", line 251, in selection
return self._filtered_choices[self.selected_choice_index]
Exception list index out of range
Press ENTER to continue...
I tried fiddling around with filters and validators to see if I could cause some valid index with a value I could reject, but it seems to error before that point.
As a short term workaround, error text can be hidden by wrapping with snippet below. User will see "Press ENTER to continue" with no stack trace.
with open(os.devnull, 'w') as devnull:
with contextlib.redirect_stdout(devnull):
Been looking at the code a bit, I'll post a PR if I can
Thanks!
Avery
The text was updated successfully, but these errors were encountered:
Howdy! Got a bug report.
Python Version: 3.10
InquirerPy: 0.3.4
Steps to reproduce:
Code:
Output:
I tried fiddling around with filters and validators to see if I could cause some valid index with a value I could reject, but it seems to error before that point.
As a short term workaround, error text can be hidden by wrapping with snippet below. User will see "Press ENTER to continue" with no stack trace.
Been looking at the code a bit, I'll post a PR if I can
Thanks!
Avery
The text was updated successfully, but these errors were encountered: