* programs.texi (Semantic): New node.
* maintaining.texi (EDE): New node. * emacs.texi: Update node listing. * misc.texi (Gnus): Use the `C-h i' keybinding for info.
This commit is contained in:
parent
137327efbd
commit
a42dbee160
5 changed files with 145 additions and 1 deletions
|
@ -1,3 +1,13 @@
|
|||
2010-04-18 Chong Yidong <cyd@stupidchicken.com>
|
||||
|
||||
* programs.texi (Semantic): New node.
|
||||
|
||||
* maintaining.texi (EDE): New node.
|
||||
|
||||
* emacs.texi: Update node listing.
|
||||
|
||||
* misc.texi (Gnus): Use the `C-h i' keybinding for info.
|
||||
|
||||
2010-04-16 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* emacs.texi (Acknowledgments): Remove duplicate.
|
||||
|
|
|
@ -649,6 +649,7 @@ Editing Programs
|
|||
* Hideshow:: Displaying blocks selectively.
|
||||
* Symbol Completion:: Completion on symbol names of your program or language.
|
||||
* Glasses:: Making identifiersLikeThis more readable.
|
||||
* Semantic:: Suite of editing tools based on source code parsing.
|
||||
* Misc for Programs:: Other Emacs features useful for editing programs.
|
||||
* C Modes:: Special commands of C, C++, Objective-C,
|
||||
Java, and Pike modes.
|
||||
|
@ -761,6 +762,7 @@ Maintaining Large Programs
|
|||
* Change Log:: Maintaining a change history for your program.
|
||||
* Tags:: Go directly to any function in your program in one
|
||||
command. Tags remembers which file it is in.
|
||||
* EDE:: An integrated development environment for Emacs.
|
||||
* Emerge:: A convenient way of merging two versions of a program.
|
||||
|
||||
Version Control
|
||||
|
|
|
@ -14,6 +14,7 @@ programs.
|
|||
* Change Log:: Maintaining a change history for your program.
|
||||
* Tags:: Go directly to any function in your program in one
|
||||
command. Tags remembers which file it is in.
|
||||
* EDE:: An integrated development environment for Emacs.
|
||||
@ifnottex
|
||||
* Emerge:: A convenient way of merging two versions of a program.
|
||||
@end ifnottex
|
||||
|
@ -2267,6 +2268,69 @@ name in the buffer. @xref{Symbol Completion}.
|
|||
@include emerge-xtra.texi
|
||||
@end ifnottex
|
||||
|
||||
@node EDE
|
||||
@section Emacs Development Environment
|
||||
@cindex EDE (Emacs Development Environment)
|
||||
@cindex Emacs Development Environment
|
||||
@cindex Integrated development environment
|
||||
|
||||
EDE (@dfn{Emacs Development Environment}) is a package that simplifies
|
||||
the task of creating, building, and debugging large programs with
|
||||
Emacs. It provides some of the features of an IDE, or @dfn{Integrated
|
||||
Development Environment}, in Emacs.
|
||||
|
||||
This section provides a brief description of EDE usage.
|
||||
@ifnottex
|
||||
For full details, see @ref{Top, EDE,, ede, Emacs Development Environment}.
|
||||
@end ifnottex
|
||||
@iftex
|
||||
For full details on Ede, type @kbd{C-h i} and then select the EDE
|
||||
manual.
|
||||
@end iftex
|
||||
|
||||
EDE is implemented as a global minor mode (@pxref{Minor Modes}). To
|
||||
enable it, type @kbd{M-x global-ede-mode} or click on the
|
||||
@samp{Project Support (EDE)} item in the @samp{Tools} menu. You can
|
||||
also enable EDE each time you start Emacs, by adding the following
|
||||
line to your initialization file:
|
||||
|
||||
@smallexample
|
||||
(global-ede-mode t)
|
||||
@end smallexample
|
||||
|
||||
@noindent
|
||||
Activating EDE adds a menu named @samp{Development} to the menu bar.
|
||||
Many EDE commands, including the ones described below, can be invoked
|
||||
from this menu.
|
||||
|
||||
EDE organizes files into @dfn{projects}, which correspond to
|
||||
directory trees. The @dfn{project root} is the topmost directory of a
|
||||
project. To define a new project, visit a file in the desired project
|
||||
root and type @kbd{M-x ede-new}. This command prompts for a
|
||||
@dfn{project type}, which refers to the underlying method that EDE
|
||||
will use to manage the project (@pxref{Creating a Project, EDE,, ede,
|
||||
Emacs Development Environment}). The most common project types are
|
||||
@samp{Make}, which uses Makefiles, and @samp{Automake}, which uses GNU
|
||||
Automake (@pxref{Top, Automake,, automake, Automake}). In both cases,
|
||||
EDE also creates a file named @file{Project.ede}, which stores
|
||||
information about the project.
|
||||
|
||||
A project may contain one or more @dfn{targets}. A target can be an
|
||||
object file, executable program, or some other type of file, which is
|
||||
``built'' from one or more of the files in the project.
|
||||
|
||||
To add a new @dfn{target} to a project, type @kbd{C-c . t}
|
||||
(@code{M-x ede-new-target}). This command also asks if you wish to
|
||||
``add'' the current file to that target, which means that the target
|
||||
is to be built from that file. After you have defined a target, you
|
||||
can add more files to it by typing @kbd{C-c . a}
|
||||
(@code{ede-add-file}).
|
||||
|
||||
To build a target, type @kbd{C-c . c} (@code{ede-compile-target}).
|
||||
To build all the targets in the project, type @kbd{C-c . C}
|
||||
(@code{ede-compile-project}). EDE uses the file types to guess how
|
||||
the target should be built.
|
||||
|
||||
@ignore
|
||||
arch-tag: b9d83dfb-82ea-4ff6-bab5-05a3617091fb
|
||||
@end ignore
|
||||
|
|
|
@ -203,7 +203,7 @@ Here we introduce Gnus and describe several basic features.
|
|||
For full details, see @ref{Top, Gnus,, gnus, The Gnus Manual}.
|
||||
@end ifnottex
|
||||
@iftex
|
||||
For full details on Gnus, type @kbd{M-x info} and then select the Gnus
|
||||
For full details on Gnus, type @kbd{C-h i} and then select the Gnus
|
||||
manual.
|
||||
@end iftex
|
||||
|
||||
|
|
|
@ -39,6 +39,7 @@ Highlight program syntax (@pxref{Font Lock}).
|
|||
* Hideshow:: Displaying blocks selectively.
|
||||
* Symbol Completion:: Completion on symbol names of your program or language.
|
||||
* Glasses:: Making identifiersLikeThis more readable.
|
||||
* Semantic:: Suite of editing tools based on source code parsing.
|
||||
* Misc for Programs:: Other Emacs features useful for editing programs.
|
||||
* C Modes:: Special commands of C, C++, Objective-C,
|
||||
Java, and Pike modes.
|
||||
|
@ -1387,6 +1388,73 @@ current buffer; you can also add @code{glasses-mode} to the mode hook
|
|||
of the programming language major modes in which you normally want
|
||||
to use Glasses mode.
|
||||
|
||||
@node Semantic
|
||||
@section Semantic
|
||||
@cindex Semantic package
|
||||
|
||||
Semantic is a package that provides language-aware editing commands
|
||||
based on @code{source code parsers}. This section provides a brief
|
||||
description of Semantic;
|
||||
@ifnottex
|
||||
for full details, see @ref{Top, Semantic,, semantic, Semantic}.
|
||||
@end ifnottex
|
||||
@iftex
|
||||
for full details, type @kbd{C-h i} (@code{info}) and then select the
|
||||
Semantic manual.
|
||||
@end iftex
|
||||
|
||||
Most of the ``language aware'' features in Emacs, such as font lock
|
||||
(@pxref{Font Lock}), rely on ``rules of thumb''@footnote{Regular
|
||||
expressions and syntax tables.} that usually give good results but are
|
||||
never completely exact. In contrast, the parsers used by Semantic
|
||||
have an exact understanding of programming language syntax. This
|
||||
allows Semantic to provide search, navigation, and completion commands
|
||||
that are powerful and precise.
|
||||
|
||||
To begin using Semantic, type @kbd{M-x semantic-mode} or click on
|
||||
the menu item named @samp{Source Code Parsers (Semantic)} in the
|
||||
@samp{Tools} menu. This enables Semantic mode, a global minor mode.
|
||||
|
||||
When Semantic mode is enabled, Emacs automatically attempts to
|
||||
parses each file you visit. Currently, Semantic understands C, C++,
|
||||
Scheme, Javascript, Java, HTML, and Make. Within each parsed buffer,
|
||||
the following commands are available:
|
||||
|
||||
@table @kbd
|
||||
@item C-c , j
|
||||
@kindex C-c , j
|
||||
Prompt for the name of a function defined in the current file, and
|
||||
move point there (@code{semantic-complete-jump-local}).
|
||||
|
||||
@item C-c , J
|
||||
@kindex C-c , J
|
||||
Prompt for the name of a function defined in any file Emacs has
|
||||
parsed, and move point there (@code{semantic-complete-jump}).
|
||||
|
||||
@item C-c , @key{SPC}
|
||||
@kindex C-c , @key{SPC}
|
||||
Display a list of possible completions for the symbol at point
|
||||
(@code{semantic-complete-analyze-inline}). This also activates a set
|
||||
of special keybindings for choosing a completion: @key{RET} accepts
|
||||
the current completion, @kbd{M-n} and @kbd{M-p} cycle through possible
|
||||
completions, @key{TAB} completes as far as possible and then cycles,
|
||||
and @kbd{C-g} or any other key aborts completion.
|
||||
|
||||
@item C-c , l
|
||||
@kindex C-c , l
|
||||
Display a list of the possible completions of the symbol at point, in
|
||||
another window (@code{semantic-analyze-possible-completions}).
|
||||
@end table
|
||||
|
||||
@noindent
|
||||
In addition to the above commands, the Semantic package provides a
|
||||
variety of other ways to make use of parser information. For
|
||||
instance, you can use it to display a list of completions when Emacs
|
||||
is idle.
|
||||
@ifnottex
|
||||
@xref{Top, Semantic,, semantic, Semantic}, for details.
|
||||
@end ifnottex
|
||||
|
||||
@node Misc for Programs
|
||||
@section Other Features Useful for Editing Programs
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue