prompt-toolkit / prompt-toolkit/python-prompt-toolkit
Disable bottom_toolbar if it returns False
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 10.6k
- Forks
- 815
- PR merge metrics
- No merged PRs in 30d
Description
I want to add shortcut to disable bottom toolbar. Is it possible to disable it when bottom_toolbar returns False?
#!/usr/bin/env python3
import os
from prompt_toolkit import PromptSession
from prompt_toolkit.key_binding import KeyBindings
global_kb = KeyBindings()
global_toolbar = True
def bottom_toolbar():
global global_toolbar
if global_toolbar:
return "F1 Help"
else:
return False
@global_kb.add('c-b') # Ctrl+B
def switch_toolbar(event):
global global_toolbar
global_toolbar = not global_toolbar
session = PromptSession(os.getcwd() + ">", key_bindings=global_kb, bottom_toolbar=bottom_toolbar)
text = session.prompt()
print("[debug] " + text)
Right now this piece of code enters endless error loop on Ctrl+B:
Exception No formatted text. Expecting a unicode object, HTML, ANSI or a FormattedText instance. Got False
Full traceback: https://pastebin.mozilla.org/9088696
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the handling of the bottom_toolbar callback and reproduce the supplied PromptSession example. Trigger Ctrl+B while the callback returns False, then verify that the toolbar is hidden without raising the formatted-text error or entering an error loop.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100