23 lines
872 B
Bash
Executable File
23 lines
872 B
Bash
Executable File
#!/bin/sh
|
|
# Fuzzy-known source: surfaces fixes already taught for a command that
|
|
# *starts the same way* as this one, since f()'s own p lookup only ever
|
|
# matches the exact, literal string.
|
|
#
|
|
# Matches only against the KEY (left of "="), not the whole line -- an
|
|
# earlier version used `grep -F "$first_word " p`, which also matched
|
|
# inside a fix's *value*. Proven wrong live: with p containing
|
|
# `gti --version=gti(){ command git "$@"; }`, querying "git push" (never
|
|
# taught) matched that line anyway, because "git " appears inside the
|
|
# value text, not because the key is related.
|
|
[ -f p ] || exit 0
|
|
cmd="$1"
|
|
first_word=$(printf '%s' "$cmd" | awk '{print $1}')
|
|
[ -n "$first_word" ] || exit 0
|
|
awk -v fw="$first_word " '
|
|
substr($0, 1, length(fw)) == fw {
|
|
line = $0
|
|
sub(/^[^=]*=/, "", line)
|
|
if (!seen[line]++) print line
|
|
}
|
|
' p 2>/dev/null
|