annotate doc/misc/sem-user.texi @ 106156:cf329ff7daa6

* sem-user.texi (Idle Completions Mode): More copyedits.
author Chong Yidong <cyd@stupidchicken.com>
date Fri, 20 Nov 2009 05:02:46 +0000
parents 9c5f5e4df2ac
children 0b797c8cfed8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
f03048d6d95a Add 2009 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 106076
diff changeset
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