prompt-toolkit / prompt-toolkit/python-prompt-toolkit
insert_common_part=True in completion keybinding doesn't work if complete_while_typing=True
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 10.6k
- Forks
- 815
- PR merge metrics
- No merged PRs in 30d
Description
The generate_completions function sets insert_common_part=True. However, if complete_while_typing=True is also set a completion will generally already be active whenever TAB is pressed, meaning b.complete_state will always be True in the above code.
As far as I can tell, there's no way to distinguish the two types of completion here (I couldn't find any way to get a reference to a CompleteEvents object from the event).
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 by reading generate_completions in prompt_toolkit/key_binding/bindings/completion.py at the linked revision, then trace how complete_while_typing affects b.complete_state and how TAB events expose completion state. The work is done when TAB can distinguish an already-active completion from one it should initialize with insert_common_part=True, with behavior verified for both settings.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100