diff options
author | Chong Yidong <cyd@stupidchicken.com> | 2010-04-18 19:02:16 -0400 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2010-04-18 19:02:16 -0400 |
commit | a42dbee160587fb264c03c9f0d49ec04536709cf (patch) | |
tree | e6e62efacd1c7bdc3f1641f1e91be14abf0f9098 | |
parent | 137327efbdd91b16b7c56bfbb952da9e7dd8eb4d (diff) | |
download | emacs-a42dbee160587fb264c03c9f0d49ec04536709cf.tar.gz |
* 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.
-rw-r--r-- | doc/emacs/ChangeLog | 10 | ||||
-rw-r--r-- | doc/emacs/emacs.texi | 2 | ||||
-rw-r--r-- | doc/emacs/maintaining.texi | 64 | ||||
-rw-r--r-- | doc/emacs/misc.texi | 2 | ||||
-rw-r--r-- | doc/emacs/programs.texi | 68 |
5 files changed, 145 insertions, 1 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 8b26fdfb7e5..13fb0dc1e15 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -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. diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 0e5463828e7..4205079a236 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -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 diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index 56c65852b7a..8c417bc12ac 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi @@ -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 diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index 808c3bfc3d3..7944a6b85e7 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi @@ -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 diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi index dce6c38692e..72aa8ff121a 100644 --- a/doc/emacs/programs.texi +++ b/doc/emacs/programs.texi @@ -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 |