#!/bin/bash
-# (C) 2006-2011 Andre Noll
+# Copyright (C) 2006 Andre Noll
+# Licensed under the LGPL, version 3. See COPYING and COPYING.LESSER.
if [[ "$(type -t _gsu_setup)" != "function" ]]; then
gsu_dir=${gsu_dir:-${BASH_SOURCE[0]%/*}}
# exactly one parenthesized subexpression for matching the command name.
_gsu_get_command_regex()
{
- local cmd="${1:-[-a-zA-Z_0-9]+}"
+ local cmd="${1:-[-a-zA-Z_0-9]{1,\}}"
result="^com_($cmd)\(\)"
}
printf 'Available commands:\n'
for cmd in $gsu_cmds; do
printf '%s' "$cmd"
- let count++
+ let ++count
if (($count % 4)); then
printf '\t'
((${#cmd} < 8)) && printf '\t'
printf '\n'
}
+# Print all options of the given optstring to stdout if the word in the current
+# command line begins with a hyphen character.
gsu_complete_options()
{
local opts="$1" cword="$2" cur opt
Usage: prefs [-e]
-If -e is given, the config file is opened with the default editor. Without
-options, the command prints out a list of all cmt config variables, together
-with their current value and the default value."
+If -e is given, the config file is opened with the default editor.
+Without options, the command prints out a list of all config variables,
+together with their current value and the default value.
+"
_com_prefs()
{
local i conf="${gsu_config_file:=${HOME:-}/.$gsu_name.rc}"
{
local equal_signs="=================================================="
local minus_signs="--------------------------------------------------"
- local com num
+ local com num
echo "$gsu_name (_${gsu_banner_txt}_) manual"
echo "${equal_signs:0:${#gsu_name} + ${#gsu_banner_txt} + 16}"
echo
- sed -e '1,/^#\{70,\}/d' -e '/^#\{70,\}/,$d' $0 -e 's/^# *//'
+ sed -e '1,/^#\{70,\}/d' -e '/^#\{70,\}/,$d' $0 -e 's/^# *//'
echo "----"
- echo
+ echo
echo "$gsu_name usage"
echo "${minus_signs:0:${#gsu_name} + 6}"
printf "\t"
echo "Available commands:"
_gsu_available_commands
- for com in $result; do
+ for com in $result; do
num=${#com}
(($num < 4)) && num=4
- echo "${minus_signs:0:$num}"
- echo "$com"
- echo "${minus_signs:0:$num}"
- $0 help $com
+ echo "${minus_signs:0:$num}"
+ echo "$com"
+ echo "${minus_signs:0:$num}"
+ $0 help $com
echo
- done
- ret=$GSU_SUCCESS
+ done
+ ret=$GSU_SUCCESS
}
export gsu_help_txt="
# external commands
for i in $gsu_cmds; do
if test "$arg" = "$i"; then
+ ret=$GSU_SUCCESS
com_$arg "$@"
if (("$ret" < 0)); then
gsu_err_msg