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

Next: ecb-methods, Previous: ecb-directories, Up: Customizable options

#### 7.3.4 Group ecb-sources

This group contains settings for the sources-buffer in the ECB:

— User Option: read-only-check-exclude-regexps

> 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-check` is not nil.

— 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 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-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

> Static 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 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-filename` to 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-menu` but the whole menu can be re-arranged with `ecb-sources-menu-sorter`.

— User Option: sources-menu-user-extension-function

> 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 `ignore`.

> Per default the dynamic user-extensions are added in front of the static extensions of `ecb-sources-menu-user-extension` but the whole menu can be re-arranged with `ecb-sources-menu-sorter`.

— User Option: sources-perform-read-only-check

> 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 `ecb-source-read-only-face`.

> 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: `t`, `unless-remote` and `nil`. See `ecb-prescan-directories-for-emptyness` for an explanation for these three choices.

> The option `ecb-read-only-check-exclude-regexps` offers are more fine granularity to exclude the sources of certain directories from the read-only state-check.

— User Option: sources-show-node-info

> 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-info` for 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!

— User Option: sources-sort-ignore-case

> Ignore case for sorting the source-files of the Sources-buffer. See also `ecb-sources-sort-method`.

— User Option: sources-sort-method

> 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).

> See also `ecb-sources-sort-ignore-case`