diff options
author | Jonathan Slenders <jonathan@slenders.be> | 2018-05-24 22:58:20 +0200 |
---|---|---|
committer | Jonathan Slenders <jonathan@slenders.be> | 2018-05-24 22:58:20 +0200 |
commit | db7f56c958924e206483c6520b6053d1de760dbf (patch) | |
tree | d2276e0d014a1307ced88c269fbb6bf0fc7d8631 | |
parent | e9cff3a3765861397b595f8425efa8c109a73b1f (diff) |
Take suffix argument for (yes/no) in confirmation prompt.
-rwxr-xr-x | examples/prompts/confirmation-prompt.py | 2 | ||||
-rw-r--r-- | prompt_toolkit/formatted_text/base.py | 2 | ||||
-rw-r--r-- | prompt_toolkit/key_binding/bindings/completion.py | 2 | ||||
-rw-r--r-- | prompt_toolkit/shortcuts/prompt.py | 11 |
4 files changed, 9 insertions, 8 deletions
diff --git a/examples/prompts/confirmation-prompt.py b/examples/prompts/confirmation-prompt.py index 44d37aab..3be6135b 100755 --- a/examples/prompts/confirmation-prompt.py +++ b/examples/prompts/confirmation-prompt.py @@ -7,5 +7,5 @@ from __future__ import unicode_literals from prompt_toolkit.shortcuts import confirm if __name__ == '__main__': - answer = confirm('Should we do that? (y/n) ') + answer = confirm('Should we do that?') print('You said: %s' % answer) diff --git a/prompt_toolkit/formatted_text/base.py b/prompt_toolkit/formatted_text/base.py index 399a6174..0dbbf60d 100644 --- a/prompt_toolkit/formatted_text/base.py +++ b/prompt_toolkit/formatted_text/base.py @@ -131,7 +131,7 @@ class Template(object): def merge_formatted_text(items): """ - Merge several pieces of formatted text together. + Merge (Concatenate) several pieces of formatted text together. """ assert all(is_formatted_text(v) for v in items) diff --git a/prompt_toolkit/key_binding/bindings/completion.py b/prompt_toolkit/key_binding/bindings/completion.py index 6ace74e9..39432657 100644 --- a/prompt_toolkit/key_binding/bindings/completion.py +++ b/prompt_toolkit/key_binding/bindings/completion.py @@ -117,7 +117,7 @@ def _display_completions_like_readline(app, completions): if len(completions) > completions_per_page: # Ask confirmation if it doesn't fit on the screen. confirm = yield create_confirm_session( - 'Display all {} possibilities? (y on n) '.format(len(completions)), + 'Display all {} possibilities?'.format(len(completions)), ).prompt(async_=True) if confirm: diff --git a/prompt_toolkit/shortcuts/prompt.py b/prompt_toolkit/shortcuts/prompt.py index 3e8488d9..a2a654fe 100644 --- a/prompt_toolkit/shortcuts/prompt.py +++ b/prompt_toolkit/shortcuts/prompt.py @@ -36,7 +36,7 @@ from prompt_toolkit.document import Document from prompt_toolkit.enums import DEFAULT_BUFFER, SEARCH_BUFFER, EditingMode from prompt_toolkit.eventloop import ensure_future, Return, From from prompt_toolkit.filters import is_done, has_focus, renderer_height_is_known, to_filter, Condition, has_arg -from prompt_toolkit.formatted_text import to_formatted_text +from prompt_toolkit.formatted_text import to_formatted_text, merge_formatted_text from prompt_toolkit.history import InMemoryHistory from prompt_toolkit.input.defaults import get_default_input from prompt_toolkit.key_binding.bindings.auto_suggest import load_auto_suggest_bindings @@ -796,7 +796,7 @@ def prompt(*a, **kw): prompt.__doc__ = PromptSession.prompt.__doc__ -def create_confirm_session(message): +def create_confirm_session(message, suffix=' (y/n) '): """ Create a `PromptSession` object for the 'confirm' function. """ @@ -821,13 +821,14 @@ def create_confirm_session(message): " Disallow inserting other text. " pass - session = PromptSession(message, key_bindings=bindings) + complete_message = merge_formatted_text([message, suffix]) + session = PromptSession(complete_message, key_bindings=bindings) return session -def confirm(message='Confirm (y or n) '): +def confirm(message='Confirm?', suffix=' (y/n) '): """ Display a confirmation prompt that returns True/False. """ - session = create_confirm_session(message) + session = create_confirm_session(message, suffix) return session.prompt() |