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

Group ecb-non-semantic

This group contains the following options:

auto-save-before-etags-methods-rebuild User Option
Automatic saving of current buffer before rebuilding its methods.

This option is only relevant for sources which are supported and parsed by etags (see ecb-process-non-semantic-files). Because etags is an external tool a source-buffer can only be reparsed if the buffer is saved to disk. So the command ecb-rebuild-methods-buffer checks for sources which are not supported by semantic or imenu if either this option is t or if the major-mode of the source-buffer is contained in this list: In both cases ECB saves the current source-buffer before it re-runs etags for reparsing the source. If nil or if the major-mode is not contained then no automatic saving will be done!

For all source supported by semantic or by imenu this option takes no effect.

non-semantic-exclude-modes User Option
Exclude modes from parsing with imenu or etags. Per default, ECB tries to parse all file-types not supported by semantic with imenu or etags or some other method (for details see the option ecb-non-semantic-parsing-function). If a file-type can not be parsed by semantic, imenu or etags than this simply results in an empty method-buffer for this file. But nevertheless you will get a message "Sorry, no support for a file of that extension" which comes from the speedbar-library and can not switched off. Therefore if a major-mode is known as not parse-able by semantic, imenu or etags it can be added to this option and then it will be excluded from being tried to parsed.

non-semantic-methods-initial-expand User Option
Initially expand all tokens for not by semantic supported sources. This option can be customized on a major-mode basis, i.e. if a major-mode is contained in this option then all tokens for this modes will be initially expanded - otherwise not.

non-semantic-parsing-function User Option
Define mode-dependent parsing functions for non-semantic files. This is an alist where the car is a major-mode symbol and the cdr is a function-symbol of a function which should be used for parsing a non-semantic buffer, i.h. a buffer for which no semantic grammar exists. Such a function gets one argument - the filename of current buffer - and has to generate and return a token/tag list which is understandable by speedbar-insert-generic-list. speedbar has already included two functions speedbar-fetch-dynamic-imenu and speedbar-fetch-dynamic-etags which can be used for parsing buffers with imenu rsp. etags.

This option takes only effect if ecb-process-non-semantic-files is not nil: Then ECB checks for non-semantic buffers if current major-mode is contained in this option and if yes, then the specified parsing function is called; if not then the cars of the elements of speedbar-dynamic-tags-function-list are called in that sequence they are listed in this variable. See option speedbar-dynamic-tags-function-list for further details.

In most cases imenu-parsing is preferable over etags-parsing because imenu operates on Emacs-buffers and needs no external tool and therefore parsing works also if current contents of a buffer are not saved to disk. But maybe sometimes etags may return better parsing results

IMPORTANT: if imenu-parsing should be used then the option speedbar-use-imenu-flag must be set to not nil!

process-non-semantic-files User Option
Display content of non-semantic-files in the ECB-methods-buffer. See also ecb-non-semantic-parsing-function.

rebuild-non-semantic-methods-before-hook User Option
Hook running at beginning of the function ecb-rebuild-methods-buffer-for-non-semantic. This function is always called by the command ecb-rebuild-methods-buffer for not semantic supported source-types.

Every function of this hook gets one argument: The complete filename of the current source-buffer in the edit-window. The Method-buffer is only rebuild by ecb-rebuild-methods-buffer-for-non-semantic if either the hook contains no function (the default) or if no function of this hook returns nil! See run-hook-with-args-until-failure for description how these function are processed.