X-Git-Url: https://code.delx.au/gnu-emacs-elpa/blobdiff_plain/769f2f27e216b38e906403cc26401cb97190ed87..f52a5e58fccffa3071fa3d0183d6b281f8a148c2:/packages/ada-mode/ada-mode.info diff --git a/packages/ada-mode/ada-mode.info b/packages/ada-mode/ada-mode.info index ec4d58e6a..e2c10f95b 100644 --- a/packages/ada-mode/ada-mode.info +++ b/packages/ada-mode/ada-mode.info @@ -46,8 +46,8 @@ Copyright (C) 1999 - 2014 Free Software Foundation, Inc. * Moving Through Ada Code:: Moving easily through Ada sources * Identifier completion:: Finishing words automatically * Indentation:: Indenting your code automatically as you type -* Statement skeletons:: -* Aligning code:: +* Statement skeletons:: Some code is written for you +* Aligning code:: Making it pretty * Automatic casing:: Adjusting the case of words automatically * Comment Handling:: Reformatting comments easily * Key summary:: @@ -94,7 +94,8 @@ File: ada-mode.info, Node: Installation, Next: Customization, Prev: Overview, 2 Installation ************** -Ada mode requires Emacs 24.2 or greater. +Ada mode requires Emacs 24.2 or greater; it also requires the Emacs lisp +sources (not just the compiled binaries). Ada mode is distributed in the Gnu ELPA package archive; it can be installed via 'M-x list-packages' (*note (emacs)Packages::). You must @@ -113,38 +114,58 @@ the distribution. To see what version of Ada mode you have installed, invoke 'M-x ada-mode-version'. + You may also want to install additional utilities: + * Menu: -* gnatinspect:: +* Ada Reference Manual:: +* gpr_query:: * Upgrading::  -File: ada-mode.info, Node: gnatinspect, Next: Upgrading, Prev: Installation, Up: Installation +File: ada-mode.info, Node: Ada Reference Manual, Next: gpr_query, Prev: Installation, Up: Installation + +2.1 Ada Reference Manual +======================== -2.1 gnatinspect -=============== +The ELPA package ada-ref-man includes the Ada Reference Manual and +Annotated Ada Reference Manual in info format. -Ada mode has experimental support for the new AdaCore cross reference -tool 'gnatinspect', which supports Ada, C, C++, and any other language -for which gcc provices the '-fdump-xref'. + +File: ada-mode.info, Node: gpr_query, Next: Upgrading, Prev: Ada Reference Manual, Up: Installation - 'gnatinspect' is distributed as part of 'gnatcoll'. Ada mode -requires the very latest version, in 'gnatcoll 1.7w' distributed with -GNATPro 7.2. +2.2 gpr_query +============= - To build 'gnatinspect', assuming gnat-7.2 is installed in -'/usr/gnat-7.2': +Ada mode has support for an external cross reference tool 'gpr_query', +which supports Ada, C, C++, and any other language for which AdaCore gcc +provices the '-fdump-xref' ('-fdump-xref' is an AdaCore extension). - tar xf ~/Downloads/gnatcoll-1.7w-src.tgz + 'gpr_query' requires the 'gnatcoll' library provided by AdaCore. Ada +mode requires the very latest version 'gnatcoll 1.7w' distributed with +GNAT GPL 2014. + + To build 'gpr_query', assuming GNAT GPL 2014 is installed in +'/usr/gnat-gpl-2014', and '/usr/gnat-gpl-2014/bin' is in PATH: + + tar xf ~/Downloads/gnatcoll-1.7x-src.tgz cd gnatcoll-1.7w-src - ./configure --prefix=/usr/gnat-7.2 - make Gnatcoll_Build=Debug - sudo make Gnatcoll_Build=Debug install + ./configure --prefix=/usr/gnat-gpl-2014 + make + sudo make install + cd ~/.emacs.d/elpa/ada-mode-5.xx/build + make install-gpr_query + + To build an sqlite3 executable that is compatible with the database +created by 'gpr_query': + + cd gnatcoll-1.7w-src/src/sqlite/amalgamation/ + gcc -O2 -o sqlite3 shell.c sqlite3.c -ldl -lpthread  -File: ada-mode.info, Node: Upgrading, Prev: gnatinspect, Up: Installation +File: ada-mode.info, Node: Upgrading, Prev: gpr_query, Up: Installation -2.2 Upgrading from previous versions +2.3 Upgrading from previous versions ==================================== See the file NEWS for more details; here we summarize only important @@ -252,12 +273,20 @@ is used to index several variables that point to the cross-reference-tool-specific functions for corresponding Ada mode operations. - To use a cross reference tool other than gnatxref, you must write + The default cross-reference tool is 'gnatxref', provided by the file +'ada-gnat-xref.el'. One other tool is supported: 'gpr_query'. To use +it, add the following to '~/.emacs': + + (require 'gpr-query) + + To use 'gpr_query', the Ada code 'gpr_query.adb' must be compiled; +see *note Installation::. + + To use a cross reference tool other than the above, you must write Emacs lisp code that provides the interface to the compiler, and set -'ada-xref-tool' and the indirection variables. This has already been -done for 'gnatinspect'; set 'ada-xref-tool' to ''gnat_inspect'. +'ada-xref-tool' and the indirection variables. - See 'ada-gnat-xref.el' and 'gnat-inspect.el' for examples. + See 'ada-gnat-xref.el' and 'gpr-query.el' for examples.  File: ada-mode.info, Node: Other customization, Prev: Other cross-reference, Up: Customization @@ -298,18 +327,21 @@ the syntax to set a variable is the following: defaults to 'ada-skel-expand', is bound to (*note Statement skeletons::). 'imenu' + Navigate to subprograms and types by name, from a minibuffer menu. +'speedbar' + Navigate to subprograms and types by name, from a list in a + dedicated window. 'which-func' The above can all be set by the following code in your '~/.emacs'. Note that some are functions are added to 'before-save-hook'; they run just before a buffer is written to disk. Also, the order is important; -ada-mode does not set up the Ada-specific features of imenu and -which-func unless they are loaded first. +ada-mode does not set up the Ada-specific features of imenu and speedbar +unless imenu is loaded first. (setq-default indent-tabs-mode nil) (electric-pair-mode 1) - (require 'imenu) - (require 'which-func) + (require 'imenu) ;; also enables speedbar (require 'ada-mode) (add-to-list 'hippie-expand-try-functions-list 'ada-skel-hippie-try) (define-key ada-mode-map "\C-e" 'hippie-expand) @@ -1339,10 +1371,12 @@ this is a convenient way to insert statements with correct indentation. For named statements (packages, loops, etc), the name is taken from the word before point, and the name of the statement from the word -before that. Some expansions prompt for more information, such as -whether a spec or body is desired. For example, 'package A_Package C-c -C-e' first prompts for "body" or "spec". If "spec" is selected, the -following code is inserted: +before that. + + Some expansions prompt for more information, such as whether a spec +or body is desired. For example, 'package A_Package C-c C-e' first +prompts for "body" or "spec". If "spec" is selected, the following code +is inserted: package A_Package is private @@ -1359,6 +1393,16 @@ following code is inserted: Note that the order of the keyword 'declare' and the name 'A_Block' are reversed in the expansion; this may take some getting used to. +Alternately, if no name is present in the buffer, you are prompted for a +name: 'declare C-c C-e' first prompts for a name, then expands to the +above. + + The variable 'ada-skel-initial-string' defines what to insert in a +newly created empty buffer. It defaults to '{header}', which is a +placeholder defined by 'ada-skel-header', which inserts a typical header +with a copyright license (choice of GPL or restricted). Users will +typically want to override the definition of 'ada-skel-initial-string' +and/or 'ada-skel-header', or provide more choices of copyright license.  File: ada-mode.info, Node: Aligning code, Next: Automatic casing, Prev: Statement skeletons, Up: Top @@ -1433,7 +1477,7 @@ specifies the casing of one word or word fragment. If an exception is defined in multiple files, the first occurrence is used. If the word starts with an asterisk ('*'), it defines the casing of a -word fragemnt (or "substring"); part of a word between two underscores +word fragment (or "substring"); part of a word between two underscores or word boundary. For example: @@ -1800,19 +1844,17 @@ File: ada-mode.info, Node: GNAT core, Next: Wisi, Prev: gpr mode, Up: Packag 'gnat-core.el' is a start at a language-agnostic interface to the GNAT tools. It was first factored out from 'ada-gnat.el' and - 'ada-mode.el' to support the multi-language 'gnat-inspect.el', - which is still experimental. + 'ada-mode.el' to support the multi-language 'gpr_query.el'. More code currently in 'ada-mode.el' could be migrated to 'gnat-core.el', in particular the project file support. -'gnat-inspect.el' - Provides an experimental interface to the experimental - multi-language cross-reference tool 'gnatinspect' from AdaCore, - which will supercede 'gnatxref'. +'gpr-query.el' + Provides an interface to the external multi-language + cross-reference tool 'gpr_query'. Implements the Ada mode cross-reference functions for the - 'gnatinspect' backend, and a minor mode providing similar functions + 'gpr_query' backend, and a minor mode providing similar functions for C++.  @@ -2395,46 +2437,47 @@ Index  Tag Table: Node: Top945 -Node: Overview2508 -Node: Installation3719 -Node: gnatinspect4533 -Node: Upgrading5267 -Node: Customization5841 -Node: Non-standard file names6323 -Node: Other compiler8164 -Node: Other cross-reference8743 -Node: Other customization9462 -Node: Compiling Executing11932 -Node: Compile commands12667 -Node: Compiling Examples15405 -Node: No project files16237 -Node: Set compiler options21603 -Node: Set source search path23565 -Node: Use GNAT project file26018 -Node: Use multiple GNAT project files28792 -Node: Use a Makefile31512 -Node: Compiler errors32827 -Node: Project files33644 -Node: Project file overview34671 -Node: Project file variables36199 -Node: Moving Through Ada Code39829 -Node: Identifier completion42528 -Node: Indentation43490 -Node: Statement skeletons47542 -Node: Aligning code48752 -Node: Automatic casing49697 -Node: Comment Handling52401 -Node: Key summary52920 -Node: Developer overview55547 -Node: Directory structure55887 -Node: Package organization59373 -Node: Ada mode59608 -Node: gpr mode61804 -Node: GNAT core62087 -Node: Wisi63033 -Node: OpenToken64000 -Node: ELPA64602 -Node: GNU Free Documentation License65212 -Node: Index90373 +Node: Overview2576 +Node: Installation3787 +Node: Ada Reference Manual4753 +Node: gpr_query5029 +Node: Upgrading6094 +Node: Customization6666 +Node: Non-standard file names7148 +Node: Other compiler8989 +Node: Other cross-reference9568 +Node: Other customization10503 +Node: Compiling Executing13140 +Node: Compile commands13875 +Node: Compiling Examples16613 +Node: No project files17445 +Node: Set compiler options22811 +Node: Set source search path24773 +Node: Use GNAT project file27226 +Node: Use multiple GNAT project files30000 +Node: Use a Makefile32720 +Node: Compiler errors34035 +Node: Project files34852 +Node: Project file overview35879 +Node: Project file variables37407 +Node: Moving Through Ada Code41037 +Node: Identifier completion43736 +Node: Indentation44698 +Node: Statement skeletons48750 +Node: Aligning code50535 +Node: Automatic casing51480 +Node: Comment Handling54184 +Node: Key summary54703 +Node: Developer overview57330 +Node: Directory structure57670 +Node: Package organization61156 +Node: Ada mode61391 +Node: gpr mode63587 +Node: GNAT core63870 +Node: Wisi64704 +Node: OpenToken65671 +Node: ELPA66273 +Node: GNU Free Documentation License66883 +Node: Index92044  End Tag Table