fix(alias-finder): replace '{0,1} with '? for BSD grep compatibility

BSD grep on macOS does not handle the '{0,1} ERE quantifier correctly,
causing 'grep: invalid repetition count(s)' errors on every command when
autoload is enabled. Replace with the equivalent POSIX '? pattern which
works on both BSD and GNU grep.

Fixes #13416
This commit is contained in:
Sediman 2026-05-26 23:40:23 +02:00
parent 5ef67beadb
commit 1e18b12d46

View File

@ -1,5 +1,5 @@
alias-finder() {
local cmd=" " exact="" longer="" cheaper="" wordEnd="'{0,1}$" finder="" filter=""
local cmd=" " exact="" longer="" cheaper="" wordEnd="'?$" finder="" filter=""
# build command and options
for c in "$@"; do
@ -31,7 +31,7 @@ alias-finder() {
# find with alias and grep, removing last word each time until no more words
while [[ $cmd != "" ]]; do
finder="'{0,1}$cmd$wordEnd"
finder="'?$cmd$wordEnd"
# make filter to find only shorter results than current cmd
if [[ $cheaper == true ]]; then