ada-mode
- Description
- major-mode for editing Ada sources
- Latest
- ada-mode-8.1.0.tar (.sig), 2024-Mar-31, 7.70 MiB
- Maintainer
- Stephen Leake <[email protected]>
- Atom feed
- ada-mode.xml
- Website
- https://www.nongnu.org/ada-mode/
- Browse ELPA's repository
- CGit or Gitweb
- Badge
- Manual
- ada-mode
To install this package from Emacs, use package-install
or list-packages
.
Full description
Emacs Ada mode version 8.1.0 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. Ada mode uses a parser to provide fontification, single-file navigation, and indentation. Ada mode allows using eglot as the backend for these, but the current version of AdaCore ada_language_server only supports single and multi-file navigation. The wisi parser backend supports all Ada mode functions, is implemented in Ada, is fast enough even for very large files (via partial or incremental parsing), and recovers from almost all syntax errors. The wisi parser is provided as Ada source code that must be compiled and installed, either directly or via Alire (https://alire.ada.dev/): 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. Both shell scripts use Alire if the 'alr' executable is found in PATH. 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.
Old versions
ada-mode-8.0.5.tar.lz | 2023-Feb-08 | 278 KiB |
ada-mode-8.0.4.tar.lz | 2023-Jan-24 | 277 KiB |
ada-mode-8.0.3.tar.lz | 2023-Jan-12 | 275 KiB |
ada-mode-7.3.1.tar.lz | 2022-Nov-02 | 320 KiB |
ada-mode-7.3.0.tar.lz | 2022-Oct-25 | 321 KiB |
ada-mode-7.2.1.tar.lz | 2022-Jul-10 | 4.66 MiB |
ada-mode-7.2.0.tar.lz | 2021-Nov-24 | 4.66 MiB |
ada-mode-7.1.9.tar.lz | 2021-Nov-21 | 4.66 MiB |
ada-mode-7.1.8.tar.lz | 2021-Aug-09 | 4.66 MiB |
ada-mode-7.1.7.tar.lz | 2021-Aug-06 | 4.66 MiB |
ada-mode-7.1.6.tar.lz | 2021-Jul-31 | 4.66 MiB |
ada-mode-7.1.0.tar.lz | 2020-May-14 | 4.66 MiB |
ada-mode-7.0.1.tar.lz | 2020-Jan-31 | 3.25 MiB |
ada-mode-6.2.1.tar.lz | 2019-Aug-18 | 2.96 MiB |
ada-mode-6.1.1.tar.lz | 2019-Jul-12 | 2.81 MiB |
ada-mode-6.0.1.tar.lz | 2018-Dec-08 | 2.88 MiB |
ada-mode-5.3.2.tar.lz | 2018-Nov-14 | 202 KiB |
ada-mode-5.2.2.tar.lz | 2017-Jul-09 | 200 KiB |
ada-mode-5.1.9.tar.lz | 2016-Jan-22 | 136 KiB |
ada-mode-5.0.1.tar.lz | 2014-Feb-03 | 116 KiB |
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 [email protected], with 'ada-mode' in the subject. If possible, use M-x report-emacs-bug. * Ada Mode 8.1.0 22 Sep 2023 ** ada_annex_p.wy (the source grammar file) is now compatible with tree-sitter; a tree-sitter source grammar file ada_annex_p.js is generated. ** parser Ada language protocol version 5 * Ada Mode 8.0.5 3 Feb 2020 ** Alire and ELPA packaging fixes. * Ada Mode 8.0.4 16 Jan 2023 ** Misc bug fixes. * 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.0 22 Oct 2022 beta promoted to release * 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 ... ...