This group contains settings for the sources-buffer in the ECB:
Which directories should be excluded from the sources-read-only-check. If a directory matches any of the regexps of this option their sources will not be checked if they are writable - This option takes only effect if
ecb-sources-perform-read-only-checkis not nil.
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 list of exclude regexps and the second element is a list of include regexps. A file is displayed in the source-buffer of ECB iff: The file does not match any of the exclude regexps OR the file matches at least one of the include regexps.
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-cvsignoreand 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.
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-keyto define new keybindings only for the sources-buffer of ECB.
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
Changes for this option at runtime will take affect only after deactivating and then activating ECB again!
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.
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-extensionand 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
Static user extensions for the popup-menu of the sources buffer. For further explanations see
The node-argument of a menu-function contains as data the source for which the popup-menu has been opened. Use always
ecb-source-get-*to extract whatever you need from the node-data. E.g. use
ecb-source-get-filenameto get the full filename of the source of the node.
Per default the static user-extensions are added at the beginning of the built-in menu-entries of
ecb-sources-menubut the whole menu can be re-arranged with
Dynamic user extensions for the popup-menu of the sources buffer. A function which has to return a list in the same format like the option
ecb-sources-menu-user-extension. This function is called when the user opens the popup-menu for the sources buffer.
If no dynamically evaluated menu-extensions should be added to the sources-buffer the function has to return nil. Therefore the default-value of this option is
Per default the dynamic user-extensions are added in front of the static extensions of
ecb-sources-menu-user-extensionbut the whole menu can be re-arranged with
Check if source-items in the tree-buffers are read-only. If a sourcefile is read-only then it will be displayed with that face set in the option
Because this check can be take some time if files are used via a mounted net-drive ECB performs this check stealthily (see
ecb-stealthy-tasks-delay) so normally the user should not see a performance-decrease or additional waiting-time. But to get sure this option offers three choices:
ecb-prescan-directories-for-emptynessfor an explanation for these three choices.
ecb-read-only-check-exclude-regexpsoffers are more fine granularity to exclude the sources of certain directories from the read-only state-check.
When to display which node-info in the sources-buffer. Define which node info should be displayed after moving the mouse over a node (or after a shift click onto the node) in the sources-buffer.
You can define “when” a node-info should be displayed: See
ecb-directories-show-node-infofor the possible choices.
- 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.
Do NOT set this option directly via setq but use always customize!
Ignore case for sorting the source-files of the Sources-buffer. See also
Defines how the source files are sorted.
name: Sorting by name.
extension: Sorting first by extension and then by name.
nil: No sorting, means source files are displayed in the sequence returned by
directory-files(called without sorting).