# -*- shell-script -*-
# info.sh - info help Routines
# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2008, 2011
# Rocky Bernstein <rocky@gnu.org>
#
# 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 2, 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; see the file COPYING. If not, write to
# the Free Software Foundation, 59 Temple Place, Suite 330, Boston,
# MA 02111 USA.
typeset -r _Dbg_info_cmds='args breakpoints display files functions line program signals source stack variables warranty'
_Dbg_info_help() {
if (( $# == 0 )) ; then
typeset -a list
_Dbg_section 'List of info subcommands:'
for thing in $_Dbg_info_cmds ; do
_Dbg_info_help $thing 1
done
return 0
fi
typeset subcmd="$1"
typeset label="$2"
if [[ -n "${_Dbg_command_help_info[$subcmd]}" ]] ; then
if [[ -z $label ]] ; then
_Dbg_msg_rst "${_Dbg_command_help_info[$subcmd]}"
return 0
else
label=$(builtin printf "info %-12s-- " $subcmd)
fi
fi
case $subcmd in
ar | arg | args )
_Dbg_msg \
"info args -- Argument variables (e.g. \$1, \$2, ...) of the current stack frame."
return 0
;;
b | br | bre | brea | 'break' | breakp | breakpo | breakpoints | \
w | wa | wat | watc | 'watch' | watchp | watchpo | watchpoints )
_Dbg_msg \
'info breakpoints -- Status of user-settable breakpoints'
return 0
;;
disp | displ | displa | display )
_Dbg_msg \
'info display -- Show all display expressions'
return 0
;;
fi | file| files | sources )
_Dbg_msg \
'info files -- Source files in the program'
return 0
;;
fu | fun| func | funct | functi | functio | function | functions )
_Dbg_msg \
'info functions -- All function names'
return 0
;;
l | li| lin | line )
_Dbg_msg \
'info line -- list current line number and and file name'
return 0
;;
p | pr | pro | prog | progr | progra | program )
_Dbg_msg \
'info program -- Execution status of the program.'
return 0
;;
h | ha | han | hand | handl | handle | \
si | sig | sign | signa | signal | signals )
_Dbg_msg \
'info signals -- What debugger does when program gets various signals'
return 0
;;
so | sou | sourc | source )
_Dbg_msg \
'info source -- Information about the current source file'
return 0
;;
st | sta | stac | stack )
_Dbg_msg \
'info stack -- Backtrace of the stack'
return 0
;;
tr|tra|trac|trace|tracep | tracepo | tracepoi | tracepoint | tracepoints )
_Dbg_msg \
'info tracepoints -- Status of tracepoints'
return 0
;;
v | va | var | vari | varia | variab | variabl | variable | variables )
_Dbg_msg \
'info variables -- All global and static variable names'
return 0
;;
w | wa | war | warr | warra | warran | warrant | warranty )
_Dbg_msg \
'info warranty -- Various kinds of warranty you do not have'
return 0
;;
* )
_Dbg_errmsg \
"Undefined info command: \"$subcmd\". Try \"help info\"."
esac
}