aisk / pick

create curses based interactive selection list in the terminal
MIT License
721 stars 60 forks source link

Add `clear_screen` parameter #124

Closed aisk closed 4 months ago

aisk commented 4 months ago

In #95 we added a position parameter to allow users to specify the position to show the options. And we didn't call screen.clear() with that change. But in some use cases, like #123, users do expect that the screen should be cleared.

At first, I thought we could use None as the default value for the position parameter and in this case, we could call screen.clear(). But then I realized that the position argument shouldn't be coupled with whether we should call screen.clear(). Someone might just want to show the options in the middle of the screen, and they still want the screen to be cleared.

So I decided to add a new parameter clear_screen to change the behavior, and the default value for clear_screen is True to maintain compatibility.

@Cornelius-Figgle, does this satisfy your original requirements?

Cornelius-Figgle commented 4 months ago

@Cornelius-Figgle, does this satisfy your original requirements?

Yes this sounds good👍 It maintains the original function of pick but provides the option to not clear it/start at a specified position