Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conflict between zoxide, zsh-autocomplete, and fzf results in erroneous behavior #709

Closed
argamanza opened this issue Mar 29, 2024 · 1 comment
Labels
bug Something isn't working duplicate This issue or pull request already exists

Comments

@argamanza
Copy link

Environment

Shell: zsh 5.9
OS: macOS 14.1

Tools & Versions:
zoxide: 0.9.4
fzf: 0.48.1 (installed via brew)
zsh-autocomplete: 23.07.13

% typeset -p1 VENDOR OSTYPE ZSH_PATCHLEVEL _autocomplete__funcfiletrace
typeset VENDOR=apple
typeset OSTYPE=darwin23.0
typeset ZSH_PATCHLEVEL=zsh-5.9-0-g73d3173
typeset -a _autocomplete__funcfiletrace=(
  /opt/homebrew/share/zsh-autocomplete/zsh-autocomplete.plugin.zsh:4
  /Users/tzahi.argaman/.zshrc:5
  zsh:0
)
% git -C ~autocomplete log --oneline -n1
92a4311868 (HEAD -> stable, tag: 4.2.15) Merge pull request #16944 from cho-m/mismatched_binary_allowlist-granular-globs

Description

When using zoxide in conjunction with zsh-autocomplete and fzf, the expected behavior of navigating to directories sorted by frecency fails. Specifically, after initiating a directory search with z prefix<SPACE><TAB>, selecting a directory from the fzf menu, and pressing <ENTER>, the fzf menu reopens with the input "0n" instead of changing the directory.

Steps to Reproduce

  1. Configure .zshrc with the following setup:
# Set up fzf key bindings and fuzzy completion
eval "$(fzf --zsh)"

# Initialize zsh-autocomplete
source /opt/homebrew/share/zsh-autocomplete/zsh-autocomplete.plugin.zsh

# Initialize zoxide
eval "$(zoxide init zsh)"
  1. Type z sometext<SPACE><TAB> to invoke the fzf menu.
  2. Select a directory and press <ENTER>.

Expected Behavior

Upon selecting a directory from the fzf menu and pressing <ENTER>, the shell should navigate to the selected directory.

Actual Behavior

After selecting a directory, pressing <ENTER> reopens the fzf menu with 0n pre-filled, leading to an empty list. Exiting this state requires pressing <ESCAPE> three times or manually correcting the input.

Additional Information

  • When using zoxide on a directory prefix with only one possible completion it will paste the command 4 times and cd into it.
  • This issue does not occur when zsh-autocomplete is not initialized in the .zshrc file.
  • using zi works as expected, seems like the issue is with the <TAB> key press.
  • I will attach a video demonstrating the described behavior.

Attempts to Resolve

Using autoload -U compinit; compinit as demonstrated below, instead of the zsh-autocomplete initialization allows zoxide to function as expected but without the desired autocomplete features.

autoload -U compinit; compinit

# Initialize zsh-autocomplete
source /opt/homebrew/share/zsh-autocomplete/zsh-autocomplete.plugin.zsh

# Initialize zoxide
eval "$(zoxide init zsh)"

TL;DR

When using zoxide in conjunction with zsh-autocomplete, pressing <TAB> performs some action 4 times which leads to erroneous behavior.

Issue Demonstration

CleanShot 2024-03-30 at 00 01 18

Contents of ~autocomplete-log/YYYY-MM-DD.log (click to expand)
cat ~autocomplete-log/2024-03-29.log
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
zoxide: no match found
**Following lines are automatically added when trying to `cat` the log file**
^[[2;1R^[[10;1R^[[25;1R^[[25;1R%
tzahi.argaman@NG-TZAHI-AR % 1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R;1R
shell function
TRAPINT   TRAPQUIT
common substring: TRAPI
@argamanza argamanza added the bug Something isn't working label Mar 29, 2024
@argamanza
Copy link
Author

Just noticed it's a duplicate of #706 - closing

@argamanza argamanza closed this as not planned Won't fix, can't repro, duplicate, stale Apr 2, 2024
@marlonrichert marlonrichert added the duplicate This issue or pull request already exists label Jun 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working duplicate This issue or pull request already exists
Projects
None yet
Development

No branches or pull requests

2 participants