Fix for completion display bug with tmux/IntelliJ #191
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
IntelliJ terminal requires
zle redisplay
to be called but this breakscompletion menus in non IntelliJ terminals.
This uses an environment variable to detect whether we are in an
IntelliJ terminal and only calls
zle redisplay
for those environments.See also: https://youtrack.jetbrains.com/issue/IDEA-191464/Add-environment-variable-to-terminal-detect-if-running-in-IntelliJ-IDES
Previously the code tried to guard against this bug by looking at
$LASTWIDGET
but unfortunately we cannot reliably assume that the completion widget
has
complet
in the name (on my personal setup, I sawautosuggest-suggest
andself-insert
as the$LASTWIDGET
duringcompletions depending on context and other zsh plugins enabled).
See also: #122