Speedbar has visual cues for indicating different types of data. These cues are used consistently across the different speedbar modes to make them easier to interpret.
At a high level, in File mode, there are directory buttons, sub directory buttons, file buttons, tag buttons, and expansion buttons. This makes it easy to use the mouse to navigate a directory tree, and quickly view files, or a summary of those files.
The most basic visual effect used to distinguish between these button types is color and mouse highlighting. Anything the mouse highlights can be clicked on and is called a button (see Mouse Bindings). Anything not highlighted by the mouse will not be clickable.
Text in speedbar consists of four different types of data. Knowing how to read these textual elements will make it easier to navigate by identifying the types of data available.
Groups summarize information in a single line, and provide a high level view of more complex systems, like a directory tree, or manual chapters.
Groups appear at different indentation levels, and are prefixed with a ‘+’ in some sort of “box”. The group name will summarize the information within it, and the expansion box will display that information inline. In File mode, directories and files are “groups” where the ‘+’ is surrounded by brackets like this:
<+> include <-> src [+] foo.c
In this example, we see both open and closed directories, in addition to a file. The directories have a box consisting of angle brackets, and a file uses square brackets.
In all modes, a group can be “edited” by pressing RET, meaning a file will be opened, or a directory explicitly opened in speedbar. A group can be expanded or contracted using + or -. See Basic Key Bindings.
Sometimes groups may have a ‘?’ in its indicator box. This means that it is a group type, but there are no contents, or no known way of extracting contents of that group.
When a group has been expanded, the indicator button changes from ‘+’ to ‘-’. This indicates that the contents are being shown. Click the ‘-’ button to contract the group, or hide the contents currently displayed.
Tags are the leaf nodes of the tree system. Tags are generally prefixed with a simple character, such as ‘>’. Tags can only be jumped to using RET or e.
Sometimes a group or tag is given a boolean flag. These flags appear as extra text characters at the end of the line. File mode uses boolean flags, such as a ‘*’ to indicate that a file has been checked out of a versioning system.
Unadorned text generally starts in column 0, without any special symbols prefixing them. In Buffers mode different buffer groups are prefixed with a description of what the following buffers are (Files, scratch buffers, and invisible buffers.)
Unadorned text will generally be colorless, and not clickable.
Each type of Group, item indicator, and label is given a different color. The colors chosen are dependent on whether the background color is light or dark. Of important note is that the “current item”, which may be a buffer or file name, is highlighted red, and underlined.
Colors can be customized from the group
modes, such as for Info, will use the Info colors instead of default
speedbar colors as an indication of what is currently being displayed.
The face naming convention mirrors the File display mode. Modes which do not use files will attempt to use the same colors on analogous entries.