Mercurial > emacs
annotate doc/misc/sem-user.texi @ 106218:8ccde493b34d
(message-from-style, message-interactive, message-signature): Always set
default values from the corresponding mail-* variables.
(message-cite-prefix-regexp, message-sendmail-envelope-from)
(message-yank-prefix, message-indentation-spaces, message-signature-file)
(message-default-headers): Use boundp rather than (featurep 'xemacs) to check
if the corresponding mail-* variables exist.
author | Katsumi Yamaoka <yamaoka@jpl.org> |
---|---|
date | Tue, 24 Nov 2009 09:19:09 +0000 |
parents | cf329ff7daa6 |
children | 0b797c8cfed8 |
rev | line source |
---|---|
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
1 @c This file is included by semantic.texi |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
2 |
106084 | 3 @c Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009 |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
4 @c Free Software Foundation, Inc. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
5 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
6 @c Permission is granted to copy, distribute and/or modify this |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
7 @c document under the terms of the GNU Free Documentation License, |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
8 @c Version 1.3 or any later version published by the Free Software |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
9 @c Foundation; with no Invariant Sections, no Front-Cover Texts, and |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
10 @c no Back-Cover Texts. A copy of the license is included in the |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
11 @c section entitled ``GNU Free Documentation License''. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
12 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
13 You can begin using @semantic{} by enabling Semantic mode, a global |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
14 minor mode: type @kbd{M-x semantic-mode}, or click on the @samp{Source |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
15 Code Parsers (Semantic)} menu item in the @samp{Tools} menu. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
16 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
17 When Semantic mode is turned on, Emacs automatically parses each file |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
18 you visit. This allows you to use @semantic{} user commands in those |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
19 buffers. It also enables a number of ``helper'' minor modes for |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
20 saving tags, displaying tag information, and so forth. @xref{Semantic |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
21 mode}. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
22 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
23 To enable Semantic mode each time you start Emacs, add the line |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
24 @code{(semantic-mode 1)} to your initialization file. @xref{Init |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
25 File,,,emacs,Emacs manual}. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
26 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
27 @menu |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
28 * Semantic mode:: Global minor mode for @semantic{}. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
29 * SemanticDB:: Caching parsed buffers between sessions. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
30 * Idle Scheduler:: Performing @semantic{} operations when idle. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
31 @end menu |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
32 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
33 @node Semantic mode |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
34 @section Semantic mode |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
35 @cindex Semantic mode |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
36 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
37 Semantic mode is a global minor mode for @semantic{} as a whole. When |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
38 enabled, each file you visit is automatically parsed, provided its |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
39 major mode is specified in the variable |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
40 @code{semantic-new-buffer-setup-functions} (the default is to parse |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
41 every buffer @semantic{} knows how to parse). |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
42 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
43 In each parser-enabled buffer, a number of @semantic{} commands are |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
44 available for navigating, querying, and editing source code. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
45 @xref{Semantic mode user commands}. Enabling Semantic mode also |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
46 installs a @samp{Development} menu on the menu-bar, with many of these |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
47 commands. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
48 |
106076
e142b685cd90
* semantic.texi (Semantic Internals, Glossary):
Juanma Barranquero <lekktu@gmail.com>
parents:
106061
diff
changeset
|
49 In addition, enabling Semantic mode turns on certain auxiliary global |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
50 minor modes, as specified by the variable |
106076
e142b685cd90
* semantic.texi (Semantic Internals, Glossary):
Juanma Barranquero <lekktu@gmail.com>
parents:
106061
diff
changeset
|
51 @code{semantic-default-submodes}. The default auxiliary modes are |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
52 SemanticDB mode (@pxref{SemanticDB}) and Global Semantic Idle |
106076
e142b685cd90
* semantic.texi (Semantic Internals, Glossary):
Juanma Barranquero <lekktu@gmail.com>
parents:
106061
diff
changeset
|
53 Scheduler mode. You can also toggle the auxiliary minor modes |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
54 separately, using their mode functions (e.g. @kbd{M-x |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
55 semanticdb-minor-mode}), or via the @samp{Development} menu. These |
106076
e142b685cd90
* semantic.texi (Semantic Internals, Glossary):
Juanma Barranquero <lekktu@gmail.com>
parents:
106061
diff
changeset
|
56 auxiliary minor modes are described in the following sections. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
57 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
58 @defvar semantic-new-buffer-setup-functions |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
59 The value of this variable is an alist of functions to call for |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
60 setting up @semantic{} parsing in the buffer. Each element has the |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
61 form @code{(@var{mode} . @var{fn})}, where @var{mode} is a value of |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
62 @code{major-mode} for the buffer and @var{fn} is the corresponding |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
63 function for setting up the parser. @var{fn} is called, with no |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
64 arguments, after the major mode is initialized (and after the mode |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
65 hooks have been run). |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
66 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
67 The default value enables @semantic{} for all supported major modes |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
68 (i.e., C, C++, Scheme, Javascript, Java, HTML, SRecode, and Make), but |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
69 you can remove modes from this list if you don't want to use |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
70 @semantic{} with them. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
71 @end defvar |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
72 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
73 @defvar semantic-default-submodes |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
74 The value of this variable is a list of symbols, specifying the |
106076
e142b685cd90
* semantic.texi (Semantic Internals, Glossary):
Juanma Barranquero <lekktu@gmail.com>
parents:
106061
diff
changeset
|
75 auxiliary minor modes to enable when enabling Semantic mode. The |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
76 valid mode symbols are: |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
77 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
78 @itemize |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
79 @item @code{semantic-idle-scheduler-mode} (@pxref{Idle Scheduler}). |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
80 @item @code{semanticdb-minor-mode} (@pxref{SemanticDB}). |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
81 @item @code{semantic-idle-summary-mode} (@pxref{Idle Summary Mode}). |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
82 @item @code{semantic-idle-completions-mode} (@pxref{Idle Completions Mode}). |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
83 @item @code{semantic-highlight-func-mode} |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
84 @item @code{semantic-decoration-mode} |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
85 @item @code{semantic-stickyfunc-mode} |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
86 @item @code{semantic-mru-bookmark-mode} |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
87 @end itemize |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
88 @end defvar |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
89 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
90 @menu |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
91 * Semantic mode user commands:: |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
92 @end menu |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
93 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
94 @node Semantic mode user commands |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
95 @subsection Semantic mode user commands |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
96 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
97 Semantic mode provides a number of commands for navigating, querying, |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
98 and editing source code in a language-aware manner. These commands |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
99 generally act on @dfn{tags}, which are the source-code units deemed |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
100 ``important'' by the present programming language (e.g. functions in |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
101 the C programming language). |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
102 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
103 These commands may be used in any buffer that has been parsed by |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
104 @semantic{}. Several of them prompt for a tag name using the |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
105 minibuffer; here, the @kbd{TAB} key can be used to complete tag names. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
106 Others act on the @dfn{current tag}, meaning the tag at (or around) |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
107 point. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
108 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
109 @table @kbd |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
110 @item \C-c , j |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
111 Prompt for a tag defined in the current file, and move point to it |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
112 (@code{semantic-complete-jump-local}). |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
113 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
114 @item \C-c , J |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
115 Prompt for a tag defined in any file that Emacs has parsed, and move |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
116 point to it (@code{semantic-complete-jump}). |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
117 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
118 @item \C-c , l |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
119 Display a list of the possible completions of the current tag |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
120 (@code{semantic-analyze-possible-completions}). |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
121 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
122 @item \C-c , g |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
123 Prompt for a tag, and display a list of tags that call it |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
124 (@code{semantic-symref-symbol}). |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
125 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
126 @item \C-c , G |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
127 Display a list of tags that call the current tag |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
128 (@code{semantic-symref}). |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
129 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
130 @item \C-c , p |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
131 Move point to the previous tag (@code{senator-previous-tag}). |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
132 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
133 @item \C-c , n |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
134 Move point to the next tag (@code{senator-next-tag}). |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
135 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
136 @item \C-c , u |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
137 Move point ``up'' one reference (@code{senator-go-to-up-reference}). |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
138 The meaning of ``up'' is language-dependent; in C++, for instance, |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
139 this means moving to the parent of the current tag. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
140 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
141 @item \C-c, @key{SPC} |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
142 (@code{semantic-complete-analyze-inline}) |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
143 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
144 @item \C-c,\C-w |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
145 Kill the current tag (@code{senator-kill-tag}). This removes the text |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
146 for that tag, placing it in the kill ring. You can retrieve the text |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
147 with @kbd{C-y}. This also places the tag in the @dfn{tag ring}, so |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
148 that you can yank it with @kbd{\C-c,\C-y}, below. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
149 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
150 @item \C-c,\M-w |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
151 Copy the current tag into the kill ring as well as the tag ring |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
152 (@code{senator-copy-tag}). |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
153 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
154 @item \C-c,\C-y |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
155 Yank a tag from the tag ring (@code{senator-yank-tag}). |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
156 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
157 @item \C-c,r |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
158 Copy the current tag into a register |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
159 (@code{senator-copy-tag-to-register}). With an optional argument, |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
160 kill it as well. This allows you to insert or jump to that tag with |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
161 the usual register commands. @xref{Registers,,,emacs,Emacs manual}. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
162 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
163 @item ?\C-c , @kbd{up} |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
164 Transpose the current tag with the previous one |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
165 (@code{senator-transpose-tags-up}). |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
166 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
167 @item ?\C-c ?, @kbd{down} |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
168 Transpose the current tag with the next one |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
169 (@code{senator-transpose-tags-down}). |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
170 @end table |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
171 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
172 @node SemanticDB |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
173 @section Semantic Database |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
174 @cindex SemanticDB |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
175 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
176 The Semantic Database (SemanticDB) caches the results of parsing |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
177 source code files. This data can be saved to disk when you exit |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
178 Emacs, and reloaded automatically when you subsequently revisit the |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
179 same source code files. This saves time by eliminating the need to |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
180 re-parse unmodified files. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
181 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
182 SemanticDB also provides an @acronym{API} that programs can use to |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
183 acquire information about source code tags. This information can be |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
184 accessed without loading the original the source files into memory. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
185 It can also be used to create alternate ``back-ends'' for storing tag |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
186 information in alternative on-disk formats. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
187 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
188 By default, SemanticDB is enabled together with Semantic mode. To |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
189 disable it, remove it from @code{semantic-default-submodes} |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
190 (@pxref{Semantic mode}). You can also enable or disable SemanticDB |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
191 with @kbd{M-x global-semanticdb-minor-mode}. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
192 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
193 @deffn Command global-semanticdb-minor-mode |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
194 Toggle SemanticDB mode. When enabled, any source code parsed by |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
195 @semantic{} is cached in a database. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
196 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
197 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
198 SemanticDB offers a large number of customizable options, which are |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
199 described in the following subsections. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
200 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
201 @menu |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
202 * Semanticdb Tag Storage:: |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
203 * Semanticdb Search Configuration:: |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
204 * Changing Backends:: |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
205 * Create System Databases:: |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
206 @end menu |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
207 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
208 @node Semanticdb Tag Storage |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
209 @subsection Semanticdb Tag Storage |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
210 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
211 Each time you exit Emacs, any data cached by SemanticDB is saved in |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
212 the directory @file{.emacs.d/semanticdb/}, located in your home |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
213 directory. Within this directory, the cache data is written into a |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
214 set of files according to a SemanticDB-specific filename convention. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
215 If the SemanticDB directory does not exist, Emacs first asks if you |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
216 want to create it. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
217 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
218 You can change the name of the SemanticDB directory by customizing the |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
219 variable @code{semanticdb-default-save-directory}. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
220 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
221 @anchor{semanticdb-default-save-directory} |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
222 @deffn Option semanticdb-default-save-directory |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
223 The name of the directory where SemanticDB cache files are saved. If |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
224 the value is @code{nil}, SemanticDB saves its data into a single file, |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
225 in the current directory, whose filename is given by |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
226 @code{semanticdb-default-file-name}. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
227 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
228 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
229 @anchor{semanticdb-default-file-name} |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
230 @deffn Option semanticdb-default-file-name |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
231 The name of a cache file in which to save SemanticDB, when |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
232 @code{semanticdb-default-save-directory} is @code{nil}. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
233 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
234 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
235 You can force SemanticDB to save the data from only certain files, or |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
236 suppress saving altogether, by customizing |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
237 @code{semanticdb-persistent-path}: |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
238 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
239 @anchor{semanticdb-persistent-path} |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
240 @deffn Option semanticdb-persistent-path |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
241 List of valid paths for SemanticDB to cache. Each element should be a |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
242 directory name (a string); then the parse data from any file in that |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
243 directory is saved. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
244 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
245 As a special exception, the value of this variable can be a list |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
246 containing a single symbol: @code{never}, @code{always}, or |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
247 @code{project}. The symbol @code{never} disables saving anywhere; |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
248 @code{always} enables saving everywhere; and @code{project} enables |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
249 saving directory based on the variable |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
250 @code{semanticdb-project-predicate-functions}. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
251 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
252 The default value is @code{(always)}. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
253 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
254 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
255 @anchor{semanticdb-project-predicate-functions} |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
256 @defvar semanticdb-project-predicate-functions |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
257 The value of this variable is a list of predicates for indicating that |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
258 a directory belongs to a project. This list is used when the value of |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
259 @code{semanticdb-persistent-path} is @code{(project)}. If the list is |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
260 empty, all paths are considered valid. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
261 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
262 Project management packages, such as EDE (@pxref{Top,,,ede,EDE |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
263 manual}), may add their own predicates with @dfn{add-hook} to this |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
264 variable. This allows SemanticDB to save tag caches in directories |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
265 controlled by them. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
266 @end defvar |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
267 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
268 @anchor{semanticdb-save-database-hooks} |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
269 @deffn Option semanticdb-save-database-hooks |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
270 Abnormal hook run after a database is saved. Each function is called |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
271 with one argument, the object representing the database recently |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
272 written. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
273 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
274 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
275 @node Semanticdb Search Configuration |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
276 @subsection Semanticdb Search Configuration |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
277 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
278 When another part of @semantic{} (or another Emacs package using |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
279 @semantic{}) queries the SemanticDB library for a source code tag, the |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
280 search need not be limited to tags defined within the current file. |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
281 It can include tags defined elsewhere, such as @dfn{header files} |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
282 referenced by the current file (e.g., via the C/C++ @code{#include} |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
283 directive). While performing the search, the SemanticDB library may |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
284 even automatically visit other files and parse them, if necessary. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
285 |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
286 The variable @code{semanticdb-find-default-throttle} determines how |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
287 aggressively SemanticDB searches for source code tags. @xref{Search |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
288 Throttle}. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
289 |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
290 The details of SemanticDB searches can vary from language to |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
291 language. In C/C++ code, for example, SemanticDB distinguishes |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
292 between @dfn{project header files} and @dfn{system header files}, |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
293 based on whether the @code{#include} directive uses the @code{""} or |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
294 @code{<>} filename delimiter. SemanticDB looks for system header in |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
295 the @dfn{system include path} (@pxref{Include paths}). |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
296 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
297 @menu |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
298 * Search Throttle:: Controlling how semanticdb searches occur |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
299 * Semanticdb Roots:: Specifying the root of different projects |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
300 * Include paths:: Add/Remove directories to include search paths |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
301 * Semanticdb search debugging commands:: |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
302 @end menu |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
303 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
304 @node Search Throttle |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
305 @subsubsection SemanticDB Search Throttle |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
306 |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
307 The SemanticDB @dfn{search throttle} determines how aggressive |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
308 SemanticDB searches are. It is controlled by the variable |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
309 @code{semanticdb-find-default-throttle}. The default value of this |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
310 variable aims for maximum accuracy, at the expense of search time. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
311 |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
312 Other parts of the @semantic{} package, particularly the different |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
313 language parsers, may change the value of |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
314 @code{semanticdb-find-default-throttle}. You can override its value, |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
315 for a given major mode, like this: |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
316 |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
317 @example |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
318 (setq-mode-local c-mode |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
319 semanticdb-find-default-throttle |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
320 '(project unloaded system recursive)) |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
321 @end example |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
322 |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
323 @anchor{semanticdb-find-default-throttle} |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
324 @defvar semanticdb-find-default-throttle |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
325 The default throttle for @code{semanticdb-find} routines. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
326 The throttle controls how detailed the list of database |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
327 tables is for a symbol lookup. The value is a list with |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
328 the following keys: |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
329 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
330 @table @code |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
331 @item file |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
332 The file the search is being performed from. This option is here for |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
333 completeness only, and is assumed to always be on. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
334 @item local |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
335 Tables from the same local directory are included. This includes |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
336 files directly referenced by a file name which might be in a different |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
337 directory. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
338 @item project |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
339 Tables from the same local project are included If @code{project} is |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
340 specified, then @code{local} is assumed. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
341 @item unloaded |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
342 If a table is not in memory, load it. If it is not cached on disk |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
343 either, get the source, parse it, and create the table. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
344 @item system |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
345 Tables from system databases. These are specifically tables |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
346 from system header files, or language equivalent. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
347 @item recursive |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
348 For include based searches, includes tables referenced by included |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
349 files. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
350 @item omniscience |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
351 Included system databases which are omniscience, or somehow know |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
352 everything. Omniscience databases are found in |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
353 @code{semanticdb-project-system-databases}. The Emacs Lisp system |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
354 @var{db} is an omniscience database. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
355 @end table |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
356 @end defvar |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
357 |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
358 @node Semanticdb Roots |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
359 @subsubsection SemanticDB project roots |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
360 |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
361 The @code{project} setting in the SemanticDB search throttle |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
362 (@pxref{Search Throttle}) tells SemanticDB to search within the |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
363 current single code project. For @semantic{}'s point of view, |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
364 @dfn{projects} are determined by their top-level directories, or |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
365 @dfn{project roots}; every subdirectory of a project root is |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
366 considered part of the same project. |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
367 |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
368 If you use EDE for project management, it will set the project roots |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
369 automatically. @xref{Top,,,ede,EDE manual}. You can also specify |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
370 them yourself. |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
371 |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
372 @anchor{semanticdb-project-roots} |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
373 @deffn Option semanticdb-project-roots |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
374 The value of this variable is a list of directories (strings) that are |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
375 project roots. All subdirectories of a project root are considered |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
376 part of the same project. This variable can be overriden by |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
377 @code{semanticdb-project-root-functions}. |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
378 @end deffn |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
379 |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
380 @anchor{semanticdb-project-root-functions} |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
381 @defvar semanticdb-project-root-functions |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
382 The value of this variable is a list of functions to determine a given |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
383 directory's project root. These functions are called, one at a time, |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
384 with one argument (the directory name), and must return either |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
385 @code{nil}, a string (the project root), or a list of strings |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
386 (multiple project roots, for complex systems). The first |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
387 non-@code{nil} return value, if any, is taken to be the project root, |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
388 overriding @code{semanticdb-project-roots}. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
389 @end defvar |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
390 |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
391 @node Include paths |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
392 @subsubsection Include Paths |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
393 |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
394 System include paths are standard locations to find source code tags, |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
395 such as the @dfn{header files} in @file{/usr/include} and its |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
396 subdirectories on Unix-like operating systems. |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
397 |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
398 You can add and remove system include paths using the following |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
399 commands: |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
400 |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
401 @anchor{semantic-add-system-include} |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
402 @deffn Command semantic-add-system-include dir &optional mode |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
403 Prompts for a directory, @var{dir}, and add it as a system include |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
404 path for the current major mode. When called non-interactively, the |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
405 major mode can be specified with the @var{mode} argument. |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
406 @end deffn |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
407 |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
408 @anchor{semantic-remove-system-include} |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
409 @deffn Command semantic-remove-system-include dir &optional mode |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
410 Prompt for a directory, @var{dir}, and remove it from the system |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
411 include path for the current major mode (or @var{mode}). |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
412 @end deffn |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
413 |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
414 @anchor{semantic-customize-system-include-path} |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
415 @deffn Command semantic-customize-system-include-path &optional mode |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
416 Customize the system include path for the current major mode (or |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
417 @var{mode}). |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
418 @end deffn |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
419 |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
420 @anchor{semanticdb-implied-include-tags} |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
421 @defun semanticdb-implied-include-tags |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
422 Include tags implied for all files of a given mode. You can set this |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
423 variable with @code{defvar-mode-local} for a particular mode so that |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
424 any symbols that exist for all files for that mode are included. |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
425 @end defun |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
426 |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
427 @c @xref{Search Optimization}, for more information on include paths. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
428 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
429 @node Semanticdb search debugging commands |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
430 @subsubsection Semanticdb search debugging commands |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
431 |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
432 You can use @kbd{M-x semanticdb-dump-all-table-summary} to see the |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
433 list of databases that will be searched from a given buffer. You can |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
434 follow up with @kbd{M-x semanticdb-find-test-translate-path} to then |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
435 make sure specific tables from the path are discovered correctly. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
436 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
437 Alternately, you can get a list of include files @semantic{} |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
438 encountered, but could not find on disk using @kbd{M-x |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
439 semanticdb-find-adebug-lost-includes}. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
440 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
441 @deffn Command semanticdb-dump-all-table-summary |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
442 @anchor{semanticdb-dump-all-table-summary} |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
443 Dump a list of all databases in Emacs memory. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
444 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
445 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
446 @deffn Command semanticdb-find-test-translate-path &optional arg |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
447 @anchor{semanticdb-find-test-translate-path} |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
448 Call and output results of @dfn{semanticdb-find-translate-path} |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
449 With @var{arg} non-@code{nil}, specify a @var{brutish} translation. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
450 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
451 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
452 @deffn Command semanticdb-find-adebug-lost-includes |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
453 @anchor{semanticdb-find-adebug-lost-includes} |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
454 Translate the current path, then display the lost includes. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
455 Examines the variable @code{semanticdb-find-lost-includes}. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
456 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
457 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
458 Lastly, you can test an explicit search term using this command: |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
459 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
460 @deffn Command semantic-adebug-searchdb regex |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
461 @anchor{semantic-adebug-searchdb} |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
462 Search the semanticdb for @var{regex} for the current buffer. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
463 Display the results as a debug list. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
464 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
465 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
466 @node Changing Backends |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
467 @subsection Changing Backends |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
468 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
469 If you want to use some other form of backend, you can use this |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
470 variable to choose which back end class to use for your general tag |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
471 storage. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
472 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
473 The default is to save databases in flat files. Alternatively, you |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
474 could write a new database backend that stores tags into a database, |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
475 or other storage system. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
476 |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
477 @anchor{semanticdb-new-database-class} |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
478 @defvar semanticdb-new-database-class |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
479 The default type of database created for new files. This can be |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
480 changed on a per file basis, so that some directories are saved using |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
481 one mechanism, and some directories via a different mechanism. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
482 @end defvar |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
483 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
484 @node Create System Databases |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
485 @subsection Create System Databases |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
486 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
487 If your supported language stores the system libraries in readily |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
488 available parsable source code, you can pre-generate database files |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
489 for them once, which will be used over and over for tools such as |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
490 summary-mode, or the analyzer. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
491 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
492 @deffn Command semanticdb-create-ebrowse-database dir |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
493 @anchor{semanticdb-create-ebrowse-database} |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
494 Create an @var{ebrowse} database for directory @var{dir}. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
495 The database file is stored in ~/.semanticdb, or whichever directory |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
496 is specified by @code{semanticdb-default-system-save-directory}. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
497 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
498 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
499 @node Idle Scheduler |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
500 @section Idle Scheduler |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
501 @cindex Idle Scheduler |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
502 |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
503 The @dfn{Semantic idle scheduler} is a part of @semantic{} that |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
504 performs various operations while Emacs is waiting for user input |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
505 (idle time). Its primary job is to perform buffer parsing, but it is |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
506 also used for other purposes, such as displaying information about |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
507 tags. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
508 |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
509 @anchor{global-semantic-idle-scheduler-mode} |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
510 @deffn Command global-semantic-idle-scheduler-mode &optional arg |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
511 This command toggles Semantic Idle Scheduler mode in every |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
512 @semantic{}-enabled buffer. This minor mode ensures that the buffer |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
513 is automatically reparsed whenever Emacs is idle. If there is |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
514 additional idle time, it runs jobs scheduled by other parts of |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
515 @semantic{}, such as Semantic Idle Summary mode (@pxref{Idle Summary |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
516 Mode}) and Semantic Idle Completions mode (@pxref{Idle Completions |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
517 Mode}). |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
518 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
519 |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
520 @anchor{semantic-idle-scheduler-idle-time} |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
521 @deffn Option semantic-idle-scheduler-idle-time |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
522 The value of this variable is the amount of idle time, in seconds, |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
523 before the Semantic idle scheduler activates. The default is 1. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
524 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
525 |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
526 @anchor{semantic-idle-scheduler-verbose-flag} |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
527 @deffn Option semantic-idle-scheduler-verbose-flag |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
528 If this variable is non-@code{nil}, the idle scheduler prints verbose |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
529 messages while running, which are useful for debugging. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
530 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
531 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
532 @menu |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
533 * Reparsing Options:: Reparsing the current buffer in idle time |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
534 * Idle Working Options:: Options for extra work done at idle time |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
535 * Debugging Idle Time Issues:: How to produce good bug reports |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
536 * Idle Summary Mode:: Display prototype of symbol under cursor |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
537 * Idle Completions Mode:: Smart completion pop-up help |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
538 @end menu |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
539 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
540 @node Reparsing Options |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
541 @subsection Reparsing Options |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
542 |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
543 When activated during idle time, the Semantic idle scheduler |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
544 automatically reparses all buffers that need it. Any arriving user |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
545 input cancels this, returning Emacs to its normal editing behavior. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
546 |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
547 @anchor{semantic-idle-scheduler-max-buffer-size} |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
548 @deffn Option semantic-idle-scheduler-max-buffer-size |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
549 Maximum size in bytes of buffers automatically reparsed. If this |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
550 value is less than or equal to @var{0}, buffers are automatically |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
551 reparsed regardless of their size. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
552 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
553 |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
554 @anchor{semantic-idle-scheduler-no-working-message} |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
555 @deffn Option semantic-idle-scheduler-no-working-message |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
556 If non-@code{nil}, disable display of working messages whie reparsing. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
557 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
558 |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
559 @anchor{semantic-idle-scheduler-working-in-modeline-flag} |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
560 @deffn Option semantic-idle-scheduler-working-in-modeline-flag |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
561 If non-@code{nil}, show working messages in the mode line. Normally, |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
562 re-parsing shows messages in the minibuffer; this moves the parse |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
563 message to the modeline instead. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
564 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
565 |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
566 @anchor{semantic-before-idle-scheduler-reparse-hook} |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
567 @defvar semantic-before-idle-scheduler-reparse-hook |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
568 This normal hook is run just before the idle scheduler begins |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
569 reparsing. If any hook function throws an error, the value of this |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
570 variable is reset to @code{nil}. This hook is not protected from |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
571 lexical errors. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
572 @end defvar |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
573 |
106151
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
574 @anchor{semantic-after-idle-scheduler-reparse-hook} |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
575 @defvar semantic-after-idle-scheduler-reparse-hook |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
576 |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
577 This normal hook is run after the idle scheduler finishes reparsing. |
9c5f5e4df2ac
* sem-user.texi (Semanticdb Search Configuration): Rearrange nodes.
Chong Yidong <cyd@stupidchicken.com>
parents:
106084
diff
changeset
|
578 If any hook throws an error, this variable is reset to @code{nil}. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
579 This hook is not protected from lexical errors. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
580 @end defvar |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
581 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
582 @node Idle Working Options |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
583 @subsection Idle Working Options |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
584 |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
585 In addition to reparsing buffers, the Semantic idle scheduler performs |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
586 additional operations, including the following: |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
587 |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
588 @itemize |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
589 @item |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
590 Creating the include path caches required for symbol lookup. |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
591 @item |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
592 Create data type caches. |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
593 @item |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
594 Saving SemanticDB caches to disk. |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
595 @item |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
596 Speculatively parsing the files in the same directory as the current |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
597 buffer. |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
598 @end itemize |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
599 |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
600 Because this extra work is quite time-consuming, it is only carried |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
601 out after a longer idle delay. The following features control how the |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
602 idle work is performed. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
603 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
604 @anchor{semantic-idle-scheduler-work-idle-time} |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
605 @deffn Option semantic-idle-scheduler-work-idle-time |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
606 The value of this variable is the amount of idle time, in seconds, |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
607 before commencing idle work. The default is 60. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
608 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
609 |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
610 @anchor{semantic-idle-work-parse-neighboring-files-flag} |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
611 @deffn Option semantic-idle-work-parse-neighboring-files-flag |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
612 If the value of this variable is non-@code{nil}, the Semantic idle |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
613 scheduler uses idle work time to parse files in the same directory as |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
614 the current buffer. This improves the accuracy of tag searches and |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
615 saves time when visiting those files later, at the cost of doing a lot |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
616 of parsing. The default is @code{t}. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
617 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
618 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
619 @node Debugging Idle Time Issues |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
620 @subsection Debugging Idle Time Issues |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
621 |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
622 If you see an error signalled during idle time, it could be an |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
623 indication of a more serious issue elsewhere. It is not enough to |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
624 enable @code{debug-on-error}, because the idle scheduler inhibits the |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
625 debugger. Instead, use the following commands to debug the error: |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
626 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
627 @deffn Command semantic-debug-idle-function |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
628 @anchor{semantic-debug-idle-function} |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
629 Run the Semantic idle function with debugging turned on. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
630 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
631 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
632 @deffn Command semantic-debug-idle-work-function |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
633 @anchor{semantic-debug-idle-work-function} |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
634 Run the Semantic idle work function with debugging turned on. |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
635 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
636 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
637 @node Idle Summary Mode |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
638 @subsection Idle Summary Mode |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
639 |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
640 Semantic Idle Summary mode is a minor mode that displays a short |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
641 summary of the symbol at point, such as its function prototype, in the |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
642 echo area. Its functionality is similar to what ElDoc mode provides |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
643 for Emacs Lisp (@pxref{Lisp Doc,,,emacs,Emacs manual}). |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
644 |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
645 @anchor{global-semantic-idle-summary-mode} |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
646 @anchor{semantic-idle-summary-mode} |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
647 @deffn global-semantic-idle-summary-mode &optional arg |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
648 This command toggles Semantic Idle Summary mode in all |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
649 @semantic{}-enabled buffers. You can also toggle it via the |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
650 @samp{Show Tag Summaries} menu item in the @samp{Development} menu. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
651 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
652 |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
653 When Semantic Idle Summary mode is active, a summary of the tag at |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
654 point is displayed in the echo area. This display takes place during |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
655 the idle time, as given by @code{semantic-idle-scheduler-idle-time} |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
656 (@pxref{Idle Scheduler}). |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
657 |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
658 You can override the method for getting the current tag to display by |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
659 setting @code{idle-summary-current-symbol-info}. |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
660 |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
661 @anchor{semantic-idle-summary-function} |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
662 @deffn Option semantic-idle-summary-function |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
663 The value of this variable should be a function to call to display tag |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
664 information during idle time. See the variable |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
665 @code{semantic-format-tag-functions} for a list of useful functions. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
666 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
667 |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
668 @anchor{semantic-idle-summary-out-of-context-faces} |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
669 @defvar semantic-idle-summary-out-of-context-faces |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
670 The value of this variable is a list of font-lock faces indicating |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
671 useless summary contexts. These are generally faces used to highlight |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
672 comments or strings. Semantic Idle Summary mode does not display its |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
673 usual summary if the text at point has one of these faces. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
674 @end defvar |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
675 |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
676 @node Idle Completions Mode |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
677 @subsection Idle Completions Mode |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
678 |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
679 Semantic Idle Completions mode is a minor mode for performing |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
680 @dfn{code completions} during idle time. The completions are |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
681 displayed inline, with keybindings that allow you to cycle through |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
682 different alternatives. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
683 |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
684 @c @xref{Analyzer}, for information about code |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
685 @c completion. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
686 |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
687 @anchor{global-semantic-idle-completions-mode} |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
688 @anchor{semantic-idle-completions-mode} |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
689 @deffn global-semantic-idle-completions-mode &optional arg |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
690 This command toggles Semantic Idle Completions mode in every |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
691 @semantic{}-enabled buffer. You can also toggle it via the @samp{Show |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
692 Tag Completions} menu item in the @samp{Development} menu. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
693 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
694 |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
695 If the tag at point has at least one completion, Semantic Idle |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
696 Completions mode displays that completion inline---i.e., as part of |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
697 the buffer text (you can change the display method by customizing |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
698 @code{semantic-complete-inline-analyzer-idle-displayor-class}, as |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
699 described below). The completed part is highlighted, to indicate that |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
700 it is not yet properly inserted into the buffer. The echo area shows |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
701 the completion, and whether there are other possible completions, like |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
702 this: |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
703 |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
704 @example |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
705 besselj [1 of 6 matches] |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
706 @end example |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
707 |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
708 @noindent |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
709 While the completion is being displayed, the following keybindings |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
710 take effect: |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
711 |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
712 @table @kbd |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
713 @item @key{RET} |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
714 @itemx C-m |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
715 Accept the current completion (@code{semantic-complete-inline-done}), |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
716 placing it in the buffer and moving point to the end of the completed |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
717 tag. |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
718 @item M-n |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
719 Select the next possible completion |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
720 (@code{semantic-complete-inline-down}). The new completion is shown |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
721 inline, replacing the old completion. |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
722 @item M-p |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
723 Select the previous possible completion |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
724 (@code{semantic-complete-inline-up}). |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
725 @item @key{TAB} |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
726 @item C-i |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
727 Accept as much of the completion as possible. If no additional |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
728 completion can be accepted without ambiguity, select the next possible |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
729 completion (@code{semantic-complete-inline-TAB}). |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
730 @item C-g |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
731 Quit without completing (@code{semantic-complete-inline-quit}). |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
732 @end table |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
733 |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
734 @noindent |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
735 You can also exit inline completion by issuing any other Emacs |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
736 command. The completion text then disappears from the buffer. |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
737 |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
738 @anchor{semantic-complete-analyze-inline-idle} |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
739 @deffn Command semantic-complete-analyze-inline-idle |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
740 This is the command for performing inline code completion. It is |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
741 called by Semantic Idle Completions mode during idle time, but you can |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
742 also call it yourself. It returns immediately, leaving the buffer in |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
743 a state for inline completion. |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
744 @end deffn |
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
745 |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
746 @anchor{semantic-complete-inline-analyzer-idle-displayor-class} |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
747 @deffn Option semantic-complete-inline-analyzer-idle-displayor-class |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
748 The value of this variable determines how |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
749 @code{semantic-complete-analyze-inline-idle} shows its completions. |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
750 Possible values include: |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
751 |
106156
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
752 @table @code |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
753 @item semantic-displayor-ghost |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
754 Display completions ``inline'' with the buffer text, as described |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
755 above. This is the default value. |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
756 |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
757 @item semantic-displayor-tooltip |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
758 Display completions in a tooltip. |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
759 |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
760 @item semantic-displayor-traditional |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
761 Display completions in a separate window. |
cf329ff7daa6
* sem-user.texi (Idle Completions Mode): More copyedits.
Chong Yidong <cyd@stupidchicken.com>
parents:
106151
diff
changeset
|
762 @end table |
106061
014672c3a25f
* Makefile.in: Build the Semantic manual.
Chong Yidong <cyd@stupidchicken.com>
parents:
diff
changeset
|
763 @end deffn |