Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
This is ecb.info, produced by makeinfo version 4.2 from ecb.texi.
INFO-DIR-SECTION GNU Emacs Lisp
START-INFO-DIR-ENTRY
* ECB: (ecb). Emacs Code Browser
END-INFO-DIR-ENTRY
File: ecb.info, Node: ecb-general, Next: ecb-directories, Prev: Customizable options, Up: Customizable options
Group ecb-general
-----------------
This group contains the following options:
- User Option: activate-before-layout-draw-hook
Normal hook run at the end of activating the ecb-package by running
`ecb-activate'. This hooks are run after all the internal setup process
but directly before(!) drawing the layout specified in `ecb-layout' (means
before dividing the frame into several windows).
A senseful using of this hook can be maximizing the Emacs-frame for
example, because this should be done before the layout is drawn because
ECB computes the size of the ECB-windows with the current frame size! If
you need a hook-option for the real end of the activating process (i.e.
after the layout-drawing) look at `ecb-activate-hook'.
IMPORTANT: The difference between this hook and
`ecb-redraw-layout-before-hook' is that the latter one is evaluated always
before the layout is redrawn (for example after calling
`ecb-redraw-layout') whereas the former one (this hook) is only evaluated
exactly once during the activation-process of ECB. So during the
activation process there is the following sequence of hooks:
1. `ecb-activate-before-layout-draw-hook' \(this one)
2. `ecb-redraw-layout-before-hook'
3.
4. `ecb-redraw-layout-after-hook'
5. `ecb-activate-hook'
- User Option: activate-hook
Hook run at the end of activating ECB by `ecb-activate'. This hooks are
run at the real end of the activating process, means after the layout has
been drawn!. If you need hooks which are run direct before the
layout-drawing look at `ecb-activate-before-layout-draw-hook'.
- User Option: auto-activate
Automatically startup ECB when Emacs starts up. This should only be true
if you always want to run `ecb-activate'.
- User Option: auto-compatibility-check
Check at ECB-startup if all ECB-options have correct values. If not nil
then all ECB-options are checked if their current value have the correct
type. It the type is incorrect the option is either auto. upgraded to the
new type or reset to the default-value of current ECB if no upgrade is
possible. This feature can also upgrade options which are renamed in
current ECB and try to transform the old-value to the new named option.
After startup all upgraded or reset options are displayed with their old
(before upgrade/reset) and new values. See also the commands
`ecb-upgrade-options' and `ecb-display-upgraded-options'. If this option
is off then the user can perform the check and reset manually with
`ecb-upgrade-options'. *Note Auto. option-upgrading::.
- User Option: before-activate-hook
Normal hook run at the beginning of activating the ecb-package by running
`ecb-activate'. These hooks run before any other tasks of the activating
process are performed. If any of these hooks returns nil then ECB will not
be activated!
This can be used to check some conditions and then only start ECB if all
conditions are true. For example a function could be added which returns
only nil if Gnus is running. Then calling `ecb-activate' or
`ecb-minor-mode' will only start ECB if Gnus is not already running.
- User Option: before-deactivate-hook
Normal hook run at the beginning of deactivating ECB by running
`ecb-deactivate'. These hooks run before any other tasks of the
deactivating process are performed. If any of these hooks returns nil then
ECB will not be deactivated! See also `ecb-before-activate-hook'.
- User Option: common-tree-buffer-after-create-hook
Local hook running at the end of each tree-buffer creation. Every function
of this hook is called once without arguments direct after creating a
tree-buffer of ECB and it's local key-map. So for example a function could
be added which performs calls of `local-set-key' to define new keybindings
for EVERY tree-buffer.
The following keys must not be rebind in all tree-buffers:
- `RET' and all combinations with `Shift' and `Ctrl'
- `TAB'
- `C-t'
- User Option: current-buffer-sync-hook
Normal hook run at the end of `ecb-current-buffer-sync'.
See documentation of `ecb-current-buffer-sync' for conditions when
synchronization takes place and so in turn these hooks are evaluated.
Precondition for such a hook: Current buffer is the buffer of the current
selected edit-window.
Postcondition for such a hook: Point must stay in the same edit-window as
before evaluating the hook.
Important note: If `ecb-window-sync' is not nil `ecb-current-buffer-sync'
is running either every time Emacs is idle or even after every command
(see `ecb-window-sync-delay'). So 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!
It is strongly recommended that each function added to this hook uses the
macro `ecb-do-if-buffer-visible-in-ecb-frame' at beginning! See
`ecb-speedbar-current-buffer-sync' and `ecb-eshell-current-buffer-sync'
for examples how to use this macro!
- User Option: deactivate-hook
Normal hook run at the end of deactivating (but before the ecb-layout is
cleared!) ECB by running `ecb-deactivate'.
- User Option: debug-mode
If not nil ECB displays debug-information in the Messages-buffer. This is
done for some critical situations concerning semantic-tokens and their
overlays (or extends for XEmacs). Normally you should not need this
switched on! But if you get errors like "destroyed extend" for XEmacs or
"wrong-argument-type" concerning overlays for GNU Emacs then you should
switch on this option and submitting a bug-report to the ecb-mailing-list
(`ecb-submit-problem-report') after getting the error again!
- User Option: key-map
Specifies all keybindings for the ECB minor-mode key-map. The value is a
cons-cell where the car is a common-prefix key for all the keybindings.
The cdr is a list of keybindings each of them a list again. A key-binding
has the following form:
'( ) where
`'
If t then the common-prefix-key defined as car of the value (see above)
is used.
`'
If the common prefix-key is used then the final key-binding is the
concatenation of the common-prefix-key (see above) and this keysequence.
`:'
The function to bind to the key. This can also be a lambda-expression .
It is highly recommended to use one of the standard keys C-c or C-x as
first key of your common-prefix-key!
You MUST change this option via customize to take effect!
All keysequences must be inserted as a string and must follow the syntax
needed by `read-kbd-macro' or `kbd'. This means you can insert the key in
the same manner `C-h k' displays keysequences. Here is the summary of the
syntax:
Text is divided into "words" separated by whitespace. Except for the words
described below, the characters of each word go directly as characters of
the keysequence. The whitespace that separates words is ignored.
Whitespace in the macro must be written explicitly, as in `C-c SPC'.
* The special words RET, SPC, TAB, DEL, LFD, ESC, and NUL represent
special control characters. The words must be written in uppercase.
* A word in angle brackets, e.g., , , or ,
represents a function key. (Note that in the standard configuration,
the function key and the control key RET are synonymous.).
You can use angle brackets on the words RET, SPC, etc., but they are
not required there.
* Keys can be written by their ASCII code, using a backslash followed by
up to six octal digits. This is the only way to represent keys with
codes above ÿ.
* One or more prefixes M- (meta), C- (control), S- (shift), A- (alt), H-
(hyper), and s- (super) may precede a character or key notation. For
function keys, the prefixes may go inside or outside of the brackets:
C- = . The prefixes may be written in any order: M-C-x =
C-M-x. Prefixes are not allowed on multi-key words, e.g., C-abc, except
that the Meta prefix is allowed on a sequence of digits and optional
minus sign: M-123 = M- M-1 M-2 M-3.
* The `^' notation for control characters also works: ^M = C-m.
- User Option: major-modes-activate
List of major-modes for which ECB should be activated or shown. Do not
mistake this option with `ecb-auto-activate'. The latter one is for
activating ECB after Emacs-startup (even without opening a buffer) and
this one is for defining for which major-modes ECB should be activated if
the mode goes active!
The behavior is like follows: If a mode is contained in this option ECB is
activated after activating this mode (if ECB was deactivated before) or
the ECB-windows are shown if ECB was already active but its windows were
hidden. In every case ECB is activated with visible ECB-windows afterwards!
For every major mode there can be specified an `ecb-layout-name':
- `default': The value customized with `ecb-layout-name' is chosen.
- a string: ECB is activated with this layout-name. This changes the
value of `ecb-layout-name' but only for current emacs-session! But the
layout is only changed if ECB was activated, if just the ECB-windows
were shown, the current layout is used!
There are two additional options:
- `none': No major-modes should activate ECB automatically.
- a regexp: This means all major-modes which are not listed in
`ecb-major-modes-deactivate' activate ECB except the symbol-name of
`major-mode' matches this regexp. If this option is set then the
default regexp excludes all Info- and customize-buffers because this
buffers should not change anything in the ECB-activation state.
Any auto. activation is only done if the current-frame is unsplitted to
avoid changing unnecessarily or unintentionally the frame-layout if the
user just jumps between different windows.
- User Option: major-modes-deactivate
List of major-modes for which ECB should be deactivated or hidden.
Specify if ECB should be deactivated or at least hidden if a major-mode is
active. For each major-mode there must be added an action what should be
done:
- `hide': ECB just hides all the ECB windows like with
`ecb-hide-ecb-windows'.
- `deactivate': ECB is completely deactivated after activating the
major-mode.
There are two additional options:
* `none': No major-modes should deactivate/hide ECB automatically.
* A cons for the meaning "All except the activated modes of
`ecb-major-modes-activate'". The car of this cons can be:
- `hide-all-except-activated': All major-modes which are not listed in
`ecb-major-modes-activate' hide the ECB-windows.
- `deactivate-all-except-activated': All major-modes which are not
listed in `ecb-major-modes-activate' deactivate ECB.
The cdr of this cons is a regexp: This means all major-modes which are
not listed in `ecb-major-modes-activate' deactivate/hide ECB except the
symbol-name of `major-mode' matches this regexp. If this option is set
then the default regexp excludes all Info- and customize-buffers
because this buffers should not change anything in the ECB-activation
state.
If a major-mode is listed in `ecb-major-modes-activate' as well as in
`ecb-major-modes-deactivate' then ECB is activated!
Any auto. deactivation/hiding is only done if the edit-window of ECB is
unsplitted and point is in the edit-window to avoid changing unnecessarily
or unintentionally the frame-layout if the user just jumps between
different edit-windows, the tree-windows and the compile-window of ECB.
There is one exception from this rule: If the edit-window is splitted and
one window contains a dired-buffer and a "ECB-deactivating"-file is opened
via dired then opening this file deactivates ECB (rsp. hides the
ECB-windows).
- User Option: minor-mode-text
String to display in the mode line when ECB minor mode is active. (When
the string is not empty, make sure that it has a leading space.)
- User Option: mode-line-data
Data shown in the modelines of the special ECB-buffers. Everey element of
this list is a cons-cell where the car is used to define a buffer-name and
the cdr to define the modeline-data for that buffer. For details about
how to defining a buffer-name see `ecb-mode-line-prefixes' - its
completely the same.
The cdr is the data for ths modeline and can either be the symbol
`sel-dir' or `sel-source' whereas the former one displays the current
selected directory as modeline-data and the latter one the current
selected source-file (without path).
In addition to these two predefined values for every special ECB-buffer a
function can be specified which gets three args (name of the buffer,
current selected directory and current selected source-file) and must
return a string which will be displayed in the modeline (or nil if no data
should be displayed).
If a special ECB-buffer should not display special data in its modeline
then this buffer-name should either not being added to this option or
added with "No data" (= nil as cdr).
The whole modeline of the special ECB-buffer consists of the prefix of
`ecb-mode-line-prefixes' and the data of `ecb-mode-line-data' - eventually
prepended by the window-number, see `ecb-mode-line-display-window-number'.
- User Option: mode-line-display-window-number
Display in the modeline of every special ECB-window the window-number.
The left-top-most window in a frame has the window-number 0 and all other
windows are numbered with increasing numbers in the sequence, functions
like `other-window' or `next-window' would walk through the frame.
This can be used to jump to windows by number with commands like:
(defun my-switch-to-window-number (number)
``Switch to the nth window''
(interactive ``P'')
(if (integerp number)
(select-window (nth number (window-list)))))
Currently this feature is only available for GNU Emacs 21.X, because
neither GNU Emacs < 21 nor XEmacs can evaluate dynamically forms in the
mode-line.
- User Option: mode-line-prefixes
Prefixes shown in the modelines of the special ECB-buffers. The displayed
prefix then looks like: "[ [: ]]", means if a prefix is defined
for an special ECB-buffer then a single space is prepended and if there is
additional text to display (e.g. the current directory in the sources
buffer, see `ecb-mode-line-data') then also the string ": " is appended.
Everey element of this list is a cons-cell where the car is used to define
a buffer-name and the cdr to define the modeline-prefix for that buffer.
The buffer-name can either be defined as plain string or with a symbol
which contains the buffer-name as value. The latter one is recommended to
define a prefix for one of the builtin ECB-tree-buffers because then
simply the related option-symbol can be used. To add a prefix for the
builtin directories tree-buffer just set the symbol
`ecb-directories-buffer-name' as car.
The cdr is the prefix for a buffer and can either be a string which used
as it is or a function-symbol which is called with three argument (the
buffer-name, the current selected directory and the current selected
source-file) and must return either nil (for no prefix) or a string which
is then used a prefix.
If a special ECB-buffer should not have a prefix in its modeline then this
buffer-name should either not being added to this option or added with "No
prefix" (= nil as cdr).
- User Option: primary-mouse-jump-destination
Jump-destination of a primary mouse-button click. Defines in which
edit-window (if splitted) ECB does the "right" action (opening the source,
jumping to a method/variable) after clicking with the primary mouse-button
(see `ecb-primary-secondary-mouse-buttons') onto a node. There are two
possible choices:
- `left-top': Does the "right" action always in the left/topmost
edit-window.
- `last-point': Does the "right" action always in that edit-window which
had the point before.
If the edit-window is not splitted this setting doesn't matter.
Note: A click with the secondary mouse-button (see again
`ecb-primary-secondary-mouse-buttons' does the "right" action always in
the "other" window related to the setting in this option.
- User Option: primary-secondary-mouse-buttons
Primary- and secondary mouse button for using the ECB-buffers. A click
with the primary button causes the main effect in each ECB-buffer:
* ECB Directories: Expanding/collapsing nodes and displaying files in the
ECB Sources buffer.
* ECB sources/history: Opening the file in that edit-window specified by
the option `ecb-primary-mouse-jump-destination'.
* ECB Methods: Jumping to the method in that edit-window specified by the
option `ecb-primary-mouse-jump-destination'.
A click with the primary mouse-button while the SHIFT-key is pressed called
the POWER-click and does the following (depending on the ECB-buffer where
the POWER-click occurs):
* ECB Directories: Refreshing the directory-contents-cache (see
`ecb-cache-directory-contents').
* ECB sources/history: Only displaying the source-contents in the
method-buffer but not displaying the source-file in the edit-window.
* ECB Methods: Narrowing to the clicked method/variable/ect... (see
`ecb-token-visit-post-actions'). This works only for semantic supported
sources but not for imenu- or etags-supported ones!
In addition always the whole node-name is displayed in the minibuffer
after a POWER-click \(for this see also
`ecb-show-node-info-in-minibuffer').
The secondary mouse-button is for opening (jumping to) the file in the
other window (see the documentation `ecb-primary-mouse-jump-destination').
The following combinations are possible:
- primary: mouse-2, secondary: C-mouse-2 (means mouse-2 while CTRL-key is
pressed). This is the default setting.
- primary: mouse-1, secondary: C-mouse-1
- primary: mouse-1, secondary: mouse-2
If you change this during ECB is activated you must deactivate and
activate ECB again to take effect
- User Option: show-node-info-in-minibuffer
Node info to display in a tree-buffer. Define which node info should
displayed in a tree-buffer after mouse moving over the node or after a
shift click onto the node.
For every tree-buffer you can define "when" node info should be displayed:
- `always': Node info is displayed by moving with the mouse over a node.
- `if-too-long': Node info is only displayed by moving with the mouse
over a node does not fit into the window-width of the tree-buffer
window. In the ECB directories buffer this means also if a node is
shortened or if the node has an alias (see `ecb-source-path').
- `shift-click': Node info is only displayed after a shift click with the
primary mouse button onto the node.
- `never': Node info is never displayed.
For every tree-buffer you can define what info should be displayed:
* Directory-buffer:
- `name': Only the full node-name is displayed.
- `path': The full-path of the node is displayed.
* Sources-buffer:
- `name': Only the full node-name is displayed.
- `file-info': File infos for this file are displayed.
- `file-info-full': Fill infos incl. full path for this file are
displayed.
* History-buffer: see Directories-buffer.
* Methods-buffer:
- `name': Only the full node name is displayed.
- `name+type': The full name + the type of the node (function, class,
variable) is displayed.
Do NOT set this option directly via setq but use always customize!
- User Option: tip-of-the-day
Show tip of the day at start time of ECB.
- User Option: tip-of-the-day-file
File where tip-of-the-day cursor is stored.
- User Option: tree-RET-selects-edit-window
In which tree-buffers RET should finally select an edit-window. If a name
of an ECB tree-buffer is contained in this list then hitting RET in this
tree-buffer selects as last action the right edit-window otherwise only
the right action is performed (opening a new source, selecting a method
etc.) but point stays in the tree-buffer.
A special remark for the `ecb-directories-buffer-name': Of course here the
edit-window is only selected if `ecb-show-sources-in-directories-buffer'
is not nil (otherwise this would not make any sense)!
The setting in this option is only the default for each tree-buffer. With
`ecb-toggle-RET-selects-edit-window' the behavior of RET can be changed
fast and easy in a tree-buffer without customizing this option, but of
course not for future Emacs sessions!
- User Option: tree-easy-hor-scroll
Scroll step for easy hor. scrolling via mouse-click in tree-buffers.
XEmacs has horizontal scroll-bars so invisible parts beyond the right
window-border of a tree-buffer can always made visible very easy.
GNU Emacs does not have hor. scroll-bars so especially with the mouse it
is quite impossible to scroll smoothly right and left. The functions
`scroll-left' and `scroll-right' can be annoying and are also not bound to
mouse-buttons.
If this option is a positive integer S then in all ECB-tree-buffers the
keys `M-mouse-1' and `M-mouse-3' are bound to scrolling left rsp. right
with scroll-step S - clicking with `mouse-1' or `mouse-2' onto the edge of
the modeline has the same effect, i.e. if you click with mouse-1 onto the
left (rsp right) edge of the modeline you will scroll left (rsp. right).
Additionally `C-M-mouse-1' and `C-M-mouse-3' are bound to scrolling left
rsp. right with scroll-step `window-width' - 2.
Default is a scroll-step of 5. If the value is `nil' then no keys for
horizontal scrolling are bound.
- User Option: tree-expand-symbol-before
Show the expand symbol before the items in a tree.
- User Option: tree-incremental-search
Enable incremental search in the ECB-tree-buffers. For a detailed
explanation see *Note Using the keyboard::. If you change this during ECB
is activated you must deactivate and activate ECB again to take effect.
- User Option: tree-indent
Indent size for tree buffer. If you change this during ECB is activated
you must deactivate and activate ECB again to take effect.
- User Option: tree-navigation-by-arrow
Enable smart navigation in the tree-windows by horiz. arrow-keys. If not
nil then the left- and right-arrow keys work in the ECB tree-window in the
following smart way if onto an expandable node:
* Left-arrow: If node is expanded then it will be collapsed otherwise
point jumps to the next "higher" node in the hierarchical tree (higher
means the next higher tree-level or - if no higher level available -
the next higher node on the same level).
* Right-arrow: If node is not expanded then it will be expanded. Onto a
not expandable node the horizontal arrow-keys go one character in the
senseful correct direction.
If this option is changed the new value takes first effect after
deactivating ECB and then activating it again!
- User Option: tree-use-image-icons
Use icons for expand/collapse tokens instead of the ascii-strings. If true
the ECB displays in its tree-buffers the expand- and collapse symbols with
appropriate icons - the icons are the same as used by speedbar.
- User Option: truncate-lines
Truncate lines in ECB buffers. If you change this during ECB is activated
you must deactivate and activate ECB again to take effect.
- User Option: truncate-long-names
Truncate long names that don't fit in the width of the ECB windows. If you
change this during ECB is activated you must deactivate and activate ECB
again to take effect.
- User Option: use-recursive-edit
Tell ECB to use a recursive edit. If set then it can easily be deactivated
by (keyboard-escape-quit).
- User Option: version-check
Checks at start-time if the requirements are fulfilled. It checks if the
required versions of the libraries semantic, eieio and speedbar are
installed and loaded into Emacs.
It is strongly recommended to set this option to not `nil'!
- User Option: window-sync
Synchronize the ECB-windows automatically with current edit window. 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.
But in every case the synchronization takes only place if the
current-buffer in the edit-window has a relation to files or directories.
Examples for the former one are all programming-language-modes,
`Info-mode' too, an example for the latter one is `dired-mode'. For all
major-modes related to non-file/directory-buffers like `help-mode',
`customize-mode' and others never an autom. synchronization will be done!
It's recommended to exclude at least `Info-mode' because it makes no sense
to synchronize the ECB-windows after calling the Info help. Per default
also `dired-mode' is excluded but it can also making sense to synchronize
the ECB-directories/sources windows with the current directory in the
dired-buffer.
IMPORTANT NOTE: Every time the synchronization is done the hook
`ecb-current-buffer-sync-hook' is evaluated.
- User Option: window-sync-delay
Time Emacs must be idle before the ECB-windows are synchronized with
current 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.
File: ecb.info, Node: ecb-directories, Next: ecb-sources, Prev: ecb-general, Up: Customizable options
Group ecb-directories
---------------------
This group contains the following options:
- User Option: add-path-for-not-matching-files
Add path of a file to `ecb-source-path' if not already contained. This is
done during the auto. windows synchronization which happens if a file is
opened not via the file/directory-browser of ECB. In such a situation ECB
adds the path of the new file auto. to `ecb-source-path' at least
temporally for the current Emacs session. This option defines two things:
1. Should only the root-part (which means for Unix-like systems always '/'
and for windows-like systems the drive) of the new file be added as
source-path to `ecb-source-path' or the whole directory-part?
2. Should this path be added for future sessions too?
The value of this option is a cons-cell where the car is a boolean for 1.
and the cdr is a boolean for 2.
A value of not nil for the car (1.) is reasonably if a user often opens
files not via the ECB-browser which are not located in any of the paths of
`ecb-source-path' because then only one path for each drive (windows) or
the root-path (Unix) is added to the directory buffer of ECB.
- User Option: auto-expand-directory-tree
Automatically expand the directory tree to the current source file. There
are three options:
- `best': Expand the best-matching source-path
- `first': Expand the first matching source-path
- `nil': Do not automatically expand the directory tree.
- User Option: cache-directory-contents
Cache contents of directories.
This can be useful if `ecb-source-path' contains directories with many
files and subdirs, especially if these directories are mounted net-drives
("many" means here something > 1000, dependent of the speed of the
net-connection and the machine). For these directories actualizing the
sources- and/or directories- buffer of ECB (if displayed in current
layout!) can slow down dramatically so a caching increases speed a lot.
The value of this option is a list where each element is a cons-cell and
looks like:
( . ) with
`:'
Regular expression a directory must match to be cached.
`:'
Number of directory contents must exceed this number.
A directory will we only be cached if and only if the directory-name
matches one rexexp of this option and its content-number exceeds the
related threshold.
The cache entry for a certain directory will be refreshed and actualized
only by using the POWER-click (see `ecb-primary-secondary-mouse-buttons')
in the directories-buffer of ECB (*note Using the mouse::).
Examples:
A value of `("~/bigdir*" . 1000)' means the contents of every subdirectory
of the home-directory will be cached if the directory contains more than
1000 entries and its name begins with "bigdir".
A value of `(".*" . 1000)' caches every directory which has more than 1000
entries.
A value of `(".*" . 0)' caches every directory regardless of the number of
entries."
- User Option: directories-buffer-after-create-hook
Local hook running after the creation of the directories-buffer. Every
function of this hook is called once without arguments direct after
creating the directories-buffer of ECB and it's local key-map. So for
example a function could be added which performs calls of `local-set-key'
to define new keybindings only for the directories-buffer of ECB.
The following keys must not be rebind in the directories-buffer: `F2',
`F3' and `F4'
- User Option: directories-buffer-name
Name of the ECB directory buffer. Because it is not a normal buffer for
editing you should enclose the name with stars, e.g. " *ECB Directories*".
If it is necessary for you you can get emacs-lisp access to the
buffer-object of the ECB-directory-buffer by this name, e.g. by a call of
`set-buffer'.
Changes for this option at runtime will take affect only after
deactivating and then activating ECB again!
- User Option: directories-menu-sorter
Function which re-sorts the menu-entries of the directories buffer.
If a function then this function is called to re-arrange the menu-entries
of the combined menu-entries of the user-menu-extensions of
`ecb-directories-menu-user-extension' and the built-in-menu
`ecb-directories-menu'. If nil then no special sorting will be done and
the user-extensions are placed in front of the built-in-entries.
The function get one argument, a list of menu-entries. For the format of
this argument see `ecb-directories-menu-user-extension'. The function must
return a new list in the same format. Of course this function can not only
re-arrange the entries but also delete entries or add new entries.
- User Option: directories-menu-user-extension
User extensions for the popup-menu of the directories buffer.
Value is a list of elements of the following type: Each element defines a
new menu-entry and is a list containing two sub-elements, whereas the
first is the name of the menu-entry and the second the function (a
function symbol or a lambda-expression) being called if the menu-entry is
selected. If there is no second sub-element and the first one is the
string "--" then a non-selectable menu-separator is displayed.
The function must follow the following guidelines: It takes one argument
which is the tree-buffer-node of the selected node (means the node for
which the popup-menu has been opened). With the function
`tree-node-get-data' the related data of this node is accessible and
returns in case of the directories buffer the directory for which the
popup-menu has been opened. The function can do any arbitrary things with
this directory.
Example for such a menu-function:
(defun ecb-my-special-dir-popup-function (node)
(let ((node-data=dir (tree-node-get-data node)))
(message "Dir under node: %s" node-data=dir)))
Per default the user-extensions are added at the beginning of the built-in
menu-entries of `ecb-directories-menu' but the whole menu can be
re-arranged with `ecb-directories-menu-sorter'.
If you change this option you have to restart ECB to take effect.
- User Option: display-default-dir-after-start
Automatically display current default-directory after activating ECB.
If a file-buffer is displayed in the edit-window then ECB synchronizes its
tree-buffers to this file-buffer - at least if the option
`ecb-window-sync' it not nil. So for this situation
`ecb-display-default-dir-after-start' takes no effect but this option is
for the case if no file-buffer is displayed in the edit-window after
startup:
If true then ECB selects autom. the current default-directory after
activation even if no file-buffer is displayed in the edit-window. This
is useful if ECB is autom. activated after startup of Emacs and Emacs is
started without a file-argument. So the directory from which the startup
has performed is auto. selected in the ECB-directories buffer and the
ECB-sources buffer displays the contents of this directory.
- User Option: excluded-directories-regexp
Directories that should not be included in the directories list. The value
of this variable should be a regular expression.
- User Option: grep-function
Function used for performing a grep. The popup-menu of the tree-buffers
"Directories", "Sources" and "History" offer to grep the "current"
directory:
- Directory-buffer: The grep is performed in the current popup-directory
after clicking the right mouse-button onto a node.
- Sources-buffer: The grep is performed in the current selected directory.
- History-buffer: The grep is performed in the directory of the current
popup-source after clicking the right mouse-button onto a node.
- User Option: grep-find-function
Function used for performing a recursive grep. For more Details see option
`ecb-grep-function' and replace "grep" with "recursive grep".
- User Option: show-sources-in-directories-buffer
Show source files in directories buffer.
- User Option: source-path
Paths where to find code sources. Each path can have an optional alias
that is used as it's display name. If no alias is set, the path is used as
display name.
- User Option: use-speedbar-instead-native-tree-buffer
If true then uses speedbar for directories, sources or methods. This means
that speedbar is integrated in the ECB-frame and is displayed in that
window normally displaying the standard ECB-directories-buffer,
ECB-sources-buffer or ECB-methods-buffer.
This option takes effect in all layouts which contain either a directory
window, a sources window or a method window.
This option can have four valid values:
- `nil': Do not use speedbar (default)
- `dir': Use speedbar instead of the standard directories-buffer
- `source': Use speedbar instead of the standard sources-buffer
- `method': Use speedbar instead of the standard methods-buffer
Note: For directories and sources a similar effect and usability is
available by setting this option to `nil' (or `method') and setting
`ecb-show-sources-in-directories-buffer' to not `nil', because this
combination displays also directories and sources in one window.
`ecb-use-speedbar-instead-native-tree-buffer' is for people who like the
speedbar way handling directories and source-files or methods and want it
in conjunction with ECB.
File: ecb.info, Node: ecb-sources, Next: ecb-methods, Prev: ecb-directories, Up: Customizable options
Group ecb-sources
-----------------
This group contains the following options:
- User Option: show-source-file-extension
Show the file extension of source files.
- User Option: source-file-regexps
Specifies which files are shown as source files.
This is done on directory-base, which means for each directory-regexp the
files to display can be specified. If more than one directory-regexp
matches the current selected directory then always the first one (and its
related file-exclude/include-regexps) is used! If no directory-regexp
matches then all files are displayed for the currently selected directory.
Important note: It is recommended that the *LAST* element of this list
should contain an always matching directory-regexp (`".*"')!
So the value of this option is a list of cons-cells where the car is a
directory regexp and the cdr is a 2 element list where the first element
is a exclude regexp and the second element is a include regexp. A file is
displayed in the source-buffer of ECB iff: The file does not match the
exclude regexp OR the file matches the include regexp.
But regardless of the value of this option a file F is never displayed in
the sources-buffer if the directory matches
`ecb-sources-exclude-cvsignore' and the directory contains a file
.cvsignore which contains F as an entry!
There are three predefined and useful combinations of an exclude and
include regexp:
* All files
* All, but no backup, object, lib or ini-files (except .emacs and .gnus).
This means all files except those starting with ".", "#" or ending with
"~", ".elc", ".obj", ".o", ".lib", ".dll", ".a", ".so". (but including
.emacs and .gnus)
* Common source file types (.c, .java etc.)
In addition to these predefined values a custom exclude and include
combination can be defined.
Tips for the directory- and file-rexexps: `"$^"' matches no
files/directories, `".*"' matches all files/directories.
- User Option: sources-buffer-after-create-hook
Local hook running after the creation of the sources-buffer. Every
function of this hook is called once without arguments direct after
creating the sources-buffer of ECB and it's local key-map. So for example
a function could be added which performs calls of `local-set-key' to
define new keybindings only for the sources-buffer of ECB.
- User Option: sources-buffer-name
Name of the ECB sources buffer. Because it is not a normal buffer for
editing you should enclose the name with stars, e.g. "*ECB Sources*".
If it is necessary for you you can get emacs-lisp access to the
buffer-object of the ECB-sources-buffer by this name, e.g. by a call of
`set-buffer'.
Changes for this option at runtime will take affect only after
deactivating and then activating ECB again!
- User Option: sources-exclude-cvsignore
Specify if files contained in a `.cvsignore' should be excluded.
Value is a list of regular expressions or nil. If you want to exclude
files listed in a `.cvsignore'-file from being displayed in the
ecb-sources-buffer then specify a regexp for such a directory.
If you want to exclude the contents of `.cvsignore'-files for every
directory then you should add one regexp ".*" which matches every
directory.
If you never want to exclude the contents of `.cvsignore'-files then set
this option to nil.
- User Option: sources-menu-sorter
Function which re-sorts the menu-entries of the directories buffer.
If a function then this function is called to sort the menu-entries of the
combined menu-entries of the user-menu-extensions of
`ecb-sources-menu-user-extension' and the built-in-menu
`ecb-sources-menu'. If nil then no special sorting will be done and the
user-extensions are placed in front of the built-in-entries.
For the guidelines for such a sorter-function see
`ecb-directories-menu-sorter'.
- User Option: sources-menu-user-extension
User extensions for the popup-menu of the sources buffer.
For further explanations see `ecb-directories-menu-user-extension'.
The node-argument of a menu-function contains as data the filename of the
source for which the popup-menu has been opened.
Per default the user-extensions are added at the beginning of the built-in
menu-entries of `ecb-sources-menu' but the whole menu can be re-arranged
with `ecb-sources-menu-sorter'.
If you change this option you have to restart ECB to take effect.
- User Option: sources-sort-method
Defines how the source files are sorted.
- `name': Sorting by name.
- `extension': Sorting first by name and then by extension.
- `nil': No sorting, means source files are displayed in the sequence
returned by `directory-files' (called without sorting).