ada-mode
- Description
- major-mode for editing Ada sources
- Latest
- ada-mode-7.2.0.tar, 2021-Nov-24, 7.76 MiB
- Maintainer
- Stephen Leake <stephen_leake@stephe-leake.org>
- Home page
- http://www.nongnu.org/ada-mode/
- Browse ELPA's repository
- CGit or Gitweb
- Badge

To install this package, run in Emacs:
M-x package-install RET ada-mode RET
Full description
Emacs Ada mode version 7.2.0
Ada mode provides auto-casing, fontification, navigation, and
indentation for Ada source code files.
Cross-reference information output by the compiler is used to provide
powerful code navigation (jump to definition, find all uses, show
overriding, etc). By default, only the AdaCore GNAT compiler is
supported; other compilers can be supported. Ada mode uses gpr_query
to query compiler-generated cross reference information.
Ada mode uses a parser to provide fontification, navigation, and
indentation. The parser is implemented in Ada, is fast enough even for very
large files (via partial parsing), and recovers from almost all syntax
errors.
gpr_query and the parser are provided as Ada source code that must be
compiled and installed:
cd ~/.emacs.d/elpa/ada-mode-i.j.k
./build.sh
./install.sh
install.sh can take an option "--prefix=<dir>" to set the installation
directory.
See ada-mode.info section Installation for more information on
installing; you may need additional packages.
Ada mode will be automatically loaded when you open a file
with a matching extension (default *.ads, *.adb).
Ada mode uses project files to define large (multi-directory)
projects, and to define casing exceptions.
See ada-mode.info for help on using and customizing Ada mode.
Documentation
Old versions
News
GNU Emacs Ada mode NEWS -- history of user-visible changes.
Copyright (C) 2014 - 2020 Free Software Foundation, Inc.
Please send ada-mode bug reports to bug-gnu-emacs@gnu.org, with
'ada-mode' in the subject. If possible, use M-x report-emacs-bug.
* Ada Mode 7.2.0
21 Nov 2021
** Correct last fix (sigh).
* Ada Mode 7.1.9
21 Nov 2021
** Adapt to change in xref.el xref-file-location.
* Ada Mode 7.1.8
09 Aug 2021
** Packaging bug fix.
* Ada Mode 7.1.7
06 Aug 2021
** Packaging bug fix.
* Ada Mode 7.1.6
30 Jul 2021
** Uses wisi 3.1.3 for compatibility with gnat FSF 11, Pro 22,
Community 2021.
* Ada Mode 7.1.5 packaging bug
* Ada Mode 7.1.4
07 Aug 2020
** Set auto-mode-alist for ada-mode.
* Ada Mode 7.1.3
04 Jun 2020
** Indentation of 'is' in expression functions is restored to 7.0.1
behavior.
** wisi-get-identifier (used by wisi-goto-spec/body and others) sets
completion delimiters appropriately. When using gpr-query, for a
procedure declared as:
package Package_Name is
procedure Procedure_Name (args);
the completion string looks like:
Procedure_Name(args)<Package_Name<line>>
so for example you can type "iterate<wisitok" to complete on
WisiToken iterators, or "add(Data" to complete on all subprograms
whose name starts with "add" and whose first argument starts with
"Data".
** New constant ada-declaration-nonterms holds the Ada nonterminal
identifiers, for use with wisi-cache-nonterm.
** ada-which-function is now a command (can be invoked by M-x); useful
when you don't want which-function-mode turned on, but want to know
what function point is in.
* Ada Mode 7.1.2
20 May 2020
** Revert change in indent of 'is' in expression_function_declaration
to 7.0.1 behavior.
* Ada Mode 7.1.1
14 May 2020
** packaging bug fix
* Ada Mode 7.1
11 May 2020
** gpr_query Version 3
** ada-mode fully supports non-ASCII text (the few remaining
ASCII-only regular expressions have been fixed).
** gpr_query now starts in the background, and provides a completion
table of all symbols in the project.
** keystroke C-M-i is bound to `completion-at-point', and uses the
symbol table provided by gpr-query.
** Commands that prompt for a symbol (ie C-u C-c C-d
wisi-goto-spec/body and C-u M-. xref-find-definitions) use the
completion table provided by gpr_query. With a single C-u, all
symbols in the project are used; with two C-u, only
symbols defined in the current file are used.
** ada-in-paramlist-p (used by ada-align and other things) no longer
parses the full buffer; it only parses if in parens, and only a
small region containing the parens.
** Virtual tokens are used in indent, improving indent computation.
** Error recovery is improved.
** Fixes debbugs 40403, 40964, 37620
* Ada Mode 7.0.1
30 Jan 2020
** fix packaging bugs
** build.sh is now split into build.sh and install.sh; the latter
takes --prefix and may need to be run as root.
** improve xref integration
* Ada Mode 7.0.0
19 Dec 2019
** parser Ada language protocol version 3
** Added support for the Ada 2020 features
iterated_component_association (ai12-0061), target_name
(ai12-0125), delta_aggregate (ai12-0127); these are supported in
GNAT Community 2019.
** Major restructuring of code, moving many functions from ada-mode to
wisi for use in other language modes, and using cl-defgeneric
dispatching instead of function variables. Normal users should see
no changes, except that some ada-mode functions will warn about
being obsolete. If you've written custom code that depends on
ada-mode functions, you may have to change it.
** gpr-mode fully supports auto-casing; new user variables
gpr-auto-case, gpr-case-keyword, gpr-case-strict,
gpr-case-identifier, respects 'casing' project file settings.
** New commands `wisi-goto-containing-statement-start',
`wisi-indent-containing-statement' are in the menu.
`wisi-indent-containing-statement' is bound...
...