This group contains settings for parsing and displaying non-semantic files:
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-bufferchecks 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.
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-modeis 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.
Initially expand all tags for not by semantic supported sources. This option can be customized on a major-mode basis, i.e. if a
major-modeis contained in this option then all tags for this modes will be initially expanded - otherwise not.
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 tag/tag list which is understandable by
speedbar-insert-generic-list. speedbar has already included two functions
speedbar-fetch-dynamic-etagswhich can be used for parsing buffers with imenu rsp. etags.
This option takes only effect if
ecb-process-non-semantic-filesis not nil: Then ECB checks for non-semantic buffers if current
major-modeis 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-listare called in that sequence they are listed in this variable. See option
speedbar-dynamic-tags-function-listfor 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-flagmust be set to not nil!
Display content of non-semantic-files in the ECB-methods-buffer. See also
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-bufferfor 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-semanticif either the hook contains no function (the default) or if no function of this hook returns nil! See
run-hook-with-args-until-failurefor description how these function are processed.