Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: path PATH
On 2023-01-22 04:29, Roman Perepelitsa wrote:
Perhaps you can use something like this to describe parameters:
describe-param() {
emulate -L zsh
[[ ARGC -eq 1 && -n $1 ]] || return
set -- "$@" ${(Pt)1}
[[ -$2- == *-hide-* ]] && return 1
print -rn -- "$2 ${(q-)1}"
if [[ -$2- == *-hideval-* ]]; then
print
else
set -- "$@" ${(M)2:#(array|association)(|-*)}
print -r -- "=${3:+( }${(j: :)${(@qqq)${(@kv)${(@P)1}}}}${3:+ )}"
fi
}
Fantastic. I've never seen parameter descriptions of that sort. So
verbal, so helpful , so complete. Whoever coded that was a friend of
humanity that day:
5 /aWorking/Zsh/Source/Wk 0 $ describe-param PATH
scalar-tied-export-special
PATH=".:/aWorking/Zsh/System:/aWorking/Bin:/usr/local/bin:/usr/sbin:/usr/bin"
5 /aWorking/Zsh/Source/Wk 0 $ describe-param path
array-tied-special path=( "." "/aWorking/Zsh/System" "/aWorking/Bin"
"/usr/local/bin" "/usr/sbin" "/usr/bin" )
... ALL the information, all the time. I'll bet it even works on
Tuesdays. Dunno, it's mostly a psychological thing but whereas most of
the time brief, compact information is all you need, it is nice to know
that when you hafta, you can get ALL the information. I learn that PATH
is exported and path is not! Who knew? typeset -p obfuscates more than
helps. But, as Bart was saying, we can't export arrays (why not? it
seems arbitrary), so that's what PATH is for. Complete information
explains itself. If I'd had that function from the getgo, this entire
thread would have been unnecessary, the issue would have explained
itself. It's going to be a good day.
Messages sorted by:
Reverse Date,
Date,
Thread,
Author