diff options
Diffstat (limited to 'lib/cmd.sh')
-rw-r--r-- | lib/cmd.sh | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/lib/cmd.sh b/lib/cmd.sh deleted file mode 100644 index d05e7eb..0000000 --- a/lib/cmd.sh +++ /dev/null @@ -1,126 +0,0 @@ -# pro-archman -# lib/cmd.sh -# Command-related functions -# -# Copyright (C) 2013 Patrick "P. J." McDermott -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -[ "x${_CMD_SM+set}" = 'xset' ] && return 0 -_CMD_SM=1 - -use output -use locale - -cmds= - -load_cmds() -{ - local cmd= - - for cmd in ${PKGLIBCMD}; do - cmd="${cmd##*/}" - cmd="${cmd%.sm}" - cmds="${cmds}${cmd}${LF}" - use "cmd/${cmd}" - done -} - -print_opt_summaries() -{ - local padding= - local opt= - local opt_out= - local summary= - - padding="$(printf '%24s' '')" - for opt in $(printf '%s' "${OPTSTRING}" | sed 's/\([a-zA-Z0-9]\)/ \1/g') - do - if [ ${#opt} -eq 1 ]; then - # No argument expected. - opt_out="-${opt}" - else - # Argument expected. - opt="${opt%?}" - opt_out="-${opt} $(get_msg "opt_${opt}_arg")" - fi - if [ ${#opt_out} -gt 20 ]; then - printf ' %s\n%24s' "${opt_out}" '' - else - printf ' %-20s ' "${opt_out}" - fi - summary="$(get_msg "opt_${opt}_summary")" - printf '%s\n' "${summary}" | fold -s -w 56 | \ - sed "2,\$s/^/${padding}/;" - done -} - -print_cmd_summaries() -{ - local padding= - local cmd= - local cmd_clean= - local summary= - - padding="$(printf '%24s' '')" - for cmd in ${PKGLIBCMD}; do - cmd="${cmd##*/}" - cmd="${cmd%.sm}" - if [ ${#cmd} -gt 20 ]; then - printf ' %s\n%24s' "${cmd}" '' - else - printf ' %-20s ' "${cmd}" - fi - cmd_clean="$(printf '%s' "${cmd}" | \ - tr '[A-Z]' '[a-z]' | tr -C '[a-z0-9_]' '_')" - summary="$(get_msg "cmd_${cmd_clean}_summary")" - printf '%s\n' "${summary}" | fold -s -w 56 | \ - sed "2,\$s/^/${padding}/;" - done -} - -print_cmd_usage() -{ - local cmd="${1}" - local cmd_clean= - local usage= - - cmd_clean="$(printf '%s' "${cmd}" | \ - tr '[A-Z]' '[a-z]' | tr -C '[a-z0-9_]' '_')" - usage="$(get_msg "cmd_${cmd_clean}_usage")" - - printf "$(get_msg 'cmd_usage')\n" "${0}" "${cmd}" "${usage}" -} - -is_cmd() -{ - local cmd="${1}" - - [ "x$(printf '%s' "${cmds}" | grep "^${cmd}$")" = "x${cmd}" ] -} - -run_cmd() -{ - local cmd="${1}" - local cmd_clean= - shift - - cmd_clean="$(printf '%s' "${cmd}" | \ - tr '[A-Z]' '[a-z]' | tr -C '[a-z0-9_]' '_')" - if is_cmd "${cmd}"; then - "cmd_${cmd_clean}_main" "${@}" - else - error 1 "$(get_msg 'cmd_not_found')" "${cmd}" - fi -} |