speedbar: Directory Display
3.1 Directory Display
=====================
There are three major sections in the display. The first line or two is
the root directory speedbar is currently viewing. You can jump to one
of the parent directories by clicking on the name of the directory you
wish to jump to.
Next, directories are listed. A directory starts with the group
indicator button ‘<+>’. Clicking the directory name makes speedbar load
that directory as the root directory for its display. Clicking the
‘<+>’ button will list all directories and files beneath.
Next, files are listed. Files start with the group indicator ‘[+]’
or ‘[?]’. You can jump to a file in the attached frame by clicking on
the file name. You can expand a file and look at its tags by clicking
on the ‘[+]’ symbol near the file name.
A typical session might look like this:
~/lisp/
<+> checkdoc
<+> eieio
<-> speedbar
[+] Makefile
[+] rpm.el #
[+] sb-gud.el #
[+] sb-info.el #
[+] sb-rmail.el #
[+] sb-w3.el
[-] speedbar.el *!
{+} Types
{+} Variables
{+} def (group)
{+} speedbar-
[+] speedbar.texi *
<+> testme
[+] align.el
[+] autoconf.el
In this example, you can see several directories. The directory
‘speedbar’ has been opened inline. Inside the directory ‘speedbar’, the
file ‘speedbar.el’ has its tags exposed. These tags are extensive, and
they are summarized into tag groups.
Files get additional boolean flags associated with them. Valid flags
are:
‘*’
This file has been checked out of a version control system.
Version Control.
‘#’
This file has an up to date object file associated with it. The
variable ‘speedbar-obj-alist’ defines how speedbar determines this
value.
‘!’
This file has an out of date object file associated with it.
A Tag group is prefixed with the symbol ‘{+}’. Clicking this symbol
will show all symbols that have been organized into that group.
Different types of files have unique tagging methods as defined by their
major mode. Tags are generated with either the ‘imenu’ package, or
through the ‘etags’ interface.
Tag groups are defined in multiple ways which make it easier to find
the tag you are looking for. Imenu keywords explicitly create groups,
and speedbar will automatically create groups if tag lists are too long.
In our example, Imenu created the groups ‘Types’ and ‘Variables’.
All remaining top-level symbols are then regrouped based on the variable
‘speedbar-tag-hierarchy-method’. The subgroups ‘def’ and ‘speedbar-’
are groupings where the first few characters of the given symbols are
specified in the group name. Some group names may say something like
‘speedbar-t to speedbar-v’, indicating that all symbols which
alphabetically fall between those categories are included in that
sub-group. Tag Hierarchy Methods.