Version 8.0.3 of package Ada-Mode has just been released in GNU ELPA. You can now find it in M-x list-packages RET.
Ada-Mode describes itself as: ================================== major-mode for editing Ada sources ================================== More at https://elpa.gnu.org/packages/ada-mode.html ## Summary: Emacs Ada mode version 8.0.3 Ada mode provides auto-casing, fontification, navigation, and indentation for Ada source code files. Cross-reference via Emacs xref can use an xref backend provided by the gpr-query package, or a language server via the eglot package; they must be installed separately. Ada mode uses whichever of these is found on PATH, defaulting to gpr-query. ## Recent 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-em...@gnu.org, with 'ada-mode' in the subject. If possible, use M-x report-emacs-bug. Ada Mode 8.0.3 6 Jan 2023 ** Support building ada-mode parser with Alire. ** Support using Emacs ada-mode with Emacs eglot; uses an LSP parser instead of the wisi parser. Many features of ada-mode are not supported by eglot; See the info manual. ** gpr-query, gnat-compiler, gpr-mode each split out to a separate Emacs package and Alire crate. ** ada-xref-tool renamed to ada-xref-backend; now supports choice eglot. ** New user configuration variables; ada-diagnostics-backend, ada-face-backend, ada-indent-backend, ada-statement-backend. ** Declared user configuration variable ada-language-version obsolete; it is no longer used (Ada 2022 is assumed). ** The default header comment is no longer inserted in new files by default; you must enable auto-insert-mode to enable that. This makes it easier to turn off. ** ada-mode no longer sets comment-padding; to restore previous behavior, add this to your ada-mode init: (setq-local comment-padding " ") ** ada-mode no longer sets require-final-newline; to restore previous behavior, add this to your ada-mode init: (setq-local require-final-newline t) ** ada-build-prompt-select-prj-file now takes a filename argument; it can be used to specify a project file on the Emacs command line: emacs --eval "(ada-build-prompt-select-prj-file \"hello.gpr\")" hello.adb ** In wisi project files, import_env_var=<name> can be used to inherit an environment variable from the Emacs process. ** Minor bug fixes. * Ada Mode 7.3.beta 9 Jul 2022 beta testing ** Support incremental parse. Set wisi-incremental-parse-enable t to experiment with this; default is nil, because the parser often gets confused. When the parser gets confused (which is fairly often), use M-x wisi-reset-parser to recover. When using incremental parse, it is best to keep the number of errors in the file small; the parse time is proportial to the number of errors, and error recover is often noticeably slow . ** The Ada grammar is updated to the proposed Ada 2022 standard, and is now in the file ada_annex_p.wy. ** ada-end-name-optional now defaults to 't', to match the expectations of new Ada users. Experienced users that follow a style guide requiring matching end names should set this to 'nil', since that gives better error correction. ** New indent option add ada-indent-subprogram-is; indentation of 'is' in expression functions and similar subprogram declarations. Previously, this was ada-indent-broken; now you can set it separately (ie to 0). ** Indentation of 'is' and 'with' in null and abstract subprogram specification is now consistent with non-abstract subprogram specification and expression function. ** Indentation of comment in subprogram body after param_list before 'is' matches subprogram spec; procedure Foo (A : in Integer) -- Computes stuff is ... ** ada-make-subprogram-body now inserts "null;"; this eliminates a syntax error, improving incremental parse. Similarly, the skeleton commands insert dummy names where needed to avoid syntax errors. ** New key binding prefix C-c r for the various ada-refactor commands. ** New command ada-parse-require-process starts the external parser, without waiting for it to respond. ** build.sh now runs wisitoken-bnf-generate to create the Ada LR1 parse table file; it is too big to keep in ELPA. This can take a couple of minutes. ** New custom variable gpr-query-no-symbols allows disabling reading the symbol completion table from the gpr_query process. When nil, symbols are read in the background, but there can enough interference with foreground processing to be annoying. When non-nil, symbols are not read, and completing symbols in xref is ... ...