ecb-speedbar - ECB - the Emacs Code Browser
Description: ECB - the Emacs Code Browser

Next: ecb-non-semantic, Previous: ecb-eshell, Up: Customizable options

#### 7.3.16 Group ecb-speedbar

— User Option: speedbar-before-activate-hook

> Hook running directly before ECB activates the integrated speedbar.

> For example this hook can be used to change the expansion-mode of the integrated speedbar via `speedbar-change-initial-expansion-list`. Example: (speedbar-change-initial-expansion-list “buffers”).

— User Option: speedbar-buffer-sync

> Synchronize the speedbar-buffer of ECB automatically with current edit buffer.

> If 'always then the synchronization takes place always a buffer changes in the edit window, if nil then never. If a list of major-modes then only if the `major-mode` of the new buffer belongs NOT to this list.

> If the special value 'basic is set then ECB uses the setting of the option `ecb-basic-buffer-sync`.

> IMPORTANT NOTE: Every time the synchronization is done the hook `ecb-speedbar-buffer-sync-hook` is evaluated.

— User Option: speedbar-buffer-sync-delay

> Time Emacs must be idle before the speedbar-buffer of ECB is synchronized. Synchronizing is done with the current source displayed in the edit window. If nil then there is no delay, means synchronization takes place immediately. A small value of about 0.25 seconds saves CPU resources and you get even though almost the same effect as if you set no delay.

> If the special value 'basic is set then ECB uses the setting of the option `ecb-basic-buffer-sync-delay`.

— User Option: speedbar-buffer-sync-hook

> ook run at the end of `ecb-speedbar-buffer-sync`. See documentation of `ecb-speedbar-buffer-sync` for conditions when synchronization takes place and so in turn these hooks are evaluated.

> Preconditions for such a hook:

> - Current buffer is the buffer of the currently selected edit-window.
> - The speedbar-buffer is displayed in a visible window of the ecb-frame (so no check for visibilty of the speedbar-buffer in the ecb-frame is necessary in a hook function)

> Postcondition for such a hook: Point must stay in the same edit-window as before evaluating the hook.

> Important note: If the option `ecb-speedbar-buffer-sync` is not nil the function `ecb-speedbar-buffer-sync` is running either every time Emacs is idle or even after every command (see `ecb-speedbar-buffer-sync-delay`). So if the speedbar-buffer is displayed in a window of the ecb-frame (see preconditions above) these hooks can be really called very often! Therefore each function of this hook should/must check in an efficient way at beginning if its task have to be really performed and then do them only if really necessary! Otherwise performance of Emacs could slow down dramatically!