By default, Ada mode is configured to use the GNAT file naming convention, where file names are a simple modification of the Ada names, and the extension for specs and bodies are ‘.ads’ and ‘.adb’, respectively.
Ada mode uses the file extensions to allow moving from a package body to the corresponding spec and back.
Ada mode supports a list of alternative file extensions for specs and bodies.
For instance, if your spec and bodies files are called unit_s.ada and unit_b.ada, respectively, you can add the following to your .emacs file:
(ada-add-extensions "_s.ada" "_b.ada")
You can define additional extensions:
(ada-add-extensions ".ads" "_b.ada") (ada-add-extensions ".ads" ".body")
This means that whenever Ada mode looks for the body for a file whose extension is .ads, it will take the first available file that ends with either .adb, _b.ada or .body.
Similarly, if Ada mode is looking for a spec, it will look for .ads or _s.ada.
If the filename is not derived from the Ada name following the GNAT
convention, things are a little more complicated. You then need to
rewrite the function ada-make-filename-from-adaname
. Doing that
is beyond the scope of this manual; see the current definitions in
ada-mode.el and ada-xref.el for examples.