# -*- shell-script -*- # info.sh - info help Routines # Copyright (C) 2002, 2003, 2004, 2005, 2006, 2008, 2011 # Rocky Bernstein # # 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' proc _Dbg_info_help { if sh-expr ' $# == 0 )' { typeset -a list _Dbg_section 'List of info subcommands:' for thing in [$_Dbg_info_cmds] { _Dbg_info_help $thing 1 } return 0 } typeset subcmd="$1" typeset label="$2" if [[ -n "${_Dbg_command_help_info[$subcmd]}" ]] { if [[ -z $label ]] { _Dbg_msg_rst $(_Dbg_command_help_info[$subcmd]) return 0 } else { setglobal label = $[builtin printf "info %-12s-- " $subcmd] } } match $subcmd { with ar | arg | args _Dbg_msg \ "info args -- Argument variables (e.g. \$1, \$2, ...) of the current stack frame." return 0 with 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 with disp | displ | displa | display _Dbg_msg \ 'info display -- Show all display expressions' return 0 with fi | file| files | sources _Dbg_msg \ 'info files -- Source files in the program' return 0 with fu | fun| func | funct | functi | functio | function | functions _Dbg_msg \ 'info functions -- All function names' return 0 with l | li| lin | line _Dbg_msg \ 'info line -- list current line number and and file name' return 0 with p | pr | pro | prog | progr | progra | program _Dbg_msg \ 'info program -- Execution status of the program.' return 0 with 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 with so | sou | sourc | source _Dbg_msg \ 'info source -- Information about the current source file' return 0 with st | sta | stac | stack _Dbg_msg \ 'info stack -- Backtrace of the stack' return 0 with tr|tra|trac|trace|tracep | tracepo | tracepoi | tracepoint | tracepoints _Dbg_msg \ 'info tracepoints -- Status of tracepoints' return 0 with v | va | var | vari | varia | variab | variabl | variable | variables _Dbg_msg \ 'info variables -- All global and static variable names' return 0 with w | wa | war | warr | warra | warran | warrant | warranty _Dbg_msg \ 'info warranty -- Various kinds of warranty you do not have' return 0 with * _Dbg_errmsg \ "Undefined info command: \"$subcmd\". Try \"help info\"." } }