X-Git-Url: https://code.delx.au/gnu-emacs-elpa/blobdiff_plain/c828ee6d19b57256e1fa2321dc830fe5a6cf8af1..23a624ca1d40fa9cefd7229ac6152b79278a6517:/packages/ada-mode/ada-mode.info diff --git a/packages/ada-mode/ada-mode.info b/packages/ada-mode/ada-mode.info index 018ba6653..e2c10f95b 100644 --- a/packages/ada-mode/ada-mode.info +++ b/packages/ada-mode/ada-mode.info @@ -114,43 +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. + + +File: ada-mode.info, Node: gpr_query, Next: Upgrading, Prev: Ada Reference Manual, Up: Installation -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'. +2.2 gpr_query +============= - 'gnatinspect' is distributed as part of 'gnatcoll'. Ada mode -requires the very latest version, in 'gnatcoll 1.6' distributed with -GNATPro 7.2. 'gnatcoll 1.6' must be compiled with GNATPro 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). - To build 'gnatinspect', assuming gnat-7.2 is installed in -'/usr/gnat-7.2', and gnat-7.2 is in PATH: + 'gpr_query' requires the 'gnatcoll' library provided by AdaCore. Ada +mode requires the very latest version 'gnatcoll 1.7w' distributed with +GNAT GPL 2014. - tar xf ~/Downloads/gnatcoll-1.6-src.tgz - cd gnatcoll-1.6-src - ./configure --prefix=/usr/gnat-7.2 - make Gnatcoll_Build=Debug - sudo make Gnatcoll_Build=Debug install + 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-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 gnatinspect: +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 @@ -258,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 @@ -304,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) @@ -1451,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: @@ -1818,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++.  @@ -2415,44 +2439,45 @@ Tag Table: Node: Top945 Node: Overview2576 Node: Installation3787 -Node: gnatinspect4675 -Node: Upgrading5636 -Node: Customization6210 -Node: Non-standard file names6692 -Node: Other compiler8533 -Node: Other cross-reference9112 -Node: Other customization9831 -Node: Compiling Executing12301 -Node: Compile commands13036 -Node: Compiling Examples15774 -Node: No project files16606 -Node: Set compiler options21972 -Node: Set source search path23934 -Node: Use GNAT project file26387 -Node: Use multiple GNAT project files29161 -Node: Use a Makefile31881 -Node: Compiler errors33196 -Node: Project files34013 -Node: Project file overview35040 -Node: Project file variables36568 -Node: Moving Through Ada Code40198 -Node: Identifier completion42897 -Node: Indentation43859 -Node: Statement skeletons47911 -Node: Aligning code49696 -Node: Automatic casing50641 -Node: Comment Handling53345 -Node: Key summary53864 -Node: Developer overview56491 -Node: Directory structure56831 -Node: Package organization60317 -Node: Ada mode60552 -Node: gpr mode62748 -Node: GNAT core63031 -Node: Wisi63977 -Node: OpenToken64944 -Node: ELPA65546 -Node: GNU Free Documentation License66156 -Node: Index91317 +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