ada-mode: Automatic Casing
11 Automatic Casing
*******************
Casing of identifiers, attributes and keywords is automatically
performed while typing when the variable ‘ada-auto-case’ is set. Every
time you press a word separator, the previous word is automatically
cased.
You can customize the automatic casing differently for keywords,
attributes and identifiers. The relevant variables are the following:
‘ada-case-keyword’, ‘ada-case-attribute’ and ‘ada-case-identifier’.
All these variables can have one of the following values:
‘downcase-word’
The word will be lowercase. For instance ‘My_vARIable’ is
converted to ‘my_variable’.
‘upcase-word’
The word will be uppercase. For instance ‘My_vARIable’ is
converted to ‘MY_VARIABLE’.
‘ada-capitalize-word’
The first letter and each letter following an underscore (‘_’) are
uppercase, others are lowercase. For instance ‘My_vARIable’ is
converted to ‘My_Variable’.
‘ada-loose-case-word’
Characters after an underscore ‘_’ character are uppercase, others
are not modified. For instance ‘My_vARIable’ is converted to
‘My_VARIable’.
Ada mode allows you to define exceptions to these rules, in a file
specified by the variable ‘ada-case-exception-file’ (default
‘~/.emacs_case_exceptions’). Each line in this file specifies the
casing of one word or word fragment. Comments may be included,
separated from the word by a space.
If the word starts with an asterisk (<*>), it defines the casing as a
word fragment (or “substring”); part of a word between two underscores
or word boundary.
For example:
DOD Department of Defense
*IO
GNAT The GNAT compiler from Ada Core Technologies
The word fragment ‘*IO’ applies to any word containing “_io”;
‘Text_IO’, ‘Hardware_IO’, etc.
There are two ways to add new items to this file: you can simply edit
it as you would edit any text file. Or you can position point on the
word you want to add, and select menu ‘Ada | Edit | Create Case
Exception’, or press ‘C-c C-y’ (‘ada-create-case-exception’). The word
will automatically be added to the current list of exceptions and to the
file.
To define a word fragment case exception, select the word fragment,
then select menu ‘Ada | Edit | Create Case Exception Substring’.
It is sometimes useful to have multiple exception files around (for
instance, one could be the standard Ada acronyms, the second some
company specific exceptions, and the last one some project specific
exceptions). If you set up the variable ‘ada-case-exception-file’ as a
list of files, each of them will be parsed and used in your emacs
session. However, when you save a new exception through the menu, as
described above, the new exception will be added to the first file in
the list.
‘C-c C-b’
Adjust case in the whole buffer (‘ada-adjust-case-buffer’).
‘C-c C-y’
Create a new entry in the exception dictionary, with the word under
the cursor (‘ada-create-case-exception’)
‘C-c C-t’
Rereads the exception dictionary from the file
‘ada-case-exception-file’ (‘ada-case-read-exceptions’).