shell脚本求助(zsh_unplugged)

管理zsh插件的zsh_unplugged有这样一段代码:

https://github.com/mattmc3/zsh_unplugged/blob/1ff5fa26d43835e25ffce474ffc341ab585f846c/README.md?plain=1#L245-L253

function plugin-update {
  ZPLUGINDIR=${ZPLUGINDIR:-$HOME/.config/zsh/plugins}
  for d in $ZPLUGINDIR/*/.git(/); do
    echo "Updating ${d:h:t}..."
    command git -C "${d:h}" pull --ff --recurse-submodules --depth 1 --rebase --autostash
  done
}

这里的${d:h:t}是什么用法?我查询到这属于Substring Expansion,根据bash的man page,它使用的形式是${parameter:offset:length},但在这里ht似乎都没有被定义过啊?这是否是内置的变量?

类似的还有source ${0:A:h}/zsh_unplugged.plugin.zsh的用法,这里的$0比较常用,Ah是怎么凭空出现的呢?

简单来说就是得到文件所在的路径。