Skip to content

Commit 4ccae32

Browse files
committed
regenerate files
1 parent 6481033 commit 4ccae32

4 files changed

Lines changed: 23 additions & 23 deletions

File tree

argsh.min.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env bash
22
# shellcheck disable=SC2178 disable=SC2120 disable=SC1090 disable=SC2046 disable=SC2155 disable=SC2154 disable=SC2329
3-
set -euo pipefail; ARGSH_COMMIT_SHA="a2d14c1c8e0690c6d0f08fc44be3da4ec1c23da8"; ARGSH_VERSION="v0.4.0"
3+
set -euo pipefail; ARGSH_COMMIT_SHA="6481033edf9b9c00bbc9b3448ce4d803fdd87553"; ARGSH_VERSION="v0.4.1"
44
: "${ARGSH_VERSION:=unknown}";: "${ARGSH_COMMIT_SHA:=unknown}";: "${ARGSH_FIELD_WIDTH:=24}";COMMANDNAME=("$(s="${ARGSH_SOURCE:-"${0}"}"; echo "${s##*/}")");declare -ga __ARGSH_BUILTINS=(:usage :usage::help :usage::completion :usage::docgen :usage::mcp :args is::array is::uninitialized is::set is::tty args::field_name to::int to::float to::boolean to::file to::string import import::clear);declare -g __ARGSH_LIB_DIR="${BASH_SOURCE[0]%/*}";__argsh_try_builtin() { local _so _d;local -r _n="argsh.so";for _so in "${ARGSH_BUILTIN_PATH:-}" "${PATH_LIB:+${PATH_LIB}/${_n}}" "${PATH_BIN:+${PATH_BIN}/${_n}}" ;do [[ -n "${_so}" && -f "${_so}" ]] || continue;enable -f "${_so}" "${__ARGSH_BUILTINS[@]}" 2>/dev/null || continue;return 0;done;for _d in "${LD_LIBRARY_PATH:-}" "${BASH_LOADABLES_PATH:-}";do [[ -n "${_d}" ]] || continue;local IFS=:;for _so in ${_d};do [[ -n "${_so}" && -f "${_so}/${_n}" ]] || continue;enable -f "${_so}/${_n}" "${__ARGSH_BUILTINS[@]}" 2>/dev/null || continue;return 0;done;done;return 1;};declare -gi ARGSH_BUILTIN="${ARGSH_BUILTIN:-0}";if __argsh_try_builtin;then ARGSH_BUILTIN=1;unset -f import 2>/dev/null || true;[[ "$(type -t import 2>/dev/null)" == "builtin" ]] || import() { declare -A _i; (( ${_i[${1}]:-} )) || { _i[${1}]=1; . "${BASH_SOURCE[0]%/*}/${1}.sh"; } };fi;if (( ARGSH_BUILTIN ));then unset -f is::array is::uninitialized is::set is::tty args::field_name to::int to::float to::boolean to::file to::string 2>/dev/null || true;fi;if ! (( ARGSH_BUILTIN ));then :usage::help() { local a44="${1}"; shift;local -a usage=("${@}");:usage::text "${a44}";exit 0;};fi;if ! (( ARGSH_BUILTIN ));then :usage::suggest() { local a36="${1}"; shift;local -a a11=("${@}");local a47="" a4=999;local a83 a3 a81 a53;local -a _sug_aliases=();for (( a83=0; a83 < ${#a11[@]}; a83+=2 ));do a3="${a11[a83]/:*}";a3="${a3#\#}";IFS='|' read -ra _sug_aliases <<< "${a3}";for a81 in "${_sug_aliases[@]}";do a53="$(:usage::levenshtein "${a36}" "${a81}")";if (( a53 < a4 ));then a4="${a53}";a47="${a81}";fi;done;done;if (( a4 > 0 && a4 <= 2 ));then local a12=${#a36};(( ${#a47} > a12 )) && a12=${#a47};if (( a4 * 100 <= a12 * 40 ));then echo "${a47}";fi;fi;};:usage::levenshtein() { local a81="${1}" a82="${2}";local a26=${#a81} a30=${#a82};if (( a26 == 0 )); then echo "${a30}"; return; fi;if (( a30 == 0 )); then echo "${a26}"; return; fi;local -a a62;local a84;for (( a84=0; a84 <= a30; a84++ )); do a62[a84]="${a84}"; done;local a83 a16 a50 a13;for (( a83=1; a83 <= a26; a83++ ));do a16="${a62[0]}";a62[0]="${a83}";for (( a84=1; a84 <= a30; a84++ ));do if [[ "${a81:a83-1:1}" == "${a82:a84-1:1}" ]];then a50=0;else a50=1;fi;a13=$(( a16 + a50 ));(( a62[a84] + 1 < a13 )) && a13=$(( a62[a84] + 1 ));(( a62[a84-1] + 1 < a13 )) && a13=$(( a62[a84-1] + 1 ));a16="${a62[a84]}";a62[a84]="${a13}";done;done;echo "${a62[a30]}";};:usage() { local a44="${1}"; shift;declare -p usage &>/dev/null || local -a usage=();declare -p args &>/dev/null || local -a args=();[[ $(( ${#usage[@]} % 2 )) -eq 0 ]] || :args::_error "usage must be an associative array";if [[ -z ${1:-} || ${1} == "-h" || ${1} == "--help" ]];then usage=(":usage::help" "${a44}" "${usage[@]}");return 0;fi;if ! (( ${#COMMANDNAME[@]} )) && [[ ${1:-} == "--argsh" ]];then echo "https://arg.sh ${ARGSH_COMMIT_SHA:-} ${ARGSH_VERSION:-}";exit 0;fi;local -A a39=();local -a a67=("${@}");local a68 a32="";while (( ${#a67[@]} ));do if [[ ${a67[0]:0:1} != "-" ]];then [[ -z "${a68:-}" ]] || break;a68="${a67[0]}";a67=("${a67[@]:1}");continue;fi;:args::parse_flag || break;a39["${a32}"]=1;done;:args::check_required_flags;local a56;for (( a83=0; a83 < ${#usage[@]}; a83+=2 ));do IFS='|' read -ra _aliases <<< "${usage[a83]/:*}";for a27 in "${_aliases[@]}";do a27="${a27#\#}";[[ "${a68}" == "${a27}" ]] || continue;a32="${usage[a83]#\#}";a56="${usage[a83]/*:-}";a56="${a56#\#}";[[ "${a56}" == "${usage[a83]}" ]] || break 2;a56="${a56/|*}";break 2;done;done;if [[ -z "${a56:-}" ]];then if [[ -z "${a68:-}" ]];then usage=(":usage::help" "${a44}" "${usage[@]}");return 0;fi;local _sug;_sug="$(:usage::suggest "${a68}" "${usage[@]}")";if [[ -n "${_sug}" ]];then :args::error_usage "Invalid command: ${a68}. Did you mean '${_sug}'?";else :args::error_usage "Invalid command: ${a68}";fi;fi;local a8=0;[[ "${a32}" != *":-"* ]] || a8=1;if (( a8 ));then declare -F -- "${a56}" >/dev/null 2>&1 || { local _sug;_sug="$(:usage::suggest "${a68}" "${usage[@]}")";if [[ -n "${_sug}" ]];then :args::error_usage "Invalid command: ${a68}. Did you mean '${_sug}'?";else :args::error_usage "Invalid command: ${a68}";fi;};else local a15="${FUNCNAME[1]:-}";if [[ -n "${a15}" ]] && declare -F -- "${a15}::${a56}" >/dev/null 2>&1;then a56="${a15}::${a56}";elif declare -F -- "argsh::${a56}" >/dev/null 2>&1;then a56="argsh::${a56}";elif declare -F -- "${a56}" >/dev/null 2>&1;then :;else local _sug;_sug="$(:usage::suggest "${a68}" "${usage[@]}")";if [[ -n "${_sug}" ]];then :args::error_usage "Invalid command: ${a68}. Did you mean '${_sug}'?";else :args::error_usage "Invalid command: ${a68}";fi;fi;fi;COMMANDNAME+=("${a32/[|:]*}");usage=("${a56}" "${a67[@]}");};:usage::text() { local a44="${1:-}";string::indent "${a44}";echo;echo "Usage: ${COMMANDNAME[*]} <command> [args]";[[ ${usage[0]:-} == '-' ]] || echo -e "\nAvailable Commands:";for (( a83=0; a83 < ${#usage[@]}; a83+=2 ));do [[ "${usage[a83]:0:1}" != "#" ]] || continue;[[ "${usage[a83]}" != "-" ]] || { echo;echo "${usage[a83+1]}";continue;};printf " %-${ARGSH_FIELD_WIDTH}s %s\n" "${usage[a83]/[:|]*}" "${usage[a83+1]}";done;:args::text_flags;echo;echo "Use \"${COMMANDNAME[*]} <command> --help\" for more information about a command.";};:args() { local a44="${1}"; shift;declare -p args &>/dev/null || local -a args=();[[ $(( ${#args[@]} % 2 )) -eq 0 ]] || :args::_error "args must be an associative array";if [[ ${1:-} == "-h" || ${1:-} == "--help" ]];then :args::text;exit 0;fi;local a33=0 a32="" a83 a0=1;local -A a39=();local -a a67=("${@}");while (( ${#a67[@]} ));do if [[ ${a67[0]:0:1} != "-" ]];then local a60 a45;a83="$(:args::field_positional "${a0}")" || :args::error_usage "too many arguments: ${a67[0]}";a32="${args[a83]}";a60="$(args::field_name "${a32}")";a45="$(:args::field_value "${a67[0]}")" || exit "${?}";local -n a73="${a60}";if is::array "${a60}";then (( a33 )) || { a73=();a33=1;};a73+=("${a45}");else a73="${a45}";fi;a67=("${a67[@]:1}");(( ++a0 ));continue;fi;:args::parse_flag || :args::error_usage "unknown a55: ${a67[0]}";a39["${a32}"]=1;done;if a83="$(:args::field_positional "${a0}")";then a32="$(args::field_name "${args[a83]}")";if is::uninitialized "${a32}" && ! is::array "${a32}";then :args::error_usage "missing required argument: ${a32}";fi;fi;:args::check_required_flags;[[ ${#a67[@]} -eq 0 ]] || :args::error_usage "too many arguments: ${a67[*]}";};:args::text() { declare -p args &>/dev/null || return 0;local -a a2=() a22=();:args::positional;string::indent "${a44}";echo;echo "Usage:";echo " ${COMMANDNAME[*]} ${a22[*]}";(( ${#a2[@]} == 0 )) || { echo;echo "Arguments:";for a83 in "${a2[@]}";do [[ ${args[a83]} != "-" ]] || continue;a52="$( printf " %-${ARGSH_FIELD_WIDTH}s%s" " " "${args[a83+1]}" | fmt::tty;)";printf " %-${ARGSH_FIELD_WIDTH}s%s\n" "$(:args::fieldf "${args[a83]}")" "$(string::trim-left "${a52}")";done;};:args::text_flags;echo;};:args::text_flags() { local -a args=("${args[@]}");local -a a34=();array::contains 'help|h:+' "${args[@]}" || args+=('help|h:+' "Show this help message");:args::flags;(( ${#a34[@]} )) || return 0;[[ "${args[${a34[0]}]}" == "-" ]] || echo -e "\nOptions:";for a83 in "${a34[@]}";do [[ "${args[a83]:0:1}" != "#" ]] || continue;[[ "${args[a83]}" != "-" ]] || { echo;echo "${args[a83+1]}";continue;};:args::fieldf "${args[a83]}";{ echo -n " ";echo -e "${args[a83+1]}\n";} | fmt::tty;done;};:args::flags() { declare -p args &>/dev/null || local -a args;declare -p a34 &>/dev/null || local -a a34;for (( a83=0; a83 < "${#args[@]}"; a83+=2 ));do if [[ ${args[a83]} == *"|"* || ${args[a83]} == '-' ]];then a34+=("${a83}");fi;done;};:args::positional() { declare -p args &>/dev/null || local -a args;declare -p a2 &>/dev/null || local -a a2;declare -p a22 &>/dev/null || local -a a22;local a73;for (( a83=0; a83 < "${#args[@]}"; a83+=2 ));do [[ ${args[a83]} != *"|"* && ${args[a83]} != '-' ]] || continue;a73="$(args::field_name "${args[a83]}")";a2+=("${a83}");if is::array "${a73}";then a22+=("...${a73}");continue;fi;if ! is::uninitialized "${a73}";then a22+=("[${a73}]");continue;fi;a22+=("<${a73}>");done;};:args::parse_flag() { declare -p a67 a32 &>/dev/null || return 1;local a55="${a67[0]/=*}";if [[ ${a55:0:2} == "--" ]];then a32="$(:args::field_lookup "${a55:2}")" || return "${?}";elif [[ ${a55:0:1} == "-" ]];then a55="${a55:0:2}";a32="$(:args::field_lookup "${a55:1}")" || return "${?}";fi;:args::field_set_flag "${a32}";};:args::check_required_flags() { declare -p a39 args &>/dev/null || return 1;local a32;local -a a29;for (( a83=0; a83 < ${#args[@]}; a83+=2 ));do a32="${args[a83]}";:args::field_attrs "${a32}";if (( a29[2] )) && ! (( a29[4] ));then local -n a73="${a29[0]}";a73=0;fi;if (( a29[6] )) && [[ -z ${a39[${args[a83]}]:-} ]];then :args::error_usage "missing required a55: ${args[a83]/|*}";fi;done;};:args::field_set_flag() { local a32="${1}";declare -p a67 a55 &>/dev/null || return 1;local -a a29;:args::field_attrs "${a32}";local -n a73="${a29[0]}";local a7 a5;if (( a29[2] ));then a7=1;if [[ ${a55:0:2} == "--" ]];then a67=("${a67[@]:1}");else a67[0]="-${a67[0]:2}";[[ ${a67[0]} != "-" ]] || a67=("${a67[@]:1}");fi;fi;[[ -n ${a7:-} ]] || { a5="${a67[0]/${a55}}";if [[ ${a5} == "" ]];then (( ${#a67[@]} > 1 )) || :args::error "missing value for a55: ${a29[0]}";a7="${a67[1]}";a67=("${a67[@]:1}");else [[ "${a5:0:1}" != "=" ]] || a5="${a5:1}";a7="${a5}";fi;a7="$(:args::field_value "${a7}")" || exit "${?}";a67=("${a67[@]:1}");};if (( a29[5] ));then a73+=("${a7}");else a73="${a7}";fi;};:args::field_value() { local a45="${1}";declare -p a32 &>/dev/null || return 1;declare -p a29 &>/dev/null || { local -a a29;:args::field_attrs "${a32}";};declare -f "to::${a29[3]}" &>/dev/null || :args::_error "unknown type: ${a29[3]}";"to::${a29[3]}" "${a45}" "${a29[0]}" || :args::error_usage "invalid type (${a29[3]}): ${a45}";};:args::field_lookup() { local a32="${1}";declare -p args &>/dev/null || return 1;for (( a83=0; a83 < ${#args[@]}; a83+=2 ));do if [[ ${args[a83]} =~ (^${a32}\||\|${a32}:|\|${a32}$) ]];then echo "${args[a83]}";return 0;fi;done;return 1;};:args::field_positional() { local a9="${1:-1}";declare -p args &>/dev/null || return 1;for (( a83=0; a83 < ${#args[@]}; a83+=2 ));do if [[ ${args[a83]} != *"|"* && ${args[a83]} != '-' ]];then if is::array "$(args::field_name "${args[a83]}")" || (( --a9 == 0 ));then echo "${a83}";return 0;fi;fi;done;return 1;};args::field_name() { local a32="${1}";local a28="${2:-1}";a32="${a32/[|:]*}";a32="${a32#\#}";if (( a28 ));then a32="${a32//-/_}";fi;echo "${a32}";};:args::field_attrs() { local a32="${1}";declare -p a29 &>/dev/null || local -a a29;a29=( "" "" 0 "" 0 0 0 0 "" );local a64="+~!";local a59="${a32#*[:]}";[ "${a59}" != "${a32}" ] || a59="";a29[0]="$(args::field_name "${a32}")";a29[8]="$(args::field_name "${a32}" 0)";[[ ${a29[0]:0:1} != "#" ]] || { a29[7]=1;};local -n a73="${a29[0]}";local -a a34;IFS='|' read -ra a34 <<< "${a32/[:]*}";[[ ${#a34[@]} -eq 1 ]] || { a29[1]="${a34[1]}";};if is::array "${a29[0]}";then a29[5]=1;! is::uninitialized "${a29[0]}" || a73=();! (( ${#a73[@]} )) || a29[4]=1;elif ! is::uninitialized "${a29[0]}";then a29[4]=1;fi;while (( ${#a59} > 0 ));do if [[ ${a59:0:1} == "+" ]];then [[ -z ${a29[3]} ]] || :args::_error "cannot have multiple types: ${a29[3]} and boolean";a29[2]=1;a59="${a59:1}";continue;fi;if [[ ${a59:0:1} == "~" ]];then ! (( a29[2] )) || :args::_error "already flagged as boolean";a59="${a59:1}";a29[3]="${a59/[$a64]*}";a59="${a59:${#a29[3]}}";continue;fi;if [[ ${a59:0:1} == "!" ]];then ! (( a29[6] )) || :args::_error "field already flagged as required";a29[6]=1;a59="${a59:1}";continue;fi;echo ":args error: unknown modifier: ${a59:0:1}" >&2;exit 2;done;if [[ -z ${a29[3]} && ${a29[2]} -eq 0 ]];then a29[3]="string";fi;};:args::fieldf() { local a32="${1}";declare -p a29 &>/dev/null || { local -a a29;:args::field_attrs "${a32}";};[[ ${a32} == *"|"* ]] || { echo "${a29[8]} ${a29[3]}";return 0;};local -n a73="${a29[0]}";a17=" ";! (( a29[6] )) || a17=" ! ";if [[ -n ${a29[1]} ]];then a17+="-${a29[1]}, --${a29[8]}";else a17+=" --${a29[8]}";fi;a17+=" ";! (( a29[5] )) || a17+="...";a17+="${a29[3]}";if (( a29[4] )) && ! (( a29[2] ));then a17+=" (default: ${a73[*]})";fi;echo "${a17}";};fi;args::run() { local a66="${1}"; shift;for (( a83=0; a83<${#}; a83++ ));do local a74="${1}"; shift;local a56="${1}"; shift;if ! (( a66 )) || (( a74 ));then "${a56}";fi;done;};array::contains() { local -r a21="${1}"; shift;for a10 in "${@}";do [[ "${a10}" != "${a21}" ]] || return 0;done;return 1;};array::join() { local -r a6="${1}"; shift;local a23;printf -v a23 "${a6}%s" "${@}";echo "${a23:${#a6}}";};array::nth() { local -n a72="${1}";local -r a71="${2}";shift 2;for (( a83=1; a83<=${#}; a83++ ));do (( a83 % a71 )) || a72+=("${!a83}");done;};bash::version() { local a38="${1:-4}";local a40="${2:-3}";local a41="${3:-0}";if [[ "${BASH_VERSINFO[0]}" -lt "${a38}" ]];then return 1;elif [[ "${BASH_VERSINFO[0]}" -gt "${a38}" ]];then return 0;fi;if [[ "${BASH_VERSINFO[1]}" -lt "${a40}" ]];then return 1;elif [[ "${BASH_VERSINFO[1]}" -gt "${a40}" ]];then return 0;fi;if [[ "${BASH_VERSINFO[2]}" -lt "${a41}" ]];then return 1;fi;return 0;};binary::exists() { local a14="${1}";command -v "${a14}" &> /dev/null || { echo "${a14} is required to run this script" >&2;return 1;};};binary::github() { local a61="${1}";local a63="${2}";local a54="${3}";local a77="${4:-}";curl -Lso /dev/stdout "https://github.com/${a63}/releases/download/${a54}" | { if [[ -n "${a77}" ]];then tar -xz -C "$(dirname "${a61}")" "${a77}";else tee "${a61}" &> /dev/null;fi;chmod +x "${a61}";};};binary::arch() { local a43="${1:-0}";local -r a46="$(uname -m)";case "${a46}" in
55
x86_64|amd64)if (( a43 )); then echo "64-bit"; else echo "amd64"; fi;;
66
armv7l)echo "arm";;

builtin/coverage.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,5 +92,5 @@
9292
"percent_low": 25,
9393
"percent_high": 75,
9494
"command": "bats+llvm-cov",
95-
"date": "2026-02-13 20:11:15"
95+
"date": "2026-02-14 00:01:44"
9696
}

minifier/coverage.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,5 +71,5 @@
7171
"percent_low": 25,
7272
"percent_high": 75,
7373
"command": "cargo-test+llvm-cov",
74-
"date": "2026-02-13 20:11:21"
74+
"date": "2026-02-14 00:01:51"
7575
}

shdoc/coverage.json

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@
3030
},
3131
{
3232
"file": "shdoc/src/render/json.rs",
33-
"percent_covered": "91.04",
34-
"covered_lines": "122",
35-
"total_lines": "134",
33+
"percent_covered": "90.00",
34+
"covered_lines": "126",
35+
"total_lines": "140",
3636
"excluded_lines": "0"
3737
},
3838
{
@@ -44,23 +44,16 @@
4444
},
4545
{
4646
"file": "shdoc/src/parser/bash.rs",
47-
"percent_covered": "82.64",
48-
"covered_lines": "376",
49-
"total_lines": "455",
47+
"percent_covered": "82.23",
48+
"covered_lines": "384",
49+
"total_lines": "467",
5050
"excluded_lines": "0"
5151
},
5252
{
5353
"file": "shdoc/src/render/markdown.rs",
54-
"percent_covered": "79.33",
55-
"covered_lines": "165",
56-
"total_lines": "208",
57-
"excluded_lines": "0"
58-
},
59-
{
60-
"file": "shdoc/src/main.rs",
61-
"percent_covered": "69.14",
62-
"covered_lines": "112",
63-
"total_lines": "162",
54+
"percent_covered": "77.73",
55+
"covered_lines": "185",
56+
"total_lines": "238",
6457
"excluded_lines": "0"
6558
},
6659
{
@@ -70,6 +63,13 @@
7063
"total_lines": "94",
7164
"excluded_lines": "0"
7265
},
66+
{
67+
"file": "shdoc/src/main.rs",
68+
"percent_covered": "63.08",
69+
"covered_lines": "123",
70+
"total_lines": "195",
71+
"excluded_lines": "0"
72+
},
7373
{
7474
"file": "shdoc/src/parser/mod.rs",
7575
"percent_covered": "50.00",
@@ -78,12 +78,12 @@
7878
"excluded_lines": "0"
7979
}
8080
],
81-
"percent_covered": "84.85",
82-
"covered_lines": 1445,
83-
"total_lines": 1703,
81+
"percent_covered": "83.41",
82+
"covered_lines": 1488,
83+
"total_lines": 1784,
8484
"excluded_lines": 0,
8585
"percent_low": 25,
8686
"percent_high": 75,
8787
"command": "cargo-test+llvm-cov",
88-
"date": "2026-02-13 22:59:58"
88+
"date": "2026-02-14 00:01:53"
8989
}

0 commit comments

Comments
 (0)