summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Slenders <jonathan@slenders.be>2018-05-24 22:58:20 +0200
committerJonathan Slenders <jonathan@slenders.be>2018-05-24 22:58:20 +0200
commitdb7f56c958924e206483c6520b6053d1de760dbf (patch)
treed2276e0d014a1307ced88c269fbb6bf0fc7d8631
parente9cff3a3765861397b595f8425efa8c109a73b1f (diff)
Take suffix argument for (yes/no) in confirmation prompt.
-rwxr-xr-xexamples/prompts/confirmation-prompt.py2
-rw-r--r--prompt_toolkit/formatted_text/base.py2
-rw-r--r--prompt_toolkit/key_binding/bindings/completion.py2
-rw-r--r--prompt_toolkit/shortcuts/prompt.py11
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()