File: ecb-non-semantic.html

package info (click to toggle)
ecb 2.32-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, lenny, squeeze
  • size: 5,236 kB
  • ctags: 1,790
  • sloc: lisp: 24,391; makefile: 143; sh: 57
file content (170 lines) | stat: -rw-r--r-- 6,134 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
<html lang="en">
<head>
<title>ECB - the Emacs Code Browser</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name=description content="ECB - the Emacs Code Browser">
<meta name=generator content="makeinfo 4.2">
<link href="http://www.gnu.org/software/texinfo/" rel=generator-home>
</head>
<body>
<p>
Node:<a name="ecb-non-semantic">ecb-non-semantic</a>,
Next:<a rel=next accesskey=n href="ecb-winman.html#ecb-winman">ecb-winman</a>,
Previous:<a rel=previous accesskey=p href="ecb-speedbar.html#ecb-speedbar">ecb-speedbar</a>,
Up:<a rel=up accesskey=u href="Customizable-options.html#Customizable%20options">Customizable options</a>
<hr><br>

<h4>Group ecb-non-semantic</h4>

<p>This group contains settings for parsing and displaying non-semantic files:

<p>
<table width="100%">
<tr>
<td align="left"><b>auto-save-before-etags-methods-rebuild</b><i>
</i></td>
<td align="right">User Option</td>
</tr>
</table>
<table width="95%" align="center">
<tr><td>
Automatic saving of current buffer before rebuilding its methods.

<p>This option is only relevant for sources which are supported and
parsed by etags (see <code>ecb-process-non-semantic-files</code>). Because
etags is an external tool a source-buffer can only be reparsed if the
buffer is saved to disk. So the command
<code>ecb-rebuild-methods-buffer</code> 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!

<p>For all source supported by semantic or by imenu this option takes no
effect. 
</td></tr>
</table>

<p>
<table width="100%">
<tr>
<td align="left"><b>non-semantic-exclude-modes</b><i>
</i></td>
<td align="right">User Option</td>
</tr>
</table>
<table width="95%" align="center">
<tr><td>
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
<code>ecb-non-semantic-parsing-function</code>). 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
<code>major-mode</code> 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. 
</td></tr>
</table>

<p>
<table width="100%">
<tr>
<td align="left"><b>non-semantic-methods-initial-expand</b><i>
</i></td>
<td align="right">User Option</td>
</tr>
</table>
<table width="95%" align="center">
<tr><td>
Initially expand all tags for not by semantic supported sources. 
This option can be customized on a major-mode basis, i.e. if a
<code>major-mode</code> is contained in this option then all tags for this
modes will be initially expanded - otherwise not. 
</td></tr>
</table>

<p>
<table width="100%">
<tr>
<td align="left"><b>non-semantic-parsing-function</b><i>
</i></td>
<td align="right">User Option</td>
</tr>
</table>
<table width="95%" align="center">
<tr><td>
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 <code>speedbar-insert-generic-list</code>. speedbar has
already included two functions <code>speedbar-fetch-dynamic-imenu</code> and
<code>speedbar-fetch-dynamic-etags</code> which can be used for parsing
buffers with imenu rsp. etags.

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

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

<p>IMPORTANT: if imenu-parsing should be used then the option
<code>speedbar-use-imenu-flag</code> must be set to not nil! 
</td></tr>
</table>

<p>
<table width="100%">
<tr>
<td align="left"><b>process-non-semantic-files</b><i>
</i></td>
<td align="right">User Option</td>
</tr>
</table>
<table width="95%" align="center">
<tr><td>
Display content of non-semantic-files in the ECB-methods-buffer. See
also <code>ecb-non-semantic-parsing-function</code>. 
</td></tr>
</table>

<p>
<table width="100%">
<tr>
<td align="left"><b>rebuild-non-semantic-methods-before-hook</b><i>
</i></td>
<td align="right">User Option</td>
</tr>
</table>
<table width="95%" align="center">
<tr><td>
Hook running at beginning of the function
<code>ecb-rebuild-methods-buffer-for-non-semantic</code>. This function is
always called by the command <code>ecb-rebuild-methods-buffer</code> for not
semantic supported source-types.

<p>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 <code>ecb-rebuild-methods-buffer-for-non-semantic</code> if
either the hook contains no function (the default) or if no function
of this hook returns nil! See <code>run-hook-with-args-until-failure</code>
for description how these function are processed. 
</td></tr>
</table>

</body></html>