# opkhelper # lib/messages # Functions for printing error and warning messages. # # Copyright (C) 2012 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 . [ -n "${_OH_MESSAGES_SH}" ] && return 0 _OH_MESSAGES_SH=true . @@LIBDIR@@/locale # TODO: Which of these should print to the standard error stream – just # oh_error() and oh_warn()? oh_error() { printf '%s: Error: ' "${0##*/}" printf "${@}" printf '\n' exit 1 } oh_warn() { printf '%s: Warning: ' "${0##*/}" printf "${@}" printf '\n' return 0 } oh_info() { printf '%s: ' "${0##*/}" printf "${@}" printf '\n' return 0 } oh_usage() { _util="$(echo "${0##*/}" | sed 's/-/_/g')" # Prevent field splitting in the evaluated echo command. _old_ifs="${IFS}" IFS= _usage_str="$(eval echo \$\{oh_str_usage_"${_util}"\})" IFS="${_old_ifs}" : "${_usage_str:=${oh_str_usage_none}}" printf '%s\n' "${_usage_str}" } oh_help() { _util="$(echo "${0##*/}" | sed 's/-/_/g')" # Prevent field splitting in the evaluated echo command. _old_ifs="${IFS}" IFS= _help_str="$(eval echo \$\{oh_str_help_"${_util}"\})" IFS="${_old_ifs}" : "${_help_str:=${oh_str_help_none}}" oh_usage printf '%s\n' "${_help_str}" } oh_version() { printf "${oh_str_version}\n" \ "${0##*/}" '@@PACKAGE_NAME@@' '@@PACKAGE_VERSION@@' }