最后活跃于 1 month ago

修订 6157e96f54ee57d3994556b2a3d63b1a52685dd8

gistfile1.txt 原始文件
1function command::load_subcmd() {
2 local cmd="$1" subcmd="$2"
3 [[ -z "$cmd" || -z "$subcmd" ]] && return 1
4
5 # Determine file path — commands/<cmd>/<subcmd>.sh
6 local cmd_dir
7 cmd_dir="${WGCTL_DIR}/commands/${cmd}"
8
9 local subcmd_file="${cmd_dir}/${subcmd}.sh"
10 [[ ! -f "$subcmd_file" ]] && return 1
11
12 _CURRENT_LOADING_CMD="${cmd}::${subcmd}"
13 _CURRENT_COMMAND="${cmd}::${subcmd}"
14 source "$subcmd_file"
15
16 local fn_subcmd="${subcmd//-/_}"
17 local on_load_fn="cmd::${cmd}::${fn_subcmd}::on_load"
18
19 if declare -f "$on_load_fn" &>/dev/null; then
20 "$on_load_fn"
21 fi
22
23 _CURRENT_LOADING_CMD=""
24}