Skip to content

Commit b6e04bc

Browse files
committed
fix filter_list elements clearing
- clearing elements is done in filter_list instead of main loop - remove clear_eos() from the main loop
1 parent 45391df commit b6e04bc

2 files changed

Lines changed: 9 additions & 1 deletion

File tree

src/inquirer/render/console/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ def render(self, question, answers=None):
3333
clazz = self.render_factory(question.kind)
3434
render = clazz(question, terminal=self.terminal, theme=self._theme, show_default=question.show_default)
3535

36+
self.clear_eos()
37+
3638
try:
3739
return self._event_loop(render)
3840
finally:
@@ -41,7 +43,6 @@ def render(self, question, answers=None):
4143
def _event_loop(self, render):
4244
try:
4345
while True:
44-
self.clear_eos()
4546
self._relocate()
4647
self._print_status_bar(render)
4748

src/inquirer/render/console/_filter_list.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import sys
2+
13
from readchar import key
24

35
from inquirer import errors
@@ -69,6 +71,11 @@ def get_options(self):
6971
color = self.theme.List.unselected_color
7072
symbol = " " if choice == GLOBAL_OTHER_CHOICE else " " * len(self.theme.List.selection_cursor)
7173
yield choice, symbol, color
74+
self._clear_eos_and_flush()
75+
76+
def _clear_eos_and_flush(self):
77+
print(self.terminal.clear_eos(), end="")
78+
sys.stdout.flush()
7279

7380
def _get_current_choice(self):
7481
try:

0 commit comments

Comments
 (0)