29 lines
652 B
Plaintext
29 lines
652 B
Plaintext
#compdef pdir
|
|
|
|
_pdir_projects() {
|
|
local ctx base
|
|
ctx="$(docker context show 2>/dev/null)"
|
|
[[ -z "$ctx" ]] && return 0
|
|
|
|
# Respect DOCKER_DIR override (same as your dcsctl behavior)
|
|
base="${DOCKER_DIR:-$HOME/.dcs}"
|
|
base="$base/$ctx/compose"
|
|
[[ -d "$base" ]] || return 0
|
|
|
|
local -a ignored projects
|
|
ignored=(shared '@Recycle' '@Recently-Snapshot' '.DS_Store')
|
|
|
|
projects=()
|
|
local dir name
|
|
for dir in "$base"/*; do
|
|
[[ -d "$dir" ]] || continue
|
|
name="${dir:t}"
|
|
(( ${ignored[(I)$name]} )) && continue
|
|
projects+=("$name")
|
|
done
|
|
|
|
_describe -t dcs-projects 'projects' projects
|
|
}
|
|
|
|
_arguments -C '1:project:_pdir_projects'
|