summaryrefslogtreecommitdiffstats
path: root/lib/cmd.sh
diff options
context:
space:
mode:
authorP. J. McDermott <pj@pehjota.net>2015-12-06 23:58:44 (EST)
committer P. J. McDermott <pj@pehjota.net>2015-12-06 23:58:44 (EST)
commit778eac65d35163a2c25b2c3fbacffd7ee724e58d (patch)
treed7bb69d53d9cdc3925ce76fb85587dd60858ffd4 /lib/cmd.sh
parent21316880285d9d406e7732b393a13a95329dee15 (diff)
Move lib/*.sh to src/
Diffstat (limited to 'lib/cmd.sh')
-rw-r--r--lib/cmd.sh122
1 files changed, 0 insertions, 122 deletions
diff --git a/lib/cmd.sh b/lib/cmd.sh
deleted file mode 100644
index d4e7824..0000000
--- a/lib/cmd.sh
+++ /dev/null
@@ -1,122 +0,0 @@
-# Command-related functions
-#
-# Copyright (C) 2013 Patrick "P. J." McDermott
-#
-# This file is part of the ProteanOS Development Kit.
-#
-# The ProteanOS Development Kit 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.
-#
-# The ProteanOS Development Kit 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 the ProteanOS Development Kit. If not, see
-# <http://www.gnu.org/licenses/>.
-
-cmds=' '
-running_cmd=
-running_cmd_clean=
-
-register_cmd()
-{
- local cmd="${1}"
- shift 1
-
- cmds="${cmds}${cmd} "
- return 0
-}
-
-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 ${cmds}; do
- 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\n' ${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
- running_cmd="${cmd}"
- running_cmd_clean="${cmd_clean}"
- "cmd_${cmd_clean}_main" "${@}"
- running_cmd=''
- running_cmd_clean=''
- else
- error 1 "$(get_msg 'cmd_not_found')" "${cmd}"
- fi
-}