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

Crashes zsh when typing #726

Open
redoxahmii opened this issue Jun 10, 2024 · 10 comments
Open

Crashes zsh when typing #726

redoxahmii opened this issue Jun 10, 2024 · 10 comments
Labels
bug Something isn't working

Comments

@redoxahmii
Copy link

Environment

# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
  source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
source $HOME/.tmuxifier-alias.zsh


# if [[ -f "/opt/homebrew/bin/brew" ]] then
#   # If you're using macOS, you'll want this enabled
#   eval "$(/opt/homebrew/bin/brew shellenv)"
# fi

# Set the directory we want to store zinit and plugins
ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git"

# Download Zinit, if it's not there yet
if [ ! -d "$ZINIT_HOME" ]; then
   mkdir -p "$(dirname $ZINIT_HOME)"
   git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME"
fi

# Source/Load zinit
source "${ZINIT_HOME}/zinit.zsh"
# Add in Powerlevel10k
zinit ice depth=1; zinit light romkatv/powerlevel10k

# Add in zsh plugins
zinit light zsh-users/zsh-syntax-highlighting
zinit light marlonrichert/zsh-autocomplete
zinit load zsh-users/zsh-autosuggestions
zinit light Aloxaf/fzf-tab

# Add in snippets
zinit snippet OMZP::git
zinit snippet OMZP::sudo
zinit snippet OMZP::archlinux
zinit snippet OMZP::tmux
# Load completions
autoload -Uz compinit && compinit

zinit cdreplay -q

# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh

# Keybindings
bindkey -e
bindkey '^p' history-search-backward
bindkey '^n' history-search-forward
bindkey '^[w' kill-region

# History
HISTSIZE=5000
HISTFILE=~/.zsh_history
SAVEHIST=$HISTSIZE
HISTDUP=erase
setopt appendhistory
setopt sharehistory
setopt hist_ignore_space
setopt hist_ignore_all_dups
setopt hist_save_no_dups
setopt hist_ignore_dups
setopt hist_find_no_dups

# Completion styling
 zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
 zstyle ':completion:*' menu no
 zstyle ':fzf-tab:complete:cd:*' fzf-preview 'ls --color $realpath'
 zstyle ':fzf-tab:complete:__zoxide_z:*' fzf-preview 'ls --color $realpath'

# Aliases
alias ls='ls --color'
export NVM_DIR=~/.nvm
 [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
# Shell integrations
eval "$(fzf --zsh)"
eval "$(zoxide init --cmd cd zsh)"
  • Operating system: Arch Linux
  • Terminal emulator: Kitty

Steps to reproduce

Type `sudo rm -r` and it will crash.
Contents of ~autocomplete-log/YYYY-MM-DD.log (click to expand)

@redoxahmii redoxahmii added the bug Something isn't working label Jun 10, 2024
@redoxahmii
Copy link
Author

This did not happen before i just updated this plugin and it keeps crashing it.

@Shraymonks
Copy link

Experienced the same issue.

Did a quick bisect and looks like a66d6ae is the culprit.

The logs have the following lines repeated multiple times:

compadd:57: closing brace expected
compadd:52: parse error in command substitution
autocomplete:compadd:old:57: closing brace expected
autocomplete:compadd:old:52: parse error in command substitution

@redoxahmii
Copy link
Author

@Shraymonks thank you for saving me time before i went down the rabbit hole myself.

Would you know how i can revert to this commit for the time being until this gets fixed with zinit?

zinit ice commit=008caae;
zinit light marlonrichert/zsh-autocomplete

I have been trying to do it this way and there isn't any good documentation on zinit to actually know what to do.

@Shraymonks
Copy link

I don't use zinit but I'm guessing that's what ver is for after taking a quick look. Alternatively you can probably just checkout that commit wherever zinit installed zsh-autocomplete.

@redoxahmii
Copy link
Author

That's how i am running it atm by checking out the commit.

@joneavila
Copy link

joneavila commented Aug 16, 2024

Experienced the same issue.

Did a quick bisect and looks like a66d6ae is the culprit.

The logs have the following lines repeated multiple times:

compadd:57: closing brace expected
compadd:52: parse error in command substitution
autocomplete:compadd:old:57: closing brace expected
autocomplete:compadd:old:52: parse error in command substitution

Thank you for finding this! I was experiencing the crash when attempting git branch -a (specifically, immediately after typing the a). Here's my temporary fix, coming from a Homebrew install.

git clone https://github.com/marlonrichert/zsh-autocomplete.git
cd zsh-autocomplete

# If cloned  using `--depth 1` like the README suggests:
#     git fetch --unshallow

# Undo the commit for the affected file
git checkout a66d6ae6f7e703b1bf5ae57e48a7da3cf307aeab^ -- Functions/Init/.autocomplete__async;

Then update how it's sourced in .zshrc:

# source $HOMEBREW_PREFIX/share/zsh-autocomplete/zsh-autocomplete.plugin.zsh
source /path/to/zsh-autocomplete/zsh-autocomplete.plugin.zsh

@NorinB
Copy link

NorinB commented Nov 17, 2024

I encountered the same issue on my Mac. I'm not sure, if the following will fix the issue on Arch aswell, but I added this line into my .zshrc before loading zsh-autocomplete:

# ~/.zshrc

# THIS IS THE IMPORTANT LINE TO ADD
setopt interactive_comments

# Load zsh-autocomplete via zinit
zinit light marlonrichert/zsh-autocomplete
# OR Load zsh-autocomplete using the method you prefer...

Got this solution from another issue.

@RodoMa92
Copy link

RodoMa92 commented Dec 26, 2024

I encountered the same issue on my Mac. I'm not sure, if the following will fix the issue on Arch aswell, but I added this line into my .zshrc before loading zsh-autocomplete:

# ~/.zshrc

# THIS IS THE IMPORTANT LINE TO ADD
setopt interactive_comments

# Load zsh-autocomplete via zinit
zinit light marlonrichert/zsh-autocomplete
# OR Load zsh-autocomplete using the method you prefer...

Got this solution from another issue.

Thanks a lot for this solution, setting that option also fixed all my crashes on parsing command parameters on my end :)

Fedora 41 based distro here.

@redoxahmii
Copy link
Author

@NorinB I've been running it since by checking out the commit that was mentioned above and adding setopt works on Arch as well.
If you know what exactly does this option entail I would love to know as you've been using it for a longer time period.

@RodoMa92
Copy link

@NorinB I've been running it since by checking out the commit that was mentioned above and adding setopt works on Arch as well.
If you know what exactly does this option entail I would love to know as you've been using it for a longer time period.

Docs for this parameter set is here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants