comparison man/speedbar.texi @ 88155:d7ddb3e565de

sync with trunk
author Henrik Enberg <henrik.enberg@telia.com>
date Mon, 16 Jan 2006 00:03:54 +0000
parents 0a70200bde27
children
comparison
equal deleted inserted replaced
88154:8ce476d3ba36 88155:d7ddb3e565de
1 \input texinfo @c -*-texinfo-*- 1 \input texinfo @c -*-texinfo-*-
2 @c $Id: speedbar.texi,v 1.10 2002/03/16 19:33:21 eliz Exp $
3 2
4 @setfilename ../info/speedbar 3 @setfilename ../info/speedbar
5 @settitle Speedbar: File/Tag summarizing utility 4 @settitle Speedbar: File/Tag summarizing utility
6 @syncodeindex fn cp 5 @syncodeindex fn cp
7 6
8 @copying 7 @copying
9 Copyright @copyright{} 1999, 2000, 2002 Free Software Foundation, Inc. 8 Copyright @copyright{} 1999, 2000, 2002, 2003, 2004,
9 2005 Free Software Foundation, Inc.
10 10
11 @quotation 11 @quotation
12 Permission is granted to copy, distribute and/or modify this document 12 Permission is granted to copy, distribute and/or modify this document
13 under the terms of the GNU Free Documentation License, Version 1.1 or 13 under the terms of the GNU Free Documentation License, Version 1.2 or
14 any later version published by the Free Software Foundation; with the 14 any later version published by the Free Software Foundation; with the
15 Invariant Sections being ``The GNU Manifesto'', ``Distribution'' and 15 Invariant Sections being ``The GNU Manifesto'', ``Distribution'' and
16 ``GNU GENERAL PUBLIC LICENSE'', with the Front-Cover texts being ``A GNU 16 ``GNU GENERAL PUBLIC LICENSE'', with the Front-Cover texts being ``A GNU
17 Manual'', and with the Back-Cover Texts as in (a) below. A copy of the 17 Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
18 license is included in the section entitled ``GNU Free Documentation 18 license is included in the section entitled ``GNU Free Documentation
67 only when a buffer of the applicable type is shown. This allows 67 only when a buffer of the applicable type is shown. This allows
68 authors of other packages to provide speedbar summaries customized to 68 authors of other packages to provide speedbar summaries customized to
69 the needs of that mode. 69 the needs of that mode.
70 70
71 Throughout this manual, activities are defined as `clicking on', or 71 Throughout this manual, activities are defined as `clicking on', or
72 `expanding' items. Clicking means using using @kbd{Mouse-2} on a 72 `expanding' items. Clicking means using @kbd{Mouse-2} on a
73 button. Expanding refers to clicking on an expansion button to display 73 button. Expanding refers to clicking on an expansion button to display
74 an expanded summary of the entry the expansion button is 74 an expanded summary of the entry the expansion button is
75 on. @xref{Basic Navigation}. 75 on. @xref{Basic Navigation}.
76 76
77 @menu 77 @menu
88 @node Introduction, Basic Navigation, , Top 88 @node Introduction, Basic Navigation, , Top
89 @comment node-name, next, previous, up 89 @comment node-name, next, previous, up
90 @chapter Introduction 90 @chapter Introduction
91 @cindex introduction 91 @cindex introduction
92 92
93 To start using speedbar use the command @kbd{M-x speedbar RET} or select 93 To start using speedbar use the command @kbd{M-x speedbar RET} or
94 it from the Tools menu in versions of Emacs with speedbar installed by 94 select it from the @samp{Options->Show/Hide} sub-menu. This command
95 default. This command will open a new frame to summarize the local 95 will open a new frame to summarize the local files. On X Window
96 files. On X Window systems or on MS-Windows, speedbar's frame is twenty 96 systems or on MS-Windows, speedbar's frame is twenty characters wide,
97 characters wide, and will mimic the height of the frame from which it 97 and will mimic the height of the frame from which it was started. It
98 was started. It positions itself to the left or right of the frame you 98 positions itself to the left or right of the frame you started it
99 started it from. 99 from.
100 100
101 To use speedbar effectively, it is important to understand its 101 To use speedbar effectively, it is important to understand its
102 relationship with the frame you started it from. This frame is the 102 relationship with the frame you started it from. This frame is the
103 @dfn{attached frame} which speedbar will use as a reference point. Once 103 @dfn{attached frame} which speedbar will use as a reference point. Once
104 started, speedbar watches the contents of this frame, and attempts to 104 started, speedbar watches the contents of this frame, and attempts to
139 @cindex key bindings 139 @cindex key bindings
140 140
141 These key bindings are common across all modes: 141 These key bindings are common across all modes:
142 142
143 @table @kbd 143 @table @kbd
144 @item delete, SPC
145 @cindex scrolling in speedbar
146 Scroll up and down one page.
147 @item Q 144 @item Q
148 @cindex quitting speedbar 145 @cindex quitting speedbar
149 Quit speedbar, and kill the frame. 146 Quit speedbar, and kill the frame.
150 @item q 147 @item q
151 Quit speedbar, and hide the frame. This makes it faster to restore the 148 Quit speedbar, and hide the frame. This makes it faster to restore the
589 duration of the specialized buffer's use. Minor display modes 586 duration of the specialized buffer's use. Minor display modes
590 will follow the general rules of their major counterparts in terms of 587 will follow the general rules of their major counterparts in terms of
591 key bindings and visuals, but will have specialized behaviors. 588 key bindings and visuals, but will have specialized behaviors.
592 589
593 @menu 590 @menu
594 * RMAIL:: Managing folders in speedbar 591 * RMAIL:: Managing folders.
595 * Info:: Browsing topics in speedbar 592 * Info:: Browsing topics.
596 * GDB:: Managing the current stack trace in speedbar 593 * GDB:: Watching expressions or managing the current
594 stack trace.
597 @end menu 595 @end menu
598 596
599 @node RMAIL, Info, Minor Modes, Minor Modes 597 @node RMAIL, Info, Minor Modes, Minor Modes
600 @comment node-name, next, previous, up 598 @comment node-name, next, previous, up
601 @section RMAIL 599 @section RMAIL
637 @comment node-name, next, previous, up 635 @comment node-name, next, previous, up
638 @section GDB 636 @section GDB
639 @cindex gdb 637 @cindex gdb
640 @cindex gud 638 @cindex gud
641 639
642 If you are debugging an application with GDB in Emacs, speedbar can show 640 You can debug an application with GDB in Emacs using graphical mode or
641 text command mode (@pxref{GDB Graphical Interface,,, emacs, The
642 extensible self-documenting text editor}).
643
644 If you are using graphical mode you can see how selected variables
645 change each time your program stops (@pxref{Watch Expressions,,,
646 emacs, The extensible self-documenting text editor}).
647
648 If you are using text command mode, speedbar can show
643 you the current stack when the current buffer is the @file{*gdb*} 649 you the current stack when the current buffer is the @file{*gdb*}
644 buffer. Usually, it will just report that there is no stack, but when 650 buffer. Usually, it will just report that there is no stack, but when
645 the application is stopped, the current stack will be shown. 651 the application is stopped, the current stack will be shown.
646 652
647 You can click on any stack element and gdb will move to that stack 653 You can click on any stack element and gdb will move to that stack
648 level. You can then check variables local to that level at the GDB 654 level. You can then check variables local to that level at the GDB
649 prompt. 655 prompt.
650
651 This mode has the unfortunate side-effect of breaking GDB's repeat
652 feature when you hit @kbd{RET} since your previous command is overridden
653 with a stack fetching command.
654 656
655 @node Customizing, Extending, Minor Modes, Top 657 @node Customizing, Extending, Minor Modes, Top
656 @comment node-name, next, previous, up 658 @comment node-name, next, previous, up
657 @chapter Customizing 659 @chapter Customizing
658 @cindex customizing 660 @cindex customizing
1069 overloading. This function takes no parameters and must derive a text 1071 overloading. This function takes no parameters and must derive a text
1070 summary to display in the minibuffer. 1072 summary to display in the minibuffer.
1071 1073
1072 There are several helper functions you can use if you are going to use 1074 There are several helper functions you can use if you are going to use
1073 built in tagging. These functions can be @code{or}ed since each one 1075 built in tagging. These functions can be @code{or}ed since each one
1074 returns non-nil if it displays a message. They are: 1076 returns non-@code{nil} if it displays a message. They are:
1075 1077
1076 @table @code 1078 @table @code
1077 @cindex @code{speedbar-item-info-file-helper} 1079 @cindex @code{speedbar-item-info-file-helper}
1078 @item speedbar-item-info-file-helper 1080 @item speedbar-item-info-file-helper
1079 This takes an optional @var{filename} parameter. You can derive your own 1081 This takes an optional @var{filename} parameter. You can derive your own
1168 will be displayed. @var{mouse} is the face to display over the text 1170 will be displayed. @var{mouse} is the face to display over the text
1169 when the mouse passes over it. @var{function} is called whenever the 1171 when the mouse passes over it. @var{function} is called whenever the
1170 user clicks on the text. 1172 user clicks on the text.
1171 1173
1172 The optional argument @var{token} is extra data to associated with the 1174 The optional argument @var{token} is extra data to associated with the
1173 text. Lastly @var{prevline} should be non-nil if you want this line to 1175 text. Lastly @var{prevline} should be non-@code{nil} if you want this line to
1174 appear directly after the last button which was created instead of on 1176 appear directly after the last button which was created instead of on
1175 the next line. 1177 the next line.
1176 @end defun 1178 @end defun
1177 1179
1178 @defun speedbar-make-tag-line exp-button-type exp-button-char exp-button-function exp-button-data tag-button tag-button-function tag-button-data tag-button-face depth 1180 @defun speedbar-make-tag-line exp-button-type exp-button-char exp-button-function exp-button-data tag-button tag-button-function tag-button-data tag-button-face depth
1179 1181
1180 Create a tag line with @var{exp-button-type} for the small expansion 1182 Create a tag line with @var{exp-button-type} for the small expansion
1181 button. This is the button that expands or contracts a node (if 1183 button. This is the button that expands or contracts a node (if
1182 applicable), and @var{exp-button-char} the character in it (@samp{+}, 1184 applicable), and @var{exp-button-char} the character in it (@samp{+},
1183 @samp{-}, @samp{?}, 1185 @samp{-}, @samp{?}, etc). @var{exp-button-function} is the function
1184 etc). @var{exp-button-function} is the function to call if it's clicked 1186 to call if it's clicked on. Button types are @code{bracket},
1185 on. Button types are @code{'bracket}, @code{'angle}, @code{'curly}, 1187 @code{angle}, @code{curly}, @code{expandtag}, @code{statictag}, and
1186 @code{'expandtag}, @code{'statictag}, or nil. @var{exp-button-data} is 1188 @code{nil}. @var{exp-button-data} is extra data attached to the text
1187 extra data attached to the text forming the expansion button. 1189 forming the expansion button.
1188 1190
1189 Next, @var{tag-button} is the text of the tag. 1191 Next, @var{tag-button} is the text of the tag.
1190 @var{tag-button-function} is the function to call if clicked on, and 1192 @var{tag-button-function} is the function to call if clicked on, and
1191 @var{tag-button-data} is the data to attach to the text field (such a 1193 @var{tag-button-data} is the data to attach to the text field (such a
1192 tag positioning, etc). @var{tag-button-face} is a face used for this 1194 tag positioning, etc). @var{tag-button-face} is a face used for this
1224 @xref{Tag Hierarchy Methods}. 1226 @xref{Tag Hierarchy Methods}.
1225 1227
1226 @defvar speedbar-generic-list-group-expand-button-type 1228 @defvar speedbar-generic-list-group-expand-button-type
1227 This is the button type used for groups of tags, whether expanded 1229 This is the button type used for groups of tags, whether expanded
1228 or added in via a hierarchy method. Two good values are 1230 or added in via a hierarchy method. Two good values are
1229 @code{'curly} and @code{'expandtag}. Curly is the default button, and 1231 @code{curly} and @code{expandtag}. Curly is the default button, and
1230 @code{'expandtag} is useful if the groups also has a position. 1232 @code{expandtag} is useful if the groups also has a position.
1231 @end defvar 1233 @end defvar
1232 1234
1233 @defvar speedbar-generic-list-tag-button-type 1235 @defvar speedbar-generic-list-tag-button-type
1234 This is the button type used for a single tag. 1236 This is the button type used for a single tag.
1235 Two good values are @code{nil} and @code{'statictag}. 1237 Two good values are @code{nil} and @code{statictag}.
1236 @code{nil} is the default, and @code{'statictag} has the same width as 1238 @code{nil} is the default, and @code{statictag} has the same width as
1237 @code{'expandtag}. 1239 @code{expandtag}.
1238 @end defvar 1240 @end defvar
1239 1241
1240 @end defun 1242 @end defun
1241 1243
1242 @node Index, , Extending, Top 1244 @node Index, , Extending, Top
1245 @printindex cp 1247 @printindex cp
1246 1248
1247 @bye 1249 @bye
1248 @c LocalWords: speedbar's xref slowbar kbd subsubsection 1250 @c LocalWords: speedbar's xref slowbar kbd subsubsection
1249 @c LocalWords: keybindings 1251 @c LocalWords: keybindings
1252
1253 @ignore
1254 arch-tag: e1fc85f0-1eeb-489f-a8d4-a2bfe711fa02
1255 @end ignore