Skip to content

Hitting enter does not always run the command I typed even when I am not in the menu #787

@TommyX12

Description

@TommyX12

Environment

% typeset -p1 VENDOR OSTYPE ZSH_PATCHLEVEL _autocomplete__funcfiletrace
typeset VENDOR=apple
typeset OSTYPE=darwin24.0
typeset ZSH_PATCHLEVEL=zsh-5.9-0-g73d3173
typeset -a _autocomplete__funcfiletrace=(
  /Users/tommyx/.oh-my-zsh/custom/plugins/zsh-autocomplete/zsh-autocomplete.plugin.zsh:4
  /Users/tommyx/.oh-my-zsh/oh-my-zsh.sh:175
  /Users/tommyx/.oh-my-zsh/oh-my-zsh.sh:204
  /Users/tommyx/data/tommyx-shell/tommyx-shell.sh:29
  /Users/tommyx/.zshrc:1
  zsh:0
)
% git -C ~autocomplete log --oneline -n1
762afac (grafted, HEAD -> main, tag: 24.09.04, origin/main, origin/HEAD) Add note to Readme about usage of `%`
  • Operating system: macOS Sequoia 15.3.1
  • Terminal emulator: iTerm2

Steps to reproduce

  • In a large repository (e.g. at work), when I type something (e.g. git statu) and hit enter immediately, I expect the command to be run, but it sometimes completes/modifies the right most typed segment (e.g. replace statu with status) instead of running the command as is. This happens when I am not focusing in the autocomplete menu at all.
  • This happens around 20% of the time (enough to interfere with my thoughts) and I frequently have to wait for 1 second before hitting enter just to make sure it doesn't mess with what I have already entered.
  • I tried adding bindkey -M menuselect '^M' .accept-line and bindkey -M menuselect '\r' .accept-line to my config, it didn't help.

Note

  • I am also using powerlevel10k which seems to have implemented deferred git status refresh (not sure if that interferes with this).

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions