Next: Other compiler, Up: Customization [Contents][Index]

### 3.1 Non-standard file names

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.