gnodet commented on code in PR #1559: URL: https://github.com/apache/maven-mvnd/pull/1559#discussion_r3741187341
########## dist/src/main/distro/bin/mvnd-bash-completion.bash: ########## @@ -17,10 +17,26 @@ # Adapted from https://github.com/juven/maven-bash-completion/blob/master/bash_completion.bash by Juven Xu and others # under Apache License Version 2.0 +# Detect shell type and set up zsh compatibility if needed +if [ -n "$ZSH_VERSION" ]; then + __MVND_SHELL="zsh" + # Load bashcompinit for bash-style completions in zsh + autoload -Uz bashcompinit 2>/dev/null && bashcompinit + # Define COMP_WORDBREAKS if not set (bash sets this automatically) Review Comment: **Suggestion (medium):** The zsh documentation states that `bashcompinit` must be called after `compinit` has been loaded. This script calls `autoload -Uz bashcompinit && bashcompinit` without first ensuring `compinit` is initialized. Most zsh users will already have `compinit` loaded via their framework (oh-my-zsh, prezto, etc.) or `.zshrc`, but users with a minimal zsh configuration will get silent failure — the `2>/dev/null` suppresses the error and completions simply won't register. Consider adding `compinit` initialization before `bashcompinit`: ```suggestion __MVND_SHELL="zsh" # Load zsh completion system if not already initialized autoload -Uz compinit 2>/dev/null && compinit -u 2>/dev/null # Load bashcompinit for bash-style completions in zsh autoload -Uz bashcompinit 2>/dev/null && bashcompinit ``` Alternatively, document the `compinit` prerequisite in the README. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
